波多野结衣无码|337p日本欧洲亚洲大胆艺术96|国产同事露脸对白在线视频
  • <p id="sd9wx"></p>

    <table id="sd9wx"></table>

    <table id="sd9wx"><ruby id="sd9wx"></ruby></table>
    1. <acronym id="sd9wx"><label id="sd9wx"></label></acronym>
    2. <acronym id="sd9wx"><strong id="sd9wx"></strong></acronym>
    3. 技術觀點

      加強技術投入,共享技術成果

      一個失敗項目的總結-兼談風險管理


      編輯:杭州大顯網絡科技有限公司更新日期:2009-05-26
      我曾經做過一個失敗的項目。那時我對項目管理一知半解,對于風險管理、進度管理等更是一無所知,以致最后花費了當初幾倍的人力來挽救它造成的損失。

      項目概況

      這個項目的策劃是在11月開始的,是對現有的一個Web應用程序進行改造??蛻魧懥艘环莺唵蔚男枨笳f明,希望能在12/25圣誕節之前投入使用。根據這份需求說明,我們整理出了一份功能列表,然后估算每個功能的代碼規模,發現規模大大超出期限,于是跟客戶交涉,刪減了一些功能,并將發布日期定為1/26。最后結果為服務器端3KL,客戶端3KL,按照1KL/人月的保守估計,需要6個人月,投入兩個人,正好能在1月底完工。于是項目就開始了。

      為檢查項目進行狀況,客戶希望在12/25之前發布beta測試版。因此主要功能必須在短短的兩個月之內完成。為了趕工期,我們省略了概要設計和大部分的詳細設計,直接進入編碼階段。一部分用戶需求還未確定,只好先進行確定部分的編碼工作,將那些遲遲沒有定論的需求放在beta版發布之后。

      我負責客戶端的開發,很不幸的是負責服務器端開發的同事在11月上旬一直在忙于另一個項目,而到了11月中旬又因病離職,導致11月份服務器端幾乎沒有任何進展。好在服務器端開發難度不大,項目組在12月份調入另一名強人來接班。在我倆的努力下終于在12/24如期發布了beta版。

      到這里似乎一切順利,但接下來的一個月中,未確定的需求和不斷發現的bug成了災難。項目從原定的1/25推遲到2/8,再推遲到2/16。而這時開發團隊也由原來的兩個人增加到五個人,增加的三個人專職測試。最后終于發布了,結果發布當天就因為一個小bug導致數十個用戶數據被誤刪。于是暫停服務繼續修改,改為封閉式開發,并且繼續增加測試隊伍到10個人,這樣整個團隊就有12個人在工作。

      這樣的狀況一直持續到二月底,項目總算正常發布了。

      計算一下結果

      下面是每個月的開發者數目。

      計劃實際
      11月21.5
      12月22
      1月25
      2月08.5
      總計617

      實際的工時約為預計的3倍。

      分析原因

      為什么這個項目會失???我認為原因在以下幾個方面。

      1.忽視項目風險。這個項目的風險有以下幾條

      風險影響(人月)發生的可能性實際影響(人月)
      未確定的需求1100%1
      原有框架的缺陷造成的實現困難0.520%0.1
      開發環境不完善0.250%0.1
      新的bug管理系統造成的學習困難0.250%0.1
      發布后的bug150%0.5
      總計1.7

      總計是1.8人月,也就是說項目應當在計劃的6人月上再加上1.8人月,實際的估算值應為7.8人月。但在估算時并沒有考慮到這些風險(或者說,雖然考慮到了但卻沒有認識到它的嚴重性),導致1月底計劃結束時風險暴露,不得不增加人力來修補問題。

      2.對風險未采取相應對策。實際上,上述風險中甚至存在發生概率為100%的風險,但由于開發者過于自信(所謂的“自我膨脹”),以致并未采取相關措施。甚至在12月底,某些問題已浮出水面時依然未進行控制。

      當初如果能采取一些對策,或許就不會這么糟糕。

      風險對策
      未確定的需求嚴格控制流程,在詳細設計未完成之前禁止編碼
      原有框架的缺陷造成的實現困難及早聯系框架開發者調整
      開發環境不完善盡早使用較為完善的開發環境
      發布后的bug發布β版

      3.人月神話?!度嗽律裨挕愤@本經典著作中提到,增加開發者并不能加快開發進程。請注意2月份比1月份多出來的那3.5人月。從事后結果來看,這3.5人月并未發現一個有效的bug。這是因為,這3.5人月是從其他項目組臨時借調過來的人員,完全不熟悉項目,加上不完善的測試用例,導致他們無法正確理解測試用例的意圖。

      通常編碼過程中的人月效應都能引起大家的重視,但實際上測試階段也存在人月效應,它的影響并不比編碼時小多少。

      波多野结衣无码
    4. <p id="sd9wx"></p>

      <table id="sd9wx"></table>

      <table id="sd9wx"><ruby id="sd9wx"></ruby></table>
      1. <acronym id="sd9wx"><label id="sd9wx"></label></acronym>
      2. <acronym id="sd9wx"><strong id="sd9wx"></strong></acronym>