项目管理资源网

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

敏捷开发纵横谈(三)

2011/1/13 10:02:25 |  3947次阅读 |  来源:网友转载   【已有0条评论】发表评论

敏捷开发

有一种敏捷开发,就叫敏捷开发。你可以认为这种是“狭义”敏捷开发,而本文标题所说的敏捷开发是泛指所有带有敏捷特点的开发模式。

这种敏捷开发有这样的特点:

1.个体和交互胜过过程和工具。

以人为本,注重编程中人的自我特长发挥。

2.可以工作的软件胜过面面具到的文档。

强调软件开发的产品是软件,而不是文档。文档是为软件开发服务的,而不是开发的主体。

3.客户合作胜过合同谈判。

客户与开发者的关系是协作,不是合约。

开发者不是客户业务的“专家”,也不是为了开发软件,把开发人员变成客户业务的专家。

要适应客户的需求,就要通过客户合作来阐述实际的需求细节。

4.响应变化胜过遵循计划。

设计周密是为了最终软件的质量,但不表明设计比实现更重要。

要适应客户需求的不断变化,设计也要不断跟进,所以设计不能是“闭门造车”、“自我良好”。

要不断根据环境的变化,修改自己的设计,指导开发的方向。

你可能会感觉到这些特点与极限编程的相似与不同之处,同时你也会感觉到这些特点很多与传统的重型开发针锋相对的。

RUP

统一软件过程,英文全写为:Rational Unified Process。

要精确理解RUP的意思还是有点难度的,简单谈谈我对RUP的理解。

按照时间顺序,项目分为初始(inception)、细化(Elaboration)、构造(Construction)、交付(Transition)四个阶段,每个阶段会有很多个小迭代。这四个阶段其实很难说有明显界限的,我觉得大家大概了解每个阶段的工作内容就可以了。

按照工作的性质,项目的工作可以分为以下几类:

商业建模(Business Modeling)

需求(Requirements)

分析和设计(Analysis & Design)

实现(Implementation)

测试(Test)

部署(Deployment)

配置管理与变更管理(Configuration & Change Mgmt)

项目管理(Project Management)

环境(Environment)

以上这些工作,在项目的不同时期工作量分布是不太一样的,如:商业建模、需求这些工作往往是头大尾小,分析与设计、实现等是中间大两头小,项目管理、环境方面的工作一直都会持续进行。

RUP的思想打破了“需求-设计-编码-测试”这样的传统瀑布模式,需求、设计、编码、测试这些工作其实一直都在进行的,只是不同时间比重不一样。这个思想是很符合“敏捷”的特点,也和实际情况非常吻合。

大家理解这个意思后,我觉得完全可以按照自己公司的实际情况重新定义时间上的阶段,也可以自己重新定义项目的各类工作,以及思考各类工作在项目不同时间的工作量分布。

关于敏捷开发的流派还有很多,如:自适应软件开发、水晶方法、实用编程等等,我觉不同流派其实本质还是很类似的,这里就不一一介绍了。

敏捷开发的实质是什么?

什么是敏捷?我想大家各有各的说法,我觉得敏捷过程应该是这样的:

1.一个项目目标明确的过程。

2.有利于实现项目目标的事情,一定要做。

3.对项目目标没有帮助的事情,一律不做。

4.有效和高效是最重要的项目管理原则。

5.敏捷的过程是让人愉快、工作起来有战斗力的过程。

敏捷开发简单说就是有有效的办法去做有用的事情,过程的目的是让项目做得更好,不是为了过程而过程,不是用过程来“框死”项目,过程是为项目服务的。

各家各派的敏捷方法论,其实基本道理都是这样的,只是各自从不同的角度来阐述如何

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

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

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

分享道


网站文章版权归原作者所有,如有认为侵权请联系我们,将于1个工作日内作出处理!
网友评论【 发表评论 0条 】
网友评论(共0 条评论)..
验证码: 点击刷新

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