再次去学习了敏捷开发模式(缺乏实践),来谈谈敏捷开发模式与传统的瀑布开发模式。
敏捷开发模式
在瀑布开发模式的基础上进行了改进,最新从国外传播入国内,它还没有成熟,很多的开发团队都处于实践、探索的阶段;
敏捷开发最主要的特点就是:以人为核心、循序渐进。
不再是非常详细的文档的编写,强调人与人面对面的交流;把一个项目分成许多的周期,每个周期都有自己需要完成的任务,并且是一定要完成。
流程上主要是以下七点:
1、详细的产品需求列表,排定优先级,这些便需要产品经理来完成的工作,同时一般会有用研、UI、运营等人的配合;
2、工作量的评估:这一项需要技术人员的支持,同时也需要产品经理,内容就是沟通各方面的资源、权衡技术难度,制定详细的规划;
3、计划会议:这里是迭代的目标以及时间,同时把每一个大的任务细化到每个小任务——2、3天完成;
4、站立会议:每日开站立会议,每个人说明自己昨天完成了什么任务,今天要做什么,把已经完成的任务从未完成区域放在燃尽图的已完成区域;
5、做到每日集成,每天都有一个成功编译、并且可以演示的版本;
6、当一次迭代完成的时候,组织演示会议,也叫评审会议,邀请部门经理等管理者参加;
7、总结:轮流发言、讨论需要改进的地方,放入下一轮产品的需求中。
瀑布开发模式
瀑布开发模式是比较传统的软件开发模式,在经过了长期的检验后,很多的项目采用瀑布开发模式最终失败,暴露出了瀑布开发模型的很多缺点;
瀑布开发模式主要分为以下5个阶段:
1、需求分析:对于需求进行详细的分析和评估,形成需求分析文档;
2、设计:技术评估,规划时间节点,形成技术文档以及时间规划;
3、开发:按照时间规划,进行开发,每个阶段完成一定的内容;
4、测试:开发完成后,进行测试,有问题就修改,直到可以用为止;
比较
一、瀑布开发模式
优点
步骤清晰明确;
文档完整,开发过程中可以作为参考;
缺点
1、瀑布开发是从工业发展过来的,不适合计算机软件的开发;
2、开发周期长,花大量时间去编写文档,耗费时间、人力;
3、客户只有在整个项目完成时才可以看到成果,会导致信任问题;
4、风险大,在开发过程中并不能明白最后的结果,同时不能适应变化;
二、敏捷开发模式
优点
1、迭代快,开发周期短;
2、不再耗费大量的时间来写文档,而是人与人面对面交流,只写一些必要的文档;
3、分工详细,每天都输出成果,客户能够看得到,会信任项目团队;
4、沟通多,容易发现问题,同时能够激起团队的协作、奋斗;
条件限制
1、人与人之间的信任是非常重要的环节,但是这个比较难完成,技术团队的成员可能技术能力差别大,同时也有互相竞争,又或者是项目团队的成员有所保留,不愿意这样的沟通;
2、团队在开发期间的任务多、压力大,需要时刻保持“兴奋”,一般很难做到。