走出軟件質(zhì)量誤區(qū)
中國歷史上曾經(jīng)有過“土布”和“洋布”之爭,流水線和機(jī)器化生產(chǎn)帶來的產(chǎn)品“洋布”質(zhì)量好、價格低,對手工作坊生產(chǎn)的、無法保證質(zhì)量穩(wěn)定性的“土布”帶來了極大的沖擊,并且直接導(dǎo)致了當(dāng)時的手工紡紗和手工織布的勞動者破產(chǎn)——眾所周知,在制造業(yè),機(jī)器的工 藝要比人可靠得多。
而另外一個方面,在人的創(chuàng)造性因素占據(jù)很高地位的軟件產(chǎn)業(yè),要保證軟件質(zhì)量,也必須能夠?qū)④浖拈_發(fā)規(guī)范化、標(biāo)準(zhǔn)化,然后才能高質(zhì)量的規(guī)?;?。小規(guī)模的軟件或許可以依賴一個或者數(shù)個人員和開發(fā)小組的創(chuàng)造性,就可以保證很好的質(zhì)量。但是,當(dāng)軟件系統(tǒng)的復(fù)雜性急劇增長、項目環(huán)境趨于復(fù)雜、軟件需求的變更日益頻繁和流程人員不斷變化的時候,軟件企業(yè)就面臨著高度的挑戰(zhàn)。
要在這種情況下保證軟件的質(zhì)量并且促進(jìn)企業(yè)的發(fā)展,中國的軟件企業(yè)就必須擺脫“土布”制造者們曾經(jīng)踏過的誤區(qū)—不是千方百計地抵制“洋布”,而是應(yīng)該學(xué)習(xí)其先進(jìn)的生產(chǎn)理念和質(zhì)量控制的方法論,引進(jìn)流程化的管理,從管理和技術(shù)上成長。
開發(fā)是工程 不是藝術(shù)
“中國的軟件業(yè)不是缺少愛因斯坦,而是有太多的愛因斯坦?!?中創(chuàng)軟件工程股份有限公司董事長兼總裁景新海表示。很多人將軟件開發(fā)當(dāng)成藝術(shù)創(chuàng)作,不按照軟件工程的規(guī)范、隨心所欲地進(jìn)行軟件開發(fā)等,這是中國大多數(shù)軟件開發(fā)人員的通病。
然而,軟件開發(fā)畢竟不是藝術(shù),而應(yīng)該是一項縝密的工程。
作為一個軟件開發(fā)的公司,如果沒有一致的過程管理辦法,對于公司而言就可能是一場災(zāi)難。沒有一致的過程管理辦法,意味著企業(yè)沒有開發(fā)管理標(biāo)準(zhǔn)。開發(fā)人員將只能按照自己的設(shè)想進(jìn)行軟件開發(fā),這就不是一項工程行為,而使每個員工的藝術(shù)行為。
盡管軟件開發(fā)中,有些局部需要充分發(fā)揮想象力,但是就軟件開發(fā)的全過程整體而言,如果希望組織大量開發(fā)人員進(jìn)行規(guī)模化開發(fā),就必須把它作為工程來進(jìn)行。因此,絕對不應(yīng)該過于注重創(chuàng)造能力而忽略了開發(fā)流程的約束力。開發(fā)軟件最終的目標(biāo)在于客戶負(fù)責(zé),要使得所開發(fā)出來的產(chǎn)品能最終合用戶需要,而不是開發(fā)人員創(chuàng)意的無限制自由發(fā)揮。
因此,必須引入軟件開發(fā)的過程管理規(guī)范來提升軟件企業(yè)的過程質(zhì)量。而其過程質(zhì)量可以通過軟件過程成熟度來決定,例如CMM/CMMI的級別,這是很多印度軟件公司能夠獲取外包項目的重要原因,也是中國的軟件企業(yè)爭先恐后試圖通過CMM/CMMI評估的關(guān)鍵理由。
但是,真正能夠保證軟件質(zhì)量的并不是評估證書本身,而是軟件企業(yè)能夠達(dá)到成熟等級的方法、工具及軟件開發(fā)平臺。因此,如同汽車生產(chǎn)需要引入生產(chǎn)線一樣,必須采用合適的方法、工具和平臺,真正的提高企業(yè)的軟件生產(chǎn)過程的成熟度。
質(zhì)量在全過程 不僅是測試
“軟件開發(fā)的過程猶如蓋房子,如果地基沒有做好,那么房子蓋完之后的第一件事情就是拆房子,而不是測試房子的性能。” IBM大中華區(qū)軟件集團(tuán)Rational軟件總經(jīng)理陳致平表示。要保證軟件開發(fā)的質(zhì)量,必須通過一定的管理模型,例如CMM/CMMI、六西格瑪、ISO9000或者RUP,進(jìn)行全過程的管理,而測試只是最后一個層次。
在軟件開發(fā)的生命周期中,不僅是測試人員必須承擔(dān)軟件質(zhì)量的責(zé)任,每一個環(huán)節(jié)都必須嚴(yán)守開發(fā)紀(jì)律、遵守管理流程。軟件分析人員、架構(gòu)在軟件開發(fā)的初期,如果因為設(shè)計和架構(gòu)問題出現(xiàn)失誤,那么越接近后期,開發(fā)所需要投入的人力資源和財力都會出現(xiàn)損失,測試也需要花費更大的力量。最關(guān)鍵的,不能保證質(zhì)量的軟件產(chǎn)品將會導(dǎo)致客戶的滿意度下降,對企業(yè)的發(fā)展帶來嚴(yán)重的影響。
不在直接收益 而是長遠(yuǎn)利益
軟件質(zhì)量的提升不能直接為公司的開發(fā)帶來效益,但是可以通過多個方面體現(xiàn)出來。甚至為控制軟件質(zhì)量所需要進(jìn)行的人力培訓(xùn)成本和工具采購的成本,在短期內(nèi)導(dǎo)致公司的凈利潤降低,但是從長遠(yuǎn)角度來看,將會給公司帶來極大的效益。
首先,用戶的滿意度將會得到提高。用戶購買軟件產(chǎn)品,是因為他們有實在的業(yè)務(wù)需求。倘若為其開發(fā)的產(chǎn)品能夠高質(zhì)量地合其所用,那么肯定可以解決軟件實施項目回款難題。由于減少了后續(xù)的維護(hù)和支持需要,那么對于軟件企業(yè)而言,就增加了所得到的利潤。
“在他們引入Rational進(jìn)行開發(fā)之后,我們感覺系統(tǒng)更加好用了?!眹液J戮钟媱澔ㄌ幐碧庨L余劍翔先生如此評價中創(chuàng)公司為其開發(fā)的水上安全監(jiān)督管理信息系統(tǒng)。
其次,引入諸如RUP之類的流程管理,將使得企業(yè)的開發(fā)團(tuán)隊彈性大大提高。在開發(fā)流程改進(jìn)之后,開發(fā)的過程將變得透明,因此可以根據(jù)任務(wù)的多寡增加或者減少開發(fā)資源,從而進(jìn)一步控制成本和工作進(jìn)度。
第三,從長遠(yuǎn)來看,采用流程改進(jìn)的方法論、引進(jìn)優(yōu)秀的流程規(guī)范工具,將會改掉軟件企業(yè)的開發(fā)人員的有關(guān)開發(fā)的壞習(xí)慣,提升開發(fā)人員的素質(zhì)。
如果由于短期內(nèi)成本的考慮,僅僅引入流程改進(jìn)的方法論而不采用流程控制的工具,將使得企業(yè)徒具過程控制的虛名而無法真正將其落到實處,企業(yè)因而也就無法收獲長遠(yuǎn)利益。
而另外一個方面,在人的創(chuàng)造性因素占據(jù)很高地位的軟件產(chǎn)業(yè),要保證軟件質(zhì)量,也必須能夠?qū)④浖拈_發(fā)規(guī)范化、標(biāo)準(zhǔn)化,然后才能高質(zhì)量的規(guī)?;?。小規(guī)模的軟件或許可以依賴一個或者數(shù)個人員和開發(fā)小組的創(chuàng)造性,就可以保證很好的質(zhì)量。但是,當(dāng)軟件系統(tǒng)的復(fù)雜性急劇增長、項目環(huán)境趨于復(fù)雜、軟件需求的變更日益頻繁和流程人員不斷變化的時候,軟件企業(yè)就面臨著高度的挑戰(zhàn)。
要在這種情況下保證軟件的質(zhì)量并且促進(jìn)企業(yè)的發(fā)展,中國的軟件企業(yè)就必須擺脫“土布”制造者們曾經(jīng)踏過的誤區(qū)—不是千方百計地抵制“洋布”,而是應(yīng)該學(xué)習(xí)其先進(jìn)的生產(chǎn)理念和質(zhì)量控制的方法論,引進(jìn)流程化的管理,從管理和技術(shù)上成長。
開發(fā)是工程 不是藝術(shù)
“中國的軟件業(yè)不是缺少愛因斯坦,而是有太多的愛因斯坦?!?中創(chuàng)軟件工程股份有限公司董事長兼總裁景新海表示。很多人將軟件開發(fā)當(dāng)成藝術(shù)創(chuàng)作,不按照軟件工程的規(guī)范、隨心所欲地進(jìn)行軟件開發(fā)等,這是中國大多數(shù)軟件開發(fā)人員的通病。
然而,軟件開發(fā)畢竟不是藝術(shù),而應(yīng)該是一項縝密的工程。
作為一個軟件開發(fā)的公司,如果沒有一致的過程管理辦法,對于公司而言就可能是一場災(zāi)難。沒有一致的過程管理辦法,意味著企業(yè)沒有開發(fā)管理標(biāo)準(zhǔn)。開發(fā)人員將只能按照自己的設(shè)想進(jìn)行軟件開發(fā),這就不是一項工程行為,而使每個員工的藝術(shù)行為。
盡管軟件開發(fā)中,有些局部需要充分發(fā)揮想象力,但是就軟件開發(fā)的全過程整體而言,如果希望組織大量開發(fā)人員進(jìn)行規(guī)模化開發(fā),就必須把它作為工程來進(jìn)行。因此,絕對不應(yīng)該過于注重創(chuàng)造能力而忽略了開發(fā)流程的約束力。開發(fā)軟件最終的目標(biāo)在于客戶負(fù)責(zé),要使得所開發(fā)出來的產(chǎn)品能最終合用戶需要,而不是開發(fā)人員創(chuàng)意的無限制自由發(fā)揮。
因此,必須引入軟件開發(fā)的過程管理規(guī)范來提升軟件企業(yè)的過程質(zhì)量。而其過程質(zhì)量可以通過軟件過程成熟度來決定,例如CMM/CMMI的級別,這是很多印度軟件公司能夠獲取外包項目的重要原因,也是中國的軟件企業(yè)爭先恐后試圖通過CMM/CMMI評估的關(guān)鍵理由。
但是,真正能夠保證軟件質(zhì)量的并不是評估證書本身,而是軟件企業(yè)能夠達(dá)到成熟等級的方法、工具及軟件開發(fā)平臺。因此,如同汽車生產(chǎn)需要引入生產(chǎn)線一樣,必須采用合適的方法、工具和平臺,真正的提高企業(yè)的軟件生產(chǎn)過程的成熟度。
質(zhì)量在全過程 不僅是測試
“軟件開發(fā)的過程猶如蓋房子,如果地基沒有做好,那么房子蓋完之后的第一件事情就是拆房子,而不是測試房子的性能。” IBM大中華區(qū)軟件集團(tuán)Rational軟件總經(jīng)理陳致平表示。要保證軟件開發(fā)的質(zhì)量,必須通過一定的管理模型,例如CMM/CMMI、六西格瑪、ISO9000或者RUP,進(jìn)行全過程的管理,而測試只是最后一個層次。
在軟件開發(fā)的生命周期中,不僅是測試人員必須承擔(dān)軟件質(zhì)量的責(zé)任,每一個環(huán)節(jié)都必須嚴(yán)守開發(fā)紀(jì)律、遵守管理流程。軟件分析人員、架構(gòu)在軟件開發(fā)的初期,如果因為設(shè)計和架構(gòu)問題出現(xiàn)失誤,那么越接近后期,開發(fā)所需要投入的人力資源和財力都會出現(xiàn)損失,測試也需要花費更大的力量。最關(guān)鍵的,不能保證質(zhì)量的軟件產(chǎn)品將會導(dǎo)致客戶的滿意度下降,對企業(yè)的發(fā)展帶來嚴(yán)重的影響。
不在直接收益 而是長遠(yuǎn)利益
軟件質(zhì)量的提升不能直接為公司的開發(fā)帶來效益,但是可以通過多個方面體現(xiàn)出來。甚至為控制軟件質(zhì)量所需要進(jìn)行的人力培訓(xùn)成本和工具采購的成本,在短期內(nèi)導(dǎo)致公司的凈利潤降低,但是從長遠(yuǎn)角度來看,將會給公司帶來極大的效益。
首先,用戶的滿意度將會得到提高。用戶購買軟件產(chǎn)品,是因為他們有實在的業(yè)務(wù)需求。倘若為其開發(fā)的產(chǎn)品能夠高質(zhì)量地合其所用,那么肯定可以解決軟件實施項目回款難題。由于減少了后續(xù)的維護(hù)和支持需要,那么對于軟件企業(yè)而言,就增加了所得到的利潤。
“在他們引入Rational進(jìn)行開發(fā)之后,我們感覺系統(tǒng)更加好用了?!眹液J戮钟媱澔ㄌ幐碧庨L余劍翔先生如此評價中創(chuàng)公司為其開發(fā)的水上安全監(jiān)督管理信息系統(tǒng)。
其次,引入諸如RUP之類的流程管理,將使得企業(yè)的開發(fā)團(tuán)隊彈性大大提高。在開發(fā)流程改進(jìn)之后,開發(fā)的過程將變得透明,因此可以根據(jù)任務(wù)的多寡增加或者減少開發(fā)資源,從而進(jìn)一步控制成本和工作進(jìn)度。
第三,從長遠(yuǎn)來看,采用流程改進(jìn)的方法論、引進(jìn)優(yōu)秀的流程規(guī)范工具,將會改掉軟件企業(yè)的開發(fā)人員的有關(guān)開發(fā)的壞習(xí)慣,提升開發(fā)人員的素質(zhì)。
如果由于短期內(nèi)成本的考慮,僅僅引入流程改進(jìn)的方法論而不采用流程控制的工具,將使得企業(yè)徒具過程控制的虛名而無法真正將其落到實處,企業(yè)因而也就無法收獲長遠(yuǎn)利益。
本文標(biāo)簽:走出軟件質(zhì)量誤區(qū)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《走出軟件質(zhì)量誤區(qū)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。










