軟體開發定律:布魯克定律

peida發表於2023-03-31

hi,我是熵減,見字如面。

在軟體專案開發中,你是否遇到過這種情況:

你的專案進度落後了,你的老闆或客戶不滿意,你的團隊壓力很大,你覺得需要增加一些人手來加快速度。但是,當你增加了新的成員後,你發現專案的進度並沒有提高,反而變得更慢了,而且出現了更多的問題和衝突。

這就是布魯克定律(Brook’s Law)的一個典型例子。

什麼是布魯克定律(Brook’s Law)?

布魯克定律(Brook’s Law)是一種關於軟體專案管理的觀察,由弗雷德裡克·布魯克斯(Frederick Brooks)在他的1975年出版的著作《人月神話》(The Mythical Man-Month)中提出。

該定律指出:在一個已經延期的軟體專案中,增加人力反而會使專案更加延期,而不是加快進度。

背後的原因

這個定律粗看起來,是有些反直覺,因為我們通常認為人多力量大。那麼,為什麼在一個軟體專案中增加人手會讓事情變得更糟呢?

這個定律之所以在大部分情況下是有效的,是因為有以下3個原因:

  • 新加入的人員需要一定的時間才能熟悉專案的背景、目標、架構和程式碼,這個過程會消耗已有人員的時間和精力,降低他們的生產力。
  • 新加入的人員可能會引入新的錯誤或與已有人員產生衝突,導致專案質量下降或工作效率降低。
  • 隨著人員的增加,專案的溝通成本也會增加,因為每個人都需要與其他人保持同步和協調,這會增加專案的複雜度和風險。

當然,布魯克定律並不是一個絕對的規律,而是一個經驗性的原則,它反映了軟體開發中存在的一些固有的限制和挑戰。

例外和啟發

布魯克定律不僅適用於軟體專案,也適用於其他需要創造性和協作性的專案。它告訴我們,在一個複雜的專案中,簡單地增加人手並不能解決問題,反而可能帶來更多的問題。

那麼,我們應該如何避免或緩解布魯克定律呢?這裡有一些可能的建議:

  • 在專案早期就增加合適的人力,避免在專案後期才臨時招募新人。
  • 制定合理和可靠的專案計劃,避免過於樂觀或悲觀的預估。
  • 根據專案的可分解性和可並行性,合理地分配任務和資源,避免出現瓶頸或冗餘。
  • 建立有效的溝通機制和協作工具,減少資訊的傳遞和處理時間。
  • 優先保證專案的質量和穩定性,適當地調整專案的範圍和目標,分階段地交付專案成果。

最後

布魯克定律提醒我們,在軟體開發中,人並不是一個簡單的可替代資源,而是一個複雜的系統組成部分。

我們需要根據專案的實際情況和需求,要能夠靈活地管理和利用好人力資本,以實現專案成功的最終目標。

在創造性和協作性的工程之中,我們始終要:以人為本,未雨綢繆。


閱讀,思考,練習,分享,日日不斷之功。

嗯,寫完了。

新的一天,加油哦 (ง •̀_•́)ง

相關文章