敏捷开发
2015-12-03 09:18
197 查看
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。敏捷开发的最终目的是完成客户要求,最大化实现软件最大价值。
1、个体和交互胜过过程和工具
人是获取成功最为重要的因素。要组建一个优秀的团队才能优秀的完成任务,优秀的团队最重要的就是和他人合作、沟通、交互。
2、可以工作的软件胜过面面俱到的文档
文档的目的是用来项目成员阅读了解系统,如果文档过多过细,其文档和代码同步需要资源就很多,失去了同步,文档会造成重大的误导。
文档应该是小而精炼的,主题突出,对新的成员来说,最好的文档是代码和团队,代码真实的反应它要做的事情,而团队成员保存着时常变化的系统脉络图,人和人之间的交互是传递信息最快的方式。
文档定律:
直到迫切需要并且意义重大时,才来编制文档。
3、客户合作胜过合同谈判
仅仅依靠合同来指导项目完成时灾难性的。大多数软件合同条款在项目完成之前就变得没有意义。
在项目开发期间,与客户紧密合作,功能尽快提交试用,可快速得到反馈,快速修改,最后项目的进度和质量都能得到客户认可,项目也成功完成。
4、响应变化胜过遵循计划
既然需求时时刻刻在变化,其计划也就不能再指导项目进展。
较好的做计划策略是:为下两周做详细计划,为下三个月做大致计划,再以后做极为粗糙的计划。
即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。
经常性地交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。
在整个项目开发期间,业务人员和开发人员必须天天在一起工作
围绕被激励起来的个人来构建项目,给他们提供所需要的环境和支持,并且信任他们能完成工作。
在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
工作的软件是首要的进度度量标准。
敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。
不断地关注优秀的技能和好的设计会增强敏捷能力。
简单--使未完成的工作最大化的艺术--是根本的。
最好的架构、需求和设计出自于自组织的团队。
每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
敏捷宣言
个体和交互 | 胜过 | 过程和工具 |
可以工作的软件 | 胜过 | 面面俱到的文档 |
客户合作 | 胜过 | 合同谈判 |
响应变化 | 胜过 | 遵循计划 |
人是获取成功最为重要的因素。要组建一个优秀的团队才能优秀的完成任务,优秀的团队最重要的就是和他人合作、沟通、交互。
2、可以工作的软件胜过面面俱到的文档
文档的目的是用来项目成员阅读了解系统,如果文档过多过细,其文档和代码同步需要资源就很多,失去了同步,文档会造成重大的误导。
文档应该是小而精炼的,主题突出,对新的成员来说,最好的文档是代码和团队,代码真实的反应它要做的事情,而团队成员保存着时常变化的系统脉络图,人和人之间的交互是传递信息最快的方式。
文档定律:
直到迫切需要并且意义重大时,才来编制文档。
3、客户合作胜过合同谈判
仅仅依靠合同来指导项目完成时灾难性的。大多数软件合同条款在项目完成之前就变得没有意义。
在项目开发期间,与客户紧密合作,功能尽快提交试用,可快速得到反馈,快速修改,最后项目的进度和质量都能得到客户认可,项目也成功完成。
4、响应变化胜过遵循计划
既然需求时时刻刻在变化,其计划也就不能再指导项目进展。
较好的做计划策略是:为下两周做详细计划,为下三个月做大致计划,再以后做极为粗糙的计划。
原则
我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。
经常性地交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。
在整个项目开发期间,业务人员和开发人员必须天天在一起工作
围绕被激励起来的个人来构建项目,给他们提供所需要的环境和支持,并且信任他们能完成工作。
在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
工作的软件是首要的进度度量标准。
敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。
不断地关注优秀的技能和好的设计会增强敏捷能力。
简单--使未完成的工作最大化的艺术--是根本的。
最好的架构、需求和设计出自于自组织的团队。
每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
相关文章推荐
- libc++abi.dylib: terminate_handler unexpectedly threw an exception错误小结
- mybatis integer 类型0传值问题。
- SQL Server 聚合函数算法优化技巧
- iOS开发-AFNetworking 怎样上传数据? 怎样上传模拟表单
- C# 如何用多字符分割字符串
- webstrom 10 注册码
- 程序员思考
- PHP不同版本之特性
- HPP
- 【Some】【Other】100小时定律
- 【Some】【Other】100小时定律
- 【Some】【Other】100小时定律
- 【Some】【Other】100小时定律
- 【Some】【Other】100小时定律
- 【Some】【Other】100小时定律
- 【Some】【Other】100小时定律
- 【Some】【Other】100小时定律
- 各个时间段对应使用的Xcode版本以及iOS版本。
- 前端开发调试线上代码的两款工具
- 【Codeforces Round 334 (Div 2)E】【博弈-SG函数】Lieges of Legendre n个数 每次取数-1或者变2x为k个x的博弈