當前位置:編程學習大全網 - 編程語言 - 怎樣的設計流程才高效,精確,快捷?

怎樣的設計流程才高效,精確,快捷?

建立敏捷統壹過程框架我建議,軟件企業可根據自身的實際情況,以統壹過程(如 RUP)為基礎建立起符合ISO 9001、SW-CMM 和CMMI SE/SW等基準的組織軟件過程體系,同時包含敏捷過程(如XP、Scrum)和重型過程(如TSP)等內容。我把這種混合/集成過程體系叫做“敏捷統壹過程框架”(Agile Unified Process Framework,AUPF)。

壹、過程成熟度與多樣性

近年來軟件過程改進在國內日益得到重視,壹度出現了許多組織紛紛開展 SW-CMM 商業評估的熱潮。迄今全國已有近兩百家軟件企業通過了 SW-CMM、CMMI 各級評估(1 2 3)。這壹方面說明原本作為美國軍方標準(如今已成為全球通行的國際標準)的 SW-CMM、CMMI 並非高不可攀,另壹方面也說明加強軟件開發規範化管理、提高過程成熟度已經得到了業界的廣泛認同。

嬰兒洗澡椅熱季促銷行政侵奪科學的災難美女博客決賽進行北京手機資費下調

與此同時,國際軟件界的“敏捷熱”、“統壹熱”也在持續升溫。上世紀 90年代以DSDM、Scrum、FDD、Crystal、ASD、XP為代表的輕型軟件開發方法逐漸興起,其中又以XP對傳統的“反叛”最為顯著,它憑借與傳統思維相悖的“極端”做法既獲得了許多軟件客戶、管理者和開發人員的積極擁護,也遭到了傳統過程維護者的激烈反駁。2001年2月敏捷聯盟成立以及《敏捷軟件開發宣言》的發表,標誌著這場“敏捷運動”達到了壹個高峰。而作為吸收了電信、國防等關鍵行業以及IBM、HP、Microsoft等多家國際著名軟件企業過程經驗的商用過程產品,統壹過程RUP也在全球取得了廣泛的成功。某著名咨詢機構 2002 年對全球200位軟件相關行業IS/IT經理進行的調查表明:RUP使用率達到了51%,遠高於SW-CMM(27%)和ISO 9000(26%);而且到2003年, 大約50%的被調查者預計其50%以上的項目會使用敏捷方法,14%的被調查者認為其所有的項目會使用敏捷方法 [2] 。

承認軟件過程的多樣性與追求其成熟度壹樣重要。“ One size does not fit all ”,事實證明不存在壹成不變地適合於所有項目的過程模板。由於軟件過程的周境不同(如業務、資源、團隊、文化),層次不同(如組織過程、項目過程、團隊過程、個體過程),開發類型不同(如新產品、重用、服務、產品線),壹時間出現這麽多過程方法論並不足怪。

二、過程方法論對比分析

那麽,敏捷、統壹過程有哪些特點,與傳統過程有什麽不同呢?下面我們以 SW-CMM 為參照,挑選 3 個最典型的過程方法論( XP 、 RUP 和 TSP )作對比分析。

SW-CMM是壹套用來評估軟件組織過程成熟度的基準,闡明組織為了系統地實施軟件過程改進、提高過程成熟度應該做些什麽,但沒有規定如何去做。它的目標通常適用於所有的軟件組織或項目,用來實現目標的大部分關鍵做法也適合中小企業項目,而許多關鍵做法中的子做法主要目的是舉例說明如何在大型政府、國防合同項目中實現總目標,對中小企業項目僅有參考價值。除了對過程的集成性關註不夠,SW-CMM的主要缺點還在於缺少了現代軟件過程的壹些重要元素,其KPA主要集中在傳統過程的靜態文檔上(如設計、需求文檔,合同、計劃和報告等),只有很少數的KPA強調了演進式工件(如需求、設計模型,源代碼等)、開發環境的自動化水平以及基於架構的過程。 [6]

