由于工作的原因和国内很有名的IT公司合作,正好他们公司正在推广敏捷开发,经过两个项目的实践,发现这个敏捷开发不是放之四海而皆准的编程方法,而且推广这个敏捷开发对人员的素质有要求,并不是所以的项目和人员都可以适应它的。
一。合适有经验的IT人员,不适合IT新手。在敏捷开发中的XP(极限编程)中,如果两个人的水平不是一个档次,那么说什么结对编程,效率根本就得不到提高,甚至会降低开发效率,另外极限编程中除了结对编程外还有先写测试代码,这个如果没一定的经验是不行的。在敏捷开发中对文档并不强调,没了设计文档,更不适合IT新手。
二。敏捷是很自然的回归,接触了敏捷,我才知道自己以前虽然没接触敏捷,但是采用的方法有许多和敏捷有很多的相似之处,开发到一定时候,会很自然的转到敏捷上面去,虽然不一定要接触到敏捷。
三。不是所有的项目都适合敏捷,敏捷强调的对客户需求的理解要十分到位,并且在很短的时间对用户需求做出反应,在刚开始划分story时,要开发测试用户都要参与,如果客户的需求不是很复杂,就没必要用这个敏捷开发。敏捷适合大项目,不适合一个模块的开发。
最后,敏捷对人员的综合素质还是有很高要求的,每次迭代转测试时,开发人员要自测,所以开发人员不仅要有掌握开发技术需求还有测试技术,而不仅仅是开发技术的掌握。敏捷至始至终强调的是需求的理解,对业务要理解的什么到位,因为从开始到结束没什么开发文档。实践中,每次迭代归档时是我们最忙的时候。