摘要:每個軟件系統都提供兩個價值給利益相關者表現和結構。來自利益相關者的觀點,開發者僅僅只提供了一些形態上的粗略改變,來自開發者的觀點,老板的需求越來越難。記住,作為一個開發者,你就是利益相關者,你需要維護的軟件里有你的利益。
每個軟件系統都提供兩個價值給利益相關者:表現和結構。軟件開發者應的確保這兩個價值盡量高負責。然而很不幸,程序員很多只關心其中一個而忽略另一個,甚至更不幸,他們可能關注的不是這兩個價值,留下沒有價值的系統
表現軟件的第一個價值是他的表現,程序員被雇傭來幫利益相關者讓服務器來掙錢或省錢,實現這個的方式是依照功能規范或寫需求文檔,來寫代碼實現這些需求。當程序出問題時,程序員修bug。很多程序員相信這就是他們工作的全部,他們就是為了實現功能和修bug而工作,但這是錯誤的。
架構第二個價值必須和軟件這個詞一起處理--一個由soft和ware組成的復合詞。ware意味著產品,soft就是第二價值--”架構“的所在的地方
軟件具有柔軟的特性,他打算用一種簡單的方法改變機器的行為。為了達到目的,軟件必須柔軟,能夠很輕松地改變,當利益相關者想要改一個需求,改變就需要簡單并且可以輕松實現,改需求的困難應該僅僅是改變的范圍,不是改變的形態。
范圍和形態都能驅動軟件開發成本上升,但是兩者是不同的。這就是成本不隨需求改變的比例上升的原因,這也是開發一年比一年更便宜的原因。來自利益相關者的觀點,開發者僅僅只提供了一些形態上的粗略改變,來自開發者的觀點,老板的需求越來越難。
問題當然是系統的架構,架構不好,后面的需求將會越來越難適合現在的架構
功能或架構,誰能提供更大的價值,誰在軟件開發中更重要,或者誰在添加需求中更能輕松修改系統。如果你問業務經理,他們可能覺得功能更重要,輪流問開發者,很多人也贊同這觀點,但是這是錯誤的,我能用一個極端的邏輯工具測試他是錯的。
如果你給我一個能運行,但不可能改變的系統,改需求就不能運行,這個系統將無用。
如果給我一個不能運行,但能夠輕松修改的系統,我可以讓他適應需求,然后運行起來。這個系統就有用了
你可能覺得這個例子不能讓人信服,畢竟沒有不能改變的項目,然而有些系統基本不可能改變,因為改變的成本超過了改變的好處。
為了實現架構這一責任,我們需要加入戰斗,我也許該用奮斗這個詞。坦白地說,基本上都是這樣說的。開發團隊必須為能讓公司發展最好的東西而奮斗。管理團隊,市場團隊,銷售團隊,運維團隊也是如此。都要奮斗。
有效率的開發團隊迎面奮斗。記住,作為一個開發者,你就是利益相關者,你需要維護的軟件里有你的利益。這是你任務的一部分,責任的一部分,也是為什么你被雇傭的主要原因
如果你是架構師,這個挑戰將會是雙倍難度。架構的主要責任是系統的結構,,而不是開發功能,架構師創造一個允許快速開發,修改,擴展功能的架構。
記住,如果架構來晚了,系統將變得更難維護,修改對于部分或者整個系統最終將變得不可能。如果上述情況發生,那說明軟件開發團隊沒有為必要的東西付出足夠的努力。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/12002.html
摘要:在代碼整潔之道,提出一種軟件質量,可持續開發不僅在于項目架構設計,還與代碼質量密切相關,代碼的整潔度和質量成正比,一份整潔的代碼在質量上是可靠的,為團隊開發,后期維護,重構奠定了良好的基礎。 現在的軟件系統開發難度主要在于其復雜度和規模,客戶需求也不再像Winston Royce瀑布模型期望那樣在系統編碼前完成所有的設計滿足用戶軟件需求。在這個信息爆炸技術日新月異的時代,需求總是在不停...
摘要:對于專業的開發者來說,單元測試是一項必備的技能,多數的程序員卻不具備測試驅動開發的能力。對于工程來說,開源項目基本都嚴格遵守執行單元測試,而很多商業的工程則在單元測試方面有所缺失。一個擁有單元測試的項目會變得更加容易維護和更改。 作為一名合格的Java程序員,日常工作除了上班擼代碼就是加班擼代碼。擼碼其實不難,無非詢問Google,StackOverflow,解決方法和demo一籮...
摘要:但大多數情況下應該盡量利用一些機制將二元函數轉換成一元函數。應該為起一個更能描述函數功能的函數名副作用在于對這個調用函數,顧名思義,就是用來檢查密碼。注釋及其描述的代碼之間的聯系應該顯而易見。受控異常的代價就是違反開放閉合原則。 大師級的程序員把系統當作故事來講,而不是當作程序來寫。 showImg(https://ws3.sinaimg.cn/large/006tKfTcgy1fs0...
閱讀 2554·2021-11-22 12:05
閱讀 3440·2021-10-14 09:42
閱讀 1674·2021-07-28 00:15
閱讀 1981·2019-08-30 11:08
閱讀 1475·2019-08-29 17:31
閱讀 918·2019-08-29 16:42
閱讀 2327·2019-08-26 11:55
閱讀 2107·2019-08-26 11:49