程序员修炼/进阶之路3:石头汤与煮青蛙

第一次接触《石头汤》的故事,是在我家大儿子的幼儿园元旦晚会上。是以话剧的形式表演出来的,当时第一感觉就是战争给人们心理上打击是异常沉重的。

人们之间的信任几乎没有了,被生命威胁的恐惧支配着,自信也消磨殆尽。感觉人们只会想着会失去什么,不会想我会得到什么。

后来也在网上了解了相关的故事,故事版本有很多。

程序员修炼/进阶之路3:石头汤与煮青蛙

原书中这个故事是这样讲的:

三个士兵从战场返回家乡,在路上饿了,他们看见前面有村庄,就来了精神—他们相信村民会给他们一顿饭吃。
但当他们到达那里,却发现门锁着,窗户也关着,经历了多年的战乱,村民们粮食匮乏,并把他们仅有的一点粮食藏了起来。
士兵们并未气馁,他们煮开一锅水,小心地把三块石头放进去,吃惊的村民们走出来看望他们。 “这是石头汤,”士兵们解释说。
“就放石头吗?”村民们问。 “是的,但是有人说加一些胡萝卜味道更好…”一个村民跑开了,又很快带着他储藏的一篮胡萝卜跑回来,
几分钟之后,村民们又问:“就是这些了吗?” “哦,”士兵们说:“几个土豆会让汤更实在。”又一个村民跑开了。
接下来的一个小时,士兵们列举了更多让汤更鲜美的配料:牛肉,韭菜,盐,还有香菜,们每次都会有一个不同的村民跑回去搜寻自己的私人储藏品。
最后他们成功的煮出了一大锅热气腾腾的汤。士兵们拿掉石头,和村民们一起享用了一顿美餐,这是几个月以来他们所有人吃的第一顿饱饭。。

看完这个故事第一反应是,士兵利用居民的好奇心吃了一顿饱饭,简直是纯纯的空手套白狼,居民别被摆了一道。又转念一想,其实每个人都是有付出的,更重要的是每个人得得到了他们想要的东西。
程序员修炼/进阶之路3:石头汤与煮青蛙

书上提出了看待这个故事的两个角度。

士兵的角度:用石头作为了催化剂,将村民们自己无法完成的任务成功完成,其实就是把大家团结到了一起。

村民的角度:不知不觉中拿出了自己的食物,像是温水煮的青蛙。

做变化的催化剂

无论在你心中有着自认为多么成熟的想法,在同事或者领导看来由于各种原因可能很难被认同。且不说自己能不能完整的表达自己头脑里的构图,就算是感同身受也不会达到完全理解。

这种不认同可能不会表现在表面上直接的拒绝与批评,而是换来各种的拖延和漠然。

人之常情,因为每个人需要考虑对自己的影响以及维护自己的资源。
程序员修炼/进阶之路3:石头汤与煮青蛙

这个时候拿出你自己的“石头”。比如说一个系统的商业分析书,需求说明书,或者是一个原型设计,又或者系统的Demo。然后我们的话题会由“应不应该做”,“要怎么做”之类的变为怎么做这个系统会更好。

人们发现参与能够肉眼可见且可预见成功的项目中是很简单的一件事,仿佛让每个人看见了未来。

不要被当做青蛙煮了

村民在煮汤的过程中,由于过度集中,只会关注石头,不会关心其他的事情。长此以往,事情慢慢会找上我们。

在工作中你可能看到过一个项目慢慢的,不可改变的失去控制。直到被自己定义为这个项目“烂”了。这些变化其实都是由一些小事情,我们注意不到的事情而一步步发展而来的,比如我们在不断的版本升级中,几乎看不到第一版的代码了。这样有时候真的很伤害团队的士气。

程序员修炼/进阶之路3:石头汤与煮青蛙

我们都知道这个小故事,开水煮青蛙,青蛙会立刻感到水温并作出反应,温水一点点加热青蛙不会作出反应,慢慢的被煮熟。

在我们工作中要记住大场景,也就是我们要以主线为主,支线任务为辅。观察周围正在发生的正在变化的事情,而不只是你自己在做的事情。

“闭门造车”有时是用于自醒的词。

思考:破窗户与煮青蛙

上一篇文章软件的熵,得治!中提到了“破窗户”,与“煮青蛙”一样日积月累下都可能会引发软件的灾难。但是一定要区分两者的根本区别,因为需要用不同的方式对待。试想一下,并举个例子。

原文链接