敏捷宣言和敏捷的十二原则
1.为什么需要敏捷
在我们的项目实施的过程常常会使用不同的开发模型,例如瀑布型:“项目立项-需求分析-软件设计-软件开发-软件测试-项目验收”,前一个工作的输出结果,就是下一个工作的输入,如果在实施的某个环节中需求发生变化,则又需要从分析的工作开始,因此无法适应需求快速变化的实际情况。
同时在项目的实施过程中繁重的任务计划和大量的文档也会让我们消耗了非常多的精力去应对,种种困恼可能最后给我们带来的是项目进度延误或者成本超支,增加了风险。
而敏捷开发模型以灵活性、低风险、更快的交付价值、持续改进这些特性著称,从而能帮助我们去解决传统项目中遇到的各种困难。
2.什么是敏捷
简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的方法。在敏捷开发中,软件项目在构件初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视,可集成和可运行的特征,可持续创新交付现有客户的需求,可缩短上市时间提高投资回报率,对产品和商业变化快速做出响应,支持业务的增长和盈利能力等等。
总的归纳来说“价值、质量、约束”是敏捷关注的三个目标:
价值目标:提供可交付的产品
质量目标:提供可靠、适应性强的可交付产品
约束目标:在可接受的约束内,实现价值和质量目标
3.敏捷宣言
敏捷宣言强调的是敏捷软件开发的四个核心价值观:
个体以及互动 胜于 流程和工具
可工作的软件 胜于 完整的文档
客户合作 胜于 合同谈判
应对变更 胜于 遵循计划
也就是说右边的项目固然有价值,但是我们更重视左栏中的项目
4.敏捷十二原则
(1)我们的最高目标是,通过尽早持续地交付有价值的软件来满足客户的需求。
(2)即使在项目开发的后期,仍欢迎对需求提出变更。敏捷过程通过拥抱变化,帮助客户创造竞争优势。
(3)要不断交付工作的软件,周期从几周到几个月不等,且越短越好。
(4)在项目过程中,业务人员和开发人员要每天在一起工作。
(5)要善于激励项目人员,给他们所需要的环境和支持,并相信他们能够完成任务。
(6)团队内部和各个团队之间,最有效的沟通方法是面对面沟通。
(7)可工作软件是衡量进度的首要指标。
(8)敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久、稳定的进展速度。
(9)对技术卓越和好的设计的持续关注有助于增强敏捷性。
(10)尽量做到简洁,尽最大可能减少不必要的工作。这是一门艺术。
(11)最佳的架构、需求和设计出自自组织团队。
(12)团队要定期回顾和反省如何能够做到更有效,并相应地调整团队的行为。
其它敏捷相关的资料欢迎大家查阅: