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