敏捷软件开发宣言
个体和交互 胜过 过程和工具
个体,也就是团队成员,之间应进行足够的沟通和交流
使用合适,够用,易于上手的工具,而不是先进,功能强大,操作的软件
团队的构建胜过环境的构建,先构建团队,根据团队构建合适的环境
可以工作的软件 胜过 面面俱到的文档
没有文档的软件是一场灾难,但过多的文档也不是什么好的事情。
对于团队来说,编写并维护一份系统结构和原理方面的文档,是个不错的选择,但是文档必须短小且主题突出。
直到迫切需求并且意义重大时,才来编制文档
客户合作 胜过 合同谈判
有些时候,可能客户自己都不清楚自己要做什么样的东西,因此保持和客户的沟通,合作。按照客户的意愿来编写和修改软件
响应变化 胜过 遵循变化
计划不能考虑的过远,只计划较近的,不必过于考虑较远的,因为可能时刻都会有变化
敏捷软件开发的原则
我们最优先要做的是通过尽早的,持续交付有价值的软件来使客户满意
即使到了开发的后期,也欢迎改变需求。敏捷过程通过利用变化来为客户创造竞争优势
经常性的交付可以工作的软件,交付的间隔可以是从几周到几个月,交付的时间间隔越短也好
在整个项目开发期间,业务人员和开发人员必须天天在一起工作
围绕被激励起来的个人来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作
在团队内部最有效果,且最有效率的传递信息的方法,就是面对面的交谈
工作的软件是首要的进度度量标准
敏捷的过程提倡可持续的开发速度。责任人、开发者,用户应该能够保持一个长期的,恒定的开发速度
不断关注优秀的技能和好的设计会增强敏捷能力
简单-使未完成的工作最大化的艺术 - 是根本的
最好的架构、需求和设计出自于自组织的团队(即架构、需求和设计都是由整个团队来进行)
每隔一段时间,团队会在如何才能更有效的工作方面进行自我反省,然后相应的对自己的行为进行调整