軟件外包項目管理實務

 
筆者過去曾經與一流的北京.NET好手及臺灣Architect共創夢幻團隊,來成就企業主的跨國信息系統,這期間考驗了團隊每個成員的溝通能力、彈性程度、設計能力、實作能力及測試能力,透過同步設計(Co-Design)外包模式的運行,讓團隊每個人均能大展長才。爲達到此目的,項目管理由過去對簡單的同組織單一項目管理,逐漸發展成跨組織跨公司多項目的管理方式,本文將針對軟件外包之項目管理分享實務經驗及相關的運作策略。

從項目管理轉型爲項目領導

對於跨不同文化組織的項目管理,首要重視的是項目管理的整體性。這與傳統項目經理的管理模式相差甚遠,後者通常以自己組織與文化利益爲基礎考慮。這種強調以架構爲中心的項目管理模式主要以聯合作業(Joint-Force)方式來進行,團隊的成員對聯合作業都有基本的專業素養及能力,以團隊的整體成功爲目標,當發生影響到整體目標時,通常以此整體目標爲導向,而非以個人或公司的部分利益爲主的項目領導模式運作將主導一切。

傳統的項目管理,項目經理習慣按照項目管理的硬技術排定所有的流程及事情,項目成員按照項目經理制定程序執行事情,常常造成溝通不良、彈性不夠的團隊,最後資源不足,草草收場或政策性結案。以架構爲中心的項目管理強調不斷顧全整體、協調、反饋、I&I、規劃的過程,根據團隊的資源,協作出最佳的效果。可以想象,所有的團隊成員或許單看每個人都不是最優秀的,但是整體運作結果卻是非常理想的。在上述的項目管理的本質,我們會發現有下列幾個基本特質:

項目成員不再侷限在公司內部,而是來自不同團隊之外部資源共同跨國組成。

項目成員對項目執行均有一定基本程度的瞭解,而能夠透過每次的互動定義出團隊每個迭代的目標。

項目成員均有規劃的能力,對執行計劃的規劃擅長以不同的構面運用不同的價值角度思考。

項目團隊的所由成員均爲主動型成員,而非一般主動與被同型混和團隊。

軟件外包首重架構規劃

爲了解決上述的環境變化所造成的影響,項目管理模式本着順應變化的原則及思考本質,以架構爲中心之聯合作業的項目管理(Architecture-Centric Joint-Force Project Management)應運而生。在介紹其特色之前,先對架構及項目做個概略說明,用以表達Boundary。在架構思維上,以系統架構(Systems Architecture)爲最大化。一個系統,又稱一個信息,又稱一個知識,上帝所創造的世界萬物是一個系統,太陽系是一個系統,一粒沙子也是一個系統。依此觀點,組成沙子的結構與行爲合一產生沙子的系統架構,而架構不再侷限軟件架構、硬件架構,更擴展到企業架構、知識架構、思考架構應用上,這是一個很有趣的現象。過去架構師對架構從無法表述到可以利用許多工具方法自由地表述,如企業架構師可以利用架構框架方法來描述架構。

軟件外包實務管理特色

1. 以架構爲中心的項目管理

好的項目管理必須要有好的項目管理架構。項目管理架構的終極目標,是要創造高質量的系統,以架構爲中心的專案管理也是一個I&I的過程,其運作方式如下圖所示。完成該程序一次,表示完成一個Iteration,是用於產品或項目規劃。從圖中您可以發現,所有的軟件創作過程均須回到Architecture Design團隊,項目經理在運作排定時程的方式,需要有兩種策略,一爲項目開發團隊按照軟件開發程序執行事情的先後順序,二爲架構團隊依照“定時不定量”原則於每次固定時間發佈(Release)目前架構描述版本。從圖(見下頁)中,您可以發現架構會掌握系統的全貌來調和出符合各種觀點的系統。



再來針對Mid-Course Corrections來做說明,一輛汽車若進維修廠維修時,常常會檢查汽車零件是否需要更換,微調讓團隊運作更順利,同理,一個團隊“找對的人上車、請不對的人下車”也是一件很自然的過程,而Mid-Course Correction就是這個作用。在每次的Iteration結束前,團隊必定從中學習到很多經驗,而這些經驗也將做爲下個Iteration的基礎,因此調整團隊讓其於下個Iteration運作中更順暢是一個寶貴的經驗過程。而每次的經驗累積後就變成企業經營的智慧,能夠幫助企業成長,避免未來犯錯。



2. 重視規劃藝術。

