Fork me on GitHub

开发流程

发现现在的项目开发流程有好多问题。我从网上找了几篇文章,总结一些,关于如何更加高效率、高产出、高效益的方法

web应用开发标准流程(来自慕课网Python_Quant)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
graph LR
web应用开发标准流程-->产品分析
产品分析-->用户需求
产品分析-->竞品分析
产品分析-->市场调研
web应用开发标准流程-->技术选型
技术选型-->前端技术选型
技术选型-->后端技术选型
技术选型-->数据库
技术选型-->业务框架hadoop等
web应用开发标准流程-->开发实现
开发实现-->前后端开发
开发实现-->前后端部署
开发实现-->前后端升级
开发实现-->业务框架大数据展现
web应用开发标准流程-->生产上线
生产上线-->部署升级
生产上线-->峰值处理
生产上线-->成本优化
生产上线-->警报处理

敏捷开发(阿里-何勉-阿里技术)

敏捷开发业务目标

这里提交一个概念-瀑布开发(需求批量地在一起进行设计,然后是批量地开发,批量地测试、交付等等。批量让价值交付延迟,所有需求在最后的阶段才能交付,价值交付比较晚。越迟交付的价值也是越低的价值)。与之相对的就是敏捷开发

从业务视角看敏捷的目标

更快(早)的交付价值

更快(早)的交付价值。所以敏捷开发的第一个目标就是更快的交付价值(更早的交付)。敏捷提出了迭代交付。我们把开发分成迭代,每个迭代交付一部分价值,更早交付的价值往往意味着更多的价值。

有效学习和灵活响应变化

面对不确定的技术、市场环境,传统开发模式(项目中的大部分决策在项目开始的时刻做出)已无法适应要求,敏捷的对策是迭代。开始时做一些初始的决策,只是定义了大致的方向。在整个开发过程,我们迭代交付需求,获取市场的反馈和最新的信息,并基于这些反馈和信息,积累和修正对产品的认知,增量地决策和调整。

从能力角度

敏捷的核心是持续交付价值的能力,以及持续交付为基础的快速反馈学习能力

度量:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
graph LR
持续交付能力-->持续发布能力
持续发布能力-->发布频率
持续发布能力-->发布前置时间
持续交付能力-->需求响应周期
需求响应周期-->客户周期时间
需求响应周期-->开发周期时间
持续交付能力-->交付吞吐率
交付吞吐率-->单位时间交付用户需求数量
持续交付能力-->内建质量能力
内建质量能力-->缺陷创建和修复时间分布
内建质量能力-->缺陷库存
持续交付能力-->交付质量
交付质量-->单位时间问题数目
交付质量-->线上问题解决时长

上面5组指标,分别从响应能力、效率和质量三个方面提供一个完整的故事。其中,持续发布能力和需求响应周期这两组指标反映的是响应能力,也就是价值的流动效率;交付吞吐率这一指标反映的是团队效率,也就是资源的产出效率;内建质量的能力和对外交付质量这两组指标是质量指标。

显示 Gitment 评论