重點摘要#

  • 團隊成員可以用奇幻角色來分類:矮人、精靈、巫師和國王
  • 架構師就像國王,必須熟悉所有類型的角色並為他們安排合適的任務
  • 只為一種角色設計的架構會嚴重限制團隊的能力
  • 好的架構能讓團隊成員在合作中成長為真正的團隊

詳細內容#

在 Neal Stephenson 的《Cryptonomicon》中,Randy Waterhouse 用奇幻角色來分類他遇到的人。這個比喻對軟體團隊同樣適用。

四種角色#

  • 矮人(Dwarves):勤奮的工作者,在黑暗的洞穴中默默打造精美的工藝品。他們以移山倒海的力量和精湛的工藝聞名
  • 精靈(Elves):優雅、有文化修養,創造美麗的魔法事物。他們天賦異稟,甚至不自覺自己有多出色
  • 巫師(Wizards):與其他人截然不同的強大存在。不像精靈,巫師深諳魔法的原理,並能以最高效的方式運用它
  • 國王(Kings):有遠見的人,知道如何運用所有不同角色的能力來完成目標

架構師作為國王#

架構師必須如同國王一般:

  • 熟悉所有類型的角色,確保架構為每種角色都安排了任務
  • 如果架構只為一種角色設計,即使擁有最優秀的矮人、精靈或巫師,團隊也只能用一種方式解決問題
  • 帶領所有角色完成任務,沒有任務就沒有方向,最終變成一盤散沙

沒有所有角色的參與,團隊只能解決一類問題,遇到第一個障礙就會束手無策。

架構即引導#

架構師創造任務時要考慮所有角色。架構隨之成為一個指南,為不同角色分配任務的同時也讓他們相互學習。當專案遇到困難時,團隊已經知道如何合作解決,因為架構給了他們成長為團隊的機會

— By Evan Cofsky