1. 程式人生 > >我對各敏捷開發方法的大致理解

我對各敏捷開發方法的大致理解

1. SCRUM
SCRUM?這個單詞我以前沒見過,所以我就不喜歡它,呵呵.SCRUM本義表示"混亂",它包括
多個“怪異”的方法/過程名稱。比如,SCRUM將開發過程分為30天的迭代週期,每個
迭代週期叫做一個Sprint(原意:衝啊!);每天有一個15分鐘的短會,用來決定第二天
的任務安排這樣的短會就叫做scrum。
我不喜歡SCRUM的原因如下:
1)一個方法,搞出這麼多名詞,加重我們程式設計師的負擔,不好;
2)SCRUM的迭代週期為30天,而且一個週期叫一個"衝",那不是要累死我們程式設計師?
3)每天有一個15分鐘的短會,唉,XX黨的會多!
4)15分鐘的短會叫"混亂",那....,15分鐘能結束嗎?
5)SCRUM強調,開發者每天要向管理者報告專案進度,唉,我受不了了....

2. Crystal

Crystal根據專案規模和專案的重要性(如發射火箭的專案和一個"hello world"程式的
重要性當然是不一樣的)來區別專案,並賦以相應的方法,所以,crystal是方法的組合.
相對於其它敏捷方法,Crystal強調軟體開發流程的紀律性,所以,它比其它敏捷方法易
於使用,但它的生產率不如XP等其它敏捷方法.

3. ASD(Adaptive Software Development)
ASD強調開發方法的適應性(Adaptive),這一思想來源於複雜系統的混沌理論(這個
名字大家應該都聽說過了,炒股的用的很多,呵呵)。ASD不象其他方法那樣有很多具體
的實踐做法,它更側重於理論,因為它的作者就是搞理論出身的。

4. FDD
FDD(Feature Driven Development)定義了5個流程,
分別是Develop an Overall Model、Build a Features List、Plan by Feature、Design by Feature和Build by Feature。
前3個流程是在專案開始就進行的,其實總體相當於我們現在的系統分析;後兩個則出
現在每次迭代週期中,FDD的迭代週期是兩週,相當於我們現在的設計/編碼/測試。
開發人員被歸為兩種,一種是主程式設計師,另一種是class所有者。主程式設計師不作具體的
程式設計工作,但要負責將Feature和Class對應起來,並充當開發協調者、設計者、技術
支援和指導者等;class所有者則進行實際的程式設計。我認為這樣的劃分對國內的軟體開
發情況不合適,因為,真正達到主程式設計師水平的人,太少了!
對於ASD和FDD,國內介紹的還是比較多的.

5.XP

這個,大家都知道了,這裡,就不說了,呵呵.(