交涉與領導技巧
談判和協助
- 具有挑戰性的技能發展:獲得談判和領導技能是一個嚴格的、長期的過程,涉及學習、實踐和經驗。
- 駕馭組織政治:架構師必須了解組織政治,因為他們做出的幾乎每一個決定都會面臨審查和反對。
- 決策挑戰:架構師的決策遇到了來自開發人員、同行和利益相關者的阻力,每個人都提出了自己的觀點和擔憂。
- 平衡權衡:架構師經常協商權衡,例如平衡系統可用性與成本,需要與關鍵利益相關者達成共識。
- 關鍵的談判技巧:談判是建築師最重要的能力之一,即使在爭議中也能促進利益相關者之間達成協議。
與Business Stakeholders談判
- 避免剛愎自用
- 注意用語背後的需求
- 理解 = 轉譯 = 再溝通
- 🌰 五個9的需求
與其他架構師談判
- 不要因為資歷差異忽視反對意見
- 具體討論,不同情境會採用不同解法
- 過度激化要暫停談判
- 🌰 首席架構師 vs 架構師 關於 Sync or Async Solution
與開發工程師談判
- 注意用語
- 讓開發部門提供解方
- 🌰 架構師說X 開發說Y 嘗試push developers 去證明Y可以滿足現有需求
架構師作為領導者
- 超過50% 好的架構師要有好的人際溝通、引導,以及領導能力
- 複雜性: 本質複雜性 vc 偶然複雜性
4C架構
- Communication
- Collaboration
- Clarity
- Conciseness
務實但富有遠見
- 有遠見: 用想像力或智慧思考或規劃未來。
- 務實: 以基於實踐而不是理論考慮的方式明智和現實地處理事情。
- 創建架構解決方案時考慮以下所有因素和約束:
- 預算限制和其他基於成本的因素
- 時間限制和其他基於時間的因素
- 開發團隊的技能組合和技能水平
- 與架構決策相關的權衡和影響
- 擬議的架構設計或解決方案的技術限制
- 🌰 要設計高併發、分布式的系統因應可預見的大流量,需要考量當前技術團隊能力,可以先聚焦在如何隔離bottleneck達到需求。
以身作則領導團隊
- 注意用語
- 在談判中加入對方名字,發音要正確
- 第一次見面要握手
- 定期聚會,討論技術或特定技巧
與開發團隊整合
- 高效的架構師要為開發團隊挪出時間
- 區分imposed upon(被邀請) 以及 imposed by(由你召集)
- Imposed upon
- 確認會議目的,可以減少會議參與
- 如果開發團隊跟架溝師都被邀請,可以讓開發團隊騰出時間去開發
- Imposed by
- 坐在一起,或者頻繁溝通
- The most important single ingredient in the formula of success is knowing how to get along with people.(Theodore Roosevelt)