两个论断

发了个推,很多人不理解,今天解释一下。

程序员使用时间管理软件就是堕落的开始;而项目管理者发现程序员在使用这些东西,就应该反思自己的失职。程序员如果使用知识管理软件还是堕落的开始;而技术负责人如果发现程序员在使用这些东西,就应该承认自己的无能。

我早就说过时间管理软件是程序员不需要的东西,原因很简单,程序员需要大片的时间来思考,来编程,来除错,总之就是需要化很多时间来进入某个状态才能很有效率的工作。所谓你看,很多所谓的高效工作,都是夜里加班的事情完成的。而使用时间管理,本身就说明程序员身上有许多工作要做,这些工作不需要什么技术能力,纯粹是事务性的。于是一天的工作,就会被这些时间小片打乱。而如果是你已经进入的状态,但是这个时候你忽然觉得有些其他事情是应该作的,你会怎么办?告诉你不管你会如何办,你就已经错了。因为正确的方式是,你根本就不会想这样的问题。而一个项目管理者,一个最重要的职责就是保证程序员能高效的工作,所以这些零碎的事情在他这里就应该被拒绝掉。当然没有人会说我就是纯粹的想打搅你们一下,而都会有很多重要的原因。比如领导要来视察,比如财会需要报帐,市场需要技术人员配合参加一个采访,比如某技术管理觉得某处有问题需要交流一下,比如测试觉得需要确定某个测试进行的时间,等等等。你看都是正式的,并且十分有道理的请求。但是恰恰是这些请求,是最应该被拒绝的。即便是中午吃饭,如果程序员没提出要求,都不应该被打断。除非是发生了个程序员个人利益十分相关的,比如父母死亡,比如孩子病了,否则他们的工作就不应该被打断。

而下一个论断,很多人不理解,或者干脆的说很多人会反对。其实我并不反对在项目中使用知识管理软件,并且我认为一个项目必须有知识管理软件,一个团队也必须进行知识管理。我所反对的是个人单独的进行自己的知识管理活动。不用我说,沟通是项目中最重要的活动,以至于可以认为写代码都没有那么重要。因为调查发现,沟通是占据的项目最多的时间和资源。所以我们在作项目的时候,首先就必须考虑如何能够加强沟通的效率。实际上单独的自我学习样式的知识管理,对沟通不仅没有好处,还会形成信息孤岛,从而延缓沟通的进行。而如果我们的学习是集体进行的,则对沟通的作用就不是阻塞而是加强。实际上通过集体学习和知识管理,可以增强团队方言的形成,从而可以让沟通建立在集体记忆的基础上,而不要语言的基础上。两者的效率根本就不是一个数量级的。这些本身就是流程管理应该涉及到的,也是必须涉及到的部分。这个道理其实谁都明白,但是作起来就不是那么简单了。而实际的情况也是如此,我看到几乎所有的人都在强调学习和知识管理,但是实际中在作这个方面工作的基本没有。

你可能感兴趣的:(工作,项目管理)