你需要從軟件架構師身上尋找許多不同的品質,他們過去的經驗往往能很好地評判他們承擔這個角色的能力。既然軟件架構師是一個變化的角色,你就要看得更深,才能理解參與度、影響力、領導力和責任感的水平,這些在多個不同領域都已經論證過。結合我對軟件架構角色的定義 ,每個部分都能夠且應該單獨評估。畢竟,軟件設計過程看起來相當簡單,要做的就是搞清楚需求,設計一個能滿足它們的系統。但在現實中可不是這麼簡單,人們承擔的軟件架構角色可能千差萬別。比如下面這些。
1.架構驅動力 :捕捉和挑戰一套複雜的非功能需求,還是簡單地假設它們的存在。
2.設計軟件 :從零開始設計一個軟件系統,還是擴展已有的。
3.技術風險 :證明你的架構能夠工作,還是盲目樂觀。
4.架構演化 :持續參與和演化你的架構,還是把它交給「實現團隊」。
5.編寫代碼 :參與交付的實踐部分,還是袖手旁觀。
6.質量保證 :保證質量並選擇標準,還是反其道而行之或無所作為。
其中大部分可以歸結為是承擔尋找方案的責任還是推諉問題。