敏捷实践--个人与过程
在过了CMMI的企业都应该有这样的感受,就是庞大的过程组常常让人感觉很沉重。尤其是过了CMMI 3级以上的企业。需要实现组织级的项目管理规范化,各种文档铺天盖地。当然,我想这也是CMMI的一个思想,就是一个大企业,需要通过稳定的合理的流程来保证企业的产出质量。一个企业的产出不能由于某些人的因素而受到影响,换句话说,即使企业目前这帮人换了,根据CMMI制定的流程和规范,换一批人,企业照样能够保证质量稳定,应为有合理的过程在做保障。
的确,按照CMMI的过程做的确可以产出好质量的产品。但是,另外一方面的问题随之出现了,CMMI是个重过程的软件开发流程,其开发成本是比较大的。也就是它会使整个软件开发的成本增加不少。
而现在的敏捷开发将人的重要性又提升到了一个非常重要的高度,强调人的主观能动性,强调个人的敏捷性。它精简了过程,实现了一个轻量级的开发流程。
很多时候可能有人会想,是不是敏捷开发就不重视过程了,只重视人了?其实不是,敏捷也有过程,只是敏捷的过程很精简,去掉了不必要的环节和产出。举个例子:敏捷开始也会分析需求和设计,但是不会一开始就写全面的详细的需求文档,也不会一开始就写完整的设计文档,而且敏捷强调的一份很重要的文档就是我们的单元测试用例代码。敏捷希望通过精简的过程和具有高度敏捷性的团队来以最小的成本实现最大的价值。其实这是很多项目开发所期望的。
一个敏捷团队,并不是说是一个不走过程,不写文档,仅靠个人的团队,而是要在充分挖掘团队成员主观能动性的同时,利用必要过程进行管理的团队。