摘要:本文探討了在大型軟件項(xiàng)目的實(shí)施過程中,如何有效的管理團(tuán)隊(duì)成員,如何可控的推動(dòng)項(xiàng)目進(jìn)度,從實(shí)踐的角度上,給出了一種加強(qiáng)軟件項(xiàng)目管理的有效模式。在SCRUM敏捷開發(fā)過程的基礎(chǔ)上,該模式從計(jì)劃、組織分派、控制糾偏及團(tuán)隊(duì)建設(shè)四個(gè)方面介紹了軟件工程項(xiàng)目管理的有效經(jīng)驗(yàn)。
關(guān)鍵詞:軟件項(xiàng)目;管理實(shí)踐;SCRUM
中圖分類號:TP311.5-4 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 21-0000-02
1 引言
Scrum被認(rèn)為是目前全球最流行與最有效的敏捷項(xiàng)目管理理念與方法之一,在軟件業(yè)發(fā)達(dá)地區(qū)被眾多知名企業(yè)廣泛采納。TFS(Team Foundation Server)是集成的團(tuán)隊(duì)管理工具,能夠?qū)崿F(xiàn)團(tuán)隊(duì)成員之間更好的交流與協(xié)作。本文所介紹實(shí)踐經(jīng)驗(yàn)是以Scrum及TFS的實(shí)施為基礎(chǔ)的。
2 項(xiàng)目管理實(shí)踐模式
現(xiàn)在從SCRUM每一個(gè)迭代周期中的目標(biāo)與計(jì)劃制定、工作的組織分派、過程中的控制與糾偏這三個(gè)方面介紹,最后介紹團(tuán)隊(duì)建設(shè)。
2.1 目標(biāo)與計(jì)劃
計(jì)劃的制定分為階段性工作計(jì)劃,以及周工作計(jì)劃。
階段性工作計(jì)劃以里程碑時(shí)間點(diǎn)為界,時(shí)間跨度根據(jù)項(xiàng)目的大小而定,對于一個(gè)大型的項(xiàng)目,可以季度末作為里程碑時(shí)間點(diǎn)。
周工作計(jì)劃在每周一制定,確定本周每人的具體工作。
制定目標(biāo)與計(jì)劃時(shí),要盡量做到項(xiàng)目細(xì)分。項(xiàng)目細(xì)分得越小,則說明計(jì)劃考慮得越周到,實(shí)施過程中也會(huì)使得偏差越少,是做得較好的。最好能夠?qū)γ恳豁?xiàng)任務(wù)做一個(gè)時(shí)間上的大概安排。
2.2 組織與分配工作
(1)每周工作認(rèn)領(lǐng)會(huì)。每周一,周計(jì)劃制定之后,團(tuán)隊(duì)召開“周工作認(rèn)領(lǐng)”會(huì)議。Team Leader將本周所有工作項(xiàng)寫在紙片上,并將所有紙片貼在墻上,大家依次認(rèn)領(lǐng)各紙片上的任務(wù)。每認(rèn)領(lǐng)一項(xiàng)任務(wù),認(rèn)領(lǐng)者需要預(yù)估一下所需時(shí)間,其他成員評估一下此時(shí)間是否合理。當(dāng)然,如果有人認(rèn)為可以用更少的時(shí)間來完成此項(xiàng)工作,那么這項(xiàng)工作可以轉(zhuǎn)交給此人。
(2)每日立會(huì)。每天早上前10至15分鐘,大家一起站到任務(wù)看板前進(jìn)行立會(huì)。立會(huì)中,每人發(fā)言。發(fā)言的內(nèi)容主要有三個(gè)方面:總結(jié)前一日的工作;反映前一日工作中遇到的問題,必要時(shí),Team Leader需要安排人協(xié)助;承諾今日的工作內(nèi)容。承諾很重要,它會(huì)給開發(fā)者帶來“必須完成”的壓力。
(3)任務(wù)看板。任務(wù)看板上主要分為兩塊:左側(cè)用于張貼任務(wù)條,分為計(jì)劃中的任務(wù)、進(jìn)行中的任務(wù)以及已完成的任務(wù);右側(cè)繪制燃盡圖,反映進(jìn)度情況。所有的工作項(xiàng)都寫在紙片上并貼到任務(wù)看板上,每日立會(huì)時(shí)需要對首任務(wù)看板講解,同時(shí)任務(wù)看板上能夠一目了然的反映出各項(xiàng)工作的進(jìn)展。
(4)TFS中為每個(gè)工作立項(xiàng)。所有的工作項(xiàng),都應(yīng)該在TFS中立項(xiàng)。這樣便于工作的跟進(jìn),以及開發(fā)人員之間的協(xié)作,另外,也有利于工作量的統(tǒng)計(jì)。
2.3 控制與糾偏
(1)TFS持續(xù)集成。我們將TFS的集成模式設(shè)置為持續(xù)集成,生成的結(jié)果將會(huì)立即返回給提交者,以保證服務(wù)器上的代碼是最新的、可用的。(2)工作項(xiàng)細(xì)分。每項(xiàng)工作要細(xì)分為2~16h。較小的工作項(xiàng),便于跟蹤并及時(shí)精準(zhǔn)的調(diào)整進(jìn)度。實(shí)踐經(jīng)驗(yàn)證明,工作項(xiàng)細(xì)分之后,相比寵統(tǒng)的工作項(xiàng),更能夠有效的保證進(jìn)度。(3)每工作項(xiàng)?時(shí)間點(diǎn)檢查。每工作項(xiàng)進(jìn)行到預(yù)估時(shí)間一半的時(shí)候,Team Leader應(yīng)檢查執(zhí)行情況。如果此項(xiàng)工作進(jìn)展不順利,要分析原因,或安排人員協(xié)助,或改變技術(shù)方案,及時(shí)調(diào)整進(jìn)度。(4)經(jīng)常性的演示,及時(shí)發(fā)現(xiàn)問題。安排盡可能多的演示,目的有二:第一,讓用戶、領(lǐng)域?qū)<覅⑴c到開發(fā)過程中,避免開發(fā)人員迷失在代碼叢林中;第二,誰做的工作誰演示,這會(huì)緞帶演示者“演示成功”的壓力,從而做好做細(xì)工作。(5)推行代碼審核制度 每天工作快結(jié)束時(shí),留下約15分鐘的時(shí)間,相互之間進(jìn)行代碼審核。建議不要固定某兩位互審,而采用交叉循環(huán)的方式。(6)最有效的溝通方式:面對面+白板。技術(shù)討論或工作安排時(shí),把相關(guān)人員一起叫到白板前,邊解說,邊繪制草圖,這種方式是十分有效的。不建議大家采用文檔的方式進(jìn)行溝通。(7)技術(shù)總結(jié)文檔十分重要。把個(gè)人的經(jīng)驗(yàn)總結(jié)寫成文檔,可以供團(tuán)隊(duì)其它成員,以及后來的成員學(xué)習(xí),從而讓大家都掌握。另外,有些問題的解決過程比較復(fù)雜,如果能夠把其形成文檔,可以依照此文檔即可解決相同的問題,這樣可提供工作的效率。
2.4 團(tuán)隊(duì)建設(shè)
(1)不定期的培訓(xùn)。條件許可時(shí),可以參加培訓(xùn)機(jī)構(gòu)舉辦的培訓(xùn),或者邀請培訓(xùn)老師到公司來進(jìn)行培訓(xùn)。即使條件不允許,我們也可以進(jìn)行內(nèi)部培訓(xùn)。Team Leader可以組織開發(fā)類、專業(yè)類及測試類的專題講座,也可以請團(tuán)隊(duì)成員各自講授自己所善長的技術(shù)。(2)經(jīng)常鼓勵(lì)團(tuán)隊(duì)成員。當(dāng)團(tuán)隊(duì)中某成員工作上取得了突破,或攻克難題時(shí),大家都給他(她)祝賀,不一定非得物質(zhì)上的獎(jiǎng)勵(lì),其實(shí),即使發(fā)個(gè)郵件、拍拍肩膀等方式,也可以取得很好的效果。(3)優(yōu)先考慮團(tuán)隊(duì)總體進(jìn)度。對于新工作的成員,往往只想到把自己的工作及時(shí)完成了,保證了自己的進(jìn)度就好了。其實(shí)這是不夠的,團(tuán)隊(duì)的進(jìn)度才是第一位的。團(tuán)隊(duì)總體進(jìn)度,往往卡在進(jìn)度最慢的成員那里。所以大家要及時(shí)協(xié)助遇到困難的同事,這一點(diǎn)上,Team Leader尤其要有表率作用。(4)雙向溝通優(yōu)于單向溝通。交待工作時(shí),最好采用協(xié)商討論的方式進(jìn)行,讓接收者也盡可能發(fā)表自己的看法,不要強(qiáng)制性分派工作。
[作者簡介]
陸中元,中國建筑科學(xué)研究院深圳建研軟件有限公司,主要從事技術(shù)工作領(lǐng)域:BIM軟件開發(fā)、計(jì)算機(jī)應(yīng)用。