2014年2月25日 星期二

無痛軟體時程 Painless Software Schedules

Painless Software Schedules  by Joel Spolsky
http://www.joelonsoftware.com/articles/fog0000000245.html


無痛軟體時程
http://tinyurl.com/2u9mpwx

11)在時程中加上緩衝時間。事物總是容易用完。你可能要考慮兩種重要的緩衝。
第一種:預防工作耗時超過預期的緩衝。
第二種:針對未預期但必要的工作的緩衝
               (這通常是因為管理階層決定某功能超級重要,絕對不能等到下一版)。

你可能會很驚訝地發現、休假、國定假日、除錯、整合還有緩衝時間加起來超過實際做事的時間。如果被嚇到表示你程式寫得還不夠久,不是嗎?你要忽略這些項目的話後果自行負責。

12)絕對不要讓經理叫程式員縮減估計時間。

很多菜鳥軟體經理認為能用精細「緊密(短得不切實際)」的時程,「激勵」程式人員做得更快。我認為這種激勵根本是腦袋壞掉。
當我進度落後時,我會覺得內疚消沈毫不積極。當我進度超前時,會非常快樂而且充滿生產力。時程可不是玩心理遊戲的地方。

如果你的經理要求你縮短估計時間,這裡告訴你要怎麼做。
在時程表上加一個叫Rick的估計(當然是假設你叫Rick)的新欄位。把你的估計填進去。
隨便經理怎樣要求,直接把她定的時間填入Curr Est欄位後就不要管了。
等專案結束時再看看誰的估計比較接近實際狀況。我發現光是威脅說要這樣做,效果就很驚人了,特別是當你的經理瞭解到,他們剛參加了一個看你能做得多慢的競賽時更是有效!


為什麼不適任的經理們總會試圖要程式員縮短估計時間呢?

當專案開始時技術經理會去見經營人員,然後會得出一個他們認為三個月(實際上要9個月)做得到的功能列表。

如果你認為寫程式不需要先想清楚所需步驟,然後估算出來某工作需時n,實際上很可能會耗時超過3n。

在訂定真正的時程時,把所有工作加總起來,就會瞭解專案耗時遠比想像中多得多。歡迎光臨真實世界。

不適任的經理的處理方法是想辦法讓員工做得更快。這一點其實不太實際。你或許能雇用更多員工,不過他們需要時間適應,

可能前幾個月都只有一半的效率(還會拖慢必須引導他們的其他員工)。而且無論如何,在這個業界得要6個月才找得到好的程式員。

你可能可以讓員工在一年內全力以赴,暫時提高10%的初版程式(譯註:指未整理除錯的程式)產量。算不上是什麼大躍進,而且這樣有點太短視了。

你可能可以懇求員工不計辛勞超努力地工作,提高20%的初版程式產量。砰!可惜除錯時間倍增了。真是了不起的自爆蠢方法。

不過你絕對絕對不可能由n變成3n,如果你自認有這種本事,請寫信告知貴公司的股票代碼好讓我放空。

沒有留言:

張貼留言