計劃總是趕不上變化,但是若沒有計劃,一定應付不了變化,所以計劃的藝術油然而生。試想,一個一直在練習計劃的團隊,組出各式各樣的情境來應變實際執行的狀況,讓項目計劃雖然有風險(Risk),但是可以掌握的,這是一件多麼美好的事情!因此,項目規劃不在於主計劃多麼完美,而在於您所準備的備胎計劃是否靈活充足,以及計劃是否可被百分之百地執行。計劃通常分爲兩種,一種爲Top-Down Plan,由項目經理制定目標與方向,一種爲Bottom-Up Estimation,由Group Leader估算實際達成所需時程及資源,來共同研擬出可執行的計劃。

以架構爲中心的規劃方式強調Backward Planning及Dynamic Planning,其掌握的精神即爲利用動態規劃過程,不斷修正計劃,讓計劃的結果與實際執行結果一致,這是一個整合的過程,把計劃做UPDATE整合到原計劃中,並在且Revision History記錄演變的過程,達到計劃與變化均能兼顧的目的。

3. 不同的團隊文化結合

只要對團隊產出物有所貢獻的均視爲Project Stakeholders,然而,項目管理者在組立團隊時需要把白領與藍領分開。兵法有云:兵分兩路,因爲常常白領有許多噪聲會影響項目的因素,但並未做決策,並不代表藍領團隊需要受到直接衝擊。成熟的項目團隊知道所有Issues只要尚未決策一律按照原定計劃執行,把這些通常會來自不同的文化團隊成員組立的過程中,團隊紀律是不可或缺的一環,也是一個關鍵的成功因素。

4. 塑造敵人來營造團隊士氣

異質型的項目團隊在假設敵人時,若假設錯誤,將會造成項目問題,但若假設正確,將會獲得令人意想不到的效果。筆者過去曾執行一個異質系統整合項目,其經驗是,我們假設變動的需求是我們的敵人,同時也允許需求是可變動的。除此之外,都是我們的資源。在這樣的假設下,我們發現一件有趣的過程,客戶也一起參與變成我們的Worker,一起來把新舊系統做串接及測試。

5. 先整合後分工

在臺灣,很多人習慣先分工再整合:每件工作拿過來就先做分工。這是很危險的,因爲在不瞭解全貌的狀況下冒然分工,未來可能會發生很大的誤差。以架構爲中心會解決這個問題,您會發現所有的資料都會彙集到架構師及項目經理那裏。雙方同時用不同的觀點爲項目質量、時程、成本、風險等因素把關,強化項目成功的機會。

6. 決策小組的執行力及重要性

異質團隊的項目管理有個很重要的竅門,及成立決策中心做決策,因爲觀點不同,所以需要決策中心。筆者過去的經驗是將客戶、項目經理、Program Manager、Chief Architect組成決策小組,有投票權及否決權,然後Group Leader / Stakeholder有辯駁權及說明權,透過有效的運作決策機制,來決定項目的共同方向及執行效率,這個經驗可以分享給各位,不過決策中心一把尚方寶劍,只有在解決不了的問題纔會到決策中心(團隊智慧能解決的問題就解決了,不需進決策中心),通常會由項目經理不定時的召開決策會議。

7. 簽訂合同時會決定未來的格局發展

最後,追本溯源,一個項目的成功於否在簽約時就可以決定未來的格局發展,尤其是針對異質性整合系統,它需要甲、乙雙方均投入資源,共同成就,而在擬約過程就應該考慮雙方的責任義務,免得造成不必要的誤解及變成項目執行的絆腳石,因此團隊若能在簽約前,以架構爲中心執行POC(Proof of Concept),製作雛型(Prototype),將會對簽約有很大的保證,是個降低風險的方法。

結語

成功的軟件外包項目管理實務需要以領導、授權、培育及學習的成熟態度來引領團隊,並配以架構爲中心的項目管理技術來落實,更重要的是好的外包項目管理不是着重在解決問題,而是完全以預防問題爲項目領導方向,因此於合同擬定階段到最後實現及運行整個過程,依照先整合後分工,重視規劃藝術,擅長異質團隊文化結合,塑造團隊戰鬥氣息,並利用決策小組共同做出決策等策略來共創外包合作團隊,來達到項目目標。

作者簡介:

宋敏如,近十年項目管理經驗,項目特性多爲異質系統整合項目、MIS系統及嵌入式系統整合方案,外包實作經驗多爲跨國合作或跨地方區域合作模式,專精於同步設計的外包團隊運作模式管理及以架構爲中心之項目管理。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章