摘 要:重量級IT項目具有高度復(fù)雜性和不確定性,以過程為基礎(chǔ)的項目管理需要借敏捷方法加以改進(jìn)。本文以闡明IT項目的復(fù)雜產(chǎn)品系統(tǒng)特性為起點,從復(fù)雜產(chǎn)品系統(tǒng)的模塊化及分解入手,討論了IT產(chǎn)品的動態(tài)形成過程,提出了一個基于敏捷開發(fā)過程的重量級IT項目管理框架。以提升重載方法開發(fā)效率、提高產(chǎn)品質(zhì)量為目的,探討了復(fù)雜產(chǎn)品分解的隨機(jī)Petri網(wǎng)概念模型、柔性團(tuán)隊行為模型、重載方法適度規(guī)范集以及基于知識轉(zhuǎn)移的敏捷開發(fā)過程,并提出了若干管理對策。
1 引言
軟件危機(jī)推動了軟件工程思想成熟,20世紀(jì)80、90 年代,軟件項目開始使用可重復(fù)的規(guī)范過程,產(chǎn)生了以質(zhì)量管理為核心、以軟件工程理論為基礎(chǔ)的嚴(yán)格有序的過程管理理論體系。軟件項目被定義為一個有序的、可重復(fù)的、可度量的、可嚴(yán)格控制的過程。SEI的CMM模型是這一階段過程管理思想的結(jié)晶,而且成為一套適用面很廣的通用過程實踐標(biāo)準(zhǔn)。但是,CMM及與其類似的ISO9000、SPICE等通常被認(rèn)為是重載(Heavy Weight)過程,其出發(fā)點是為使軟件項目能應(yīng)對不可預(yù)知的變化,采取繁復(fù)的管理工作抵御風(fēng)險。CMM 重視系統(tǒng)性、制度化、文檔化和度量,強(qiáng)調(diào)提高過程的可靠性、可見性、可預(yù)測性和可管理性,實施CMM要求組織在過程制度化建設(shè)上付出大量努力。重載過程的工作集中在防止和跟蹤錯誤上,大量工作流程的制定,是為了保證項目不犯錯誤,因此,軟件過程越來越復(fù)雜,越來越龐大,重載過程的繁文縟節(jié)、組織臃腫、辦事低效、形式主義等等副作用越來越明顯[1]。重載方法與IT產(chǎn)品及其開發(fā)過程特性的矛盾日益明顯,快速變化的外部市場環(huán)境也向傳統(tǒng)的軟件工程管理理論提出挑戰(zhàn)。人們對軟件過程的認(rèn)識日漸深刻:軟件過程不是混沌的、隨機(jī)的、即興的活動,也不只是一個嚴(yán)格有序的因果聯(lián)系的工作流,軟件項目是一個復(fù)雜系統(tǒng),而軟件過程是一種處于混沌邊緣的非平衡狀態(tài)下的系統(tǒng)行為。軟件敏捷開發(fā)方法由此產(chǎn)生。
IT項目敏捷開發(fā)方法,具有早期客戶參與、快速迭代交付、自組織團(tuán)隊、柔性等典型特征[2],能夠提供客戶滿意的知識產(chǎn)品,非常適用于特定的環(huán)境——高風(fēng)險、不可預(yù)測和小規(guī)模的探索型軟件研發(fā)項目[3]。但是,軟件產(chǎn)品的規(guī)模(size)日益龐大[4],重量級IT項目越來越多。相對而言,重量級IT項目具有較高的復(fù)雜性和不確定性,風(fēng)險性、不可預(yù)測性也更高。傳統(tǒng)IT項目開發(fā)方法及管理過程,導(dǎo)致重量級IT項目周期長、投入大、成果不可預(yù)期,較難獲得客戶的滿意認(rèn)可。重量級IT產(chǎn)品更需要運用敏捷開發(fā)方法。其中,重量級IT產(chǎn)品的架構(gòu)、分解優(yōu)化及其與柔性團(tuán)隊的匹配,是成功實現(xiàn)敏捷管理的關(guān)鍵。本文針對重量級IT項目敏捷管理的需要,提出一個基于敏捷開發(fā)過程的重量級IT項目管理框架,反映傳統(tǒng)開發(fā)方法的敏捷性改造,為改進(jìn)重載方法過程、提高開發(fā)效率和產(chǎn)品質(zhì)量提供基本思路。
2 IT復(fù)雜產(chǎn)品系統(tǒng)及其模塊化
復(fù)雜產(chǎn)品系統(tǒng)(Complex Product Systems, CoPS)指高成本的、技術(shù)密集型的、用戶定制、單件或小批量生產(chǎn)的生產(chǎn)資料、系統(tǒng)、網(wǎng)絡(luò)、控制單位、軟件包、建筑物和服務(wù)[5,6]。IT產(chǎn)品復(fù)雜性也日益增加,一方面,軟件規(guī)模的擴(kuò)展意味著功能擴(kuò)展,這種擴(kuò)展不僅僅是相同元素重復(fù)添加,而必然是不同元素實體的添加,并且多數(shù)情況下它們以非線性遞增的方式交互,使整個軟件復(fù)雜度以更大的非線性增長。另一方面,軟件本身的技術(shù)復(fù)雜性引發(fā)了更多的管理復(fù)雜性。Ren和Yeo認(rèn)為[7],IT項目是典型的以人為中心、基于人工的,實質(zhì)上更富個人主義色彩,因而難以預(yù)測、控制和自動化。因此,以ERP系統(tǒng)為代表的大型IT項目屬于復(fù)雜產(chǎn)品系統(tǒng)范疇[7,8]。
對于復(fù)雜產(chǎn)品系統(tǒng)的開發(fā),一般應(yīng)首先采取模塊化方法進(jìn)行分解,才能有效實現(xiàn)產(chǎn)品目標(biāo)。Simon等提出了系統(tǒng)的層級特性和可分解特性以便于降低系統(tǒng)的復(fù)雜性,并研究了軟件結(jié)構(gòu)化設(shè)計程度與軟件復(fù)雜性、多變性和改進(jìn)(Enhancement)之間的相互關(guān)系,系統(tǒng)地提出了復(fù)雜產(chǎn)品系統(tǒng)的特性和劃分準(zhǔn)則[9~11]。IT產(chǎn)品的模塊劃分是基于對整個產(chǎn)品系統(tǒng)框架以及功能需求分析的基礎(chǔ)上,將整個IT產(chǎn)品系統(tǒng)的研發(fā)任務(wù)按照應(yīng)用技術(shù)類別劃分相對獨立的模塊/子系統(tǒng)進(jìn)行的,在各模塊開發(fā)完成后,交給集成商整合為一個完整的復(fù)雜產(chǎn)品系統(tǒng),在這個意義上說,模塊化是實施復(fù)雜產(chǎn)品系統(tǒng)的前提條件或必要條件。
3 IT產(chǎn)品的動態(tài)形成過程
從IT項目復(fù)雜性可以看出,IT項目終交付的軟件產(chǎn)品,是多種知識、資源動態(tài)結(jié)合而成的知識產(chǎn)品。不少學(xué)者[12]認(rèn)為,敏捷產(chǎn)品是知識產(chǎn)品,產(chǎn)品的價值主要產(chǎn)生于它所包含的知識,而非產(chǎn)品的有形部分,同時認(rèn)為過程也是一種知識產(chǎn)品。Wang[13]認(rèn)為,ERP實施的關(guān)鍵是組織中系統(tǒng)和過程的相互適應(yīng),ERP系統(tǒng)知識必定產(chǎn)生于實施過程,并反映于產(chǎn)品之中。信息系統(tǒng)開發(fā)過程中,每一類知識的擁有主體是不同的,信息系統(tǒng)的開發(fā)過程是這些主體之間的知識轉(zhuǎn)移過程,信息系統(tǒng)的終交付成果是這種動態(tài)交互的結(jié)果。
ERP系統(tǒng)作為一種典型的IT復(fù)雜產(chǎn)品系統(tǒng),反映了重量級IT項目復(fù)雜性的兩個方面,一是終知識產(chǎn)品的高度復(fù)雜性,是業(yè)務(wù)知識、管理模型和軟件技術(shù)的綜合體;二是知識產(chǎn)品生產(chǎn)過程的復(fù)雜性,即據(jù)以對用戶需求的預(yù)測,以人為載體的多種知識、資源的相互作用、相互影響、相互結(jié)合,由于人的因素,過程管理具有較大的不確定性、不可預(yù)見性。實踐中,IT復(fù)雜產(chǎn)品系統(tǒng)的第二個復(fù)雜性,即動態(tài)生產(chǎn)過程的復(fù)雜度要遠(yuǎn)遠(yuǎn)高于第一個復(fù)雜性,而項目成敗也多決定于此,項目風(fēng)險的控制也主要存在于此。
4 重量級IT項目的敏捷管理思想
IT項目敏捷開發(fā)的需求主要表現(xiàn)為快速適應(yīng)系統(tǒng)需求的變化、提高軟件生產(chǎn)率、突出企業(yè)自身特點、支持動態(tài)聯(lián)盟、面向業(yè)務(wù)目標(biāo)持續(xù)改進(jìn)和重組等方面。軟件敏捷開發(fā)不僅僅簡單地意味著軟件的快速開發(fā),它著重于對軟件需求、過程和產(chǎn)品變化的靈活快速反應(yīng),是基于統(tǒng)一概念的一整套技術(shù)。和傳統(tǒng)的軟件過程有相當(dāng)不同,敏捷軟件方法是一種輕載的、基于時間的、恰好夠用(Just Enough)的、并行的和基于組件的軟件開發(fā)過程[14]。
但是敏捷方法高度的動態(tài)性、靈活性優(yōu)勢也形成了其應(yīng)用的局限性。對于規(guī)模較大的IT項目(重量級項目),強(qiáng)功能、高集成的復(fù)雜性,使敏捷方法的適用受到極大的挑戰(zhàn)。而重量級IT項目也具備需求快速變化、業(yè)務(wù)目標(biāo)實現(xiàn)、提高開發(fā)效率等需求,也需要敏捷思想的應(yīng)用。目前關(guān)于敏捷管理的研究仍強(qiáng)調(diào)敏捷過程適用于特定的環(huán)境——高風(fēng)險、不可預(yù)測和小規(guī)模的探索型軟件研發(fā)項目。有學(xué)者意識到了敏捷理念與傳統(tǒng)實踐的融合,一些CMM 和ISO9000的組織也開始接受部分地應(yīng)用敏捷方法[15],但是這些同時考慮項目過程的成果,沒有引入構(gòu)建過程的核心要素——知識鏈,所以顯得操作性不強(qiáng),也缺乏實證。因此,本文提出一種重載過程的敏捷性改造,即基于敏捷思想的重量級IT項目管理方法。
5 基于敏捷過程的重量級IT項目管理框架
基于敏捷過程的重量級IT項目管理框架,力圖達(dá)到的目標(biāo)是:依據(jù)“敏捷靈活”與“過程規(guī)范”相平衡的原則,解決長周期性、高集成性、功能全面性等重量級項目特性下敏捷方法的有效性?蚣艿暮诵乃枷胧:(1)建立復(fù)雜產(chǎn)品架構(gòu)及系統(tǒng)動力學(xué)模型,實現(xiàn)復(fù)雜產(chǎn)品基于動態(tài)關(guān)系的分解與優(yōu)化,導(dǎo)出優(yōu)知識產(chǎn)品單元劃分;(2)構(gòu)造基于多智能主體的柔性團(tuán)隊,設(shè)定團(tuán)隊內(nèi)部協(xié)同的元規(guī)則,設(shè)定團(tuán)隊功能績效指標(biāo),實現(xiàn)外科手術(shù)式團(tuán)隊構(gòu)建和能力評價;(3)基于能力的柔性團(tuán)隊與知識產(chǎn)品單元匹配,根據(jù)團(tuán)隊特性分配開發(fā)任務(wù);(4)基于適度規(guī)范的過程管理,微觀上是柔性團(tuán)隊的自組織迭代,宏觀上是過程管理的規(guī)范框架,實現(xiàn)重量級IT項目的動態(tài)、柔性、規(guī)范?蚣軆(nèi)容如圖1所示。