这本书读起来轻松简单,没有牵涉到任何具体技术,完全可以在茶余饭后当成消遣读物来看。主要内容也就是介绍了如何在项目中运用敏捷开发方法。
译者安川在序言部分对敏捷开发总结得很好,我也就按他的总结来记录下自己在Java项目中对敏捷开发的理解:
迭代开发,价值优先
分解任务,真实进度
使用短迭代、增量式开发
站立会议,交通流畅
用户参与,调整方向
立会每人用两分钟说:昨天干了啥,今天计划干啥,有啥困难
一个迭代周期(一周或是两周)内与客户会晤一次,演示最新完成的功能,让客户提出反馈
结对编程,代码质量
测试驱动,安全可靠
Code review,单元测试JUnit, PowerMock,代码覆盖率检查Cobertura,代码量统计javancss
持续集成,尽早反馈
自动部署,一键安装
使用Ant自动编译,Ivy、Maven管理包依赖
使用SVN版本控制,Hudson持续集成,让代码随时可以编译、运行、测试、部署。
定期回顾,持续改进
不断学习,提高能力
其他:
Project Wiki:好记性不如烂笔头
支持已经做出的决定,设计充满的妥协(生活本身也是如此)
代码要清晰地表达意图
过早的优化是万恶之源
开发可以工作的、最简单的解决方案
记录问题解决日志,Jira工具在这方面做得不错
在我看来,敏捷开发XP(Extreme Programming)也就是一种用于软件开发的方法论,并不完全是全新的,很多理念比如迭代开发、分解任务、用户参与这些都是自然而然符合常理的事。敏捷开发方法论就像UML、测试驱动开发那样虽然有用,但并没有他们宣称的那样有用。