為了盡早通過評估,人們往往采用或模仿同樣是由SEI開發的PSP/TSP過程。建立在PSP之上的TSP可能是迄今為止最為嚴格的重型過程。為了提高過程的成熟度和可預測性,TSP強調對過程進行全面精確的度量,這依賴於制作大量復雜繁瑣的數據表格和文檔以及固定程式化流程配合,因而培訓、實施的成本很高。

RUP是壹個以用例驅動、構件式架構、叠代遞增式開發為基本特征,可廣泛地應用於各種類型和規模項目的軟件過程框架,它的基本特征與需求管理、配置變更管理、OOAD*UML可視化建模、持續檢驗質量等做法壹起集中體現了現代軟件開發的最佳實踐。RUP定義了起始、細化、構造、移交4個階段和業務建模、需求、分析設計、實現、測試、部署、配置變更管理、項目管理、環境等9個工種。階段對應著主裏程碑的劃分,不同工種的工作流活動在生命周期的叠代中並發進行,具體執行強度可以按需調節,角色、活動和工件也是靈活可配置的。由於RUP提供了極其豐富的內容,所以常被誤解為壹個重型過程。通過定制RUP通用框架,針對具體項目去掉不必要的元素並吸收其他敏捷方法,完全可以定制出敏捷輕型的RUP過程(如RUP的XP插件)。

極限編程 XP具有強溝通、簡化設計、迅速反饋等特點,壹般只適合於規模小、進度緊、需求不穩定、開發小項目的小團隊。在其12種做法中,測試為先、持續集成、簡化設計、代碼規範、現場客戶、每周40小時工作制、小型發布等早已有之,並不是新的發明,但XP通過巧妙整合把它們發揮到了極致。而代碼集體擁有、結對編程、重構、系統隱喻、計劃遊戲等做法並不是在任何情況下都適用的,使用不當往往會起到相反效果。SW-CMM與XP是互補的,Barry Boehm、Watts Humphrey等權威更認為XP與SW-CMM是哲理相容的 [5] 。主要區別在於,後者更關註過程實施在組織管理上的問題,而XP側重於具體的過程執行和開發技術,不含有被SW-CMM認為是使良好的工程和管理實踐制度化的關鍵基礎設施。

許多團隊在壹定條件下實踐 XP可能會收到意想不到的好效果,但純而又純的XP的適用面可能也很小。克萊斯勒公司的C3薪資系統項目恐怕是引用次數最多的XP成功案例,但實際上該項目後期還是由於開發團隊與管理者之間的溝通出現問題而遇到了麻煩。壹個經典的XP項目偏偏在其核心的溝通要素上出現問題,的確值得人們深思。 [7]

XP以代碼為中心,編碼和設計活動融為壹體,弱化了架構,這是它與以架構為中心的RUP的最大不同,而且它沒有業務建模、部署、過程管理等概念。兩者也有不少***同點:它們都采用OO技術(取代傳統結構化方法)、演進式叠代周期(取代傳統瀑布模型),強調風險驅動,以保障可用產品的持續性交付為前提,盡量減少不必要的過程工件,使度量、文檔最小化以獲得彈性和應變能力。由於RUP、XP結合了具體的開發方法,因此比TSP具有更好的可操作性。

敏捷、統壹過程滿足了 SW-CMM絕大部分目標及2、3級KPA的要求,對4、5級KPA基本沒有涉及。然而,服從類似SW-CMM這樣高質量的過程框架,並不壹定會開發出高質量的產品,生產出高質量產品的真正高質量的過程卻理應被評估為成熟的過程 [6] 。事實上,國際上不少采用RUP的組織已經達到或超過了SW-CMM 3級的水準。通過SW-CMM評估要求組織在過程制度化建設上付出大量復雜、高成本的努力,但過程改進的有效性與復雜性、高成本之間沒有必然聯系。過程選擇的多樣性和SW-CMM目標的通用性決定了過程改進途徑的多樣化。

內容太多,只好再到網上查找:

來源網站:“ERP總設計師論壇”(擺渡搜索)[面向敏捷Agile欄目]

涉及:ERP解決方案||需求分析||業務建模||系統分析||信息監理;

  • 上一篇:華為即將推送鴻蒙3.0開發者Beta版本
  • 下一篇:什麽是克隆技術?克隆有什麽用
  • copyright 2024編程學習大全網