艾伟也谈项目管理,敏捷开发,在路上

  如果有一种方法能使你的软件缺陷率降低63%,核心缺陷率降低79%,整体投入减少62%,整个项目开发的时间缩短69%,你会采用这种新的软件开发方法吗?

  在回答这个问题之前,你可能会问:是什么方法能达到这样的效果?答案是:敏捷开发。你一定会开始质疑:这是真的吗?或者你会说:我们也在用敏捷,但没有以上提到的这么夸张。

  以上提到的一些数据来自Forrester,一家善于用数字说话的咨询公司。他们对多个采用敏捷开发的项目与传统开发方式进行对比,得出以上数据。而这些项目来自敏捷刚刚开始起步的2002年。

  不相信敏捷开发能够大幅提高软件生产效率的可能并没接触过敏捷方法;而怀疑以上数据的人可能已经在使用敏捷,但并没有获得让人惊喜的提升。《敏捷宣言》虽然已经走过十年,但在国内,因为技术理念和文化的差异,敏捷开发要发挥出全部威力还有很长的一段路要走。

  我们在51CTO开发频道用户群做过一个小范围的调查,结果显示,有近三成的开发者表示自己和所属团队正在使用敏捷开发,有七成的网友表示并没有深入了解过敏捷开发。值得注意的是,在使用敏捷开发的团队中有不少人感觉自己在“伪敏捷”:标榜使用敏捷开发的方式进行软件开发,但团队内部依然遵循着传统的开发方式进行项目开发。

  “伪敏捷”——起步就走歪了

  任何新事物的深入与发展都需要一个过程,这个过程产生中,推行此项事物的出发点可能是影响新事物发展的重要因素。当51CTO记者将上述调查转述给ThoughtWorks CEO郭晓先生时他认为:实际上伪敏捷首先有一个目的,为什么要伪敏捷,谁需要让他做敏捷。

  目前,国内中小型软件企业在实施敏捷开发过程中,往往是迫于压力。两种常见的情况是迫于客户的压力和迫于上级领导的压力。

  比如一些软件企业可能被客户要求使用敏捷开发,更紧密的联系需求,更快的迭代交付。这时候只好打敏捷开发的牌子,实际上开发过程中却很少能正确的理解敏捷开发的思想,仅仅是简单的照搬一些工具来进行项目。

  第二种可能是软件企业的高层看到了敏捷的好处,也能理解敏捷开发所能带来的价值,希望下面的开发团队也能使用这种方法进行开发。但落实到具体的开发团队中,却因为各种原因没有很好的执行下去,最终成了只是为了完成领导的任务而敏捷。

  事实上,“伪敏捷”的产生最根本的原因是国内开发者还没有彻底的理解敏捷,认识敏捷。敏捷开发是一种方法,更是一种思想;在实践敏捷开发中,不但要求团队自上而下的“形似”,还要求我们可以充分认识敏捷思想,做到“神似”。

  要想做到“神似”,我们还有很长的路要走。任何东西都离不开实践,要想很好的理解敏捷开发,也要从实践开始。那么如何从一开始就不走歪路,如何正确的推行敏捷开发?

  尝试敏捷——从持续集成开始

  ThoughtWorks CEO郭晓先生建议是可以从持续集成开始实践敏捷。持续集成是敏捷开发中最常用、最普通的做法。它的价值在于在实施过程中可以会暴露出大量的问题,比如项目的架构问题、耦合度问题和团队沟通的问题等。

  持续集成理念很简单,一个软件不要等最后一天再上线,而是争取团队内部的项目启动第一天就完成上线和集成;这时候会有很多问题暴露出来,等待团队解决。当发现问题,我们就可以去寻找其他适合的敏捷方法进行解决,这样可以更有效的更快的获得敏捷开发的价值。

  当然,持续集成不是解决问题的灵丹妙药,但却是暴露项目和团队中问题的最佳手段,不同团队在面对和实践敏捷这么大的一个知识体系的时候有不同的方法获取价值。不断的获取价值,会使团队各个成员有更多的动力持续下去。

  需要时间和实践

  作为一种开发方法,敏捷开发虽然已有十年的积累,但在国内仍然有很长的一段路要走。很多观念需要接受,很多思想需要体会,很多方法需要实践。

  记得与敏捷开发专家麦天志先生谈及敏捷开发的发展时他曾提到,一种开发方式的普及是一个积聚的过程,一个好的开发方式是经过不断的实践和验证,并行之有效的。他认为,并不会有一个明显的分界线标志出敏捷开发到了那种普及的程度和境界,至少在目前,敏捷还在不断发展,更多的项目在实践敏捷,观念的普及和成功的案例正在不断扩大。敏捷开发,在路上。

时间: 2024-07-28 22:06:31

艾伟也谈项目管理,敏捷开发,在路上的相关文章

艾伟也谈项目管理,给敏捷软件开发的26条建议

我经常收集各种各样的至理名言,最近我重温敏捷软件开发:真正的问题是什么?下面是一份26条关键原则的清单,以指引敏捷软件开发团队. 1.完整地干完一件事后在开始另一件事:用厨房比喻来说就是:"先上这道菜,再开始做下一道".软件开发的最大问题就是同时开始几件事情,这将不可避免的造成某些工作被废弃,从而造成浪费.专注于一件事:完整地实现其功能:运行测试:编写文档:签入所有,把这当做一项工作完成,然后再开始下一件事. 2.不要破坏构建:非常明显,但必须被包含在任何软件开发建议清单中.程序员在签

