微软 php Python apache Android mysql 程序员 linux 开源 wordpress Ubuntu linux命令 centos HTML5 java Windows nginx shell Firefox google

敏捷开发的关键挑战

敏捷开发看起来能够解决我们所有的问题,但事实却并不如此。有些公司在尝试敏捷开发后遇到了各种问题。有人对十七个采用敏捷开发的公司进行了调查,People over processes: Key people challenges in Agile Development 。这篇文章的作者分析了九个最常见的问题。我这里只谈四个。

敏捷开发的关键挑战

1. 开发者害怕暴露能力缺陷

每个团队成员的工作往往是每天汇报的,例如在开会的时候每个人汇报工作。这样团队的每个成员都会知道你每天花了多少时间做了什么事。假如有一个工作你花了比正常流程更多的时间,那么你会感觉到每个人都在质问你为什么。还有,在一块白板前一起讨论设计等问题往往会暴露一个人的能力不足,或者沟通不善。

2. 要求全能型开发者

成为一个成功的敏捷开发者,你需要是一个同时具备码农,架构师,测试工程师和客户的能力。很多公司为此去培训员工,但这个代价是很高的,并且不是很有效。

3. 对沟通的要求太高

由于敏捷开发是在不断的沟通中进行的,所以团队的成员需要非常好的沟通的技能。但往往一个优秀的程序员是不善于社交、沟通的。这就是一个问题。有些团队成员无法有效的传递他们的想法给团队的其他成员。

4. 开发者缺少业务知识

敏捷开发要求开发者可以直接和客户沟通有关程序的功能。但是对于一个大型项目来说,不可能每个开发者都对项目的所有功能了解。可能每个人就做一小块功能。这样的话一旦某个人休假或者离职,那么顶替上的程序员就不具有对这块功能的业务知识,当他去和客户沟通的时候就会显的不专业。

由此可见,敏捷开发不能解决所有问题。它是一个好的方法,但是也有缺点。但是这些缺点也是有办法克服的。特别要注意的是:敏捷是为人服务的,而不是反过来!

延伸阅读

评论

  1. hi,哥们,我正在着手研究敏捷开发模式。刚看到敏捷开发模式的所有的好处,正热血沸腾呢,感觉敏捷开发解决了我们很多过去模式的问题。
    而你这里给出的敏捷开发的问题,给我更多的启发。“但是这些缺点也是有办法克服的”
    恩,能否把解决方案接着发表出来啊?