螺旋模型
出自 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]
聯想文化的螺旋發展模型脫胎於競爭性文化價值模型。在聯想文化整理的過程中,對競爭性文化價值模型進行了改進和完善,逐漸形成了適合聯想文化的企業文化螺旋發展模型。
企業在處理外部環境適應和內部資源整合過程中的各種問題時,一些方法由於卓有成效而受到反覆強化和使用,逐漸被大部分成員共用而變成了企業的文化。
從本質上看,企業文化是企業解決問題的一套基本原則,所以,分析企業的文化,首先就要從分析企業的基本矛盾人手。
管理的本質就是協調各種矛盾,管理的過程也就是不斷地將企業中的惡性問題變為良性的問題,將主要矛盾變為次要矛盾。儘管企業面臨諸多的矛盾,但企業管理至少要解決好三對基本矛盾。
競爭性文化價值模型認為:如果將“對內一對外”、“控制一靈活”組成二個維度,在這個二維度的基礎上就可以派生出四個象限。如果每個象限都代表著一種文化導向,我們又可以把企業文化分為四個基本導向:目標導向、規則導向、支持導向、創新導向。
“過程式控制制”與“靈活自主”,“外部發展”與“內部運營”,對於企業來說都是必要的,它們之間的關係都是對立統一和相輔相成的,只是企業在不同時期對它們需要和使用的程度不同而已。每個企業的文化在同一時期存在以上四個導向,只是在不同歷史條件和階段下呈現的各個文化導向的強弱程度不同而已,並且四個導向都具有自己相對的關聯特征。
一般而言,企業文化在企業的不同發展階段,呈現出不同的導向,企業文化的發展都遵循著一種螺旋式上升的路徑:創新導向——目標導向——規則導向——支持導向——高層次的創新導向,以此來進行企業文化的不斷演進,推動著企業管理一步一步地邁向更高層次,並形成螺旋式上升態勢。
企業文化螺旋發展模型為分析聯想文化確立了一個基本的框架。
從模型來看,創新導向、目標導向都偏重於面向外部發展,規則導向和支持導向偏向內部運營。在結合聯想的實際狀況時,可以進一步體會到這個模型的實用性:內部運營當然也需要創新導向和目標導向,但檢驗所有創新性工作及其工作目標是否有效的根本標準在於它們是否有利於企業的外部發展,是否有利於滿足用戶的需求、保障企業的贏利。如果方向偏離,越強的“創新”,越大的“目標”,則越危險。
透過這個模型的實證分析,不僅看到了企業所有工作成效最終都要與外部發展聯繫起來,而且進一步證明:促進企業的外部發展是衡量所有工作成效的最終標難。“客戶意識”和“經營意識”不僅證實了聯想文化符合“企業文化螺旋發展模型”,而且在模型中註人了聯想文化的特質,使聯想文化的歷史瑰寶得到傳承,也使聯想的文化個性更加鮮明。
實證分析表明:當前的聯想文化狀態是目標導向、支持導向較強,而規則導向和創新導向較弱。導致聯想文化的規則導向較弱的原因,可能與如下兩個方面的問題有關:在文化上存在著一個誤區:大家通常認為規章制度越多,企業的規則導向就越強。其實不然,規則導向的本意是為了減少差異性和提高效率,表現在員工有意識和主動地找到做事的規律,並且能夠把規律規範化,供他人共用。
面臨著一個現實的問題:近年來,在較短的時間內較多的新人進入,公司對新人的文化輔導不夠。新人對聯想文化的傳承和消化需要一定的時間,他們融入到聯想文化之中也需要一定的過程。