Brooks’s Law

ในบริบทการพัฒนาซอฟต์แวร์ที่ feature ถูกกำหนดไว้แล้ว (fixed scope) และเวลาที่จะต้องส่งมอบก็ถูกกำหนดไว้แล้ว (fixed time) หลาย ๆ องค์กรยังคิดว่า การเพิ่มคนลงใน software project จะช่วยให้ project เสร็จเร็วขึ้น หรือเสร็จทันเวลาได้

Fred Brooks กล่าวไว้ในหนังสือ The Mythical Man-Month เกี่ยวกับ Software Project Management ว่า “adding human resources to a late software project makes it later”

สาเหตุที่ Brooks บอกไว้แบบนี้เพราะว่า

  1. การเพิ่มคนลงในทีมที่เริ่มไปสักพักแล้ว มันจำเป็นต้องใช้เวลาสักระยะเพื่อให้คนคนนั้นสามารถทำงานได้จริง เรียกเวลาตรงนี้ว่าช่วง ramp up ซึ่งเป็นช่วงเวลาที่คนใหม่จะต้องเรียนรู้เกี่ยวกับงานที่ต้องทำทั้งหมด ไม่ว่าจะเป็น code base, engineering practice ต่าง ๆ ที่ทีมตกลงกันซึ่งมันไม่สามารถทำเสร็จได้ในวันเดียว หรือสัปดาห์เดียว ยิ่งระบบยิ่งใหญ่ ยิ่งเริ่มมานานแค่ไหน ก็ยิ่งใช้เวลาเรียนรู้มากขึ้นไปอีก
  2. communication cost ที่เพิ่มมากขึ้นจากการเพิ่มขึ้นของจำนวนคน การที่เราจะ sync เรื่องอะไรเรื่องหนึ่งให้กับสมาชิกในทีมทุกคนได้รับรู้ ก็จะต้องใช้เวลาเพิ่มขึ้น ใช้พลังเพิ่มขึ้น
  3. งานบางอย่างมันแบ่งไม่ได้ การเพิ่มคนก็ไม่ได้ช่วยอะไร Brooks ยกตัวอย่างเรื่องการตั้งท้องของผู้หญิงที่ต้องใช้เวลา 9 เดือนว่า “nine women can’t make a baby in one month” (ผู้หญิง 9 คนไม่สามารถให้กำเนิดเด็กได้ภายในเดือนเดียว)

อ้างอิง:

  • https://en.wikipedia.org/wiki/Brooks%27s_law

One thought on “Brooks’s Law

Leave a Reply