艾伟也谈项目管理,敏捷实施中的常见错误

一些评论员写下了敏捷实施中一些常见错误和反模式.他们贴出了"Top X"列表,列出了需要避免的事项和他们曾在各种组织实现敏捷时见过的错误. Target Process的Michael Dubakov写了两篇博文:"10个敏捷实施中最常见的错误"(Part 1; Part 2 ).他认为"许多公司在敏捷实施中再三犯同样的错误." 他的常见错误列表如下: 1. 从一个工具开始敏捷开发是不同的.一个工具不会立刻产生影响,不会由于这一工具的存在而解决多

谈谈软件项目管理——敏捷开发

敏捷开发(Agile Development) 随着"敏捷"一词出现在越来越多的项目中,于是,敏捷开发本身也被赋与了越来越多的意义,而敏捷的真正内涵反而变得越来越模糊.如何迈出敏捷开发第一步?是按照敏捷宝典.操作指南或是教父语录,还是因地制宜.因项目定方法?完成所有这些工作后,我们就真的"敏捷"了吗? 一.前言 Agile是指企业能够对外部环境做出速捷.有效的反应,是未来企业的必备素质.21世纪企业面临的竞争环境将是一个不断变化.不可预测的环境.由于高新技术的出现和

艾伟也谈项目管理,关于项目管理的一点体会

这段时间,一直在负责一个项目的管理与开发.在时间短.任务紧,而团队人员又大部分是没有经验的菜鸟的恶劣情况下,我带领接近40人的团队,终于在客户规定的时间范围内如期交付产品.这其中,经历了需求变更.人员变动(因为其它任务,先后有近10人离开团队)等诸多问题,项目仍然取得成功了,不能不说有几分侥幸,但此外也有一些经验与教训可以与大家分享. 一.项目开发方面 需求 项目应以需求为核心.一个项目是否能够成功,对需求的准确把握在成功因素中要占上60%的比例.不管系统的架构设计.团队管理有多么的成功,如果需

艾伟也谈项目管理,微型项目实践感悟

1. 什么是微型项目 微型项目是指绝大部分工作由一个人员负责的项目,这个核心成员负责项目的系统分析.构架.及绝大部分的编码工作.项目的持续时间一般不会超过一个月.项目的参与人员除了核心的程序员外还可能一部分辅助人员,包括第二程序员(负责一部分编码工作).美工(负责界面设计)等. 微型项目的规模一般很小,业务逻辑也比较简单,价格一般也不会超过10K.程序员通常直接和对方领导打交道.客户大多没有任何技术背景.需要程序员直接负责系统的需求分析. 2. 微型项目分析 2.1 一般流程: 微型项目的流程可

艾伟也谈项目管理,我眼中的DevOps

相关文章:DevOps,不是一个传说! 过去一年以来,一批来自欧美的.不墨守陈规的系统管理员和开发人员一直在谈论一个新概念:DevOps.DevOps 就是开发(Development) 和运维(Operations)这两个领域的合并.(如果没错的话,DevOps还包括产品管理.QA.*winces* 甚至销售等领域) 脱节(The Broken) 那么--为什么要合并这两个领域?原因很多,但首要原因是:我们目前的工作流程是脱节的.绝对的脱节.很多公司的开发部门和运维部门之间存在的深刻矛盾,其实

艾伟也谈项目管理,动起来再调整 - 向项目经理推荐敏捷

要成为一个好的项目经理需要学会逆水行舟.虽然顺水推舟有时也能到达目的地,但学会逆水行舟,你才能到达任何地方. "虽然很有道理,但我认为现实不允许,很多项目都有规定的期限.中途还有给客户演示效果,往往实际项目中都是按最后上线日期来进行项目规划管理的." "写得不错,但是有些建议过于理想化了.毕竟说得很有道理,但实际中具体做起来又不是那么一回事了." 这是两位网友对<软件项目经理新手上路>的评论.这话很有道理,也是在现实生活中碰钉子碰出来的.在项目中确实存在

艾伟也谈项目管理,我是如何带领团队开发项目的

最近有不少朋友写信问我一些关于团队开发的问题,由于这段时间有些忙,没有回复.今天写一篇这方面的文章向大家介绍一下我是如何带领团队开发工作流项目的 关于团队建设,项目管理的文章网上已经有很多了,在这里我就不谈这些理论了,直接给大家展示一个我在 项目开发方,后台服务开发方式,前台UI开发方式,后台服务与前台UI对接方式,代码文档,页面的开发文档,源码管理,单元测试,以及单元测试文档,实现思路设计文档,数据库文档,数据库设计规范,编码规范,操做数据的方法命名规则 方面的一些片断,这是一个为期6个月的工

艾伟也谈项目管理,敏捷的坏态度

虽然所有软件开发的专业人士都会对这篇文章感兴趣,但是经理.CIO以及软件架构师会对它最感兴趣.这个话题可能会引起许多争议,但我写这篇文章是为了让你了解在敏捷运动中看起来正在日益增长的问题. 你为什么在这?敏捷不需要经理. 以前听过这种说法吗? 想象一下,如果你听到开发人员认为你这个职位根本就不应该存在,你会感到多么震惊,就好像是你特意为自己搞出经理这么个职位似的.这个话最常应用在项目经理第一次与将要和他一起工作的开发团队碰面的时候.的确,最初的敏捷宣言绝对没有提到项目管理,并且后来的敏捷理论家更