<<醒了自悟>>系列-bozo---虫不知---Don't know what you don't know
别不懂装懂
软件开发过程中,太多东西是大家不知道的,因此,管理者或开发人员就很容易有这种不懂装懂的倾向。好的开发团队应该有一张清单,上面列着我们目前不知道的事情,这样才比较容易掌握到底什么事情会不确定。
人们会觉得对于重要的事情,我如果不知道就很丢脸,这是天性。作为在Reecho(化名)和Echo(化名)呆过的开发人员,我就暴露一下天性,在这里丢一次脸吧:)
1."E-C (化名) Framework,你对我态度好一点行不行,我回去把档案删了,你一辈子做古惑仔,我也不用烦了。"
天天编程天天在用,我却对其知之甚少,一旦他(她)们闲谈一些关于Framework的问题,我却云里雾里,可能从未参加过关于Framework的会议,我现在连Framework版本是几都不知道。不了解就无法拥有,至理名言啊!
2."每次Release,都要超烦、复杂配置(从头开始),模拟环境等,发布几个EXE和DLL真的需要这么复杂吗?"
如果这个过程中每件事情都要做,有没有更简单更好的办法。如果是简单的机械重复的劳动,是否可以让计算机去做?还有就是重用,每件事是否可以在下一版本的Release重用的,这是软件开发的基本素质。我对这个发布的过程还是不了解,因为从来不曾接触过,没有叫我做过。他们闲谈的时候我云里雾里,还是不了解就无法拥有。
3."Bayer&Reecho联动,拿什么拯救我?"
摆在开发人员面前的两座大山,业务问题,技术问题。业务问题是根本性问题,技术问题是次要问题。Bayer&Reecho联动,我由于对业务不熟,几次讨论下来,我的感觉主要集中在XXXX以及XXX那里,我从未接触过,所以对此很不了解,我只知道XXXX、XX、XXXXXX、XXXXXX、XXXX,当然还有最近的XXXXXXX。所以你要我把整个Reecho的流程走一遍,告诉你我现在不行(把Echo整个流程走一遍,告诉你,我也不行)。保持低调,所以我把我自己当作新人,回顾这两年总是感觉空空的!
4."责任,到底有什么样的权利和义务,我的职责是什么?"
在Echo和Reecho都有这样的感觉,好像样样都要做,但是当你提出建议、批评的时候,却没有人理你,'你是谁啊,凭什么听你的',这是多么悲哀啊。因为我只是一个开发人员,我当然可以选择KISS(Keep In Silent And Stupid!)。大部分的人都不愿意思考,他们认为自己乐于思考,但事实上并非如此。保持脑袋空空很容易,在微软把这种人叫作bozo,意思是笨蛋。永远没有人会注意笨蛋的所作所为,即使他真的有贡献,他也不会有任何份量。笨蛋当然是不可信任的,你对笨蛋惟一的期望是但愿他不要搞砸事情,我是一个笨蛋吗?
软件开发项目的目标并不是事前做好正确的规划,而是每天都得在事情从未知到已知的时候,做出正确的抉择。如果你明明不知道某件事却假装知道,你就无法在事情从未知到已知的时候得到正确的信息,也就可能会做出错误的决策。当信息证明你错了,你一定觉得非常难过。于是你会更加害怕信息,而别人就以为你在抗拒事实,最后你将陷入恶性循环。
只有当你知道不确定性在那里时,你才有可能解决它;那些没有被发现的确定事情,会把你绊倒。相形之下,承认你不知道是比被击倒要好得多了。
同学们,你们有不知道的事情吗?