敏捷迭代软件开发简略教程

发布日期: 2018-11-28, 最近更新: 11 个月前
简单实用的敏捷开发思路,探码内部培训整理

优秀的开发理念和框架,来自团队的文化和信仰;本文介绍内容基于探码TMF开发教条延伸讨论,下面介绍了敏捷开发的几个要点,同时总结一些实用思路。

瀑布模型开发模式

瀑布模型开发模式是传统组织架构形式的公司比较欢迎的一种开发模式,或者说甲方和领导比较喜欢的方式,因为每个步骤可控、结果可考核,分工明确。如图所示。

图片来自: http://johng.cn/soft-dev-mode-comparison/

但是由于目前市场的急剧变化,软件的生命周期甚至缩短到以周为升级单位,瀑布模型的冗长沟通机制就显得非常笨重了,出现经常被推翻重来的情况,未来拥抱变化,大部分公司都开始拥抱敏捷开发模式。

敏捷开发模式

关于Scrum敏捷开发模式的介绍可以看这里: What is Scrum,这里只讲解探码适用的场景,我们在启动一个项目的时候,往往不是从零开始的,而且是通过TM-Framework,或者our-basic-rails开始, our-basic-rails是一个在Ruby on Rails上集成了探码最佳实践的Web开发框架。

如下图所示,敏捷开发的前期工作主要是搭建团队的技术框架,首先按照公司的技术栈和过往经验,构建一个基础开发环境出来,然后基于这个环境,分解客户需求为无数个版本,每个版本的功能可罗列出来,细节明确,边界条件明确,然后进行开发。

这里很有意思的一点是“重复这个循环,直到时间用完,钱花光”,这是一个非常有说服力的营销思路,也是敏捷开发思路,多大的时间和资金预算,支撑多少的版本迭代;软件永远没有最完美的版本,只有不断升级的适应当前变化的版本。

工作机制

甲方根据任务优先级,拟定一个开发任务包作为一次版本迭代,每一个版本都按要求走完需求、设计、开发、测试和上线整个流程,同时对每个版本进行工作量评估和单独立项结算。

工作量评估标准

将整个迭代版本生命期划分为计划与需求、产品设计、详细设计、编码与单元测试、集成与测试、移交等六个阶段,或者简化为4个阶段,各阶段所占工作量如下表所示。

序号

阶段(端点)

工作量%

1

需求与计划

20

2

原型与设计

30

3

开发与测试

40

4

交付于培训

10

 

结论

这个结论是建立在探码科技自建的gitlab项目管理软件之上的,不一定适用于其他团队,探码内部的协作主要是通过gitlab+即时沟通软件来完成。

  • 每个任务一个issue
  • 每个issue结构:包含整个开发生命周期、原始素材、会议细节
  • 可追踪的过程、可估量的时间、可预测的结果、可升级的版本

 

参考资料: https://www.scrum.org

软件开发模型对比:瀑布、迭代、螺旋、敏捷

五种典型开发周期模型