中小型軟件開發(fā)項(xiàng)目管理
本處指的中小型軟件開發(fā)項(xiàng)目是指:
參與開發(fā)的直接人員(即開發(fā)團(tuán)隊(duì))數(shù)量在3~25人
開發(fā)時(shí)間在3個(gè)月~18個(gè)月的軟件項(xiàng)目
代碼行數(shù)5000~75000行
子程序數(shù)量300~3500個(gè)
1、軟件開發(fā)管理的任務(wù)
軟件開發(fā)管理的真正任務(wù)是團(tuán)隊(duì)成員的智能充分而適宜地發(fā)揮,并有效地投注在創(chuàng)造軟件的活動(dòng)中。也就是說(shuō):合理配置各種資源(管理人員、工程師、設(shè)備、軟件、制度、時(shí)間)確保軟件開發(fā)的有效進(jìn)行。最起碼需要避免個(gè)體智商120,所開發(fā)的軟件象智商60的人開發(fā)的軟件——確保創(chuàng)造性智能活動(dòng)保持創(chuàng)造性張力并取得創(chuàng)造性成果。
2、項(xiàng)目管理的根本焦點(diǎn)
項(xiàng)目管理的根本焦點(diǎn)集中在T、Q、C、S上,即:開發(fā)進(jìn)度、特性與品質(zhì)、成本、顧客服務(wù)。其中最核心的是開發(fā)進(jìn)度、特性與品質(zhì)兩個(gè)方面。其它一切管理工作都必須圍繞這些焦點(diǎn)進(jìn)行。
3、中小項(xiàng)目軟件開發(fā)的組織設(shè)計(jì)
有效的組織設(shè)計(jì)是進(jìn)行項(xiàng)目開發(fā)的前提。大部分軟件開發(fā)項(xiàng)目都是中小軟件項(xiàng)目,或者說(shuō)都可以應(yīng)用本處所說(shuō)的項(xiàng)目管理原則,中小項(xiàng)目軟件開發(fā)的組織設(shè)計(jì)主要是設(shè)計(jì)參與項(xiàng)目開發(fā)的各種角色及其權(quán)利、責(zé)任和這些角色之間的關(guān)系。
參與中小軟件開發(fā)項(xiàng)目人員,按角色可以分為五種:
⑴項(xiàng)目經(jīng)理
項(xiàng)目經(jīng)理也有時(shí)被稱為產(chǎn)品經(jīng)理、品牌經(jīng)理、項(xiàng)目負(fù)責(zé)人、項(xiàng)目總監(jiān)。 項(xiàng)目經(jīng)理的職責(zé)是:
領(lǐng)導(dǎo)團(tuán)隊(duì)定義出一個(gè)成功的產(chǎn)品
引導(dǎo)團(tuán)隊(duì)對(duì)產(chǎn)品注入深切的期望和信念
帶領(lǐng)團(tuán)隊(duì)將理想實(shí)現(xiàn),變成可預(yù)見(jiàn)的產(chǎn)品誕生
原則1:在項(xiàng)目經(jīng)理可以對(duì)團(tuán)隊(duì)有任何價(jià)值之前不應(yīng)該有任何直接的控制權(quán)——要權(quán)威不要霸權(quán),充分授權(quán)是項(xiàng)目成功的必要條件。
項(xiàng)目經(jīng)理是軟件開發(fā)的核心任務(wù):他具備技術(shù)背景,擁有建構(gòu)軟件的技術(shù)領(lǐng)導(dǎo)能力,他有擅長(zhǎng)溝通和傾聽(tīng),是維系團(tuán)隊(duì)靈魂的關(guān)鍵人物。
項(xiàng)目經(jīng)理的具體工作是:負(fù)責(zé)制定開發(fā)日程、配置資源、與外界溝通。項(xiàng)目經(jīng)理必須擔(dān)負(fù)著保證團(tuán)隊(duì)士氣、營(yíng)造共同美好前景的責(zé)任,也必須在困難出現(xiàn)時(shí)通過(guò)堅(jiān)強(qiáng)的信心和必要的資源調(diào)整來(lái)確保士氣和進(jìn)度。
⑵系統(tǒng)分析員
進(jìn)行技術(shù)規(guī)劃和開發(fā)設(shè)計(jì)。
⑶程序開發(fā)員
寫程序、抓錯(cuò)蟲。
⑷品保人員
測(cè)試、評(píng)估軟件品質(zhì)
原則2:品保人員與開發(fā)人員比例不低于1:2
⑸文檔編制與使用者培訓(xùn)
撰寫文檔,以便用文字的形式正確表達(dá)軟件的功能和使用
原則3:軟件文檔的編寫量要適中,一般要作到詳細(xì),但是文檔量上不要超過(guò)這個(gè)標(biāo)準(zhǔn):1行程序代碼的文檔數(shù)量不要超過(guò)1頁(yè)。
原則3:軟件=團(tuán)隊(duì),所以溝通和互動(dòng)是成功的基礎(chǔ)
圖一:角色與溝通
詳細(xì)劃分應(yīng)該包括:
項(xiàng)目主管
產(chǎn)品主管
構(gòu)架者:負(fù)責(zé)在設(shè)計(jì)和實(shí)作層次整合軟件概念
使用者接口設(shè)計(jì)者
使用者聯(lián)絡(luò)人
開發(fā)人員
品管/測(cè)試人員
開發(fā)工具制作者
版本建立管理者
風(fēng)險(xiǎn)管理者
使用者文件編修專門人員
討論:注重開發(fā)程序與士氣的關(guān)系
4、軟件開發(fā)的金三角
軟件開發(fā)的核心是:特色(產(chǎn)品與其品質(zhì))、資源(人和錢)和時(shí)間。
圖二:軟件開發(fā)的金三角
原則4:金三角警惕
加派人手?小心但不禁止!
追加預(yù)算?可以但是別掉進(jìn)無(wú)低洞!
增加特色?謹(jǐn)慎但不禁止!
推遲時(shí)間?可以但是千萬(wàn)小心!
5、里程碑與檢查點(diǎn)
里程碑(基線、基點(diǎn))則是一個(gè)軟件配置項(xiàng)在生存周期內(nèi)的某一特定時(shí)刻正式設(shè)計(jì)并固定的靜正式批準(zhǔn)的版本,不管媒體如何,它是階段性目標(biāo)(可以認(rèn)為是一個(gè)中間產(chǎn)品)。配置項(xiàng)是一個(gè)配置中的實(shí)體它滿足一項(xiàng)最終使用功能,并能在給定的參考點(diǎn)上單獨(dú)標(biāo)識(shí)。里程碑應(yīng)該是團(tuán)隊(duì)階段性工作完成的標(biāo)志,對(duì)于任何一個(gè)里程碑都應(yīng)該給于認(rèn)真的檢查、審定和批準(zhǔn)。 一般里程碑應(yīng)該少于兩個(gè)月,多于三個(gè)星期,里程碑給團(tuán)隊(duì)帶來(lái)成就感,提高士氣。通常必須含有的里程碑為:
里程碑1:調(diào)研 審定對(duì)象:調(diào)研報(bào)告
里程碑2:需求分析 審定對(duì)象:需求規(guī)格說(shuō)明書、結(jié)構(gòu)設(shè)計(jì)報(bào)告
里程碑3:數(shù)據(jù)分析 審定對(duì)象:數(shù)據(jù)字典
里程碑4:概要設(shè)計(jì) 審定對(duì)象:概要設(shè)計(jì)報(bào)告
里程碑5:詳細(xì)設(shè)計(jì) 審定對(duì)象:詳細(xì)設(shè)計(jì)報(bào)告
里程碑6:編碼 審定對(duì)象:各配置項(xiàng)編碼、測(cè)試報(bào)告、產(chǎn)品文檔
里程碑7:發(fā)布 審定對(duì)象:用戶使用報(bào)告、產(chǎn)品文檔、總結(jié)報(bào)告
原則5:對(duì)于每個(gè)錯(cuò)誤列出的需求,將在下游開發(fā)中付出高達(dá)50~200倍的修正代價(jià)
原則5:里程碑必須設(shè)置并且設(shè)置時(shí)間不應(yīng)是團(tuán)隊(duì)感到太長(zhǎng)也不應(yīng)感到太短,它必須有進(jìn)行正式審定的衡量標(biāo)準(zhǔn)(零缺點(diǎn)里程碑)。
原則6:除非任何一個(gè)人都到達(dá)了里程碑否則就沒(méi)有達(dá)到,即:團(tuán)隊(duì)中最后到達(dá)的決定著團(tuán)隊(duì)的效率。
在里程碑中間應(yīng)該設(shè)置大量的檢查點(diǎn),這些檢查點(diǎn)應(yīng)該有可以審查的不管是何種媒體的資料。檢查點(diǎn)應(yīng)該細(xì)分到一旦檢查點(diǎn)出現(xiàn)問(wèn)題不至于無(wú)法在時(shí)間上挽回,一般來(lái)說(shuō)一周一個(gè)檢查點(diǎn)是不長(zhǎng)的。任何人都應(yīng)該有檢查點(diǎn)。 原則7:特殊的軟件程序設(shè)計(jì)師可以作出一些無(wú)法想象的創(chuàng)舉,掀起一波技術(shù)的飛躍,但是他絕不會(huì)出現(xiàn)在矢志如期推出產(chǎn)品的開發(fā)團(tuán)隊(duì)中。如果這種沒(méi)有檢查點(diǎn)的人,他是最可以破壞產(chǎn)品的開發(fā)者。
6、成功的項(xiàng)目管理者與成功實(shí)施項(xiàng)目管理的項(xiàng)目
作一個(gè)成功的項(xiàng)目管理者:
不恥下問(wèn)
給組員設(shè)定短期目標(biāo)
建立長(zhǎng)期計(jì)劃
<建立評(píng)核制度
成功實(shí)施項(xiàng)目管理的項(xiàng)目組應(yīng)該是:
進(jìn)度剛好可以完成,適度緊張而可以完成
團(tuán)隊(duì)和組員士氣高漲
成員富有思考、樂(lè)于溝通
7、有效率的工作會(huì)議
如果以下超過(guò)3個(gè)的回答是是的話,那么工作會(huì)議的質(zhì)量就需要主管去考慮了,長(zhǎng)期下去必將損害士氣、決策質(zhì)量。
是否有人沒(méi)有發(fā)言?
是否出現(xiàn)了20%的人發(fā)言超過(guò)了80%的情況?
是否有這種情況:本次議定的題目,而在會(huì)中說(shuō)下次再說(shuō)吧?
是否發(fā)言需要主管點(diǎn)名?
會(huì)議沒(méi)有引導(dǎo)者? l 發(fā)言是對(duì)人而不是對(duì)事?
主管是威脅多于鼓勵(lì)?
是否有人有話但沒(méi)有說(shuō)?
8、需方委托得項(xiàng)目開發(fā)中的若干實(shí)際原則:
原則8:顧客的需求是工作的核心,任何所謂天才的設(shè)想必須征得顧客贊同。
原則9:持續(xù)得改善比一次性改善更能提高顧客得滿意度,更好得是對(duì)開發(fā)方好處更大,但是牢記顧客關(guān)心的需求絕不可推遲。
原則10:能夠成熟的技術(shù)莫要用不成熟的技術(shù),叫的最響的不一定是最好的,不成熟的技術(shù)不要流給顧客,留在實(shí)驗(yàn)室或作BETA版吧
軟件開發(fā)中的幾個(gè)常見(jiàn)問(wèn)題分析
如果你在軟件開發(fā)中遇到了下列問(wèn)題,那么以下的建議也許對(duì)你有幫助。
團(tuán)隊(duì)成員為什么不善于思考?表現(xiàn)為不發(fā)表自己的簡(jiǎn)介、不與他人進(jìn)行建設(shè)性交流
軟件管理在溝通體制上出現(xiàn)了問(wèn)題,這些問(wèn)題可能是以下問(wèn)題的一個(gè)或多個(gè):
成員認(rèn)為沒(méi)有人重視自己的想法
沒(méi)有好處,也許給主管的想法不一致,主管是不能接受自己建議和批評(píng)的
成員認(rèn)為應(yīng)該主管告訴他一切
管理者從來(lái)都是只管發(fā)號(hào)命令
解決辦法:
A.每一個(gè)成員的建議都是重要的
B.與主管不同的意見(jiàn)更值得重視和討論
l) 主管告訴成員做什么,不要問(wèn)怎么做——除非成員向你詢問(wèn),那么做下來(lái)一起討論
2)為什么軟件的進(jìn)度老是落后或者功能上老是不能令人滿意?
也許你會(huì)向軟件開發(fā)者或系統(tǒng)設(shè)計(jì)者找原因——基本上你可能是失望的。實(shí)際上你第一個(gè)要看的品保人員:人數(shù)夠不夠?確實(shí)參與設(shè)計(jì)了?
朋友,你堅(jiān)持看完了一篇好文章,希望你對(duì)每一件都能如此----堅(jiān)持到底!
【?發(fā)表評(píng)論?0條?】