查看原文
其他

以史为鉴可以知兴替——写在《敏捷中国史话》付梓之际

熊节 程序员练功房 2021-10-31

《敏捷中国史话》的正式出版,不是没有经历波折的。例如这个标题,就经过了反复的论证与调整。出版社的老师告诉我,标题中含有「中国」二字,便要审查得格外严格一些;如果照原来的标题《敏捷中国史》,还要呈到社科院历史所去审。于是最终我们妥协了一下,把标题改为「史话」,显得不是那么一板一眼的历史题材作品,节约了一些审查的工作量。

然而在我心里,尽管写史的手法未必符合官家的规范,这本书着实是一本不折不扣的史书。我从大约2010年时就动心发愿,要写一本关于中国软件业的史书,最终落在了「敏捷」这样一个更窄的主题上。之所以想写这样一本历史,是因为实在感叹于行业的缺乏记忆与学习的能力。


中国软件业的痼疾,从2000年国发18号文推动这个行业高速发展开始,就一直是在飞速增长的巨大需求面前,从业者的基本能力普遍欠缺。尤其是,任何软件项目都无法回避的需求管理、项目管理、配置管理、质量保障四项基本能力,从一开始便在行业中普遍缺失。众多的企业和从业者在基本能力缺失的情况下,全凭本能和热情工作,创造了行业飞速增长的奇迹同时,也给行业留下了诸多困扰。


而本来受到政策鼓励、被期望为行业补齐基本功的软件工程专家、尤其是CMM专家们,在利益面前背离了初心,把培训、咨询、认证搞成了一条脱离行业实际的利益输送链条。各地政府对CMM认证的高额且不负责任的补贴,更使得情况雪上加霜。事后回顾,CMM热潮的实际情况就是:所有搞CMM的都是骗子,认证商骗企业的钱,企业和咨询商(往往跟认证商是同一家)合伙骗政府的钱,培训商骗真心想学东西的从业者的钱。政府补贴和个人的学费被源源不断地输送出来,行业的基本能力却始终在原地踏步毫无改观。


一个缺乏记忆力的行业最可悲的地方就在于,仅仅过了十年时间,同样的骗局就能改头换脸再来一遍。甚至连骗子都没换人,十年前的CMM专家摇身一变就成了资深敏捷专家,继续打着当下流行的旗帜招摇撞骗。看看眼下泛滥的Scrum Master认证和屡见不鲜的「僵尸Scrum」、提起单元测试就叫苦不迭的开发人员和摆在案头积灰的《重构》,到底这些号称「敏捷」的团队和从业者如何提升了自己的基本功?基本功不提升,质量和效率又如何会有改变?


这个健忘的行业似乎仍然没有吸取教训——当然,那正是「健忘」的题中应有之义。领导们继续追寻着一波又一波的流程与工具,希望采购一套工具、制订一套流程,就能一劳永逸地解决个体与交互的问题、解决人员能力缺失的问题。骗子们自然也就继续迎合着甲方的美梦,继续一包包地卖万灵药。时下流行的万灵药,已经从微服务、中台走到了DevOps,并且据说开始有人工智能的成分了。


然而历史在一次又一次地告诉我们:想做好软件,唯一的办法就是提升团队与人员的能力。个体与交互,在软件开发这个行业,永远都重于流程与工具。这个行业总是遗忘这些历史的教训,固然是因为信息太多、节奏太快、人太健忘,深藏在背后又何尝不是反映一种根深蒂固的矛盾:总有那么一些「劳心者」,孜孜不倦试图把软件开发这件事最核心、最有价值的部分从真正动手开发软件的人身上剥离出来,让这些真正动手开发软件的人变成可替换的「人力资源」。强调基本功的重要性,就是在宣示「劳力者」在软件行业中的核心地位,就是在拆穿这些大佛爷的滥竽充数。我想,这恐怕也是为何这些「劳心者」总会选择性遗忘那些历史的一个重要原因吧。


敏捷在中国经历的历史时期,恰好也就是中国软件业高速发展的历史时期。尽管CMM指出了需求管理、项目管理、配置管理、质量保障这四项基本能力,然而整个行业几乎就没人见过到底这四项能力具备的团队应该是如何工作。幸好敏捷(尤其是极限编程)带来了他山之石,让我们有机会看到:真正具备基本功的团队,是在以这样一种截然不同的方式工作。如果没有这面照妖镜,恐怕我们直到今天都还不知道,原来国王真的没穿衣服。


二十年敏捷发展的历史,如果浓缩成一句话,那就是:


一切没有良好自动化测试与持续集成的软件开发都是瞎搞。


当然,那些随时把漂亮的大词挂在嘴边的大佛爷,可能永远也不会承认:软件项目的成败,最终都取决于自动化测试、持续集成、重构、用户故事……这些质朴无华而又细枝末节的具体实践,最终都要落在真正动手开发软件的人的基本功上。这不,今天又听一位颇有名气的敏捷导师说,「XP的3C已经过时了」——当然了,质朴的基本功不过时,导师又如何推销他的新一代万灵药呢?


然而历史总会给所有人、所有事一个公正的结论。一切把流程与工具放在个体与交互之上、想走捷径绕过基本功的尝试,一切想用培训、认证、流程、文档……代替自动化测试与持续集成的尝试,我们就看它如何重复、如何兴替吧。






: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存