制定計劃是一件困難的事情(在軟件開發(fā)中哪一件事情不難呢?),不只是新手,就是有好幾年工作經(jīng)驗(yàn)的人,對制定計劃也頗感為難,往往隨便給出個時間了事。我曾親歷過不少場面,大家對任務(wù)計劃的態(tài)度很隨意,對時間的估計都是隨口而出的。大多數(shù)時候,管理者都會對勇士們夸幾句,對謹(jǐn)慎者報以輕視。

 

實(shí)踐證明這些計劃都是紙上談兵,有的嚴(yán)重超期,有的質(zhì)量不過關(guān),有的功能遺漏,很少按預(yù)期完成的。這也難怪,就是精心制定的計劃都有偏差,何況是隨便給出的呢。

 

這里總結(jié)一些個人經(jīng)驗(yàn),這是對簡單任務(wù)而言的。所謂簡單任務(wù)指的是能分到某個人頭上的任務(wù),不包括需要一個小組協(xié)同完成的任務(wù)(當(dāng)然部分也適用于小組任務(wù)的)。

 

1.         對任務(wù)盡可能的細(xì)劃。任務(wù)分得越細(xì),考慮得越周到,遺漏的可能越少。同時我們對細(xì)小任務(wù)的估計更準(zhǔn)確,我想這也是大家鐘愛WBS的緣故吧。

 

2.         建立任務(wù)的風(fēng)險列表。外在環(huán)境、技術(shù)難點(diǎn)、甚至近一段時間工作狀態(tài),都會影響任務(wù)的進(jìn)度。風(fēng)險很多,列出我們能處理的風(fēng)險就差不多了,至于第三次世界大戰(zhàn)之類的風(fēng)險完全可以拋開。根據(jù)風(fēng)險列表,在理想的計劃上,加上一定的風(fēng)險儲備。

 

3.         征求做過類似任務(wù)的同事的意見。我們不是神仙,對從未有類似經(jīng)驗(yàn)的任務(wù),很難估計準(zhǔn)確,征求做過類似任務(wù)的同事的意見是明智的做法,至少我們能從中了解一些潛在的風(fēng)險。

 

4.         不斷調(diào)整計劃。計劃不是不變的,早期的估計或多或少的有些偏差。隨著任務(wù)的進(jìn)展,一些風(fēng)險的消除,以及這期間的經(jīng)驗(yàn)積累,我們可以更準(zhǔn)確的估計時間了。一般來說在任務(wù)預(yù)定時間過去30%左右時,重新評估一下任務(wù)計劃是比較好的習(xí)慣。

 

5.         及時反饋任務(wù)的執(zhí)行情況。特別是研究性任務(wù),出現(xiàn)計劃與實(shí)際較大差異的情況是很常見的。讓你的上司清楚任務(wù)的執(zhí)行情況,很有必要,一旦出現(xiàn)較大偏差,他可以對你提供幫助,或者對整體計劃進(jìn)行調(diào)整。切記不要在時間快完了,才報告出了大問題。

 

6.         計劃要實(shí)事求是,不是估計時間越短越好。不要因?yàn)槊孀由系膯栴},把時間估計得過短。否則你的任務(wù)太重,不但會影響你的正常休息和工作情緒,最終無法完成時,面子丟了是小,影響整體計劃是大。

 

7.         采用PSP中一些方法,評估自己的效率。記錄在執(zhí)行任務(wù)過程,你的時間分配情況,估計你在做某類事情時的效率,為以后類似的任務(wù)提供經(jīng)驗(yàn)數(shù)據(jù)。