首页 > 读书笔记 > 《高效程序员的45个习惯-敏捷开发修炼之道》(上)

《高效程序员的45个习惯-敏捷开发修炼之道》(上)

敏捷精神:一种把以人为本、团队合作、快速响应变化和可工作的软件作为宗旨的开发方法

一. 态度决定一切
选定了要走的路,就是选定了字通往的目的地。

  • 1. 做事: 指责不会修复bug, 把矛头对准问题解决的方法,而不是人。一个重大的错误应该被当作是一次学习而不是指责他人的机会。团队成员在一起工作,应相互帮助,而不是相互指责。
  • 2. 欲速则不达:不要因为时间紧迫给自己找接口,而坠入快速简单的修复之中。在没有真正解理代码之前,不要急于进行bug修复。必须要投入时间和精力来了解代码是如何工作的,保证修复后的代码是整洁、敞亮的,修复本身是没有副作用的。
  • 3. 对事不对人:每个人都会有好的想法,也会有不对的想法,团队中的每个人都需要自由地表达观点。让我们骄傲的应该是解决了问题,而不是比较出谁的主意更好。团队leader既要做到不带个人情绪,又要做到不盲目接受所有观点。
  • 4.排除万难,奋勇前进:做正确的事,要诚实,要有勇气说出实情。

二. 学无止境
即使你已经在正确的轨道上,但如果只是停止不前,也仍然会被淘汰出局。

  • 5. 跟踪变化:跟踪技术变化,你不需要精通所有技术,但需要清楚知道行业的动向,从而规划你的项目和职业生涯:
    (1)迭代和增量式学习,每天计划用一段时间来学习新技术,时间不在长,贵在长期坚持
    (2)了解最新行情,优秀技术、业内咨询博客,技术社区的邮件列表都是不错的选择
    (3)参加研讨会议,计算机大付在世界各地举行,有机会就参加,这是向专家学习的很好的机会
    (4)如饥似渴的阅读,技术和非技术的好书,或者是一些专业期刊、杂志,都是不错的选择
  • 6. 对团队投资:搭建团队学习平台,建立积极的团队学习分享的氛围,让每个团队成员都觉得自己越来越聪明。(午餐会议)
  • 7. 懂得丢弃:“沉舟侧畔千帆过,病树前头万木春”,要果断的丢弃旧的、不再合时宜的技术、习惯,积极地学习新的。
  • 8. 打破砂锅问到底: 不要满足于别人告诉你的表面现象,要不停问直到你明白问题的根源。
  • 9.把握开发的节奏:保持项目迭代的节奏,编码、测试、代码review、集成、发布,尽量保证每个迭代周期是比较固定有规律的。如果知道什么时候开始下一个节拍,跳舞就会更加容易。软件开发亦是同样的道理。

三. 交付用户想要的软件
没有任何计划在遇敌后还能继续执行。

  • 10. 让客户决定:开发者(或项目经理)能做的一个重要决定就是:决定什么不该决定。业务方面的决定,让用户来做。用业务负责人能够理解的语言,向他们详细解释遇到的问题,并让他们做决定。
  • 11.让设计指导而不是操纵开发:设计满足实现即可,不必过于详细。
    (1)好的设计是张地图,它也会进化。它指引开发向正确的方向前进,它不是殖民地,它不应该标识具体的路线。开发者不要被设计操纵。
    (2)好的设计是正确的,但不是精确的。它描述的一切必须是正确的,不应该涉及不确定或者可能会发生变化的细节。它是目标,不是具体的处方。
  • 12. 合理地使用技术:不要一味的追求酷炫的新技术,根据需要选择合适的技术。
  • 13. 保持可以发布:保持你的项目时刻可以发布。代码check in之前保证:更新到最新代码,所有单元测试通过。
  • 14. 提早集成,频繁集成:搭建自动化的持续集成系统,提早集成,频繁集成,持续而有规律地进行集成。决不要做大爆炸式的集成。
  • 15. 提早实现自动化部署:一开始就实现自动化部署。使用部署系统安装你的应用,在不同的机器上用不同的配置文件测试依赖的问题。QA人员要像测试软件本身功能一样测试部署。
  • 16. 使用演示获得频繁反馈:开发的时候,要保持应用可见。每隔一周或两周,的邀请所有的客户,给他们演示最新完成的功能,积极获得他们的反馈。
  • 17. 使用短迭代,增量发布:使用1~4周左右的迭代周期,发布带有最小却可用功能的产品。
  • 18. 固定价格就意味着背叛承诺:不要提供固定报价,要基于真实的工作来评估。主团队和客户一起,真正地在当前项目中工作,做具体实际的评估。
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.