【转载】结合毛泽东思想解读敏捷开发

原文:https://mp.weixin.qq.com/s/jePzcq-JdGCs6Xf6s3cesQ

(本文前身《敏捷传播的最佳实践》曾发表于《程序员》杂志2012年12期)

敏捷十多年来在中国传播非常迅速,本文作者尝试探讨背后的秘密,发现它和毛泽东思想有颇多共通之处。可以认为,敏捷是毛泽东思想在软件开发领域的一次成功应用。

说到敏捷,很多人会想到旗手ThoughtWorks公司。该公司的创建者Roy Singham拥有公司97%的股份,却是毛泽东和委内瑞拉前总统查韦斯的大粉丝。参见以下文章和微博图片:

https://money.cnn.com/2008/03/14/technology/kirkpatrick_thoughtworks.fortune/index.htm

(2018注:2017年8月,ThoughtWorks已被公司所有人出售给Apax Funds)

(1)高调善用舆论

敏捷和文化、革命、环保、爱国一样,都是褒义词。通过褒义词占住正能量高地,是敏捷二字能迅速传播的原因之一–谁会说自己反对敏捷呢?占领了正能量高地,就可以自如地定义人民群众(程序员)不喜欢的东西为“不敏捷”,或者把人民群众(程序员)喜闻乐见的东西纳入“敏捷”阵营。

敏捷传播的书籍、文章和活动中,采用了许多振奋人心的题目,例如“敏捷无敌”、“硝烟中的Scrum和XP”、“敏捷武士”、“颠覆软件工程”、“勇敢者的变革”。比起“软件过程管理”、“软件复用”等平淡的标题,这样的标题显然更能使开发人员心潮澎湃。

更重要的是,正能量的口号也吸引了一批IT媒体从业者。在敏捷大潮中,可以看到媒体从业人员毫无压力地在台上畅谈敏捷。软件工程的方法、过程、工具知识体系中,“过程”部分显得没有那么“深奥”,敏捷更使得这部分内容活色生香。IT的高科技光环加上敏捷的浪漫理想,使得IT媒体同志们加入到歌颂敏捷的大合唱。

毛泽东非常注重舆论和媒体的作用:

文艺是一支军队,它的干部是文艺工作者。它还要有一个总司令,如果没有总司令,它的方向就会错。鲁迅、高尔基就相当于总司令。(《毛泽东文集》第2卷)

(2)注重思想建设

一个人的精神力发挥到极致时,小米加步枪也能打败飞机大炮。“支部建在连上”带来的精神力量是中国革命成功的重要因素,而“支部建在村上”也保证了中国建设过程中的长治久安。

关于敏捷,常见的言论是:敏捷是一种信仰,敏捷是一种宗教,敏捷是一种态度,敏捷是一种文化,敏捷是一种修炼…。敏捷运动的基石就是以宣言的形式存在的。“宣言书”和“宣传队”相辅相成。

相对于繁琐的技能学习和制度建设,只要“正人心”就可以达到目标的想法更加吸引人。所以敏捷不断强调“软件开发的关键是人!”。敏捷培训有许多内容聚焦于人的精神力建设,这些内容非常有普适性,可以用于培训软件开发人员,也可以用于培训保险推销员、美发店技师……。拼拼玩具、搬搬气球比起思考软件的耦合内聚肯定要愉快多了。

把“正人心”放在非常重要的位置,使得敏捷对开发人员提出了很高的要求。规规矩矩干活还不够,还需要灵魂深处闹革命,狠斗私字一闪念,让自己脱胎换骨,成为新的“敏捷人”,而“敏捷人”的最高境界可称为“敏捷圣人”。

“精神力”上去了,其他方面的技能修炼就没那么重要了,可以靠“探索”、“快速迭代”来弥补。就像医生,只要有一颗为病人服务的心,检查、诊断、拟治疗方案、治疗等技能是次要的。可以通过划分多个疗程,快速尝试给病人做治疗,根据病人的反馈不断调整治疗方案,照样能把病人治好。盖大楼也不必过度学习建筑工程的各种知识,尝试一块块砖垒上去就是了,毕竟再高的楼也是一点点盖起来的。

我根本不会“设计”也不学习“设计”,怎么可能“过度设计”呢?这样就避免了陷入“过度设计”的陷阱。

毛泽东诗词“春风杨柳万千条,六亿神州尽舜尧。”(《七律•送瘟神》,1958),展现了改造人性做圣贤,人人为我我为人人的伟大理想,这和敏捷思想是共通的。

毛泽东还有许多强调精神力的诗词:

