项目管理资源网

您的位置:项目管理资源网 >> IT通信项目管理

敏捷开发纵横谈(一)

2011/1/13 9:55:50 |  3196次阅读 |  来源:umlonline.cn   【已有1条评论】发表评论

摘要

在IT界中,“敏捷”是一个很酷的词汇,“敏捷”的相关理论可谓铺天盖地。

“敏捷”一词实质没有统一定义,各家有自家的说法,本教程将让你了解“敏捷”的来龙去脉,抓住“敏捷”本质,并能在工作中实践“敏捷”。

大纲:

“敏捷”陷阱

为什么会有“敏捷”这个说法?

极限编程

敏捷开发

RUP

敏捷开发的实质是什么?

如何才能敏捷起来?

正文:

“敏捷”陷阱

小甲想到某开发公司应聘开发工程师,向该公司的某开发人员打听他们的开发方式。

小甲:请问贵公司开发模式是怎样的?

开发人员:咱们敏捷开发!不用写文档,写好代码就可以了。

小甲心想:哇,爽啊!赶紧去应聘!

小甲已经在该公司工作了数周,他觉得很郁闷:

无需求文档,要做东西都是口头分配的。

无计划可言,想到啥就做啥。

加班不在话下,返工是家常便饭。

这就是敏捷开发吗?

不少公司搞CMMI认证,推行过程改进,往往被开发人员嗤之以鼻,开发人员喜欢自由奔放有创造力的工作模式,喜欢敏捷!

然而很多号称“敏捷”的公司,其实只是手工作坊的工作模式,想到啥就干啥,如果你是开发人员可能还会好一点,如果你是测试人员、实施人员,在这样的公司你简直会觉得无法沟通无法工作!

到底什么是敏捷呢?如何才不会跌入敏捷陷阱呢?

为什么会有“敏捷”这个说法?

大学时我们就被灌输了这样的知识:

生命周期模型有瀑布型、喷泉型、迭代型、螺旋型等。

一般来说,大型的、复杂的、对安全要求高的系统,应该采用传统的瀑布型来开发,应采取重型过程。

对于中小型、需要快速投产的系统,应采用灵活的生命周期,采用敏捷的方式开发。

其实“敏捷”是相对于“重型”提出来的,重型开发有这样的特点:(摘自互联网)

1.刻板而严格控制。

2.很多活动和工件,官僚主义气息浓重。

3.文档繁多。

4.长期而详细的计划。

5.过程高于本质核心的工作。

6.面向过程而不是面向人,把人看成机械方法中的插件。

7.预见而不是适应。

于是我就很有疑问了,如果重型开发有这样的特点,那么请问:对于大型的、复杂的、安全要求高的系统,也需要用具备上述特点的重型过程来开发吗?如果是这样,谁愿意在这样的工作环境下工作?具备这样特点的过程对项目成功有什么好处?

“重型”的重要特点是呆板,因为大家不喜欢呆板,喜欢灵活,所以提出了“敏捷”的说法!

我猜想:

1.重型过程其实是一些没有实际项目经验的理论家搞出来的产物。

2.重型过程的出发点纯粹就是为了过程而过程。

当然上述论述纯属瞎猜,无法证实。

每个人对“重型”与“敏捷”的理解其实都不太一样,这里我用一个问题来测试一下你:

我国的航天事业取得长足的发展,让国人振奋,请问:你认为嫦娥工程采用的过程是重型的还是敏捷的?

这么重大的项目,很多人可能认为应该是重型过程,很多人可能认为敏捷的过程是不太严禁的过程,其实嫦娥工程是灵活而又十分严谨的工程。

大家有没有留意到我们火箭发射时间是如何预报的?是不是具体说某天某时某刻发射?

不是!而是说某段时间内择机发射!“择机发射”是多么灵活、科学、严谨的发射计划啊,完全与我们传统的计划想法不一样,难道你能说这也是重型过程吗?

所谓“重型”与“敏捷”其实都是相对的,我们没有必要去争论到底是“重型”还是“敏捷”。我们平时见到这么多“重型”“敏捷”的不同说法,其实大家都是各自从不同的标准出发。

下面我们将介绍常见的几种敏捷开发,每种理念其实背后的道理是很类似的,我们没有必要去争论哪种方式更好,你完全可以吸取百家所长化为自己的理念,按照你的想法将项目做好。

极限编程

极限编程英文叫:Extreme P

    项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~

    http://www.leadge.com/pmqhd/index.html

“项目管理生根计划”
企业项目经理能力培养和落地发展方案下载>>

分享道


网站文章版权归原作者所有,如有认为侵权请联系我们,将于1个工作日内作出处理!
网友评论【 发表评论 1条 】
  • 1 2011/1/14 9:08:34 来自:

    不错

网友评论(共1 条评论)..
验证码: 点击刷新

请您注意护互联网安全的决定》及中华人民共和国其他各项有关法律法规或间接导致的民事或刑事法律责任
·您在项目管理资源网新闻评论发表的作品,项目管理资源网有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款