两种软件开发模式:瀑布与敏捷

瀑布开发模式

瀑布模式是一种前几年在国内各大项目中比较流行的开发模式,特点是分阶段进行,每个阶段都很清晰,只有阶段对应的人员才会参与当前阶段的开发,每个阶段必须有产出物才可以开始下个阶段,整个周期较长,早期需求分析和设计的时间消耗较多,整个流程会尽量避免需求的改动,更适用于B端产品的开发。

瀑布 VS 敏捷

瀑布敏捷
开发流程里程碑迭代
开发文档强调文档可以工作的胜过面面俱到的文档
开发人员强调分工协助、沟通
开发需求避免变化拥抱变化
需求变更谈判与计划与客户合作

敏捷模式典型框架 Scrum

结构

Scrum 角色

Product Owner:产品负责人,主要提需求的人,一般为老板。
Scrum Master:Scrum 主管,保证Scrum模式的顺利执行(禁止在开发阶段该需求,督促开展会议等),一般为项目经理,或者项目之外的人担任。
Team:开发团队,包含所有的开发人员。

工件

UserStory:用户故事,不必有清晰文档的产品需求。
Product Backlog:产品订单,所有待开发的UserStory的集合。
Sprint Backlog:冲刺订单,本周期内待开发的UserStory。
Burndown Chat:冲刺燃尽图,周期内UserStory的变化曲线。

活动

Sprint Planning Meeting:计划会,周期末开展,总结冲刺燃尽图,评估冲刺订单。
Daily Standuy Meeting:每日例会,每天早上开展,十五分钟内的短会,所有开发人员对昨天的工作成果,今天的工作内容,现在遇到的问题这三个问题进行描述,方便会议之后解决问题和让开发团队每一个成员了解到当前进度。
Review Meeting:评审会,评审UserStory的可行性和工期。
Retrospective Meeting:回顾会,每个迭代上线之后,以匿名的方式投票总结成员各自看到的问题,并在下一个迭代尝试解决。

Scrum 流程