捷的軟體開發流程(CMMI)

敏捷的軟體開發流程(CMMI)

發表於 2006 年 10 月 15 日 由 Tsung

大公司都很喜歡推一堆流程, CMMI, Scrum, Agile .... 有一卡車的流程, 總而言之大多數就是多一堆的報表出來(當然有些流程例外), 來做 Check 的動作... 到底這些流程的精神在哪邊...

下面整理一下找到的連結, 還有 CMMI 推導者推行成功後受 ITHome 採訪的文章~ 可以參考看看 

以下轉載自 上述 MS 敏捷的軟體開發流程這篇文章, 再做些簡單的編排. 雖然是 2003 年的文章, 但是是淺而易懂的好文章 

敏捷的軟體開發流程 作者:林耀珍 2003 年 11 月

速度是企業競爭致勝的關鍵因素,軟體專案的最大挑戰在於一方面要應付變動中的需求,一方面要在緊縮的時程內完成專案,所以軟體團隊除了在技術上必須日益精進,更需要運用有效的開發流程,以確保團隊能夠發揮綜效。這正是 Agile Process (敏捷的軟體開發流程) 於近年來興起的主要原因,本文將介紹數種廣為接受的軟體開發流程,及其在運用上的建議。

Agile Process - 敏捷的開發流程

幾乎所有的軟體專案都會在起始階段面臨選擇開發流程的困難,一種是完備的開發流程,另一種是簡易輕便的流程。雖然我們了解採用完備的開發流程可以提高軟體的品質,但是因為欠缺人力、工具與時間,我們常會被迫採用簡化的流程,但事與願違,大部分的情況我們仍然難以在預算內及時完成專案。

Agile Process (敏捷的開發流程) 是一種軟體開發流程的泛稱,Agile Process 具有下列幾項共通的特性:

  1. 客戶與開發人員形成密切合作的團隊,因為客戶無法於初期定義完整的規格,而開發人員於開發過程中也常常無法知悉外在環境或業務的變動,所以需要兩者密切合作方能開發適用的軟體。
  2. 專案最終的目標是可執行的程式,因此所有的中間產品必須經過審慎評估,確認有助於最終目標,才需要製作中間產品。
  3. 採用 Iterative 與 Incremental 方式分階段進行,密集 review 是否符合需求。
  4. 流程可以簡單,但規劃與執行必須嚴謹。
  5. 強調團隊合作,賦予高度的責任,團隊有自主權得以因應變化做調整。

RUP 開發流程 - Rational Unify Process

RUP 為 IBM Rational 公司經過多年的研發與經驗所提出的軟體開發流程,其內容含蓋 Business modeling, Requirement Modeling, Logical Design, Implementation, Testing, Deployment 等軟體開發生命週期的直接工作,與 Project Management, Change & Configuration Management,Environment support 等支援性工作。RUP 的內容非常豐富,不同的專案需要不同調整,IBM Rational 提供 RUP workbench 工具,方便調整 RUP,並公佈於 Web,方便專案成員遵循統一的流程規範進行工作。

RUP 的主要精神為:

  1. 專案進行採用 Iterative 程序分階段漸進地完成專案功能
  2. 廣泛使用 Visual Modeling 於商業需求分析、系統分析與系統設計
  3. 強調架構設計
  4. 對每項工作所需要的技術、工具、做法、範本、檢查項目均有詳細的定義,架構完備且具有可調整的彈性

因為 RUP 的流程規範與相關技術較複雜,所以導入時必須注意幾個因素:

  1. 主管的支持以確保足夠的資源投入
  2. 分階段導入
  3. 適當的訓練與密切的顧問咨詢
  4. 使用 Modeling 技術時需要考量 Coding 的實作環境
  5. 良好團隊的管理,以溝通、耐心與堅持解決變革的人性阻力

XP 開發流程 - eXtreme Programming

XP 亦稱為終極流程,是最輕量級的開發流程,其最主要的精神是『在客戶有系統需求時,給予及時滿意的可執行程式』,所以最適合需求快速變動的專案。XP 經過 6 年的實作與修改,已演化為精緻的開發流程,但仍不失其精簡的特性,它強調客戶所要的是 workable 的執行碼,所以把與撰寫程式無關的工作降至最低,並要求客戶與開發人員最好以 side-by-side 的方式一起工作。

