文/郭蘇川
中小型企業軟件過程改進方法
文/郭蘇川
對于一些中小型軟件企業來說,只有當企業建立的改進框架與企業實際情況相符合時,其改進軟件過程的工作才能順利進行。本文將依據ASD和CMMI這兩個理論,以國內中小型軟件企業為研究對象,對其改進軟件過程的方法加以探討,構建了以CMMI為基礎的框架來對軟件過程加以改進,希望為企業的軟件改進提供參考。
中小型軟件企業 CMMI 軟件過程改進
CMMI和CMM是兩種改進軟件過程的模型,作為重要成果它們在國際上被普遍使用,它們可以在過程改進與質量管理上來對軟件企業加以衡量。然而這兩個模型是為大型軟件企業量身定做的,并不充分適用于中國數量龐大的中小型軟件企業。所以,就中小型企業而言,構建合適的改進框架以滿足其軟件過程改進的需要十分必要。下文通過對CMMI和ASD兩個理論進行探討并加以借鑒,針對國內中小型軟件企業,構建一種合適的軟件過程改進框架。
中小企業是我國軟件企業的主要類型,大部分企業的員工都少于50人,它們都存在下面這些特點。
(1)以小于30歲的年輕員工為主,大都具有本科及以上學歷,但是卻沒有受過軟件過程改進的培訓。企業的管理者并不能很好的認識到培訓的重要性,認為培訓是對時間與金錢的浪費,只一味地想讓員工立刻上崗。
(2)企業員工并不能很好的認清企業自身的優勢,在它們看來,技術人員足夠優秀就行,但是存在這樣一些問題:時間不可控、有很大的開發壓力、用戶的需求在不斷變化。
(3)在這些企業中,管理者大都來自計算機及其相關專業,管理專業出身的非常少,這就使企業的管理變得混亂。經營者沒有有力的手段來對企業進行管理,造成企業盈利水平低下。
(4)開發規模小,項目給定時間小于6個月,有時也會接受大型項目,這對企業管理項目的能力有所要求。
CMMI 有以下四類過程域:
(1)過程管理類過程域:包括五部分內容,組織過程定義、組織過程聚焦、組織過程性質功能、組織培訓計劃以及組織部署和革新。
(2)項目管理類過程域有以下五部分內容:項目監控、項目計劃、供應商協議管理、項目集成控制和風險評價。
(3)工程類過程域有以下六部分內容:需求分析、技術解決計劃、產品集成、需求管理、檢驗證明和確認生效。
(4)支持類過程域有以下五部分內容:過程保證及產品質量保證、配置設置、測量分析、因果分析和解決計劃以及決策分析及解決計劃。
敏捷方法論在19世紀50年代首次被提出,直到2001 年,這個輕量級開發方法才被命名為敏捷。敏捷方法以人為中心,將有價值的軟件開發作為重點。在開放的環境下,進行全面協調合作,采用迭代的形式來實現增量開發,以反饋的形式來實現自我改進。由于敏捷軟件開發能通過自主調整來對繁復的過程予以矯正,其受到軟件行業的廣泛關注。此方法之所以合理,并不是因為它的“輕重”,而是因為它的以人為先和優越的適應性。
為了有機結合項目的管理與開發過程,本框架利用增量迭代模型來對軟件的生命周期加以描述,根據階段把項目管理分為不同內容。此時,軟件開發可以分為兩個過程:項目開發過程和項目管理過程。
4.2.1 項目管理過程
(1)需求管理過程域,將分配需求統一成一個標準,并根據此標準進行活動,使產品與軟件計劃相符,使分配需求與活動相符。
(2)項目計劃管理過程域,為了將軟件估計提供給軟件計劃和項目跟蹤使用,需要將軟件估計文檔化。
(3)項目跟蹤和監控過程域,為掌握項目的進展,有計劃地對項目各部分如成本、進度、工作量和資源等進行跟蹤與監督,當項目進展顯著偏離計劃時采取糾正措施。當項目發生顯著偏離的情況時及時糾正。
(4)軟件質量保證過程域,設計一種人員組織形式與適當的管理方法,檢查開發產品的質量并進行監督,以達到改善軟件的目的。
(5)此程域是軟件過程的重點,目的是使產品在生存期內保持完整,為軟件進程的各階段提供方法與要求。
4.2.2 項目開發過程
(1)需求分析過程,調查并獲取用戶的需求信息,對產品進行需求定位。
(2)系統設計過程域, 對軟件產品的數據庫、子模式、用戶界面和體系結構等予以計劃開發。并對使用的技術與工具予以確定,從而使代碼與需求相聯系。
(3)編碼和單元測試過程域,以設計文檔為依據,首先對各個模塊實行編碼,然后對得到的階段性產品單元實行測試。
(4)綜合測試工程域,以設計文檔和用戶需求為根據,系統地對整個產品予以測試,使產品符合用戶要求。
(5)維護過程域,客戶自行按照合同對最終產品予以測試和維護,已檢驗產品是否滿足用戶需求。
為了對該框架的效果進行評估,特意制定了下面的評分規則,規則包括一些評分指標和占比,分別由5位中小軟件企業項目負責人與5位專家進行評分。
(1)共有7個評分指標如:是否符合軟件規格說明,能否完成客戶要求,是否易于理解,是否易于接受和使用,是否能取得明確的結果且對外可見,是否出現過程錯誤,是否受意外發生問題的干擾。評分標準分別設為:不及格(6分以下);及格(6-7分);良好(8-9分);優秀(9-10分)。
(2)邀請 10 位專家,根據各指標進行打分,最后得到以下評分: 75 分、85 分、90 分、88 分、84 分、79 分、93 分、86 分、91 分、87 分。
(3)對專家評分結果進行統計,加權平均后得到的最終結果為 85.8 分,通過與基準值的比較可以看出此框架效果良好。
本文以國內中小型軟件企業的特點與實際情況為根據,在CMMI和ASD為理論基礎構建出改進軟件過程的框架,為國內中小型軟件企業構建框架提供參考,從而幫助其提升軟件能力。以后可以結合實踐對此框架進行細化,使其具備更強的可操作性。
作者單位南京浩博科技有限公司 江蘇省南京市210000
郭蘇川(1981-),男,江蘇省徐州市人。大學本科學歷。工程師,目前從事軟件咨詢服務、軟件過程改進方面的工作。