Communication first "45 habits of efficient programmers" reading notes

The subtitle of the book "45 Habits of Highly Effective Programmers" is the way of agile development. This is a book about agile. If you have not been exposed to agile before, you can learn the core points of agile from this book. .

There are mainly three aspects of content, concepts, communication, and coding.

 

concept

Let's first look at the concept, of course, the agile manifesto is indispensable to the concept:

individuals and interactions over processes and tools;

Working software is better than comprehensive documentation;

Client collaboration trumps contract negotiation.

Responding to change is better than following a plan;

 

Agile development changes the entire development process;

The traditional waterfall model is redesign. The senior architect will make the design in every detail, and then let the soldiers develop it; in the face of changes in requirements, it is usually very powerless;

Agile opposes the manipulation of development by design, and changes redesign to design guidance;

 

communication

Communication is the core part of agile, which involves team communication and communication with customers.

team communication

Try to be a mentor in the team and share your knowledge. Before sharing knowledge, you have a preparation process. You need to explain the knowledge you know to others in an orderly manner, so that others can understand. In the process of speaking to others, they will understand thoroughly.

The process of knowledge sharing is not only through the way of explanation, but also the sharing of text is an important aspect; here is the importance of the wiki, incorporating your knowledge into the wiki will not only benefit the current team members, but also the future Team, so your knowledge has been passed down, oh, how amazing;

Writing more wikis can also make your work easier. For example, when a colleague asks you a question, you can give him a link to "see the wiki, it's very detailed", that feels great, isn't it?

The benefits of wikis have been discussed in detail before, Portal: The company's internal wiki, have you established it?

 

To achieve effective communication, Agile proposes two interesting sessions:

The first is the daily stand-up meeting, which is an essential meeting in agile. It comes out for 15 minutes every day to discuss and answer 3 questions:

What did you do today?

What are you going to do tomorrow?

What's the problem?

This stand-up meeting is not a place to solve problems, you just put forward the problems you have encountered, and solve the problems after the meeting.

第二个是午餐会议,就是大伙很随意的吃饭聊天,可由特定的一个人,分享一些书籍。当然可以是非技术领域;当然这也是一个分享的过程,能够提升团队的凝聚力。

 

除了我们语言交流外,代码也是用来沟通的,要记住代码阅读的次数要远大于大于代码输写的字数。敏捷强调代码集体所有制,就是说,代码是大家共同所有,而不是某一个人精通某一块。

实现代码集体所有制的方法,是采用团队任务轮换;不再是某一个人,一直在做某一个特定的小领域;这样,能保证大家对整个项目都有所了解。

考虑到你写的代码就是给别人看的,在你会更加仔细的编写并合理的添加注释;

 

和客户的沟通

与客户沟通时要保证沟通工具的简洁易懂,比如我们日常使用的word和xls表格方式,不要使用过于专业的工具或术语;

当业务上的模糊的地方时,需要由客户来做决定,倾听客户的声音。不用担心客户的决定导致项目需求的变更,敏捷就是来适应变更的;

争取尽早的见到最终的客户,如果有条件,在每次迭代完成之后,给用户演示一下我们的模型,这样比文字上的沟通更为直观,也更容易发现客户真正的需求;

当客户发现这东西和他想要的不一样时,要快速的响应客户需求,尽快地把它放到下一个迭代中来。

 

编码

讲编码最主要是第六章所讲的内容,其中谈到的规范和技巧不仅仅是适用敏捷。

比如要合理的使用技术,不能过份迷恋模式。如果为了模式而模式,反倒把系统搞复杂了,就得不偿失了。

这里提倡持续集成,频繁的集成。我们当天编写完代码,提交到版本库上;系统能将这块代码集成到我们的整个系统中,然后跑单元测试用例和集成用例,完成之后给出详细的报告;

可以看出,实现持续集成的前提是有一个自动化部署的环境,能让我们在提交代码后实现自动化部署集成,轻松增量式编程。

本书思维导图读书笔记:

高效程序员的45个习惯

下载:(高效程序员的45个习惯.mmap)

电子版试读:(高效程序员的45个习惯.pdf)

Posted by: 大CC | MAR25,2013

博客:blog.me115.com [订阅]

微博:新浪微博

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327053794&siteId=291194637