敬請註冊 ... !    登入
關於本協會
登入
軟體品質資源專區
主選單
最新討論文章
討論區主頁
   軟體工程管理
     新的軟體開發方法 Agile method
無發表權

樹狀顯示 | 新的在前 前一個主題 | 下一個主題 | 頁尾
發表者 討論內容
tompig
發表時間: 2008-11-04 23:35
Just popping in
註冊日: 2008-11-04
來自:
發表數: 1
新的軟體開發方法 Agile method

軟體開發方法,最多使用的方法目前是CMMI最為普遍.

但是最近出現一套新的開發流程敏捷方法(Agile method) , 主要強調加強與團隊以及客戶之間的溝通,讓開發流程更加迅速敏捷.

是否可以請個位大大們解釋一下何謂 Agile method , 還有那邊有更多Agile method的資料?

以及Agile method 與 CMMI 差異為何?

dick002
發表時間: 2008-11-05 16:10
Just popping in
註冊日: 2008-11-05
來自:
發表數: 1
Re: 新的軟體開發方法 Agile method
市面上的軟體開發方法,還是講求傳統工廠的思維,講求精細分工 嚴格控管注意產量成本等.但是軟體不是一般的工業產品.應該是一件藝術作品.讓使用者用的舒服方便.Agile method擺脫傳統的軟體開發方法.講究與團隊以及客戶之間高頻率的溝通.以加快高品質的軟體開速.敏捷方法苗圃這個網頁有Agile method的詳細介紹,希望各為大大可以進來看看.
台灣敏捷苗圃
albertchou
發表時間: 2008-11-06 19:58
Just can't stay away
註冊日: 2003-04-21
來自:
發表數: 71
Re: 新的軟體開發方法 Agile method
以個人粗淺的認識,有些不同的看法,說明明如下:

CMMI是一個過程改善成熟度模型(process improvement maturity model),它用來協助組織改善其開發與維護產品與服務的過程。不論這個組織要開發的(或維護的)是什麼產品?以及使用的是什麼方法?都可藉助CMMI來改善其過程。也就是說,不論組織用的是Agile method, UP/RUP或傳統的瀑布式…等產品開發方法,都可用它來改善。

一般開發產品都必須經過以下的步驟:
1. 瞭解使用者的需要並將使用者的需要轉變成產品規格(產品需求);
2. 依據產品需求規格設計產品;
3. 按照設計實做出產品;
4. 產品完成後再依事前約定的(規劃的)測試方法去測試產品。

不論組織採用何種方法,都必定要有足夠的人,具有適當的能力把以上的每一種工作做到合於品質的程度。所謂合於品質的程度,意即:參與其中的人,都能跟據其上手所完成的工作,在不需額外的溝通下,繼續進行其本身的工作,而且這其中不會有誤解,使得最終產品不符使用者的需要。要達成此一目標,組織就必須有明確的過程,來指導組織內的成員如何運用其本身的專業技能(包括知識與經驗)以完成其工作。組織要建立這樣的過程,所需要的知識,就是我們所稱的開發方法。其中比較傳統的為瀑布式的方法,之後有UP/RUP,最近比較熱門的為Agile method。這些方法都有其適用的情境,也有其不適用的情境。打算引用方法的組織、專案或個人應於事前審慎評估。

個人淺見以為Agile method就如同中國武俠小說中某種登峰造極的功夫,不是完全不會任何武功的人可學、可練與可用的。所以,在打算深入瞭解它之前,不妨先問問自己以下的問題,然後再評估一下是否要花費寶貴的時間於其上。

1. 您的組織目前有使用任何方法(當然不是Agile method) 並且有成功的案例嗎?
2. 您的組織有任何被成員遵循的明訂的過程嗎?
3. 您的組織有足夠的合格的人可以執行需求分析、設計與測試等不同的工作嗎?
4. 您的組織對產品開發工作有良好的管理嗎?所謂良好的管理,意謂:當工作或產品出差錯後,到您覺察到出問題這中間經過的時間,這段時間愈短表示您組織管理的愈好,反之則管理的就愈差啦。
5. 您的組織有任何過去執行專案的歷史紀錄嗎?意即,您的組織從過去的專案中學到了什麼(不論成功的或失敗的)?

