敏捷软件开发(一):敏捷实践
价值观:
1. 个体和交互胜过过程和工具
2. 可以工作的软件胜过面面俱到的文档
Martin文档第一定律:直到迫切需要且意义重大时,再来编制文档。
3. 客户合作胜过合同谈判
4. 响应变化胜过遵循计划
原则:
1.最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意
2.即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势
3.经常性的交付可以工作的软件,交付的时间间隔可以从几周到几个月,交付的时间间隔越短越好(不赞成交付大量文档或计划)。
4.在整个项目开发期间,业务人员和开发人员必须天天在一起工作
5.围绕被激励起来的个人来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。
6.在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈(而不是文档)
7.工作的软件是首要的进度度量标准
8.敏捷过程提倡可持续开发进度责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度
9.不断地关注优秀的技能和好的设计会增强敏捷能力
10.简单——使未完成的工作最大化的艺术——是根本的
11.最好的架构、需求和设计出自于自组织的团队(不存在单一团队成员对系统架构、需求或测试负责的情况)
12.每隔一段时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整
敏捷过程举例:
SCRUM, Crystal, FDD(Feature Driven Development), ADP(Adaptive Software Development), XP(eXtreme Programming)