人月神話
外科手術團隊
by Ensky Lin
開發大型專案的問題
- Programmer 的好壞
- 溝通成本
Q: 好壞 programmer 差異是幾倍?
Q: 經驗和表現好壞之間有無關聯?
開發大型專案的問題
- Programmer 的好壞
-
溝通成本
= 用最少的強者完成專案
The problem
是否可以只用最少的強者?
The problem
5000 人開發一年的軟體
=> 10 位強者開發
- 工作效率 7 倍
- 溝通成本效益 7 倍
= 十年才可以完成產品
外科手術團隊
Roles
-
首席程式設計師
- 規格、架構、實做、測試、撰寫文件
- 他說了算
- 副手
- Review、參與討論、參加會議、備胎
- Review、參與討論、參加會議、備胎
- 行政助理 -> PM
- 一切行政事物
Roles
-
文書編輯
- 文件加工、潤飾、更新
- 文件加工、潤飾、更新
- 程式助理
- 程式文件的管理、change log 等
- 程式文件的管理、change log 等
- 測試員 -> QC
- 設計 test case、test data、規劃測試流程
Roles
-
工具專家 -> DevOps
-
尋找、製作團隊需要的所有工具、平台的建立等
-
-
語言專家
-
精進程式語言效能、研究者
-
V.S. Scrum?
Scrum
-
Project Owner
-
負責反應客戶的意願,設計 user story
-
負責反應客戶的意願,設計 user story
-
Scrum Master
-
負責維護 scrum 進行不受阻礙
-
負責維護 scrum 進行不受阻礙
-
Developer Team
- 負責開發產品
Scrum 強調
- 流程
- 週期
- 紀律
- 績效評估
- 客戶滿意
- 最小可用性產品
Scrum 不強調
- 團隊成員
- 開發方式
- 分工
Scrum 強調
- 流程
- 週期
- 紀律
- 績效評估
- 客戶滿意
- 最小可用性產品
Scrum 不強調
- 團隊成員
- 開發方式
- 分工
Summary
- Problem
- 大型專案開發團隊效率不彰
- 大型專案開發團隊效率不彰
- Solution
- 拆成多個外科手術團隊
溝通成本下降為團隊數量 = 1/10
- 拆成多個外科手術團隊
外科手術團隊
=
產品整體性 + 減少溝通成本
(少數人決策) (多數人合作)
外科手術團隊
By Lin ensky
外科手術團隊
- 127