精益软件开发里有两条原则经常使人困惑,尽快交付(Deliver as fast as possible)和尽量延迟决策(Decide as late as possible)。尽快交付很好理解,大家都赞同,尽量延迟决策就有很多疑问了,为什么要尽量延迟,延迟到什么时候?为什么一面要尽快,一面又要尽量延迟,该怎么理解?
关于这两个原则,林彪的经典作战原则“四快一慢”做了完美的阐释。林彪的阐述非常精彩,这里做了大段引用,我们来一起看看林彪是怎么谈论快和慢的问题。
通常在下面这样几种情况下要快:
第一、向敌前进要快:譬如打某个地方,怕敌人跑了,前进时要快。秋季四丰打三十五军一一六师时,如慢了就打不上,就要本溪抓住敌人,使敌人跑不了。敌人是按普通的时间计算,例如距离二百多里,敌人估计我们四天,距离敌人一百多里,敌人估计要两天,敌人以为我们这里分散一个团,那里分散一个师,集中起来还要费些时间,临时跑也跑得及;可是我们不按照他的算法,白天也走,晚上也走,一下子不到他面前,使他来不及应付,他就是撤也得要个时间,这就是快的原则。
第二、抓住敌人后进行准备工作要快:看地形,选入破口,构筑工事,捆炸药,动员,调动兵力,布置火力等等,忙个满头大汗才好,这要快。
第三、突破后扩张战果要快。
第四、敌人整个溃退了,离开了阵地,我们追击时要快,这时就不管三七二十一,也不管白天黑夜……追呀,这是应一面报告,如这时要准备呀,报告呀,敌人就跑掉了。
以上四种情况就慢不得,慢了敌人就跑掉了。
一慢是指什么时候慢,什么事情上要慢呢?是指总攻发动时间这一下要慢(但总攻开始以后就要快)。在这一问题上要沉住气,上级催骂,派通讯员左催右催,这就要沉着,反正我要准备好了才打。前年焦家岭战斗,十八师原来要他头天打,当时没准备好,到第二天攻,它自己认为是犯了没执行命令的错误,我听这不对头,给他翻了案,不执行命令是因为没准备好,不打是对的。所以战役指挥员催促下级快,应放在准备工作方面,不应放在打响方面,下级指挥员要沉着气,自己准备要快,但上级不要轻易发起总攻击,假如有的已经打上了,自己这里没准备好,自己面前的敌人,还是整整齐齐,不要着急打,当然要看情况,如敌人要退了就要快追。
为什么打急了呢?第一怕敌人工事加强了;第二怕敌人增援;第三怕敌人跑了,但这些没有可怕的。敌人工事要作好已经做好了,钢骨水泥工程不是一天两天能作好的,土木工事也是这样,要做还已经就做好了,顶多是把卧射改为跪射,跪射改为立射,在深了掉下去了,还做什么?攻坚不怕他们工事,攻四平时我们说:“不要打急了,好好准备一番,敌人的工事已经作了三年了”;敌人增援也不怕,正好,先打增援之敌,再打防守之敌,还不好吗?何况现在敌人就不敢出来增援。我们打彰武时打了好久,它就不敢出来增援;怕跑掉,跑出来离开阵地,更好打,从追击中歼灭他。因此没有什么可怕的,还是要准备好了再打。必须把敌情敌型侦察完了,攻击点选择好了,各部队已开到攻击准备位置,火器已进入了阵地,一点两面的布置也摆好了,然后开始打。
但是慢不要成了偏向,我们要把三种不同的情况分开来处置:
第一、攻坚:准备要充分,不要打急了,四快一慢主要是指这种情况;但不是一切的动作都慢,而是指一个问题——总攻击开始时机要慢,其他一切都要快。
第二、打运动战就要快些,但总攻击时机,还是慢些。总是要看看地形吧,可是慢的程度不想攻坚那样慢。
第三、对退却的敌人要快了,对退却之敌就是不管三七二十一的打就是打了,在追击战中,不管三七二十一的打就是一条原则,满了就不行,敌人会跑掉。对要退而未退之敌,不管三七二十一的这条原则,就用不上。冒冒失失地去打,酒会打的头破血流的,因为他还未脱离工事,还有工事作抵抗,他要退是怕你,不退是你打的头破血流,这是就要快,又不要快,应该以一部分快,一部分慢,一部分快是抓住他,另一部分准备好再攻,如果都慢腾腾的准备,敌人就会跑掉,如统统很快的冲会碰钉子的。因此一部分快,一部分准备好再打,但不能太慢。更具体说:攻坚慢些,运动战的慢比攻坚战的慢稍差些,追击战就要快。
林彪的快和慢的关系谈论的很精彩。快和慢不是教条,是要具体情况具体问题,离开了思考,四快一慢也好,精益原则也好,都失去了灵魂。
谈到具体问题具体分析,我们来看看诸葛亮是怎么做的。成都武侯祠有一副著名的楹联,是清末民初人赵藩写的,原文如下:
能攻心则反侧自消,从古知兵非好战
不审势即宽严皆误,后来治蜀要深思
对联下一句所说的“不审势即宽严皆误”,是诸葛亮对法正的回答。
在刘备取得益州之后,诸葛亮替他制定政规法令,从严治蜀。法正却提出不同意见,劝谏诸葛亮要“缓刑弛禁”,执法从宽,以汉高祖为法。诸葛亮对历史条件和现实情况作了具体分析,认为从宽还是从严,需要根据客观形势决定。汉高祖入关的时候,要除去秦朝的严刑苛法,所以宽刑省法,解除了人民的痛苦;现在益州在刘璋统治时期积弊很多,没有权威,就必须从严法治,“荣恩并济”。历史条件不同,就该实行不同的政策,当宽则宽,当严则严。如果不审时度势,不当宽时也宽,不当严时也严,那都是片面的。诸葛亮治蜀的方针,是根据当时的实际情况制定的,后来也确实取得了明显的效果。陈寿在《三国志•诸葛亮传》的后面称他“科教严明,赏罚必信,无恶不惩,无善不显,至于吏不容奸,人怀自厉,道不拾遗,强不侵弱,风化肃然也”,就充分肯定了他的政绩。
如果不审时度势,照搬历史经验宽严都可能出错。如果不思考,照搬精益教条,快慢也都可能出错。
精益的原则不是罗汉拳,照着一招一式去模仿、练习,精益原则更像是独孤九剑,它传授的方法论,需要使用者随机应变,料敌机先,无招胜有招。
精益软件开发,究竟应该是快还是慢?根据情况,您看着办。