淺談軟件質量管理之痛
相信不少軟件開發公司都存在質量管理部門。而且,如果一個公司稍微正規的話,一定會使用一個缺陷跟蹤軟件系統,比如開源的Bugzilla,或是IBM的ClearQuest等等。那質量管理部門是如何跟蹤和控制軟件質量的呢?毫無疑問,需要通過軟件缺陷跟蹤系統,這倒也沒有什么問題。但問題在于質量管理部門是如何看待和處理缺陷跟蹤系統所提供的缺陷統計數據的。
有的公司質量管理部門的地位很高,可能是因為公司質量管理部門在公司地位的高低代表了公司對于產品質量的重視程度,而這種公司質量管理部門往往是向高層管理直接負責的。在現實生活中存在這么一種怪現象:質量管理部門只關心缺陷的數量,而不關心缺陷數量的上升或是下降是由什么原因造成的。也就是說,對于這種質量管理部門,缺陷只是一個數字而已。在這種操作模式下,缺陷的修復完全是開發部門的事了,那么就存在開發部門為了讓數字更好看而采用一些短視的行為來減少缺陷數量,甚至于造假。
對于這種怪現象,你覺得質量管理部門對于公司的質量管理有意義嗎?從我個人的角度來說,我覺得沒有意義。表面上產品質量是掌握在質量管理部門的,或者說質量管理部門應當對產品質量負責,而實際上質量還是掌握在開發部門,也就是說質量管理部門在公司的質量組織架構中并不起作用。此外,由于方法不對,往往很容易造成質量管理部門并不了解問題的復雜性,只是一味的要求開發部門將缺陷數量在很短的時間內降下來。而開發部門也萬般無奈的采用甚至是造假的方式去完成質量部門所提出的不可能完成的任務。由此看來,這種質量管理方法不但沒有意義,還將大家都整得心力憔悴。
那質量管理部門應當如何在公司的組織架構中起作用呢?我想首要的一點是,質量管理部門應當關心缺陷數量的上升和下降。比如,當缺陷上升時,應當了解為什么上升。是因為產品的新功能開發從而引入了新的缺陷呢?還是產品以前遺留下來的缺陷現在被發現了?出現問題的模塊是不是總是其中的某一個模塊呢?等等。如果問題總是出現在一個模塊,那么質量管理部門可能需要考慮督促開發部門對其進行重構,從而從根本上去解決問題。反之,當缺陷數量下降時,質量管理部門也應當分析是什么原因,而不是簡單的樂觀。我們說采用這種方式,才能使質量管理部門真正的對產品質量負責。
對于上面所提出的解決方法,可能有人要說,那不是對于質量管理部門人員的要求很高嗎?即要懂流程,又要懂軟件開發,這種人似乎很難找啊!其實,我們可以采用其它的方式。比如,公司成立一個軟件專家組。這個軟件專家組可以應質量管理部門之邀對某一缺陷很多的項目進行分析,從而幫助質量管理部門決策其解決方法是什么。那我們如何挑選合格的成員組成專家組呢?這個問題我就不能回答了,但從這一問題我可以看出:人才是首要的!
本文出自 “李云” 博客。
【編輯推薦】