讀《質量·軟件·管理》有感

       以前這本書是讀過的,現在再來讀又是別有一番滋味。特別是讀到什麼是質量,質量的重要性的時候,真的爲作者的精闢見解而拍案驚奇。

       質量是什麼?質量不是一個空洞的概念,質量是符合需求的能力。具體的說,就是符合某個用戶的需求的能力。因爲需求並不是從天上直接掉下來的,是我們進行了需求獲取,需求分析得到的。軟件的需求不是所有的需求涉衆都有同樣的權重。很早以前聽到Berry Boem將的Value-Based需求工程的時候,他的主要觀點也是說每個涉衆有不同的值。換句話說:老闆的意見纔是主要的,新來的小兵提的東西根本就不會怎麼考慮。

       因此,根據我們需求獲取、需求分析的結果,我們討論的質量就是對需求主導客戶的價值,因爲只有滿足他們的要求,你才能夠掙到錢。

       因此,對於軟件項目而言,能夠順利的抓住主要涉衆的需求,並和他們搞好關係,後續的軟件開發得到的質量才能是有保證的;對於軟件產品而言,因爲涉衆很分散,因此,需要對客戶進行分類,規劃產品主要滿足那一類客戶的需求,對這一類客戶的調研和了解程度,決定了日後開發出來的軟件質量究竟會是什麼樣的?

       具體衡量一個軟件質量,可能會有很多種衡量方法,比如說:缺陷率小,功能多,代碼是否可重用,性能高,成本低,開發速度快,用戶友好等等。由於需求是偏向於特定的用戶或者用戶羣的,因此,一個軟件對某類用戶是高質量的,可能會對其他用戶來說是低質量的。因此,本質上來說,軟件開發本身的決策就不是民主的,而是決策的過程。因此,有策略的對軟件各個部分提供適合的質量,是合理的。
      
       如果看不到這一點,只能說明你太幼稚了。

       好,現在到了一個比較關鍵的點。如果想提高軟件的質量(當然,也就是提高該產品對某類客戶的價值),需要如何做呢?這就要
       1. 瞭解實現質量的動機(爲什麼要這麼做?錢、權、名、長久之際等等。人總有萬千慾望,要真的去探究人家爲什麼要這麼做,就是去洞察別人的慾望在什麼地方,滿足它。)
       2. 瞭解質量的價值(我這麼做,對我有什麼好處?把收益給搞清楚,只有知道收益和負債,才能明白是否需要這麼做呀)
       3. 懂得如何實現質量。(這個就牽涉到具體的執行層面了。在不同的軟件亞文化裏面,也就是通常所說的各種級別的公司裏頭,怎麼做呢?因爲每種文化或者說習慣也好,都是有種拒絕接收改變的趨勢。這個只要是人的組織都是這樣。並且官越大,越不想改變。而改變軟件開發文化,很多時候不是一個人或者一個小組能夠決定的事情。因此,更需要有高超的領導能力,以及洞察能力。)
      
       要說的是:每種模式都可以取得成功。本質上,軟件開發質量取決於三個方面:用戶的需求難度、解決的問題難度、原有的開發模式。因地制宜的選擇策略本來不是一件難事,難的就在於該進行改變的時候,因爲一味考慮短期利益,而忽略了長期的目標,導致最後的競爭力缺乏。
   
        平衡之術,決策之術,真是在何時何地都會遇到呀!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章