Posted on 2008-09-13 18:20
非魚 閱讀(1863)
評論(2) 編輯 收藏 所屬分類:
面向?qū)ο笤O(shè)計
Before your software dies, it's valuable. Remember this.
凡人造物(Artifact),皆有價值。有些也有壞處,但這并不掩蓋其價值。軟件亦如此。所謂價值,通俗來說就是對人有益。很多軟件不入人法眼,并非沒有價值,而是因為還有些軟件更有價值。
現(xiàn)在忘記怎么做的問題,我們來看看做什么:軟件開發(fā),就是使“軟件”更有價值的活動。一個軟件企業(yè),不是要做軟件,而是要做好軟件,做更有價值的軟件。
這和架構(gòu)有什么關(guān)系?
軟件有其形式,軟件通過形式讓人得益;軟件有其靈魂,軟件的靈魂就是架構(gòu)。架構(gòu)定義多個人群可以從軟件中得益的最大與最小值,并貫穿軟件生產(chǎn)和改進的過程,控制和保證不同人群利益的實現(xiàn)。
簡單的說就是:架構(gòu)規(guī)定并保證了軟件的價值。
為什么要“以架構(gòu)為中心的開發(fā)”?
因為要保證并提升軟件的價值,就是要比其他同類更有價值。可惜的是并不是所有人都知道這個道理。老總說:“架構(gòu)很重要。”銷售也這樣說。但是為什么?他們不知道,所以也并不會和架構(gòu)師就此問題產(chǎn)生共鳴。于是“架構(gòu)”和質(zhì)量一樣,成了企業(yè)的一個口號。
其實相當多的架構(gòu)師也不知道,就像QA/QC其實并不一定真正理解什么是質(zhì)量一樣。所以最初的架構(gòu)師關(guān)注組件和連接器,進而關(guān)注原則和約束,關(guān)注風(fēng)格和過程,直到最后,才想到要關(guān)注軟件的價值。
從知到用
這是一個理念,這是一個原則,這是架構(gòu)設(shè)計的出發(fā)點。它并不能直接應(yīng)用在架構(gòu)設(shè)計、維護和改進的過程。但它可以做為一把尺子,用來度量一個架構(gòu)的好壞。在任何一個架構(gòu)決策確定之前,也要考慮它。
這可不是一件簡單的事。通常我們需要從受益者(stockholder)出發(fā),來定義一個列表,記錄受益人對價值的看法,包括期望的效果、付出的代價、忍耐的程度等底線、閥值,這是超出用戶需求的東西。這些也并非一成不變的東西,然而每次細微的調(diào)整,都極可能帶來架構(gòu)的巨大變化。慎之!
最容易想到的受益人是用戶、客戶,以及第三方合作伙伴、潛在的客戶等。最容易忽略、最容易被損害的是開發(fā)組織自身的利益。知易行難。
最大的挑戰(zhàn),是時間。人很容易動搖,遺忘了價值。而對于一個組織來說,對付時間最有效的武器,是管理。
希望這個小文,對大家有所幫助。謝謝!
Technorati 標簽:
軟件架構(gòu),
軟件價值,
架構(gòu)設(shè)計