【伯樂線上導讀】:有國外開發者在 Quora 提了這個問題:“為什麼軟體開發週期通常是預期的兩三倍?” 並補充問:“這是開發人員的錯誤? 是管理失誤? 是因為做事方法不對, 或者說缺乏好的方法?還是說這就是軟體開發流程的特點?” Michael Wolfe 在2012年1月28日給的回覆,非常經典,截至我們釋出時已有8016個贊。以下是譯文。
讓我們先沿著海岸線,從舊金山(SF)走路去洛杉磯(LA),去拜訪我們住在Newport Beach的朋友,我拿出地圖在上面畫出了行進路線。
全程大約有400英里,如果我們每天走10小時每小時4公里的話,只用10天就可以到達目的地。立刻打電話給我們的朋友預定下週六的晚餐,告訴他們下週六晚上六點我們一定會準時出現,朋友們已經等不及了!
第二天清晨,我們帶著準備冒險的興奮起床,背起行囊,拿出地圖,準備計劃我們冒險的第一天,看一眼地圖,噢,不!
哇,海岸線上有這麼多迂迴曲折的線路。每天行進40英里的話,10天后只能勉強到達Half Moon Bay(半月灣?)。這趟旅行至少有500英里,而不是400。趕緊打電話給我們的朋友,將晚餐順延至下下週週二。人還是應該現實一點。朋友們有點失望,不過仍然盼望見到我們,況且花 12 天從 SF 到 LA 也不賴。
把不開心的事丟到一邊,準備出發。兩小時過後,我們才剛剛走出動物園。出了什麼事?我們低頭看了一下腳下的路:
天哪,這樣走路也太慢了!有沙子、海水、階梯、溪流,還有海邊憤怒的海獅!這樣我們只能按每小時2公里的速度前進,只有我們預估一般的速度。要麼我們現在每天走20小時,要麼再把晚餐推遲一個星期。好吧,讓我們各退一步:每天走12個小時,把晚餐安排到下下週的週末。只好再打電話給朋友告訴他們這個情況。朋友們有些不高興,但還是表示可以,到時候見。
在辛苦走了12小時後,我們準備在 Moss Beach 紮營休息。靠,要把帳篷在風中立起來根本不可能。直到半夜才開始休息。不過沒什麼大不了:明天在加快點速度就可以了。
第二天早上睡過頭了,早上10點才醒,起來渾身痠痛精疲力盡。艹,今天沒法走12個小時了,先走10個小時,明天可以走14個小時。收拾東西出發。
再緩慢行進了幾個小時之後,我發現夥伴腳有點跛。媽的,是水泡。必須現在解決它,在這些問題開始減慢我們的速度前,必須將它們扼殺在萌芽狀態。我慢跑了45分鐘到達內陸3英里遠的Pescadero,買了一些創可貼再快速跑回去給朋友包紮了一下。我快累壞了,太陽也快下山了,又浪費了一天的時間。到我們準備休息前今天只走了6英里。但是我們確實需要補充一下供給。一切都很好,明天我們就能趕上。
第二天醒來,紮緊腳上的繃帶準備出發。轉角之後突然發現,靠!這是個啥?
你妹的地圖上怎麼沒標出它!現在我們只能往內陸走3英里,繞過這些被聯邦政府用柵欄保護起來的區域,中途迷路了兩次,在中午前才好不容易又回到了海岸線。今天的時間過了一大半,而我們才前進了差不多1英里。好吧,不過我們不會再打電話給朋友推遲了,今天我們會一直走到午夜試著趕上進度。
晚上在大霧裡斷斷續續地睡了一夜。一大早被我的夥伴叫醒,他一陣陣的頭疼,還有點發燒,我問他能不能堅持一下。“你在想什麼呢,混蛋,我已經連續三天在這麼冷的霧中趕路,沒有休息過了。“好吧,今天看來只能黃了,只能在原地好好恢復了。現在我們已經有經驗了,今天好好休息明天再走14個小時,還有幾天的時間,我們一定能夠做到!
第二天我們昏昏沉沉地起來了。我看了一眼隨身的地圖:
天啊!我們已經走了10天旅程裡的第5天還沒有離開海灣區域!太荒唐了!我們要重新估計一下準確的時間再打給朋友,搞不好會被罵,但至少得找一個現實一點的目標。
同伴說,我們在四天裡走了40英里,這趟旅程至少又600英里,那就至少要60天,安全一點的說法說不定要70天,“沒門…是,以前我是沒走路從SF去過LA,但肯定不會要70天的時間,如果告訴他們我們要到復活節才能到,那要被他們笑死的“,我說。
我接著說,“如果你能保證每天走16個小時,我們就能把落下的時間補回來!我知道很困難,但現在是最關鍵的時刻,別抱怨了!”夥伴對我吼道 “一開始又不是我告訴別人下週日我們就能到的!因為你犯的這個錯差點要我的命!”
兩個人就這樣不說話了。我還是沒打出電話,等我的夥伴明天冷靜一點我再決定,我也願意做一些更合理的承諾。
第二天上午,我們一直待在各自的帳篷中直到一場暴風雨襲來。我們趕緊收拾好東西直到10點才擺脫危險。渾身痠痛,又長了好多新水泡。之前發生的事誰也沒提,直到發現我那愚蠢的夥伴把水壺落下了,又被我指責了一頓,我們不得不再花30分鐘回去取它。
我心裡記得我們的廁紙已經快用完了,下次到一個小鎮的時候應該囤一點。在我們又轉個彎後,才發現一條湍急的河流擋住了去路,這時我突然感到肚子一陣難受……