敏捷软件开发(原则,模式与实践)笔记1

教堂尖顶上的风标,即使由钢铁制成,如果不懂得顺应风势的艺术,一样会被风暴立即摧毁。

——海因里希.海涅

一、敏捷软件开发宣言

1、个体和交互胜过过程和工具

人是获得成功的最为重要的因素。合作、沟通以及交互能力要比单纯的编程能力更为重要。一个由平均水平程序员组成的团队,如果具有良好的沟通能力,将比那些虽然拥有一批高水平程序员,但是成员却不能进行交流的团队更有可能获得成功。

选择合适的工具而不是大而全的工具,使用过多的庞大、笨重的工具就像缺少工具一样,都是不好的,尝试使用一个工具,直到发现他无法适用时才去更换他。

团队的构建要比环境的构建重要的多。

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

没有文档的软件是一种灾难,过多的文档比过少的文档更糟。对于一个团队来说,编写并维护一份系统原理和结构方面的文档将总是一个好主意,文档应该是短小的并且主题突出的,文档是为程序服务的,不要为了写文档也写文档。

在给新的团队成员传授知识的时候,最好的两份文档是代码和团队。代码真实的表达了他所做的事情。人和人只见的交互是将内容传递给他人的最快、最有效的方式。

3、客户合作胜过合同谈判

成功的项目需要有序、频繁的客户反馈。不是依赖于合同或者关于工作的陈述,而是让软件的客户和开发团队密切的工作在一起,并尽量地提供反馈。要让客户知道我们和他们是同一战线上的,需要解决的问题才是我们共同的敌人。

4、响应变化胜过遵循计划

响应变化的能力常常决定着一个软件项目的成败,当我们构建计划时,应该确保计划是灵活的并且易于适应商务和技术方面的变化。

计划一定要做,但是不能做过长远的细计划,对短期任务作详细计划,对长期任务作粗略计划。

原则:

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

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

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

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

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

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

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

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

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

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

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

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

posted @ 2006-05-15 02:26  你听海是不是在笑  阅读(188)  评论(0编辑  收藏  举报