club.mypm.net
前言: 这不是一篇介绍敏捷开发的入门文章, 而是我学习、实施敏捷的一些感想, 如果你没有实践过敏捷软件开发,
不妨到文末看看书籍推荐。PgMp.mypm.net
我大概是在2003年接触敏捷软件开发这个概念,之前无论是在学校的小打小闹项目,还是工作后的项目都是典型的瀑布式开发模式, 设计上自顶向下逐层分解,
设计、实现、测试、上线有条不紊。bbs.mypm.net
除了大学时做的某个人项目, 客户在不停的提需求之外,
基本上没遇到多少需求剧烈变更的情况(可能和做的项目有关,不是定制化软件开发),所以觉得瀑布也挺好啊,
大学里《软件工程》这么课讲的瀑布开发还是很有用的嘛。项目管理者联盟
但是看到敏捷宣言以后,内心还是被狠狠的震撼了一下: 原来软件开发还可以这么做!pmp.mypm.net
这个宣言是这么说的:项目管理论坛
club.mypm.net
注意下面的小字:尽管右项有其价值,我们更重视左项的价值。项目管理者联盟
这17位软件开发的领军人物所做出的呐喊绝对刷新了我的软件开发三观:项目管理者联盟文章
我们的终极目标是按时高质量的交付可以工作的软件, 不是编写那些非常容易过时的文档,也不是遵循严格的评审流程。项目管理者联盟文章
客户要深度的参与到开发中来,我们会经常的给他们做演示,获取他们的及时反馈, 而不是到最后一刻才得知,我们做的并不是客户想要的。www.mypm.net
我们欢迎需求变化(即使在项目的后期!) ,为了达到这个目标, 我们会采用迭代化的开发方式,经常的交付可以工作的软件。项目管理者联盟
了解理念之后, 很快我就接触到敏捷开发的一个重要流派:项目管理者联盟文章
XP(极限编程), 提出者是Kent Beck, 这哥们搞的更绝:如果一个编程实践很好,
我们就把它做到极致!项目管理者联盟
测试不是很好吗? 那我们就测试先行, 用测试来驱动代码的生成, 这就是TDD。项目管理者联盟
代码评审不是很好吗? 那我们就一边编程,一边评审, 两个人同时在一个电脑上编程,这就是结对编程。training.mypm.net
......项目管理者联盟
我被XP给迷住了, 开始自学JUnit, 测试驱动开发, 重构代码这些编程层面的实践。training.mypm.net
毫无疑问,这些实践确实能提升代码的质量,但是一直没有机会在一个团队中大规模的铺开使用。项目管理者联盟
到了2008年, 公司突然间要做敏捷转型,要实施Scrum, 于是又开始了新一轮学习,我这个XP粉丝刚开始还有点小抵触,
后来发现Scrum仅仅是一个框架而已, 我以前学的一些敏捷实践仍然可以运用到其中去。www.mypm.net
有了新东西,大家忙活的热火朝天,设立product owner, scrum ma ster。项目管理者联盟
学习把需求改成用户故事,拆分task, 创建燃尽图。项目管理者联盟文章
开Sprint计划会议, 每日站会,Sprint评审会,反思会等等符合Scrum的东西。转自项目管理者联盟
当然自动化测试, 自动化Build这些工程层面的东西也少不了。bbs.mypm.net
热乎劲儿过了以后,我不由的困惑起来:这真的talent.mypm.net
|