不可为敏捷开发,马首是瞻

近期,公司又在搞老生常谈的TDD。 自敏捷开发提出来以来,公司一直都是在积极地推广。站会,启动会,验收会 都是如火如荼地进行着。唯独这个TDD,雷声大,实践很少,确切地说是无。 

    TDD就像是一个只可远观,不可亵玩的莲花。照着PPT喷一喷可以,真正要拿来指导实践,不可取,难以推进。 不仅仅一线编码人员觉得繁琐,团队小领导也觉得是个累赘,严重影响项目进度。 测试用例的提前编写,并以此来指导代码开发,无疑是有违正常思维的模式。在某种程度上和 敏捷的快速迭代想格格不入。 测试驱动开发,大量消耗团队的人力资源,使得开发周期时间倍增。在TDD的基础下,去实行小步快跑,快速迭代,门都没有,因为一开始TDD推崇的单元测试,就把你的“腿”给打断了! 

       对于敏捷本身,我们来想象一下,既能够缩短开发周期,提高产品质量,满足客户需求,又能让减轻底层员工负担(敏捷开发的价值之一就是以人为本)的管理存在么? 不可能。 打个比方:传统的开发模式下,一个产品的开发、发布和后期维护以1年为算的话,新时期下的敏捷开发大概需要9个月。 但在中9个月内,你的工作强度可能是传统模式下的1.5倍。更重要的是,余下的3个月你还要继续工作(活是干不完的)。更可悲的时,以后的项目都要以1.5倍的强度去工作。

       那为何这种理论又能存放并在企业内部隔三差五的被提出来,捯饬一下呢? 还是那句话,只要能被上层管理人员认可就能够得到推广,并不在于执行时能够给企业带来多大实际价值。 犹如当年为啥有罢黜百家,独尊儒术的提出。还不是因为得到了统治者的认同。 同一时期存才的 法家,墨家等,即时放到现在来说,也是一定会被大力提倡的。

       敏捷开发一旦在公司生根发芽,就会产生敏捷教练这类职务,这些人在追求业绩时,一般也都会以TDD为案例,举行各种活动,每次都是老调重弹。这也给敏捷TDD的“死灰复燃”提供了沃土。基本上TDD每次消停的差不多了,这类人又要来一次翻江倒海,好像要以此来告知大家:我是敏捷教练。

      取其精华弃之糟粕。个人人为,敏捷的站会非常值得学习和使用。而像测试驱动开发,则不切合实际,镜花水月。 为了应付这次TDD活动,小组参加活动的同事,还是准备先写代码,再测试用例。~~ 但是先提交测试用例,再提代码以迎合评分系统。TDD真的是犹如,现阶段的AI,吹NB容易,落地难,到处搞讲PPT,搞点噱头,忽悠投资人。

      单元测试可以有,TDD不可取!

你可能感兴趣的:(scrum,驱动开发)