XP 開發流程的基本步驟為:

  1. 開發人員隨時可以和客戶進行有效溝通,撰寫 user stories 以確認需求
  2. 簡易快速的系統設計,撰寫獨立的驗證程式以解決特殊困難的問題,找出演算法即可丟棄驗證程式
  3. 規劃多次小型階段的專案計劃,以最快速度完成每一階段的程式交付客戶,客戶負責 Acceptance tests
  4. Coding 前必須完成 Unit Test 與 Acceptance tests 程序,所有模組整合前都須經過 Unit Tests
  5. 開發人員必須快速回應 Bug 與需求變更
  6. 要求二人一組使用一台電腦設計程式,當一人 coding 時,另一人負責思考與設計
  7. 程式必須符合程式規範,並常做程式的重整 (Refactoring)。

XP 屬於較精簡的流程,於導入應注意幾件事情:

  1. 最好有顧問給予協助
  2. 持續的 Review
  3. 可適當調整流程,但不可失去其基本精神。

SCRUM 開發流程

SCRUM 開發流程是 Agile Process 的一種,以英式橄欖球爭球隊形 (Scrum) 為名,基本假設是『開發軟體就像開發新產品,無法一開始就能定義 Final Product 的規程,過程中需要研發、創意、嘗試錯誤,所以沒有一種固定的流程可以保證專案成功』。Scrum 將軟體開發團隊比擬成橄欖球隊,有明確的最高目標,熟悉開發流程中所需具備的最佳典範與技術,具有高度自主權,緊密地溝通合作,以高度彈性解決各種挑戰,碓保每天、每個階段都朝向目標有明確的推進,因此 SCRUM 非常適用於產品開發專案。

SCRUM 開發流程通常以 30 天為一個階段,由客戶提供新產品的需求規格開始,開發團隊與客戶於每一個階段開始時挑選該完成的規格部份,開發團隊必須盡力於 30 天後交付成果,團隊每天用 15 分鐘開會檢視每個成員的進度與計畫,了解所遭遇的困難並設法排除。

SCRUM 與傳統開發流程及專案管理差異較大,於導入時最好有顧問協助。

總結

Agile Process 的精神已經成為共識,但是沒有一種固定的流程可以重複使用在不同的專案上。而且不管是 RUP、XP、SCRUM、或其他的開發流程都允許相當大的彈性,我們必須按專案性質的不同,調整或混合出適合的開發流程,並允許團隊於進行中做必要的彈性修改,方能達成目標。

參考資料

时间: 2024-11-18 06:15:47

捷的軟體開發流程(CMMI)的相关文章

敏捷的軟體開發流程(CMMI)

敏捷的軟體開發流程(CMMI) 發表於 2006 年 10 月 15 日 由 Tsung 大公司都很喜歡推一堆流程, CMMI, Scrum, Agile .... 有一卡車的流程, 總而言之大多數就是多一堆的報表出來(當然有些流程例外), 來做 Check 的動作... 到底這些流程的精神在哪邊... 下面整理一下找到的連結, 還有 CMMI 推導者推行成功後受 ITHome 採訪的文章~ 可以參考看看  讓幽默態度在工作上發揮蝴蝶效應(CMMI推導者感言) 敏捷的軟體開發流程 - MS 你真

菜鳥關於JAVA開發模式問題請教

