CMM已经落伍了,敏捷才是王道
首先强调一下,敏捷和有没有文档一点关系都没有。我只是对于CMM的那些文档感觉有些浪费。
看看那些文档,看看那些流程。想想那些伟大的软件作品,哪个是用CMM开发出来的?
作为测试工程师,程序员的你在CMM流程管理下,是不是觉得不爽?你喜欢写那一堆又一堆的文档吗?你喜欢看那一堆又一堆文档吗?你喜欢你的老板整天指手画脚其实完全没有帮助?你喜欢看到需求不停变更但是计划永远不变,结果就是压缩测试时间,或者发布延期?答案当然是否定的,没有人喜欢。
软件开发是一个创造的过程。工程师是人不是机器。符合人类天性的开发模式才是好的开发模式。
软件开发的核心问题:沟通障碍,需求变化,产品质量等等。在CMM模式中都没有被很好的解决。敏捷提供了一种全新的思维方式。敏捷的核心思想就是以人为本,持续改进。
回帖的童鞋们似乎对于文档的问题很感兴趣,那我就说说敏捷对于文档的态度。
首先,敏捷并不是没有文档。敏捷只是省略掉了不必要的文档。
其次,一个商业软件发布时应该有的文档,敏捷开发全部都有。比如说,release note, Help等等。
文档的作用是用来沟通,交流和传递信息。但是文字本身并不是一个完美的载体。语言永远比文字更能够清晰的表达思想。所以在敏捷开发中,类似于测试计划,方案,任务分配,简报之类的都可以省略。我能够花三分钟说明白的事情,为什么要花十分钟去写,而且还要接收者再花十分钟去阅读。这不是白白浪费了十七分钟。
当你加入一个新团队的时候,你希望看到一大堆产品说明,还是喜欢有个人手把手的指导你?我想多数人喜欢后者吧。
敏捷团队中,所有的知识都是共享的。所以完全不需要担心,由于某个成员的缺失而造成知识断层。同样的,由于这种担忧而产生的文档也可以省略掉。顺便提一句,虽然我不知道为什么,但是敏捷团队的人员流动率非常低。我公司里面的测试人员在实施敏捷之后的若干年里面,一个离职的都没有。