与天奋斗,其乐无穷!与地奋斗,其乐无穷!与人奋斗,其乐无穷!(《奋斗》,1917)

世上无难事,只要肯登攀。(《水调歌头·重上井冈山》,1965)

招之即来、来之能战、战之能胜。(1968)

(3)建立统一战线

敏捷传播过程中,非常善于把各种领域的知识纳入敏捷的范畴。迭代开发、持续集成早已有之,但加上敏捷包装之后,再加上大量宣传,会给新入行开发人员留下“这是敏捷发明的,那是敏捷发明的”的印象。

Robert C. Martin的书《敏捷软件开发-原则、方法与实践》,书中主要讲的是面向对象设计的一些原理、原则和模式,这些方法并非Robert C. Martin首先提出,而且和敏捷过程没有必然关系,但是,这本书的书名经常会导致开发人员误解面向对象设计的这些思想是敏捷人士提出来的。

更有一些敏捷人士在没有学习和掌握软件工程知识的情况下,先高喊“砸烂一切”吸引热血青年,然后发现砸烂一切是不行的,又偷偷拾起过去被自己砸烂的东西,加上自己的“敏捷”包装,有意无意地给不了解历史的新入行开发人员造成“这是敏捷发明的,那是敏捷发明的,所以把敏捷挂在嘴边的人最懂”的印象。

敏捷大会上,我们可以看到某本畅销书的作者做演讲,这位作者研究的领域是自然语言处理,不过不妨碍他对敏捷发表自己的见解。

敏捷传播过程中,还善于和国粹结合。我们经常看到敏捷和有中华文化特色的词汇一起出现:丹田、真气、任督二脉、禅、中医、李小龙……。

毛泽东对统一战线也十分重视:

统一战线,武装斗争,党的建设是中国共产党在中国革命中战胜敌人的三个法宝,三个主要的法宝。(《<共产党人>发刊词》,1939)

敏捷“不反对计划”,“不反对设计”,“不反对合同”,“不反对架构”……只是在前面加上“敏捷”二字,成为敏捷的新词。

在社会领域也一样,结合中国国情批判地吸收来自西方的东西,产生了中国特色的宪法、人民代表大会和政治协商会议以及健康互联网。这是中国革命成功以及中国发展保持生命力的源泉。

(4)密切联系群众

白纸好写字,敏捷传播把刚入行的新人和在校学生作为重要的传播对象。既然针对年轻人宣传,年轻的敏捷资深咨询师也就屡见不鲜了。毛泽东有许多话赞美年轻人和人民群众:

一张白纸,没有负担,好写最新最美的文字,好画最新最美的画图。(《介绍一个合作社》,1958)

世界是你们的,也是我们的,但是归根结底是你们的。你们青年人朝气蓬勃,好像早晨八九点钟的太阳。(1957)

“一张白纸”的状态也深受程序员欢迎。有些敏捷软件组织,抛弃了所有“文档”,全靠口头交流。这样就不存在“知识积累”的拖累,刚入行的程序员就不必去钻研前辈留下的各种“文档”,大家从零开始,和资深研发人员的地位差距就被拉平了,实现了平等的理想。

所以,敏捷经常被程序员视作反抗现有软件工程体系对他们的管理或压迫的手段。这样的观点自然让人民群众(程序员)倍感亲切。刚入行的程序员如果不信仰敏捷,那就是没有良心。

毛泽东说:

卑贱者最聪明,高贵者最愚蠢。(1958)

人民,只有人民,才是创造世界历史的动力。(《毛泽东选集》第3卷)

敏捷也倾向取消软件开发中的所有分工——“全栈”。“消灭社会分工”恰好是共产主义的最终目标。共产主义是人类最高尚的理想,这一点不容置疑。

马克思的描述是:

早上去打猎,下午去钓鱼,晚上饲养家畜。(《德意志意识形态-费尔巴哈论》,第二节)

结语

许多大众互联网企业的成功也佐证了敏捷的价值。近年来,互联网公司的开发人员霸占了各种技术大会的讲台。有趣的是,许多演讲人把公司的成功归功于他们所在的研发团队采用了敏捷过程,而不是公司的背景、人脉以及烧掉的钱。如果掌握了腾讯等大众互联网巨头所实施的敏捷过程,我们就拿到了击败BAT的钥匙。

最后,送上最有敏捷味道,推荐贴在敏捷团队墙上的一句毛泽东的话:

一万年太久,只争朝夕。(《满江红·和郭沫若同志》,1963)

金正日和敏捷

你可能感兴趣的:(开发工具)