潛魚在淵

          Concentrating on Architectures.

          posts - 77, comments - 309, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          軟件架構:架構與價值

          Posted on 2008-09-13 18:20 非魚 閱讀(1864) 評論(2)  編輯  收藏 所屬分類: 面向對象設計
          Before your software dies, it's valuable. Remember this.

          凡人造物(Artifact),皆有價值。有些也有壞處,但這并不掩蓋其價值。軟件亦如此。所謂價值,通俗來說就是對人有益。很多軟件不入人法眼,并非沒有價值,而是因為還有些軟件更有價值。

          現在忘記怎么做的問題,我們來看看做什么:軟件開發,就是使“軟件”更有價值的活動。一個軟件企業,不是要做軟件,而是要做好軟件,做更有價值的軟件。

          這和架構有什么關系?

          軟件有其形式,軟件通過形式讓人得益;軟件有其靈魂,軟件的靈魂就是架構。架構定義多個人群可以從軟件中得益的最大與最小值,并貫穿軟件生產和改進的過程,控制和保證不同人群利益的實現。

          簡單的說就是:架構規定并保證了軟件的價值。

          為什么要“以架構為中心的開發”?

          因為要保證并提升軟件的價值,就是要比其他同類更有價值。可惜的是并不是所有人都知道這個道理。老總說:“架構很重要。”銷售也這樣說。但是為什么?他們不知道,所以也并不會和架構師就此問題產生共鳴。于是“架構”和質量一樣,成了企業的一個口號。

          其實相當多的架構師也不知道,就像QA/QC其實并不一定真正理解什么是質量一樣。所以最初的架構師關注組件和連接器,進而關注原則和約束,關注風格和過程,直到最后,才想到要關注軟件的價值。

          從知到用

          這是一個理念,這是一個原則,這是架構設計的出發點。它并不能直接應用在架構設計、維護和改進的過程。但它可以做為一把尺子,用來度量一個架構的好壞。在任何一個架構決策確定之前,也要考慮它。

          這可不是一件簡單的事。通常我們需要從受益者(stockholder)出發,來定義一個列表,記錄受益人對價值的看法,包括期望的效果、付出的代價、忍耐的程度等底線、閥值,這是超出用戶需求的東西。這些也并非一成不變的東西,然而每次細微的調整,都極可能帶來架構的巨大變化。慎之!

          最容易想到的受益人是用戶、客戶,以及第三方合作伙伴、潛在的客戶等。最容易忽略、最容易被損害的是開發組織自身的利益。知易行難。

          最大的挑戰,是時間。人很容易動搖,遺忘了價值。而對于一個組織來說,對付時間最有效的武器,是管理。

          希望這個小文,對大家有所幫助。謝謝!

          Technorati 標簽: , ,

          評論

          # re: 軟件架構與軟件價值  回復  更多評論   

          2008-09-13 21:36 by Jack.Wang
          說的很好!
          最初的架構師關注組件和連接器,進而關注原則和約束,關注風格和過程,直到最后,才想到要關注軟件的價值。這種架構師還不是合格的架構師。
          其實架構就是一系列決策,包括商業運維,也包括技術架構,譬如:分層,功能分割,風格組合等等。

          # re: 軟件架構與軟件價值  回復  更多評論   

          2008-09-19 11:25 by duan
          樓上和樓主都是高人,我也就只有學習的份,本來實在沒有發言的份,只因你們說的太好了。
          主站蜘蛛池模板: 呈贡县| 沙湾县| 连云港市| 阿合奇县| 都兰县| 云浮市| 昭觉县| 贵州省| 汉中市| 铜梁县| 金沙县| 水富县| 新田县| 通许县| 大同县| 名山县| 梁山县| 巴楚县| 舞阳县| 北京市| 陆川县| 丰宁| 竹山县| 大邑县| 黄平县| 阿拉善盟| 邻水| 桓仁| 固阳县| 乐山市| 日土县| 香港 | 抚远县| 台州市| 岑巩县| 青龙| 屏边| 杭锦后旗| 上杭县| 古田县| 无锡市|