需求基线,通俗点说就是把这些需求都划一根“线”,说明这些需求已经确定下来,添加新的需求和修改原有的需求都必须通过需求变更流程来操作。目的就是为了防止需求的滥变给程序架构造成重大影响。
1、分阶段开发的每个阶段的时间不确定,而且通常比较长。 2、迭代开发则是将项目切分成固定大小的时间段,每次迭代的大小不一定等长,使项目分解成多个微型项目。 注意:这里的迭代指的是时间周期,不同公司规定的可能不同,可能是12天为一个迭代,每个迭代划分多个开发任务。
1、优先级评价是基线划定的基础。 2、根据业务结构的特点,对所有需求项划分等级。从技术实现、项目风险两个角度调整优先级。通常应该对每个主题域逐一评价,跨主题域之间的比较是没有太大的意义,建议将所有的需求项划分为关键、重要、有用、一般4个等级。 3、优先级是相对的,要在同一级别中进行比较。
1、何时进行估算? (1)在需求定义阶段完成时应该安排一次估算。其结果相对比较粗糙,因为需求项还很粗糙(业务流程、报表类型、接口项);生成的结果可以作为立项的参考。 (2)在需求分析阶段完成时应该再安排一次估算。此时需求项已经细化到用例级,估算结果更加准确,这个阶段的产物是划定基线、安排迭代计划的基础。 (3)每次开发迭代完成之后应该填充实际进度数据,并根据它调整估算值,调整迭代计算,这时估算出来的工作量是最接近实际值的。 2、估算的要点 若在需求阶段要更准备地完成估算,应该根据实际的情况,包括项目特点、开发方法,来考虑选择更容易找到的计数单元。这里的单元,个人理解的是一个小的模块或者一个小功能模块,就与Excel表中单元格类似。 (1)需求定义阶段:可以考虑以业务事件、报表类型、接口作为计数单元。 (2)需求分析第一阶段:可以考虑以用例作为计数单元。 (3)需求分析的后续阶段:可以考虑使用FP和COCOMO中推荐的计数单元格。 不同阶段进行软件估算时,应该采用不同的计数单元。 3、估算方法 (1)分部分、分类型进行估算。 在估算时,对每个主题域应该分开计算,另外对于业务流程、报表和接口也应该考虑分开进行估算。 (2)采用基于权重的估算方法。 基于权重的估算可以让估算人员保持更加客观的标准,在同组需求项的估算中采用相近的标准;有利于根据历史数据更新估算。
1、基线划定时间 当确定了所有需求项的优先级、对其工作量做了基本的估算之后,可以考虑开始划定基线。 2、划定基线 优先级越高的需求就应该安排在较早的基线中。 实例: 如果3个开发人员的平均产能系数是1.2、0.6、1,那么5周的迭代就可以完成的就是(1.2+0.6+1)×5 = 14人周,如果希望安排一个4周的迭代,那么就应该考虑从基线中移掉某个任务。 3、基线管理 需求变更和迭代过程未完成这两个因素影响基线划定。 一般采用的策略是,划定两次基线,一个基线投入开发迭代,另一个基线开始细化需求,从而实现流水线作业,