开发模式(敏捷开发、瀑布式开发、螺旋式开发、迭代式开发)

软件开发

系统架构设计


浏览:854 次

思维导图:

我的敏捷开发

敏捷方法采用迭代/增量开发的过程模型。这是一种以人为中心的、迭代的、循序渐进的开发方法。在组织方面,软件项目的构建被划分为多个子项目,每个子项目的结果都经过测试,具有集成和操作的特点。在时间上,与传统的瀑布式开发相比,迭代开发将软件生命周期划分为许多小周期(一般不超过2个月,建议2周)。每次迭代都可以生成一个可操作和可验证的版本,并确保软件继续增加新的价值。

敏捷开发由几种轻量级软件开发方法组成。它们包括:极限编程(XP)、Scrum、精益开发等

步骤:编写用户案例、架构规范、实施计划、迭代计划

代码开发、单元测试、验收测试等

个人和互动比流程和工具更重要。

工作的软件比完整的文档更重要。

客户合作比合同谈判更重要。

应对变化比遵守规则更重要。

以人为本、迭代和渐进式发展

简化文档并提取文档的关键点,主要关注人与人之间的交流,

迭代开发产品并最终完成开发。

迭代:迭代是指将具有长开发周期的复杂开发任务分解为许多可以在小周期内完成的任务。这样的循环是一个迭代过程;同时,每次迭代都可以产生或开发一个可交付的软件产品。

实现敏捷开发的一种方法是Scrum:

Scrum开发过程中的三个项目角色

产品负责人(PO):主要负责确定产品功能和满足要求的标准,规定软件的发布日期和交付内容,并有权接受或拒绝开发团队的工作结果。

流程经理(SM):主要负责项目中整个Scrum流程的顺利实施和进展,以及消除客户与开发工作之间的沟通障碍,使客户能够直接推动开发。

开发团队(ST):主要负责在Scrum指定流程下开发软件产品。人数控制在5~10人左右,每个成员可能负责不同的技术方面,但每个成员必须具有较强的自我管理能力和一定的表达能力。

春天:这意味着短途比赛。它指的是迭代,迭代的周期是一个月(四周)。也就是说,我们需要尽快完成迭代的开发内容。这个过程称为Sprint。

1.首先,我们需要确认一份PB(产品积压,按优先级排列的产品需求列表),这是PO(产品负责人)的责任

2.ST(Scrum团队)将根据PB列表估计和安排工作量

3.在PB列表中,我们需要从Sprint规划会议中选择一个故事作为本次迭代的目标。该目标的时间段为1-4周,然后将故事细化为Sprint积压工作

4.Sprint Backlog由ST完成,每个成员根据Sprint Back log被细分为更小的任务(每个任务的工作量可以在2天内完成)

5.在完成Scrum团队计划会议上选择的Sprint积压工作的过程中,需要召开每日Scrum会议(每日例会)。每次会议控制在15分钟左右。每个人都必须发言,向所有成员报告你昨天完成的工作,并向所有成员承诺你今天将完成的工作。同时,你也可以提出无法解决的问题。每个人回答完后,到黑板上更新你的Sprint燃尽

6.做日常整合,即每天都有一个可以成功编译和演示的版本;许多人可能没有使用过自动化的日常集成。事实上,TFS具有此功能。它可以在每次成员签入时自动获取服务器上的最新版本,然后在服务器上进行编译。如果通过,单元测试代码将立即执行。如果它也通过了,该版本将被发布。此时,正式签入操作将保存到TFS,如果出现任何故障,将通过电子邮件通知项目管理人员。

7.当一个故事完成时,也就是说,Sprint Backlog完成了,这意味着Sprint完成了。此时,我们需要召开Sprint审查会议(