聽過行百里者半九十吧。這句話在程式設計師的工作中同樣適用,到底是為何呢?matija用乙個精巧的比喻揭示了個中道理。
其實這就好比在高峰期從郊外開車回市中心。前 80% 的路程很順,高速嘛,可能兩小時就走完了,但是到了城裡,就走不動了,紅綠燈,行人路,各種環線和菜鳥司機,可能兩個小時還不夠用的。
程式設計也是如此。最開始你要設計框架,給整個專案打基礎,然後開始開發,幾周或者幾月之後,你完成了整個專案 80% 的工作,各種關鍵模組開始起作用了。 yixieshi.com
這個時候,如果管理層下令要盡快搞定這剩下的 20% 的話,開發團隊就得棄掉汽車,徒步越過最後幾個障礙,只求按期到達地點,把車丟那不管了。也許能夠按期完工,但是這種辦法並不明智。
這篇文章被貼到 hn 上之後,引發了眾網友的熱烈討論,大家紛紛表示感同身受。有一位朋友貼出了 quora 上乙個很精彩的問答:「為何軟體開發的實際週期總是比預期的要長兩三倍?」排位第一的回答真心機智幽默。 網際網路的一些事
簡單的說是這樣的,軟體開發同徒步旅遊一樣,可能你最初是計畫在 10 天內走完 500 公里,但真走起來,你會發現路上碰到的問題層出不窮,每天走的里程數都在遞減,團隊士氣也不太穩定,延期很多時候都是無可避免的。 yixieshi.com
其實何止是軟體開發,做任何一款產品的歷程大都如此。硬體專案也是做出原型簡單,真正量產時會碰到各種問題,需要你耐下性子乙個個解決,有時還得不斷返工。魔鬼在細節中潛藏,要想達到盡善盡美,就得花額外的精力去雕琢那最後 10% 的部分。
如果是自主開發 公司在前期對軟體的定位、結構、ui、功能 都比較明確的情況下,一般都會比較順利的完成,因為前期沒有客戶體驗與需求調查分析 所以在試運營期間往往會暴露很多的問題,嚴重的情況不排除推倒重來,所以軟體的開發周期就會相應的延長。還有一種比較常見的開發方式就是代開發 這種情況一般要看需求分析人員與客戶的溝通是否到位,在工作中就遇到很多的客戶對自己軟體的功能與客戶群都不了解,只是說明主要實現的功能方面,這時候公司的需求分析人員就需要擴充套件思路幫助客戶提供意見與建議供客戶參考,以免在開發過程中客戶突然改變主意增加或者減少軟體功能,這要在合同中明確指出,以免開發過程中照成扯皮情況滯後軟體開發時間。總之 前期需求分析做的好軟體開發周期內避免扯皮開發周期就會少的多
為什麼軟體開發周期總是預估的2 3倍?
軟體開發過程總是會遇到意想不到的問題。1.軟體開發需要團隊協作,團隊中任何乙個人出現問題,都有可能會影響軟體開發的進度。2.出現的問題可能是比預期的問題還要多,所以實際時間可能會比預期的時間長。3.有時候可能會不重視軟體開發過程中乙個簡單的模組,而可能正是這個小小的模組帶來意想不到的麻煩。4.團隊協...
閱讀思考 為什麼軟體開發周期總是預估的2 3倍?
在開發軟體的道路上,總是會有意想不到的情況發生 1 軟體開發的思維模式不能像數學一樣簡單的計算 2 開發環境與過程會極大的影響進度 3 團隊合作極易出現短板效應 4 團隊還會出現內訌 5 etc 還有很多。綜上所述,預估時間往往是理想時間,而不是實際時間 舉個例子 比如說 這個程式很簡單 我一天就能...
為什麼軟體開發工期預估都不靠譜
有些人認為做乙個大型軟體專案跟建一座大橋一樣。你可以根據以往的專案,使用那些歷史資料來評估所需要的時間和資源。這種觀點數十年前就已經被證實為偽觀點 這種模擬出的結論在上世紀九十年代,我在卡內基 梅隆攻讀軟體工程學位時,是我一直嚮往的結果。現實生活中,大多數值得一做的工程都不會是之前的專案的重複。不要...