項目管理和質(zhì)量控制之開發(fā)過程控制
發(fā)布時間:2011/7/5 10:04:00
項目需求穩(wěn)定性與開發(fā)模型選擇
項目來源通?蓞^(qū)分客戶合同項目、內(nèi)部產(chǎn)品更新?lián)Q代?蛻艉贤椖坑捎谑艿娇蛻糁苯蛹s束,有固定的工期,而且需求往往很不穩(wěn)定,很多時候客戶只指定一個大概的需求范圍,由開發(fā)商在應(yīng)標(biāo)的時候列出能實現(xiàn)的功能需求、環(huán)境支持和開發(fā)費用,在多家開發(fā)商應(yīng)標(biāo)的情況下,客戶有可能綜合多家廠家的功能,要求開發(fā)商實現(xiàn),還有一些項目客戶只提出研究方向,根本沒有具體的需求細(xì)節(jié);內(nèi)部產(chǎn)品更新?lián)Q代需求相對穩(wěn)定一些,而且工期也相對寬松,比較容易把握,但產(chǎn)品的需求是連續(xù)的,產(chǎn)品需要不停的升級增加新功能才有生命力;由于需求的穩(wěn)定性不同,往往需要比較好的開發(fā)模型來支持,否則很容易發(fā)生到了項目后期才發(fā)現(xiàn)實現(xiàn)的功能與實際應(yīng)用需求不符,達(dá)不到使用效果,導(dǎo)致項目失敗;開發(fā)模型的不同,需要管理的力度也不同,管理花費的時間也不同;
l 瀑布模型因為需求穩(wěn)定,實現(xiàn)細(xì)節(jié)明確,只要需求理解正確,設(shè)計沒有出現(xiàn)大的錯誤,基本上按照需求分析-》設(shè)計-》編碼-》單元測試-》集成-》集成測試-》驗收-》發(fā)布走下來,過程任務(wù)明確,很少出現(xiàn)文檔代碼重復(fù)評審的情況,開發(fā)人員可以專心地按階段進(jìn)行開發(fā)工作,管理也非常簡單,只要把握好每個項目成員的進(jìn)度,基本上可以確保完成任務(wù)了。
l 原型演化模型因為需求不穩(wěn)定,實現(xiàn)細(xì)節(jié)不明確,很多東西需求摸索之后才能明白怎么做、能否實現(xiàn),這個時候需要快速地做出原型,在做原型的時候確定技術(shù)要點,分辨這些要點以現(xiàn)有項目組的水平是否能夠按時完成,如果無法完成,需要向客戶解釋為什么,對有可能出現(xiàn)技術(shù)延誤的功能需要提前取得客戶的諒解,以便以后追加費用或者放到二期完成,因為在項目開發(fā)過程中需要不停地與用戶交流,修改需求、設(shè)計、代碼,工作量比較難估計,項目追蹤難度高,這個時候項目經(jīng)理需要建立需求矩陣、風(fēng)險列表,一項一項的解決問題,協(xié)調(diào)項目成員,不停調(diào)整項目計劃保證后面的工作評估盡量貼近實際,以免失控,管理工作將占項目經(jīng)理大部分時間,可以說在這三個模型中項目進(jìn)度是最難把握的。
l 噴泉模型適應(yīng)于產(chǎn)品升級開發(fā),產(chǎn)品不停地更新?lián)Q代,不斷的增加功能,通常不會一下子全部實現(xiàn)所有功能,最好是分期實現(xiàn),降低風(fēng)險,早日回收開發(fā)成本,這種開發(fā)-》測試-》發(fā)布-》開發(fā)-》測試-》發(fā)布的螺旋回溯式開發(fā)繼保證了產(chǎn)品的延續(xù)性也保證了產(chǎn)品的穩(wěn)定性,管理靈活,暫時實現(xiàn)不了的需求可以推后等技術(shù)成熟的時候在立項完成,管理難度中級,并且這種模型在測試人員足夠的情況下可轉(zhuǎn)為測試驅(qū)動型開發(fā),項目經(jīng)理重點關(guān)注每天實現(xiàn)了哪些功能、出現(xiàn)了哪些Bug,可動態(tài)每天安排工作。
瀑布模型的關(guān)鍵要素理解需求和架構(gòu)設(shè)計,原型演化模型的關(guān)鍵是快速原型和管理協(xié)調(diào),噴泉模型注重需求分期穩(wěn)定實現(xiàn)和測試,總之選擇適當(dāng)?shù)拈_發(fā)模型可優(yōu)化工作安排,更好地調(diào)配資源,關(guān)注開發(fā)模型中的重點工作要素。(在現(xiàn)實中,由于受限于公司制度和資源,很多時候項目經(jīng)理無法自由選擇開發(fā)模型,很多公司沒有測試人員,評審流程僵化,無法承受原型演化模型管理要求)
人員控制
無論是哪種開發(fā)模型,都必須貫徹“以人為本”的原則,拉動開發(fā)人員工作積極性是保證項目順利完成的重重之重,每一個人都希望自己的勞動成果得到別人的尊重,因此經(jīng)常表揚項目成員中做得比較好是一個美德,非常容易做到,經(jīng)常質(zhì)疑成員的能力不信任成員常常是項目失敗的主要原因之一;項目經(jīng)理需要時不時主動向開發(fā)人員詢問進(jìn)度、有沒有問題,不應(yīng)該等待開發(fā)人員匯報問題,很多項目經(jīng)理把問題歸結(jié)于開發(fā)人員沒有主動匯報是不對,往往等到開發(fā)人員匯報的時候問題已經(jīng)非常嚴(yán)重了,不要輕率認(rèn)為開發(fā)人員能夠及時發(fā)現(xiàn)所有問題;在項目開發(fā)中,安排成員做錯誤的事情是大顧忌,不但做的人沒有成就、沒有績效,也會影響領(lǐng)導(dǎo)威信;每天了解所有成員的進(jìn)度是好事,既能拉近人員之間的距離,也能更好的把握人員的狀態(tài)。
可采用一些工具來簡化組員的匯報工作,讓開發(fā)人員專注于開發(fā),不要讓組員多重匯報,多重匯報會讓開發(fā)人員非常不耐煩,也占時間。(我曾經(jīng)就碰到一個主管,在公司要求的每日工作匯報上還要寫項目工作匯報文檔又要在一個dotProject的工具上填寫,最后還要更新Project文檔,還把這些工作當(dāng)作重點考核,真是不厭其煩)
時間控制
在三種模型中時間的控制要求是不同的。瀑布模型階段清晰,保證每一個階段能按時完成即可以順利完成項目,原型演化模型就不是那么好控制了,應(yīng)該以功能劃分,精確控制每一個功能的完成時間才能順利完成項目,對難度特高耗時長的功能要做好無法完成的準(zhǔn)備,確定不能完成的功能要盡早與客戶溝通放棄,噴泉模型要求比較松,一般以功能劃分時間,也可按需求、設(shè)計、編碼、測試來劃分。總之“先緊后松”是原則,在項目前期盡量多做工作。如果最好能夠把開發(fā)人員的時間安排到小時,控制開發(fā)人員每小時的工作,在估計時間的時候不要考慮加班的情況(有些項目經(jīng)理很極端的,項目一開始就考慮加班,也不知道是不是在領(lǐng)導(dǎo)面前表示項目很緊張),否則真的需要額外時間就很麻煩了。
需求管理
幾乎所有的人都認(rèn)為需求很重要,確實需求是立項的關(guān)鍵也是產(chǎn)品推廣成功的關(guān)鍵要素,怎么能不重要呢!所以需求是一定要管理的,確定需求的范圍項目開發(fā)首先要做的事情,尤其是原型演化模型必須建立需求矩陣,一條一條地解決需求不明的問題。
風(fēng)險控制
需求不明是最大的風(fēng)險,其次是人員風(fēng)險,其他硬件資源、軟件工具資源也是風(fēng)險來源,與用戶良好互動,與組員融洽協(xié)作是解決風(fēng)險主要辦法,硬件資源、軟件工具資源解決的手段很多,注意不要成為進(jìn)度的絆腳石。 (資料來源:項目管理者聯(lián)盟)