人月神話

外科手術團隊

by Ensky Lin

開發大型專案的問題

  • Programmer 的好壞
  • 溝通成本

 

Q: 好壞 programmer 差異是幾倍?

Q: 經驗和表現好壞之間有無關聯?

開發大型專案的問題

  • Programmer 的好壞
  • 溝通成本

     

= 用最少的強者完成專案

The problem

是否可以只用最少的強者?

The problem

5000 人開發一年的軟體

=> 10 位強者開發

  • 工作效率 7 倍
  • 溝通成本效益 7 倍

 

= 十年才可以完成產品

外科手術團隊

Roles

  • 首席程式設計師

    • 規格、架構、實做、測試、撰寫文件
    • 他說了算
       
  • 副手
    • Review、參與討論、參加會議、備胎
       
  • 行政助理 -> PM
    • 一切行政事物

Roles

  • 文書編輯

    • 文件加工、潤飾、更新
       
  • 程式助理
    • 程式文件的管理、change log 等
       
  • 測試員 -> QC
    • 設計 test case、test data、規劃測試流程

Roles

  • 工具專家 -> DevOps

    • 尋找、製作團隊需要的所有工具、平台的建立等
       

  • 語言專家

    • 精進程式語言效能、研究者

V.S. Scrum?

Scrum

  • Project Owner
    • 負責反應客戶的意願,設計 user story
       
  • Scrum Master
    • ​負責維護 scrum 進行不受阻礙
       
  • Developer Team
    • ​負責開發產品

Scrum 強調

  • 流程
  • 週期
  • 紀律
  • 績效評估
  • 客戶滿意
  • 最小可用性產品

Scrum 不強調

  • 團隊成員
  • 開發方式
  • 分工

Scrum 強調

  • 流程
  • 週期
  • 紀律
  • 績效評估
  • 客戶滿意
  • 最小可用性產品

Scrum 不強調

  • 團隊成員
  • 開發方式
  • 分工

Summary

  • Problem
    • 大型專案開發團隊效率不彰
       
  • Solution
    • 拆成多個外科手術團隊
      溝通成本下降為團隊數量 = 1/10

外科手術團隊
=
產品整體性 + 減少溝通成本
(少數人決策)     (多數人合作)

Made with Slides.com