軟件外包項(xiàng)目管理實(shí)務(wù)

字號(hào):

筆者過去曾經(jīng)與一流的北京.NET好手及臺(tái)灣Architect共創(chuàng)夢(mèng)幻團(tuán)隊(duì),來成就企業(yè)主的跨國信息系統(tǒng),這期間考驗(yàn)了團(tuán)隊(duì)每個(gè)成員的溝通能力、彈性程度、設(shè)計(jì)能力、實(shí)作能力及測(cè)試能力,透過同步設(shè)計(jì)(Co-Design)外包模式的運(yùn)行,讓團(tuán)隊(duì)每個(gè)人均能大展長(zhǎng)才。為達(dá)到此目的,項(xiàng)目管理由過去對(duì)簡(jiǎn)單的同組織單一項(xiàng)目管理,逐漸發(fā)展成跨組織跨公司多項(xiàng)目的管理方式,本文將針對(duì)軟件外包之項(xiàng)目管理分享實(shí)務(wù)經(jīng)驗(yàn)及相關(guān)的運(yùn)作策略。
    從項(xiàng)目管理轉(zhuǎn)型為項(xiàng)目領(lǐng)導(dǎo)
    對(duì)于跨不同文化組織的項(xiàng)目管理,首要重視的是項(xiàng)目管理的整體性。這與傳統(tǒng)項(xiàng)目經(jīng)理的管理模式相差甚遠(yuǎn),后者通常以自己組織與文化利益為基礎(chǔ)考慮。這種強(qiáng)調(diào)以架構(gòu)為中心的項(xiàng)目管理模式主要以聯(lián)合作業(yè)(Joint-Force)方式來進(jìn)行,團(tuán)隊(duì)的成員對(duì)聯(lián)合作業(yè)都有基本的專業(yè)素養(yǎng)及能力,以團(tuán)隊(duì)的整體成功為目標(biāo),當(dāng)發(fā)生影響到整體目標(biāo)時(shí),通常以此整體目標(biāo)為導(dǎo)向,而非以個(gè)人或公司的部分利益為主的項(xiàng)目領(lǐng)導(dǎo)模式運(yùn)作將主導(dǎo)一切。
    傳統(tǒng)的項(xiàng)目管理,項(xiàng)目經(jīng)理習(xí)慣按照項(xiàng)目管理的硬技術(shù)排定所有的流程及事情,項(xiàng)目成員按照項(xiàng)目經(jīng)理制定程序執(zhí)行事情,常常造成溝通不良、彈性不夠的團(tuán)隊(duì),最后資源不足,草草收?qǐng)龌蛘咝越Y(jié)案。以架構(gòu)為中心的項(xiàng)目管理強(qiáng)調(diào)不斷顧全整體、協(xié)調(diào)、反饋、I&I、規(guī)劃的過程,根據(jù)團(tuán)隊(duì)的資源,協(xié)作出的效果??梢韵胂螅械膱F(tuán)隊(duì)成員或許單看每個(gè)人都不是秀的,但是整體運(yùn)作結(jié)果卻是非常理想的。在上述的項(xiàng)目管理的本質(zhì),我們會(huì)發(fā)現(xiàn)有下列幾個(gè)基本特質(zhì):
    項(xiàng)目成員不再局限在公司內(nèi)部,而是來自不同團(tuán)隊(duì)之外部資源共同跨國組成。
    項(xiàng)目成員對(duì)項(xiàng)目執(zhí)行均有一定基本程度的了解,而能夠透過每次的互動(dòng)定義出團(tuán)隊(duì)每個(gè)迭代的目標(biāo)。
    項(xiàng)目成員均有規(guī)劃的能力,對(duì)執(zhí)行計(jì)劃的規(guī)劃擅長(zhǎng)以不同的構(gòu)面運(yùn)用不同的價(jià)值角度思考。
    項(xiàng)目團(tuán)隊(duì)的所由成員均為主動(dòng)型成員,而非一般主動(dòng)與被同型混和團(tuán)隊(duì)。
    軟件外包首重架構(gòu)規(guī)劃
    為了解決上述的環(huán)境變化所造成的影響,項(xiàng)目管理模式本著順應(yīng)變化的原則及思考本質(zhì),以架構(gòu)為中心之聯(lián)合作業(yè)的項(xiàng)目管理(Architecture-Centric Joint-Force Project Management)應(yīng)運(yùn)而生。在介紹其特色之前,先對(duì)架構(gòu)及項(xiàng)目做個(gè)概略說明,用以表達(dá)Boundary。在架構(gòu)思維上,以系統(tǒng)架構(gòu)(Systems Architecture)為化。一個(gè)系統(tǒng),又稱一個(gè)信息,又稱一個(gè)知識(shí),上帝所創(chuàng)造的世界萬物是一個(gè)系統(tǒng),太陽系是一個(gè)系統(tǒng),一粒沙子也是一個(gè)系統(tǒng)。依此觀點(diǎn),組成沙子的結(jié)構(gòu)與行為合一產(chǎn)生沙子的系統(tǒng)架構(gòu),而架構(gòu)不再局限軟件架構(gòu)、硬件架構(gòu),更擴(kuò)展到企業(yè)架構(gòu)、知識(shí)架構(gòu)、思考架構(gòu)應(yīng)用上,這是一個(gè)很有趣的現(xiàn)象。過去架構(gòu)師對(duì)架構(gòu)從無法表述到可以利用許多工具方法自由地表述,如企業(yè)架構(gòu)師可以利用架構(gòu)框架方法來描述架構(gòu)。
    軟件外包實(shí)務(wù)管理特色
    1. 以架構(gòu)為中心的項(xiàng)目管理
    好的項(xiàng)目管理必須要有好的項(xiàng)目管理架構(gòu)。項(xiàng)目管理架構(gòu)的終極目標(biāo),是要?jiǎng)?chuàng)造高質(zhì)量的系統(tǒng),以架構(gòu)為中心的專案管理也是一個(gè)I&I的過程,其運(yùn)作方式如下圖所示。完成該程序一次,表示完成一個(gè)Iteration,是用于產(chǎn)品或項(xiàng)目規(guī)劃。從圖中您可以發(fā)現(xiàn),所有的軟件創(chuàng)作過程均須回到Architecture Design團(tuán)隊(duì),項(xiàng)目經(jīng)理在運(yùn)作排定時(shí)程的方式,需要有兩種策略,一為項(xiàng)目開發(fā)團(tuán)隊(duì)按照軟件開發(fā)程序執(zhí)行事情的先后順序,二為架構(gòu)團(tuán)隊(duì)依照“定時(shí)不定量”原則于每次固定時(shí)間發(fā)布(Release)目前架構(gòu)描述版本。從圖(見下)中,您可以發(fā)現(xiàn)架構(gòu)會(huì)掌握系統(tǒng)的全貌來調(diào)和出符合各種觀點(diǎn)的系統(tǒng)。
    再來針對(duì)Mid-Course Corrections來做說明,一輛汽車若進(jìn)維修廠維修時(shí),常常會(huì)檢查汽車零件是否需要更換,微調(diào)讓團(tuán)隊(duì)運(yùn)作更順利,同理,一個(gè)團(tuán)隊(duì)“找對(duì)的人上車、請(qǐng)不對(duì)的人下車”也是一件很自然的過程,而Mid-Course Correction就是這個(gè)作用。在每次的Iteration結(jié)束前,團(tuán)隊(duì)必定從中學(xué)習(xí)到很多經(jīng)驗(yàn),而這些經(jīng)驗(yàn)也將做為下個(gè)Iteration的基礎(chǔ),因此調(diào)整團(tuán)隊(duì)讓其于下個(gè)Iteration運(yùn)作中更順暢是一個(gè)寶貴的經(jīng)驗(yàn)過程。而每次的經(jīng)驗(yàn)累積后就變成企業(yè)經(jīng)營的智慧,能夠幫助企業(yè)成長(zhǎng),避免未來犯錯(cuò)。
    2. 重視規(guī)劃藝術(shù)。
    計(jì)劃總是趕不上變化,但是若沒有計(jì)劃,一定應(yīng)付不了變化,所以計(jì)劃的藝術(shù)油然而生。試想,一個(gè)一直在練習(xí)計(jì)劃的團(tuán)隊(duì),組出各式各樣的情境來應(yīng)變實(shí)際執(zhí)行的狀況,讓項(xiàng)目計(jì)劃雖然有風(fēng)險(xiǎn)(Risk),但是可以掌握的,這是一件多么美好的事情!因此,項(xiàng)目規(guī)劃不在于主計(jì)劃多么完美,而在于您所準(zhǔn)備的備胎計(jì)劃是否靈活充足,以及計(jì)劃是否可被地執(zhí)行。計(jì)劃通常分為兩種,一種為Top-Down Plan,由項(xiàng)目經(jīng)理制定目標(biāo)與方向,一種為Bottom-Up Estimation,由Group Leader估算實(shí)際達(dá)成所需時(shí)程及資源,來共同研擬出可執(zhí)行的計(jì)劃。
    以架構(gòu)為中心的規(guī)劃方式強(qiáng)調(diào)Backward Planning及Dynamic Planning,其掌握的精神即為利用動(dòng)態(tài)規(guī)劃過程,不斷修正計(jì)劃,讓計(jì)劃的結(jié)果與實(shí)際執(zhí)行結(jié)果一致,這是一個(gè)整合的過程,把計(jì)劃做UPDATE整合到原計(jì)劃中,并在且Revision History記錄演變的過程,達(dá)到計(jì)劃與變化均能兼顧的目的。
    3. 不同的團(tuán)隊(duì)文化結(jié)合
    只要對(duì)團(tuán)隊(duì)產(chǎn)出物有所貢獻(xiàn)的均視為Project Stakeholders,然而,項(xiàng)目管理者在組立團(tuán)隊(duì)時(shí)需要把白領(lǐng)與藍(lán)領(lǐng)分開。兵法有云:兵分兩路,因?yàn)槌30最I(lǐng)有許多噪聲會(huì)影響項(xiàng)目的因素,但并未做決策,并不代表藍(lán)領(lǐng)團(tuán)隊(duì)需要受到直接沖擊。成熟的項(xiàng)目團(tuán)隊(duì)知道所有Issues只要尚未決策一律按照原定計(jì)劃執(zhí)行,把這些通常會(huì)來自不同的文化團(tuán)隊(duì)成員組立的過程中,團(tuán)隊(duì)紀(jì)律是不可或缺的一環(huán),也是一個(gè)關(guān)鍵的成功因素。
    4. 塑造敵人來營造團(tuán)隊(duì)士氣
    異質(zhì)型的項(xiàng)目團(tuán)隊(duì)在假設(shè)敵人時(shí),若假設(shè)錯(cuò)誤,將會(huì)造成項(xiàng)目問題,但若假設(shè)正確,將會(huì)獲得令人意想不到的效果。筆者過去曾執(zhí)行一個(gè)異質(zhì)系統(tǒng)整合項(xiàng)目,其經(jīng)驗(yàn)是,我們假設(shè)變動(dòng)的需求是我們的敵人,同時(shí)也允許需求是可變動(dòng)的。除此之外,都是我們的資源。在這樣的假設(shè)下,我們發(fā)現(xiàn)一件有趣的過程,客戶也一起參與變成我們的Worker,一起來把新舊系統(tǒng)做串接及測(cè)試。
    5. 先整合后分工
    在臺(tái)灣,很多人習(xí)慣先分工再整合:每件工作拿過來就先做分工。這是很危險(xiǎn)的,因?yàn)樵诓涣私馊驳臓顩r下冒然分工,未來可能會(huì)發(fā)生很大的誤差。以架構(gòu)為中心會(huì)解決這個(gè)問題,您會(huì)發(fā)現(xiàn)所有的資料都會(huì)匯集到架構(gòu)師及項(xiàng)目經(jīng)理那里。雙方同時(shí)用不同的觀點(diǎn)為項(xiàng)目質(zhì)量、時(shí)程、成本、風(fēng)險(xiǎn)等因素把關(guān),強(qiáng)化項(xiàng)目成功的機(jī)會(huì)。
    6. 決策小組的執(zhí)行力及重要性
    異質(zhì)團(tuán)隊(duì)的項(xiàng)目管理有個(gè)很重要的竅門,及成立決策中心做決策,因?yàn)橛^點(diǎn)不同,所以需要決策中心。筆者過去的經(jīng)驗(yàn)是將客戶、項(xiàng)目經(jīng)理、Program Manager、Chief Architect組成決策小組,有投票權(quán)及否決權(quán),然后Group Leader / Stakeholder有辯駁權(quán)及說明權(quán),透過有效的運(yùn)作決策機(jī)制,來決定項(xiàng)目的共同方向及執(zhí)行效率,這個(gè)經(jīng)驗(yàn)可以分享給各位,不過決策中心一把尚方寶劍,只有在解決不了的問題才會(huì)到?jīng)Q策中心(團(tuán)隊(duì)智慧能解決的問題就解決了,不需進(jìn)決策中心),通常會(huì)由項(xiàng)目經(jīng)理不定時(shí)的召開決策會(huì)議。
    7. 簽訂合同時(shí)會(huì)決定未來的格局發(fā)展
       最后,追本溯源,一個(gè)項(xiàng)目的成功于否在簽約時(shí)就可以決定未來的格局發(fā)展,尤其是針對(duì)異質(zhì)性整合系統(tǒng),它需要甲、乙雙方均投入資源,共同成就,而在擬約過程就應(yīng)該考慮雙方的責(zé)任義務(wù),免得造成不必要的誤解及變成項(xiàng)目執(zhí)行的絆腳石,因此團(tuán)隊(duì)若能在簽約前,以架構(gòu)為中心執(zhí)行POC(Proof of Concept),制作雛型(Prototype),將會(huì)對(duì)簽約有很大的保證,是個(gè)降低風(fēng)險(xiǎn)的方法。
    結(jié)語
    成功的軟件外包項(xiàng)目管理實(shí)務(wù)需要以領(lǐng)導(dǎo)、授權(quán)、培育及學(xué)習(xí)的成熟態(tài)度來引領(lǐng)團(tuán)隊(duì),并配以架構(gòu)為中心的項(xiàng)目管理技術(shù)來落實(shí),更重要的是好的外包項(xiàng)目管理不是著重在解決問題,而是完全以預(yù)防問題為項(xiàng)目領(lǐng)導(dǎo)方向,因此于合同擬定階段到最后實(shí)現(xiàn)及運(yùn)行整個(gè)過程,依照先整合后分工,重視規(guī)劃藝術(shù),擅長(zhǎng)異質(zhì)團(tuán)隊(duì)文化結(jié)合,塑造團(tuán)隊(duì)?wèi)?zhàn)斗氣息,并利用決策小組共同做出決策等策略來共創(chuàng)外包合作團(tuán)隊(duì),來達(dá)到項(xiàng)目目標(biāo)。