<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 為什么程序員總是不能準確估測項目時間 原文:http://java.dzone.com/programmers-are-bad-estimating 譯文:Liszt@ituring 來源:www.ituring.com.cn/article/details/8290(點擊尾部閱讀原文前往) #### 程序員的時間換算表 ----為什么程序員不擅長估算時間 一個曾經與我一起工作過的經驗豐富的項目經理聲稱,他拿到程序員的時間估算以后,先將它乘以π,然后轉化下一個時間數量級后,才能得到真正的值。1天轉化成3.14周。他過去因為程序員不擅長估算時間而吃盡了苦頭。我創建了一個用來翻譯程序員時間估算的表格,來盡量縮小估算錯誤。 <table class="table table-bordered table-striped table-condensed"> <tbody><tr> <th width="12%">估算時間</th> <th>程序員所想象的</th> <th>程序員所忘記的</th> <th width="15%">實際時間</th> </tr> <tr> <td>30秒</td> <td>只需要做一個很小的代碼改動。我準確地知道怎么改,在哪里改。花費30秒敲鍵盤即可。</td> <td>啟動計算機,開發環境和獲取正確源碼的時間。用于構件,測試,檢查和文檔修復的時間。</td> <td>1小時</td> </tr> <tr> <td>5分鐘</td> <td>小事一樁,我只要上谷歌查一下語法就可以修復它了。</td> <td>很少有一次就能找到完全正確的信息。即使找到,在它能工作前,也需要做一些調整。外加構件,測試等等時間。</td> <td>2小時</td> </tr> <tr> <td>1 小時</td> <td>我知道怎么做,但是寫這些代碼需要花費一些時間。</td> <td>面對未來可能發生的問題,1小時稍縱即逝。有些東西總是會出錯。</td> <td>2小時</td> </tr> <tr> <td>4小時</td> <td>需要寫一些代碼,但是我粗略地知道步驟。我知道標準框架中的Wizzabanga模塊可以做到,不過我得查看文檔,了解它的準確地調用方式。</td> <td>這個大概是唯一現實的估算。它為意外的錯誤留下了足夠大的余地,而這個任務也小到足以把握。</td> <td>4小時</td> </tr> <tr> <td>8 小時</td> <td>我先要把Balunga類重構成2個,然后為Wizzabanga模塊加一個調用,最后為GUI加一些字段。</td> <td>總會有許多系統的不同部分依賴著Balunga類。大概有40個不同的文件需要修改。為GUI新加的字段,同樣也需要加到數據庫中。8小時太長,無法完全把握。總會有比程序員估算時更多的步驟出現。</td> <td>12-16小時</td> </tr> <tr> <td>2 天</td> <td>真的有一大堆代碼要寫。我需要往數據庫里加一些新table,顯示table的GUI,還有讀寫table的代碼邏輯。</td> <td>對于大多數開發者來說,兩天的工作量已經大到難以估算了。肯定會有什么東西被遺漏掉。不僅僅是一些小事情,而是整個一大塊主要功能會被遺忘在估算中。</td> <td>5 天</td> </tr> <tr> <td>1 周</td> <td>哎喲,這真是一項艱巨的任務。雖然我還沒有思路,但我不能說我不知道。一周應該夠了,我希望,我真心希望,但是我不能要求更多了,否則他們會認為我不夠稱職。</td> <td>這個任務已經大到超過大多數程序員的理解了。它應該被發回給架構師,幫忙將它劃分成更小的部分,然后提供一些解決問題的方向。架構師可能會發現一種更簡單的方法來完成它,或者發現其實有更多超乎想象的工作。。。</td> <td>2-20 天</td> </tr> </tbody></table> 時間估算時困難的。每一個程序員都有一個現實的估計區間。低于這個區間的估計意味著(構件,測試,檢查代碼的)時間開銷被低估了。超過這個區間的估計意味著這個任務太大而很難預估。 對于初級開發者來說,這個區間甚至都不存在。他們忽略(構件,測試,檢查代碼的)時間開銷,同時困難的任務他們卻又無法預估。我想說一個有經驗的開發者應該在0.5至24小時將事情做完。超過24小時,就需要細分。這項工作應該在開發者的頭腦中完成,然后總和到60小時。但是即使是有一些有經驗的開發者也需要有利用管理時間塊來思考。 同樣重要的是明白:編程經驗不等同于估算經驗。一個不被包含在估算流程中的開發者將不會擅長估算。同樣,如果實際的時間花費不被測量和用于與估算比較,那么將沒有反饋來學習。 最后,每個程序員都應該具備估算的技能。為磨練這個技能,接手每個任務時,先決定你要做什么。然后在開始之前估算任務所需時間。最后測量實際花費時間,并與估算相比較。同樣比較你實際完成的與計劃完成的。這樣你將會既提高你對一個任務包含細節的理解,同樣也提高了你的估算技能。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看