國內軟體企業實施CMM的四大障礙
國內軟體企業實施CMM的四大障礙
CMM的每個成熟級別由關鍵過程區域(KPA)組成,每個KPA確定一組相關活動。為了有效地進行這些活動,需要在整個軟體開發過程中引入相關工具,幫助軟體企業或開發團隊實施CMM。一般來說,實施CMM需要以下主要工具:軟體開發過程框架、需求管理工具、物件導向的分析設計工具、配置管理工具、變更管理工具和軟體測試工具。
軟體開發過程框架
CMM是一種軟體過程控制和評估框架,它列出了每個級別需要完成的目標以及判定條件,但並沒有敘述如何實現這些目標。軟體開發過程框架工具的目標就是為開發團隊建立一個清晰的、可重複執行的流程,以幫助團隊成員按時完成專案各階段的工作。
Rational公司的RUP(Rational Unified Process)就是這樣一個完整的軟體開發過程框架,它包括3000個HTML文件、近一百萬字的流程指南,其中文版本RUP-C已經在中國市場正式釋出。
RUP對CMM實施的主要幫助體現在以下方面:
● 凝結了全球軟體行業的最佳開發經驗,以指南、模板和示例的形式為開發團隊提供流程指導。
● 建立統一的軟體開發標準,改善團隊成員之間的溝通。
● 降低軟體開發風險,增加軟體開發的可預測性。
● 賦予專案經理對進度和交付期限的控制能力。
可以說,RUP-C是每一個計劃實施CMM專案組的最佳起點,它對CMM涉及的每個KPA都有幫助。
需求管理
需求是軟體客戶的要求,它決定了軟體系統的工作內容,是整個開發活動的基本出發點和最終目標。在整個專案生命週期內,要想有效地協作,就需要對重要的需求資訊提供訪問許可權,使跨功能團隊的所有成員都能掌握必要的詳細資訊。需求管理的目的是在客戶和相應的軟體專案之間建立共同的理解,並最終形成估計、 策劃和跟蹤整個軟體生命週期內軟體專案活動的基礎。
需求管理是CMM2級(可重複級)的關鍵過程領域之一,其主要工作包括兩點:其一,通過與涉眾(Stakeholder)的交流來獲取需求,並進行有效的組織和記錄;其二,使客戶和專案團隊在系統變更需求上達成一致。
一個優秀的需求管理工具可以在保證有效管理需求的前提下提高需求管理工作流程的自動化程度,使需求管理可以真正在專案實施中得到有效的推行。Rational公司為需求管理提供了AnalystStudio需求工作包,它具有以下主要特點:
● 結合業界認可的RUP方法,提供完整的需求分析及管理流程。
● 以Web方式獲取反饋,加強團隊之間的有效溝通。
● 用追蹤圖直觀展現需求變化帶來的影響。
AnalystStudio除了可用於CMM2級的“需求管理”外,還可以對以下KPA提供幫助:“軟體專案規劃”、“軟體專案跟蹤與監督”、“軟體子合同管理”、“軟體產品工程”、“組間協作” 、“同級複審”和“定量過程管理”。
物件導向的分析設計工具
在CMM3級的“軟體產品工程”(Software Product Engineering)KPA中,對軟體設計提出了明確的要求,要求軟體設計遵循一定的設計語言、採用物件導向的方法、使設計結果可複用等。
為什麼要採用物件導向的分析設計方法?主要原因有3點:
● 通過分析和設計,使開發者可以先關注問題的領域,再關心具體的設計和程式設計問題,從而有利於降低整個過程的複雜性,提高分析模型和設計模型的質量。
● 生成的分析模型和設計模型形成文件的主體,從根本上解決“先寫程式碼、再補文件”的老問題,並能幫助團隊規避因人員流動帶來的不良影響。
● 分析模型和設計模型將成為團隊內部以及團隊之間有效溝通的橋樑,消除誤解,進一步解決“系統整合難”的頑症,同時也可以促進團隊之間的軟體複用。
Rational Rose是Rational公司開發的視覺化建模工具,它採用“統一建模語言(UML)”的表示方法,在同一個模型中實現業務建模、物件建模和資料建模,使所有參與專案的成員都可以在統一的語言環境中工作於同一個模型之上,有利於改善成員之間的溝通;其次,它支援多種語言的程式碼生成及雙向工程,可實現程式碼和模型的互相轉換,並且可以將遺留程式碼引入模型中;第三,它帶有對設計元素進行測試的模組工具(Quality Architect),可以儘早發現設計中的問題,真正實現“質量從頭抓起”。
Rational Rose除了可幫助實施CMM3級的“軟體產品工程”外,還可以對“組間協作”和“同級複審”KPA提供幫助。
配置管理和變更管理
軟體配置管理(SCM)是CMM2級中一個非常重要的KPA,它的目的是在軟體專案的生命週期內建立並維護軟體專案產品的完整性。在CMM標準中,明確規定了軟體配置管理(SCM)以及變更請求管理(CRM)的相關工作,它包括以下兩方面:
● 配置管理的主要工作包括通過建立軟體配置管理庫、定義配置項(包括需求、分析設計模型、程式碼、文件、測試用例、測試資料等)以及建立和維護軟體的基線。
● 變更請求管理的主要工作包括控制和記錄配置項內容的變更,建立和維護一個系統並使其追蹤和管理變更請求及問題報告。
Rational 的ClearCase和ClearQuest是相當成熟的配置管理和變更管理工具,它們已經連續四年被IDC評為業界最佳的配置管理工具,並在眾多的國內外企業中得到了應用,國內的華為、中興、大唐、東信等企業都選用了這兩個工具。ClearCase的主要作用體現在三個方面:其一,幫助專案組利用版本物件庫(VOB)完整地儲存整個專案的開發歷史,實現對軟體資產的有效管理;其二,利用版本物件庫(VOB)的安全機制,靈活地控制不同人員對不同配置項的檢出和讀取的權利,有效地保護企業的核心機密;第三,幫助團隊實現並行開發,避免合併版本等工作阻礙其他開發工作,保證專案進度。
ClearQuest的主要作用是加強開發團隊與外界的溝通,使用者、測試人員與市場銷售人員可以直接通過Web提交變更請求,包括“缺陷”或“功能擴充請求”。
可以毫不誇張地說,配置管理和變更管理是軟體工程的基礎。ClearCase和ClearQuest除了對CMM2級的“軟體配置管理”KPA有幫助外,還可以對以下KPA提供幫助:“需求管理”、“軟體專案跟蹤與監督”、“軟體質量保證”、“軟體產品工程”以及“定量過程管理” 。
測試工具
“軟體質量保證”是CMM2級中另一個重要的KPA,軟體測試水平的高低直接影響軟體產品質量的好壞與開發週期的長短。綜觀現階段諸多軟體開發組織在軟體測試方面的狀況,我們不難發現,多陣列織存在以下問題:
● 沒有進行單元測試,或單元測試不徹底。
● 由於需求不準確,導致測試缺乏計劃。
● 測試工作大多依賴手工進行,沒有有效的自動化測試工具,致使軟體測試效率低下,測試周期較長,不能在軟體開發的各個週期進行完整的測試。
● 缺乏有效的跟蹤機制跟蹤解決軟體測試中發現的缺陷,致使有的問題得不到及時、恰當的解決。
針對這些問題,Rational提供了一系列測試工具,幫助使用者解決上述問題。這些工具包括用於單元測試的RQA(Rose Quality Architect)、Purify、Pure Coverage和Quantify 以及用於測試管理、迴歸測試和效能管理的Rational TeamTest。
特別需要說明的是迴歸測試。目前,對大型軟體系統來說,迭代式開發已經成為一種主流的開發模式,我們需要在開發的每個迭代週期內對軟體功能進行確認,這就是迴歸測試。如果依靠人工測試的辦法,這將是一個煩瑣、耗時的過程。Rational TeamTest採用物件導向的記錄技術,將對系統的功能測試動作記錄在測試指令碼中,當系統進入下一個迭代週期時,我們只需回放這個測試指令碼,就可以自動地進行軟體功能的確認,這種方法可以極大地提高軟體測試的效率,保證軟體功能測試的完整性。
以上工具可以單獨使用,解決個別問題,但是對於一個想在CMM實施中獲得較高階別評估的軟體組織來說,則需要儘可能廣泛地進行有效的規劃與部署,將這些工具有機地結合起來,滿足企業在軟體質量方面的較高要求。為此,Rational提供了一個完整的解決方案——TestStudio,它包括用於單元測試的PQC(Purify、Quantify、Pure Coverage)、提供全面功能測試和效能測試的TeamTest、進行差錯跟蹤的ClearQuest,以及一些對軟體開發管理提供支援的基礎工具,並將這些工具緊密地結合在一起。
需要注意的問題
從CMM1級到CMM2級,對一個軟體企業來說已經是一個很大的挑戰。因為,CMM2級中已經包括了需求管理、配置管理、質量保證等工作,而且在實施過程中,往往需要對組織機構和軟體開發過程進行重構,還需要開發人員掌握各種工具的使用方法。因此,企業應確定重點,分階段實施CMM2級,具體步驟如下:
● 確定本企業軟體開發工程中最急待解決的問題以及為解決這些問題需要完成的工作目標,這些目標應該與CMM中各KPA的目標相吻合。
● 確定試點專案,在該專案內以RUP-C為藍本,實施過程改善並推廣相關工具的使用,以積累經驗。
● 根據CMM2級對各目標的判定條件,對試點專案進行自查,以判斷確立的目標是否已達到。
● 將試點專案的經驗在全企業推廣。
● 當CMM2級的所有目標都達到之後,才開始正式的評估。
經驗資料表明,CMM1級到2級往往需要2年左右的時間,所以企業應該為進行CMM2級評估設定合理的時間期限,切忌急功近利。
相關文章
- 國內軟體企業實施CMM有四大障礙 (轉)
- 軟體企業如何實施CMM
- 詳解中國企業實施ERP的障礙
- 國內企業實施ERP的思考 (轉)
- 如何解決實施大資料的常見障礙大資料
- 分享國內中小企業NetSuite ERP實施案例UI
- 企業版防毒軟體哪家強?國內外四大熱門產品測評防毒
- 失控的“遊戲障礙”遊戲
- 國內有哪些做得好的企業協同辦公軟體?
- [技術討論]國內企業軟體的狀況和瓶頸
- 國外好用的企業CRM軟體解析
- 國內好用的ftp軟體,三款國內好用的ftp軟體FTP
- 張馳諮詢:企業實施精益生產培訓的最大障礙,只把精益培訓作為一種工具和方法
- BootStrap的色盲無障礙性boot
- 傳統資料庫是否會成為企業數字化轉型的障礙?資料庫
- 應用CRM系統的企業多種形式與客戶無障礙溝通
- 沈惠中:分析四大企業軟體廠商的SOA戰略
- 我國汽車製造企業實施ERP的風險分析(轉)
- 隨手記Android無障礙實踐Android
- Win7睡眠障礙Win7
- 如何在廣東IT企業內實施六西格瑪管理?
- 學習php+mysql的障礙PHPMySql
- 為什麼國內軟體行業普遍不如國外?行業
- 區塊鏈軟體公司:從事區塊鏈行業不得不克服的五大障礙區塊鏈行業
- 企業實施定製鞋廠ERP軟體需要注意哪些問題?
- 企業專案實施談
- 破除網頁設計障礙的10種實用方法網頁
- 每日 30 秒 ⏱ 無障礙工具
- 遊戲障礙,這“病”咋治?遊戲
- 加強對遊戲障礙的關注遊戲
- 軟體開發過程RUP,CMM,XP
- 艾瑞諮詢:2016年國內VR企業案例報告-軟體篇VR
- 企業如何實施專案控制?
- 冶金企業 TPM管理 實施指南
- 中小企業ERP實施風險的分析!
- 國內企業使用的CRM系統排行
- 持續投入資訊無障礙,榮耀佈局線上線下全渠道無障礙服務
- 國內主流的CRM軟體有哪些?