重點摘要#

  • 架構師不只是施加約束的角色,更應該是賦能者(enabler)
  • 確保開發者擁有正確的工具、技能和自主權來完成工作
  • 建立標準和清晰的路線圖,減少不必要的決策負擔
  • 保護開發者免受非必要的行政事務干擾

詳細內容#

說總比做容易,而軟體架構師特別擅長「說」。為了讓你的願景不淪為空談,你需要一支優秀的開發團隊來實現它。架構師通常被視為施加約束的角色,但你同時也有機會成為一個賦能者。

提供正確的工具#

  • 工具不應強加給開發者,而應該精心挑選以適合手頭的工作
  • 重複性和無腦的工作應盡可能自動化
  • 值得投資讓開發者擁有頂級的機器、充足的網路頻寬,以及完成工作所需的軟體和資料存取權限

確保具備必要技能#

  • 如果需要培訓,確保他們得到培訓
  • 投資書籍並促進技術討論
  • 開發者的工作生活應該是理論與實作並重
  • 盡可能讓團隊參加技術簡報和研討會
  • 在招聘時,尋找那些渴望學習、對技術充滿熱情的開發者

給予自主權#

  • 讓開發者在不違背整體軟體設計目標的前提下自行做決策
  • 建立標準以確保一致性,同時減少那些不屬於核心問題的瑣碎決策
  • 為原始碼檔案的放置位置、命名慣例等建立清晰的路線圖,節省開發者的時間

保護開發者免受工作中非必要的部分干擾。過多的文書工作和行政事務會增加負擔,降低效率。確保流程的設計是為了消除障礙,而非增加障礙。

— By Timothy High