Paulk曾經提出“XP是CMM的一個截面”的理念,指出敏捷方法可以是規范方法的一個環節或微觀表現。因此,“基于知識轉移的敏捷過程”是基于敏捷過程的重量級IT項目管理框架的核心。其中“知識轉移”則強調敏捷開發過程中,多智能主體與知識產品之間多種形式、多種類別的知識轉移活動,并且終的產出是這種轉移活動集成的成果。動態結合過程中,知識相互關系的處理,多主體的互動與影響等,都會導致終成果的不同。
IT項目開發中的知識轉移是一個復雜過程,與知識主體的屬性、關系、知識本身的屬性等密切相關。IT開發過程涉及不同團隊的各種知識和技術,專家知識分布于團隊之中而不是某一個人,他們必須進行工作聯合和知識集成去完成統一的任務。這些知識在軟件開發過程中不斷在智能主體間、智能主體與產品間傳遞。敏捷開發過程由于強調人的主動性、適應性,強調團隊的自組織特性,對知識轉移的高效管理顯得尤為重要。
有別于傳統基于規模的軟件過程,基于知識轉移的敏捷過程由構想、推測、探索、適應、結束等幾個階段組成,其結構和實施是面向時間的,是一種基于時間的軟件開發(Time-Based Software Development)[13]。每一次迭代有固定的時間限制,一個復雜的項目可被分為多個迭代和多次發放,需求在迭代開始時被確定,直至下一次迭代開始前才再次修改。
6 管理對策
根據以上管理框架,實踐中的管理對策主要應該采用:
(1)建立包括技術接受方和技術提供方在內的聯合開發團隊,通過培訓、交流和組織,提升開發團隊的柔性。
其中包括甲乙雙方的聯合開發團隊是本對策的核心,特別在技術提供方對技術接受方的業務比較生疏、業務過程較為復雜的情況下。
(2)測評待開發產品的復雜程度及開發團隊的柔性程度,構筑重量級項目敏捷開發基礎。
產品復雜程度和開發團隊柔性程度是客觀的,理想情況下應該有客觀的評價尺度,初始階段可以以較大粒度定性測定。
(3)以實現高效知識轉移為出發點,劃分產品模塊,使之與開發團隊的柔性相適應。
產品模型的劃分并不依據產品的復雜程度,開發團隊的柔性程度是客觀的也是相對的。因此本對策的核心是圍繞建立高效的知識轉移渠道。
(4)積極采用和不斷開發、積累輔助工具,提高團隊開發效率、降低團隊工作強度。
規范和靈活是一對矛盾,利用前人的成果,并不斷積累自身的經驗,將會使團隊以靈活的方式繼承規范的過程。
7 結論
本文通過平衡“過程定義”和“靈活性”,既考慮過程對活動的指導,又要保證活動與敏捷價值觀的原則一致,提出基于敏捷思想的重量級IT項目的管理框架。該框架中,基于重載方法適度規范集的開發協同機制是關鍵,其既要規范開發過程的活動、文檔、團隊行為,又要從全局角度協調多團隊多模塊的開發活動,還要確保收集到適當的反饋信息,將這些信息融入到新的迭代過程中去,以此實現知識轉移與敏捷項目管理的結合,達到傳統項目管理與敏捷項目管理的融合,實現:拓寬知識轉移的應用深度,拓展敏捷項目管理的應用廣度。
該框架反映了重量級IT項目開發的敏捷思想,但更多技術細節尚需解決,如復雜項目的模塊化分解方法、柔性團隊的構建及行為規則、產品與標準的定義、適度規范集及協同機制等,均需要進一步研究給出具體的模型、方法和機制。這是本文后續研究的主要內容。