分享

什么是敏捷开发? 它的特点是什么?

 没原创_去搜索 2015-08-26
敏捷开发有如下特征:

1. 工作在小的团队中
2. 团队是跨功能的-包括测试人员,开发人员,文档开发人员等等
3. 短迭代-利用短迭代方法来交付软件
4. 相较于文档,敏捷开发更注重面对面的交流
5. 敏捷不是一个过程,而是一个软件开发的形式或者方法
6. 敏捷可以与软件过程如CMMI等一起实施



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


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

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

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

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多