了解常用开发模型 -- 瀑布模型、螺旋模型、增量与迭代、敏捷开发
目录
瀑布模型
开发流程
开发特征
优缺点
适用场景
螺旋模型
开发流程
开发特征
优缺点
适用场景
增量与迭代开发
什么是增量开发?什么是迭代开发?
敏捷开发
什么是敏捷开发四原则(敏捷宣言)?
什么是 scrum 框架?
scrum 框架中的三大角色分别是什么?
scrum 框架的基本工作流程
瀑布模型
开发流程
问题定义 => 可行性研究 => 需求分析 => 计划 => 设计 => 编码 => 测试 => 上线运维
开发特征
线性顺序开发
优缺点
优点:
通过早期计划及需求调查等工作,在每个开发阶段都有明确的阶段性目标。
缺点:
由于项目的测试在最后阶段,发现问题时项目已经基本完成,此时则需要重新回溯至问题阶段排查问题,这可能导致许多前期工作变成无用功,增加了开发风险。
需求明确后就不再更改,不能适应需求变化的情况。
由于是线性顺序开发,开发中获得的经验教训无法反哺本项目。
适用场景
小型项目开发
螺旋模型
开发流程
循环执行如下步骤:
客户需求沟通
方案计划及目标拟定
风险分析
计划实施、编码、测试
成果评估
开发特征
渐进式迭代开发
优缺点
优点:
全过程风险分析管理,每个阶段都进行质量及风险验证。
阶段性总结经验教训,可以反哺本项目。
阶段性对项目可行性进行评估,控制沉没成本。
缺点:
严格的计划和进度控制,风险的识别、分析、控制,这些都使得投入的人力财力大大增加,对管理水平提出了更高的要求。
适用场景
适用于规模庞大、复杂度高、风险大的项目
增量与迭代开发
什么是增量开发?什么是迭代开发?
增量开发是在项目基础上不断根据需求进行扩展,优点是显著降低项目风险,结合需求持续构建。
迭代开发是指原项目满足基本需求后就上线,后续才在原基础上不断细化迭代,做到迅速投产,逐步优化。
敏捷开发
什么是敏捷开发四原则(敏捷宣言)?
四原则包括:
个体与交互重于过程和工具
可用的软件重于完备的文档
客户协作重于合同谈判
响应变化重于遵循计划
什么是 scrum 框架?
敏捷开发是一种思想,而scrum框架就是这种思想的具体实现,是一种基于持续学习和需求多变的启发式框架。
scrum 框架中的三大角色分别是什么?
scrum 框架通常具备三大角色:
product owner(产品经理人):简单理解,产品经理人面向需求,主要负责整合客户需求,并传达给项目经理。
scrum master(项目经理):简单理解,项目经理面向行动,主要负责研发团队的调度安排,进度计划的把控。
team(研发团队):简单理解,进行具体工作的一大帮人。
scrum 框架的基本工作流程
基本流程
product backlog/产品需求
sprint backlog/计划安排
Sprint/具体实施
daily scrum meeting/每日例会
Sprint Review/迭代评审
Sprint Retrospective/迭代回顾总结