螺旋模型
出自 MBA智库百科(https://wiki.mbalib.com/)
螺旋模型(Spiral Model)
目录 |
1988年,巴利·玻姆Barry Boehm正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。
螺旋模型采用一种周期性的方法来进行系统开发。这会导致开发出众多的中间版本。使用它,项目经理在早期就能够为客户实证某些概念。该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。采用螺旋模型的软件过程如下图所示:
螺旋模型基本做法是在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定。
螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统。对于这些系统,风险是软件开发不可忽视且潜在的不利因素,它可能在不同程度上损害软件开发过程,影响软件产品的质量。减小软件风险的目标是在造成危害之前,及时对风险进行识别及分析,决定采取何种对策,进而消除或减少风险的损害。
1、螺旋模型的优势包括:
1)设计上的灵活性,可以在项目的各个阶段进行变更。
2)以小的分段来构建大型系统,使成本计算变得简单容易。
3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。在实践中,螺旋法技术和流程变得更为简单。迭代方法体系更倾向于按照开发/设计人员的方式工作,而不是项目经理的方式。螺旋模型中存在众多变量,并且在将来会有更大幅度的增长,该方法体系正良好运作着。下表是螺旋法能够解决的各种问题:
经常遇到的问题 | 螺旋模型的解决方案 |
---|---|
用户需求不够充分 | 允许并鼓励用户反馈信息 |
沟通不明 | 在项目早期就消除严重的曲解 |
刚性的体系(Overwhelming architectures) | 开发首先关注重要的业务和问题 |
主观臆断 | 通过测试和质量保证,作出客观的评估 |
潜在的不一致 | 在项目早期就发现不一致问题 |
糟糕的测试和质量保证 | 从第一次迭代就开始测试 |
采用瀑布法开发 | 在早期就找出并关注风险 |
2、但是,螺旋模型并不是比其他模型拥有绝对优越,事实上,这种模型也有其自身的如下缺点。
1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。
2)过多的迭代次数会增加开发成本,延迟提交时间。
各种软件过程模型的特点[1]
不同的软件过程模型对软件开发过程有不同的理解和认识,支持不同的软件项目和开发组织。下表对比和分析了各个软件过程模型的特点及其适用的软件项目类型。
各种软件过程模型的特点
模型名称 | 技术特点 | 适用范围 |
---|---|---|
瀑布模型 | 简单,分阶段,阶段间存在因果关系,
各个阶段完成后都有评审,允许反馈,不支持 用户参与,要求预先确定需求 | 需求易于完善定义且不易变更的软件系统 |
快速原型模型 | 不要求需求预先完备定义,支持用户参与,
支持需求的渐进式完善和确认,能够适应用户需求的变化 | 需求复杂、难以确定、动态变化的软件系统 |
增量模型 | 软件产品是被增量式地一块块开发的,
允许开发活动并行和重叠 | 技术风险较大、用户需求较为稳定的软件系统 |
迭代模型 | 不要求一次性地开发出完整的软件系统,将软件
开发视为一个逐步获取用广需求、完善软件产品的过程 | 需求难以确定、不断变更的软件系统 |
螺旋模型 | 结合瀑布模型、快速原型模型和迭代模
型的思想,并引进了风险分析活动 | 需求难以获取和确定、软件开发风险较大的软件系统 |
RUP | 可改造、扩展和剪裁:可以对它进行设计、
开发、维护和发布;强调迭代开发 | 复杂和需求难以获取和确定的软件系统;
软件开发项目组拥有丰富的软件开发和管理经验 |
案例一:联想文化的螺旋模型[2]
联想文化的螺旋发展模型脱胎于竞争性文化价值模型。在联想文化整理的过程中,对竞争性文化价值模型进行了改进和完善,逐渐形成了适合联想文化的企业文化螺旋发展模型。
企业在处理外部环境适应和内部资源整合过程中的各种问题时,一些方法由于卓有成效而受到反复强化和使用,逐渐被大部分成员共享而变成了企业的文化。
从本质上看,企业文化是企业解决问题的一套基本原则,所以,分析企业的文化,首先就要从分析企业的基本矛盾人手。
管理的本质就是协调各种矛盾,管理的过程也就是不断地将企业中的恶性问题变为良性的问题,将主要矛盾变为次要矛盾。尽管企业面临诸多的矛盾,但企业管理至少要解决好三对基本矛盾。
竞争性文化价值模型认为:如果将“对内一对外”、“控制一灵活”组成二个维度,在这个二维度的基础上就可以派生出四个象限。如果每个象限都代表着一种文化导向,我们又可以把企业文化分为四个基本导向:目标导向、规则导向、支持导向、创新导向。
“过程控制”与“灵活自主”,“外部发展”与“内部运营”,对于企业来说都是必要的,它们之间的关系都是对立统一和相辅相成的,只是企业在不同时期对它们需要和使用的程度不同而已。每个企业的文化在同一时期存在以上四个导向,只是在不同历史条件和阶段下呈现的各个文化导向的强弱程度不同而已,并且四个导向都具有自己相对的关联特征。
一般而言,企业文化在企业的不同发展阶段,呈现出不同的导向,企业文化的发展都遵循着一种螺旋式上升的路径:创新导向——目标导向——规则导向——支持导向——高层次的创新导向,以此来进行企业文化的不断演进,推动着企业管理一步一步地迈向更高层次,并形成螺旋式上升态势。
企业文化螺旋发展模型为分析联想文化确立了一个基本的框架。
从模型来看,创新导向、目标导向都偏重于面向外部发展,规则导向和支持导向偏向内部运营。在结合联想的实际状况时,可以进一步体会到这个模型的实用性:内部运营当然也需要创新导向和目标导向,但检验所有创新性工作及其工作目标是否有效的根本标准在于它们是否有利于企业的外部发展,是否有利于满足用户的需求、保障企业的赢利。如果方向偏离,越强的“创新”,越大的“目标”,则越危险。
透过这个模型的实证分析,不仅看到了企业所有工作成效最终都要与外部发展联系起来,而且进一步证明:促进企业的外部发展是衡量所有工作成效的最终标难。“客户意识”和“经营意识”不仅证实了联想文化符合“企业文化螺旋发展模型”,而且在模型中注人了联想文化的特质,使联想文化的历史瑰宝得到传承,也使联想的文化个性更加鲜明。
实证分析表明:当前的联想文化状态是目标导向、支持导向较强,而规则导向和创新导向较弱。导致联想文化的规则导向较弱的原因,可能与如下两个方面的问题有关:在文化上存在着一个误区:大家通常认为规章制度越多,企业的规则导向就越强。其实不然,规则导向的本意是为了减少差异性和提高效率,表现在员工有意识和主动地找到做事的规律,并且能够把规律规范化,供他人共享。
面临着一个现实的问题:近年来,在较短的时间内较多的新人进入,公司对新人的文化辅导不够。新人对联想文化的传承和消化需要一定的时间,他们融入到联想文化之中也需要一定的过程。