问题描述 背景:因為最近公司要求,未來部分專案轉向JAVA開發,脫離微軟,盡量使用開源東西,降低成本(公司是製造業集團,開發的軟件也都是公司內部使用),而之前公司幾個事業部都是使用(.NET + Oracle)現在集體在學習JAVA開發,而技術是由總公司決定的,使用ZK框架開發,目前在學習過程中,自己感覺到一些疑問,平時都會來論壇,知道大神非常多,所以在這裡開個帖子請教.首先我的.NET開發模式歷程:03-04年:asp 05-06年:asp.net (使用.net服務器控件開發,感覺很像現在學

小巧實用的虛擬桌面軟體 - VirtuaWin

這是非常一個小巧而實用的虛擬桌面軟體,能提供最多至 9 個虛擬桌面,可以使用鍵盤或滑鼠來切換虛擬桌面:並且可以安裝各種模組來加強它的功能. 有了它,一般使用者可以將工作分開在不同的虛擬桌面上來執行,免除工作列和桌面擁擠雜亂的困擾:而想上班族朋友有時想偷懶一下上網聊天可切換到某個虛擬桌面來執行,當老闆來巡察時立即切回之前工作的虛擬桌面. 安裝與啟動 安裝過程中請勾選 "Autostart upon boot" (預設會幫您勾選),這樣每次開機時就會自動啟動 VirtuaWin. 安裝好之

招聘C#開發人員(廣州)

问题描述 本公司分工較爲明確,有多种崗位,可看具體情況而定,開發Winfrom爲主可為一般開發人員,或者新技术研发人員,或者商業模型設計人員要有2年或以上的開發經驗工資4k以上,具體視情況而定MSN:anson-helldog@hotmail.com 解决方案 解决方案二:WinForm为什么不招C++?

visual studio-c#開發 edi (電子資料交換) ANIS X12

问题描述 c#開發 edi (電子資料交換) ANIS X12 最近公司的客戶 系統更換為EDI的方式 但是 下單的時候 是給我們EDI ANSI X12 850的標準格式 850好像是採購訂單 然後我們還需要再轉成 edi格式給客戶 我有在網路上查到 EDI Framwork 可是測試版檔案只有2K的限制 完全無法使用 想請問有哪位高手用c#寫過嗎? 解决方案 你们公司是做货运的吗? 实际上大部分EDI的标准格式都只是用来做参考,各个公司在使用EDI文档的时候都会有或多或少的改变, 所以网上直

請問哪里有visual studio 2005開發工具免費下載啊?非常感謝

问题描述 請問哪里有visualstudio2005開發工具免費下載啊?其它版本的也可以,非常感謝 解决方案 解决方案二:微软网站有个免费版本www.asp.net也有解决方案三:可是我到www.microsoft.com沒有下載到啊,我聽別人說有幾個G那么大是真的嗎?解决方案四:中文专业版是2.54G.MS官方网有express版下载,可以满足学习的一般开发.我想没几个个人用户买得起正版VS05吧,我在学校得到的,老师去买个D盗碟,放在学校内网FTP供同学们下载(汗~~~为人师表居然鼓励D盗,

計算你開發的 PHP 程式大小_php实例

复制代码 代码如下: <?php    /**    * 計算該目錄下的程式規模,包含檔案數,行數,字數    *    * @version 1.0    * @since 1.0    * @access public    * @author Ryan <ryan@shinersoft.com>    * @copyright Copyright (c) 2002-2004 by Shiner Technologies Co., Ltd.    * @package AAPorta

請教如何打開jsdt的功能?聽說開發js很棒。

问题描述 大家好,我想請教一下關於wtp,jsdt的使用.無意中搜索到ibm的文章裡關於javascript工具的一篇文章JavaScriptDevelopmentToolkit简介地址是:http://www.ibm.com/developerworks/cn/opensource/os-eclipse-jsdt/裡面提到了jsdt.看到介紹覺得還是蠻強的.就想嘗試一下.在eclipse網站上搜索到了下面這個載點頁面:http://download.eclipse.org/webtools/d

.NET Framework環境下的ASP網頁製作(1) (王国荣)

網路公司裁員.網站關閉.電子報停刊-,經歷電子商務的退潮之後,有人開始質疑電子商務是不是被高估了.也許網際網路不再編織賺大錢的美夢,但經過這幾年的洗禮,網際網路已經成為大眾生活中的一部份,據說台北市的國中生能製作網頁者已經相當普遍,由此可見一斑,當網頁製作變成一般知識之後,想生存於網際網路,夠不夠專業將是決勝因素. 在 .NET Framework底下,筆者很欣慰ASP(Active Server Pages)變得更專業了,簡單地回顧過去的ASP,我們至少可以指出幾個缺點: 只能使用VB Scr