【IT168 技术文章】
迭代化开发做为一种软件开发方法,已经逐渐的得到应用。本文的目的是介绍一种可实践操作的迭代化开发方法,这种开发方法描述了如何以一种简单实用的方法来进行迭代化开发。通过采用本文所描述的迭代化开发的这种方法,能够降低项目组引入迭代化开发的难度和复杂度,从而尽可能的保证迭代化开发使用成功。
1. 前言
迭代化开发做为一种软件开发方法,相比传统的瀑布式开发方法而言,具备很多无可比拟的优势。正是因为看到迭代化开发的这些优势,越来越多的开发组织正在内部推行核心业务流程的变革,将软件开发这种在开发组织中最核心的业务流程,由以前的瀑布式开发转换到迭代化开发。
在从瀑布式开发向迭代化开发的转换中,我们发现,相对来讲,很多的开发组织将迭代化的开发过程定义得太复杂,引入的技术太多,同时加上项目组本身对迭代化开发不熟悉,很难在短时间内掌握这些方法,就造成很多的项目组在使用迭代化开发的过程中,遇到相当多的困难甚至是最终失败。
从我们的经验来看,要成功的引入迭代化开发,必须转变一下思维的方式,必须从最简单做起,越简单,就越容易被理解和执行,就越容易成功。也就是说,在迭代化开发引入的过程中,不能再像以前一样,定义一个庞大而完善的迭代化开发过程让项目组去裁减,而是应该定义一个小的、简单的内核,这个内核很精简,不会包括迭代化开发所需要执行的方方面面,只包括迭代化开发所应该执行的核心的活动。因为这个内核很精简,不需要项目组再去裁减,项目组需要做的是要么直接使用它,要么以扩展的方式去使用它。
本文就是向大家介绍这样一种迭代化开发方法,这种迭代化开发方法尽量的简单但是够用,它只包含迭代化开发的核心的集合,以及执行这些集合的简单的方法。我们期望通过这种迭代化开发方法能够先让项目组将迭代用起来 – 因为迭代首先能够用起来,比什么都重要。
2. 迭代化开发方法
本文介绍的迭代化开发方法主要包括以下四个方面:制订迭代计划;监控迭代执行;在迭代中执行测试;进行迭代评估。
制订迭代计划主要关注我们应该如何划分迭代,如何制订每个迭代的迭代目标;监控迭代执行主要关注如何处理迭代执行中遇到的相关情况;在迭代中执行测试主要关注如何将测试和迭代目标关联起来;进行迭代评估主要关注如何评估迭代,保证每个迭代都能够有所收获。
2.1 制订迭代计划
一般来讲,在项目开始的时候,项目经理会对当前项目的工作范围、项目的周期有简单的了解,此时就可以开始制订迭代计划。
第一步,根据项目的周期,来划分当前项目总共应该有多少个迭代,并且要求每个迭代的周期是一致的。其实到底一个项目应该划分多少个迭代,是仁者见仁、智者见智的事情。所以,可以参考以下的列表来划分迭代:
第二步,将第 1 个迭代(或者最前的几个迭代)保留下来,用来安排进行需求调研。然后根据现在所知的粗粒度的需求,以技术的难度、业务的优先级为判断依据,分配到剩余的迭代中,技术难度越大、业务优先级越高的需求,分配到越靠前的迭代中。分配完成后,再根据需求之间的依赖关系、工作量这两个因素进行调整。此时,可以得到以下示例的迭代计划(假设第 1 个迭代留给需求调研):
第三步,执行第 1 个迭代(或者是要进行需求调研的迭代),执行完成后,得到详细的需求。此时,不管以何种方法来记录需求,唯一要做的就是将这些需求条目化。也就是将这些需求,划分成一条一条的这种形式,然后,再以条目化之后的需求,去更新在第二步中分配的粗粒度的需求。此时,可以根据情况对各个迭代中分配的需求进行调整(假设第 1 个迭代留给需求调研):