正规军 游击队-瀑布开发 敏捷开发
Waterfall的开发模式完全是受之以前公司的根深蒂固的灌输,所以每次有遇到一起探讨项目管理的朋友,
谈起来满口的迭代,PDCA,俨然一副国军正规军的打扮,对xp之流的敏捷式开发,鄙夷而之不顾,更谓之
游击队而笑之。
这几天由于业务需要,提示我留心一下agile的思想,硬性的命令驱使我不得不放下以前对之的鄙夷,
也开始关注这个以团队善战精悍而著名的游击队模式
读书笔记先记下。以便以后深入了解后好总结。
几个常见的敏捷开发方式
1. Scrum 一般把开发过程分为30天的迭代周期,或者更短,每个迭代周期叫做一个Sprint。英文
原意:疾跑。 翻译过来为 冲。每天有一个15分钟的短会,用来决定第二天的任务安排这样的短会就
叫做scrum,由于这样的会议,不类似waterfall那样由长期的计划性。所有会议多很多争议,scrum
也意味着混乱,可能这个术语也得意与会场的气氛了。开发者每天要向管理者报告项目进度。
2. Crystal 根据项目规模和项目的重要性来区别项目,并赋以相应的方法,所以,crystal是方法的组合.相对于
其它敏捷方法,Crystal强调软件开发流程的纪律性,所以,它比其它敏捷方法易于使用,但它的生产率不如XP等
其它敏捷方法
3. ASD(Adaptive Software Development)强调开发方法的适应性(Adaptive),这一思想来源于
复杂系统的混沌理论(听老罗-罗永浩讲过混沌数学破解老虎机)。ASD不象其他方法那样有很多具体的实践做
法,它更侧重于理论,因为它的作者就是搞理论出身的
4.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所有者则进行实际的编程。我认为这样的划分对国内的软件
开发情况不合适,因为,真正达到主程序员水平的人,太少了!
5.XP 太有名了(extreme programming)极限编程, 强调沟通、简单、反馈和勇气,对开发人员的工作
要求:编码、测试、倾听和设计,主要实现方法包括:测试驱动开发、结队编程、重构和极限编程工具。
汗,全是些神交的蓝图。不过有些东西确实折射出waterfall开发方式上的不足。先记下这些了。