我对各敏捷开发方法的大致理解

类别:软件工程 点击:0 评论:0 推荐:

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
这个,大家都知道了,这里,就不说了,呵呵.

本文地址:http://com.8s8s.com/it/it36394.htm