之所以有興趣寫這一系列文章,很大程度上是因為前些日子閱讀了Murray Cantor同學所著的《軟件領導》一書,就如同一個人喜歡讀詩,讀著讀著就會有想寫詩的沖動,因此我的這些文字權當是一種讀后感,即結合書里的一些觀點,用自已的語言再加上自已的經驗來重述一遍,說心里話,我自已是沒多大能耐的,因此無法做到令每個人都滿意,寫文章就好象生活一樣,有時需要一種平衡或取舍。
通常我們得到對軟件產品的抱怨大多來自于測試工程師以及軟件用戶,測試工程師是溫和派,他們按規定辦事,盡管如此,他們與 軟件工程師始終都是死對頭,也經常性地展開激烈的爭論與沖突,國內大多IT公司的測試工程師的地位都略低于軟件開發員,所以有時他們發現的BUG總不能及時有效地解決,有時會鬧到 項目經理那里理論一番。軟件用戶是激進派,發現的小問題往往被無限放大,甚至將你的軟件產品貶得一文不值,而且用戶最喜歡向軟件公司的領導們投訴,這可害苦了 程序員與測試員。
《軟件領導》中寫到:若要成為一名成功的軟件領導者,就必須理解軟件質量的構成要素。
以上所講的都是與軟件產品緊密聯系的人員:軟件開發者,產品測試者,產品最終用戶,我們往往容易忽略另外兩個與軟件產品密不可分的角色,即客戶(購買并擁有軟件許可證的客戶)與投資者(提供開發經費并擁有 知識產權的投資者),在《軟件領導》中將用戶、客戶與投資者稱為產品的利害關系人,軟件產品的最終目標是滿足所有利害關系人需求的高質量軟件。
每一種角色對軟件產品的要求并不一樣,這是讓軟件工程師與測試工程師極為頭痛的事情。用戶是直接使用軟件產品的角色,用戶通過使用軟件產品來提高工作效率,給工作或生活帶來方便與快樂,因此用戶主要從功能性、健壯性、性能、使用簡便、可靠性五個方面來評價軟件產品的質量。作為軟件產品的最終使用者,通常會參與軟件開發與測試的整個過程,特別是需求分析階段,用戶起的作用是相當大的。
客戶購買軟件,客戶一般并不是用戶,用戶關心的質量問題客戶也關心,除了用戶關心的五個方面,客戶還關心以下因素:成本(購買成本,維護成本,升級成本, 培訓成本等等)、可支持性(補丁程序與升級版本)、可用性(是指系統實際在線,可由用戶使用的工作時間比例)、可配置性(軟件可定制的程度)。作為軟件領導者,在進行軟件項目或產品的開發過程中,不僅僅要考慮用戶關心的問題,還要考慮客戶關心的問題。
投資者是提供開發資金的個人和企業。投資者都希望得到投資回報,回報可以是利潤或者是提高企業的生產效率,因此投資者所關心的問題有別于用戶與客戶,主要是:用戶與客戶對軟件的可接受性,維護成本(它的增加會抵消掉利潤),知識產權的價值。作為軟件領導者,也需要從投資者的角度來思考問題,但我們往往十分關心開發成本,而對維修成本不太關心,一個軟件剛做完的時候是賺錢的,大伙高興得去揮霍慶祝,實際上,經過一兩年的維護后,再去計算,就虧本得令人暈倒。
這世上應不存在完美無瑕的事物,軟件也一樣,不可能十全十美,作為軟件人,我們可以追求完美,精益求精,但需要有一個底線,否則是自討苦吃。那么,如何才能確保開發出高質量的軟件產品呢?《軟件領導》中列出了四點:
文章來源于領測軟件測試網 http://www.kjueaiud.com/