瀑布模型
- 需求分析
- 设计
- 编码
- 实现
- 软件测试
- 完成
- 维护
-
优点
- 开发的各个阶段比较清晰
- 强调早期计划和需求调查
- 适合需求稳定的产品开发
-
缺点
- 由于开发模型是线性的,增加了开发的风险
- 早期的错误可能要等到开发的后期的阶段才能发现
敏捷模型(增量迭代,小步快跑)
-
XP(极限编程)
- 编程方法
- 简单设计:要求用最简单的办法设计实现客户当下的需求
- 结对编程:代码可以由两个人一起完成,一个人主要考虑代码细节,另一个人关注代码整体结构
- 测试驱动开发
- 重构
- 小组实践
- 代码集体所有
- 编码标准
- 稳定高速的步伐
- 隐喻:帮助团队里的每一个人理解客户需求
- 持续集成
- 交付和管理
- 小规模发布
- 计划游戏:预测在小规模发布的交付日期到来之前我们要完成那些工作
- 完整的团队:项目中所有的成员,包含现场客户
- 现场客户
- 编程方法
-
SCRUM
- 产品BACKLOG:管理产品需求,按照商业价值将需求作为列表排序
- SPRINT计划会议
- SPRINT BACKLOG
DevOps(Development Operations)
- 持续开发
- 持续测试
- 持续集成
- 持续部署
- 持续监控
- DevOps对发布的影响
- 减少变更范围
- 加强发布协调
- 自动化