敏捷宣言与12原则
敏捷软件开发宣言
我们一直在实践中探寻更好地软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观:
- 个体和互动高于流程和工具
- 工作的软件高于详尽的文档
- 客户合作高于合同谈判
- 响应变化高于遵循计划
也就是,尽管右项有其价值,我们更重视左项的价值。
敏捷12原则
- 我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。
- 应该为客户优先提供最有价值的功能,敏捷不同于之前的需规去罗列需求,而是使用更为轻量的技术——用户故事,通过迭代来完成一个个用户故事。就需要懂的什么事用户故事,该怎么拆用户故事。
- 欣然面对需求的变化——即使是在项目开发后期,要善于利用需求变更,帮助客户获得竞争优势。
- 改变意味着我们更了解市场需求。
- 要不断交付可用的软件,周期从几周到几个月不等,且越短越好。
- 先提供最有价值的,时间短意味着我们与客户协作越紧密,对产品的质量就更有益。
- 项目过程中,业务人员与开发人员必须在一起工作。
- 开发中,可能会出现一些对业务理解上的错误等,需要和业务及时沟通交互,这样可以在早期及时发现解决问题。
- 激发个体的斗志,给他们以所需求的环境和支持,并相信他们能够完成任务。
- 不论团队内外,最有效的沟通方法是面对面交流。
- 可用的软件是衡量进度的主要指标。
- 完成对用户的主要功能?
- 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。
- 避免加班让人疲劳、厌倦
- 对技术的精益求精以及对设计的不断完善将提升敏捷性。
- 要做到简洁,即尽最大可能减少不必要的工作,这是一门艺术。
- 最佳的架构、需求和设计出自于自组织的团队。
- 必须是一个团队而不是一个群体,有着统一的目标,而不是前端只专注于前端,后端只专注于后端。
- 团队定期地反省如何能提高成效,并相应地调整团队的行为。
- 迭代完一个版本后,需求反省下不足,然后通过不断地反省调整来保持团队的敏捷性。
不积跬步,无以至千里;不积小流,无以成江海