快速软件开发 学习笔记 之四 (2)

l  进度可视性不强,仅在每个阶段结束时提供项目状况可视性。

6.2 Spiral Lifecycle Model(螺旋模型)

螺旋模型是一种以风险为导向的生命期模型,它把一个软件项目分解成一个个小项目(miniproject),每个小项目都标识一个或多个主要风险因素,直到所有主要风险因素都被解决。在这里,“风险”的概念比较宽泛,它可以是未被充分理解的需求、未被充分理解的架构、潜在的性能问题、底层技术方面的问题,等等。在所有的主要风险因素都被解决之后,螺旋模型就终止了。

最佳实践:Spiral Lifecycle Model(螺旋模型)

1.       螺旋模型的基本想法是:从一个小范围的关键中心地带开始寻找风险因素,制定风险解决计划,并交付给下一步骤,如此迭代。每次迭代都把项目扩展到一个更大的范围。

2.       每个迭代都包括以下6个步骤:

(1)     确定objectivesalternativesconstraints

(2)     识别并解决风险。

(3)     评估alternatives

(4)     开发本次迭代可供交付的产品并检查其正确性。

(5)     规划下一个迭代过程。

(6)     交付给下一个迭代(如果你想继续的话)。

3.       螺旋模型可以和纯瀑布模型组合使用,如下图所示。

clip_image010

 
6.3 Staged Delivery(阶段式交付)

阶段式交付的特点是不会在项目结束的时候一并交付全部软件,而是在项目整个开发过程中持续不断地交付阶段性成果。下图显示了阶段式交付模型的工作流程。

clip_image012

阶段式交付的主要优点是:它允许你将有用的功能更早地交到你的客户手中使用,而不是在项目结束的时候才把一个具有100%功能的项目交付。阶段式交付的另一个好处是能更早地提供进度标识,这样的进度标识对于将进度压力保持在可控范围内很有价值。

最佳实践:Staged Delivery(阶段式交付)

1.       在完成了需求分析和架构设计之后,再考虑是否采用阶段式交付模型。阶段式交付适合于已经被充分理解的系统。如果你并不确定你的产品应该具有哪些features,那么阶段式交付并不适合。当你完成架构设计时,你必须对产品有了足够充分的理解,才能去规则每个交付阶段。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzdzx.html