`
colin115
  • 浏览: 39987 次
社区版块
存档分类
最新评论

沟通至上 《高效程序员的45个习惯》读书笔记

 
阅读更多

《高效程序员的45个习惯》这本书的副标题是敏捷开发修炼之道,这是一本讲敏捷的书,如果你之前未接触过敏捷,从这本书,可以了解到敏捷的核心观点。

这里面主要讲了三方面的内容,观念,沟通,以及编码。

 

观念

我们首先从观念来看,提观念当然少不了敏捷宣言:

个体和交互胜过过程和工具;

可工作的软件胜过面面俱到的文档;

客户的协作胜过合同谈判。

响应变化胜过遵循计划;

 

敏捷开发改变了整个开发流程;

传统的瀑布模型是重设计,资深的架构设计师将设计事无巨细的做出来,然后让小兵来开发;在面对需求变更时,通常很无力;

敏捷反对通过设计来操纵开发,将重设计改为设计指导;

 

沟通

沟通是敏捷中最核心的部分,其中涉及到团队沟通、与客户的沟通。

团队的沟通

要努力成为团队中的一个指导者,分享你的知识。在分享知识前,你有一个准备的过程,你需要把你知道的知识有条理讲给人家听,让他人听懂,你这个准备和讲解的过程对你来一种提升,之前一知半解的问题,在讲给他人听的过程,会理解透彻。

知识分享的过程不仅仅是通过讲解的方式,文字分享也是重要的一面;这里就提到了wiki的重要性,把你的知识纳入wiki,收益的就不仅仅是目前的团队成员,更有未来的团队,这样你的知识得到了传承,呵,多么了不起;

wiki写多了,也能够让你的工作变得轻松,比如同事向你请教问题时,你可以给他一个链接“看wiki去吧,这里面很详细”,那感觉,很棒不是?

关于wiki的好处,之前有过详细讨论, 传送门:公司内部wiki,你建立了么?

 

为了达到有效沟通,敏捷提出了两个有趣的会议:

第一个是每日站会,这是敏捷中必不可少的一个会议,就是每天15分钟出来,进行讨论,回答3个问题:

你这一天做了什么?

明天打算做什么?

遇到了什么问题?

这个站会上不是解决问题的场所,你只是提出你所遇到的问题,解决问题放在会后进行。

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

 

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

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

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

 

和客户的沟通

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

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

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

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

 

编码

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

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

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

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

本书思维导图读书笔记:

高效程序员的45个习惯

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

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

Posted by: 大CC | MAR25,2013

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

微博:新浪微博

1
8
分享到:
评论
1 楼 javamonkey 2013-03-25  
没有成熟的客户,一切高效方法都是搞笑

相关推荐

Global site tag (gtag.js) - Google Analytics