敏捷软件开发笔记

一、敏捷软件开发宣言

1、个体和交互 > 过程与工具

a)人是获得成功最为重要的因素,对人的要求较高;

b)合作、沟通以及交互能力要比单纯的编程能力更为重要,需要当面直言问题所在;

c)团队的构建要比环境的构建重要。

2、可以工作的软件 > 面面俱到的文档

a)文档应该短小并突出主题;

b)在给新的团队成员传授知识方面,最好的两份文档是代码和团队;

c)直到迫切需要并且意义重大时,才来编制文档。

3、客户合作 > 合同谈判

a)成功的项目需要有序、频繁的客户反馈。

4、响应变化 > 遵循计划

a)构建计划时,应该确保计划是灵活的,并且易于适应商务和技术方面的变化;

b)较好的计划策略是:为下两周做详细的计划,为下三个月做粗略的计划,再以后就做极为粗糙的计划。

二、敏捷软件开发原则

1、我们最优先做的是通过尽早的、持续的交付有价值的软件来使客户满意;

2、即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势;

3、经常性地交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好;

4、在整个项目开发期间,业务人员和开发人员必须天天都在一起工作;

5、围绕被激励起来的个人来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。

6、在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈;

7、工作的软件是首要的进度度量标准;

8、敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的恒定的开发速度;

9、不断地关注优秀的技能和好的设计会增强敏捷能力;

10、简单——使未完成的工作最大化的艺术——是根本的;

11、最好的构架、需求和设计出自于自组织的团队;

12、每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。

三、敏捷开发不适合的场景

1、不能用迭代法开发产品时;

2、客户不能保证全身心的投入到开发工作时;

3、整个团队的规模太大,并且跨越了不同的时区;

4、预算固定的开发项目中;

原文地址:https://www.cnblogs.com/aaron-shu/p/6395885.html