如果,以上這五個問題的答案,否定的多於肯定的。那麼,個人衷心的奉勸您不必浪費時間去瞭解什麼是Agile method。因為,您的組織正瘓了“知識疏鬆”症候群。在此狀況下您的組織還要引用Agile method,就如同一個瘓了“骨質疏鬆症”的人,還硬要學成龍在電影中表演的各種“追趕跑跳碰”的功夫一樣,會死得很慘啦!

真心祝福您 一天活得比一天好!

周茂松 敬上
albertchou
發表時間: 2008-11-10 11:17
Just can't stay away
註冊日: 2003-04-21
來自:
發表數: 71
Re: 新的軟體開發方法 Agile method
關於dick002所言:『軟體不是一般的工業產品.應該是一件藝術作品。』,我要表達一點不同的意見。

首先,吾人要說A這樣東西是B?應該要先知道B具有那些特質,然後再檢視A是否具有那些特質;如果,A確實具有這些特質,那麼吾人才可以說A是B;否則,吾人就不能將A視為B。如果,各位同意這樣的邏輯,那麼我們來看藝術品到底有哪些特質?

個人以為藝術品是沒有需求的,它是創作者對“美”有所感動下,以某種形式(或媒體)來表達其內心的感動;另外,創作者在創作該藝術品之初,通常“經濟的因素”都不是它(至少不是首要)的考量。舉凡音樂、雕塑、書畫、小說、舞蹈、歌唱、戲劇…無一不然。反觀軟體,它通常不是創作者對“美”有所感動而創作的,而是由客戶或使用者(非創作者)所提出的明確需求與目的發展而來的;其次每一軟體於開發之初都應審慎考量其經濟上 (也就是成本與效益) 的因素。

由此觀之,個人以為:我們以開發軟體為業(職業或專業)的人,萬萬不可將軟體視為藝術品,一定要將其視為產品。否則,由於此一觀念的謬誤,將導致對其製作或開發過程(也就是軟體工程)完全錯誤地理解與不當地實踐。

dick002又言:『Agile method擺脫傳統的軟體開發方法.講究與團隊以及客戶之間高頻率的溝通.以加快高品質的軟體開發』。“高頻率的溝通”與“加快高品質的軟體開發”之間的因果關係要成立,必須有一個前提,那就是,開發團隊與客戶之間原本就可以進行“有效的溝通”。如果,開發團隊與客戶之間經常處於“雞同鴨講”的情境下,那麼“高頻率的溝通”不但無濟於事,反而可能加快garbage的產出,短時間內產生過多的garbage,又會使原本的問題更加惡化。當此情況下,首要之務,是放慢脚步改善彼此溝通的方法,以求能夠精準而有效的溝通,而非一味追求快速。在此再次提醒大家,問問自己:我們的團隊善於與人(客戶、使用者及其他利害關係人)溝通嗎?我們瞭解他們嗎?我們能讓他們瞭解我們嗎?還是我們只會(精通於) 用程式語言與機器溝通?

花點時間看看自己、瞭解自己的團隊,特別是不知不足之處。這會比您一天到晚想找“仙丹”(譬如:Agile method或其它什麼的)來得實際點。如果,您真的已靜心來想瞭解自己團隊的不知不足處,此時,CMMI會對您有莫大的助益。祝福 大家!

周茂松 敬上

樹狀顯示 | 新的在前 前一個主題 | 下一個主題 | 頁首

無發表權
 
-=協會通訊地址:330047 桃園市桃園區大林路100號6樓 =-
電話:(03) 367-8567 電子信箱:register@csqa-tw.org.tw=-
-=本網著作權為中華民國資訊軟體品質協會所有,禁止未經授權轉貼節錄=-
Powered by XOOPS , Twe76.net