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