上面的三點,是一個相互聯系的整體,合在一起就成了一個三角形,我把它叫做“架構設計三角形”:

圖1:架構設計三角形
接下來,結合一些指導原則,它們是許許多多軟件系統成功失敗的經驗總結。其實,看起來也是非常直接的,很容易理解和接受:
A) 尋找最容易找到的技術人員組建團隊。這樣可以將人員流動對項目的影響減到最小,同時也可以快速的組建團隊進入開發期。目前,IT人力資源市場上,Java方向和.NET方向是兩個主要的企業級開發方向,多數IT人才也集中在這兩塊。
B) 使用成熟技術。顯然,Java和.NET都是成熟的技術。在軟件解決方案方面都有各自的長處和優點,但對企業級應用而言都可以勝任。通過這幾年的發展,.NET和Java都形成了豐富的社會技術資源。.NET經過1.0到3.5的發展,在企業級應用方面已經在實踐中變得更加的成熟了。
C) 使用團隊熟悉的技術。避免過于陡峭的學習曲線,可以把對開發人員的的要求降至更低。但這并不等于使用最簡單的技術來完成復雜龐大的企業級應用,應該是在易學易用的前提下構造穩定可維護的目標系統。冒著危險選擇不成熟的技術或者不熟悉的技術都只能得到一個漏洞百出的系統。
D) 側重于開發期的規劃與管理,開發穩定可維護的產品。對團隊的素質側重點放在溝通和編寫穩定可維護代碼的視角,避免目標系統走向紊亂而不可控的地步,從而導致最終失敗的結局。
結合具體實際情況,結論很容易得出了?紤]的方向是:目標系統 + 技術團隊 =〉 解決方案。