管理 VS. 面向对象设计

我是在吃虾的时候,突然想起这个关联的。

管理,往往就是给你一堆事,然后再给你一些人,OK,你去做吧。这是你的使命。下面我们来做类比吧。

首先一个问题,你是认为人重要,还是事重要?这个问题我问过很多人,今天我才清晰地认识到这个问题其实很好回答。事情当然很重要,人也很重要。对于管理来说,系统架构更重要!我说的系统架构是相对于软件来说的,在实际的管理过程中,就是流程和制度。为什么这样的呢?

想想如果把这个问题拿到软件开发中来说,就是业务重要,还是功能重要。其实都不是!对于软件开发来说,开发出一个符合用户开发的产品是最基本的。而开发出一个能够迅速适应长期的市场需求考验的产品,才是更好的。

管理也是一样。你可能会遇到几种情况:

第一、你发现你的任务怎么都完成不了。这个时候就会责怪为什么人总是不够。

第二、你发现你的任务可以完成,但是完成质量总是一般。你可能会就埋怨为什么你的人总是不那么优秀。

第三、你发现你以前管的还可以,但是重要的人事变动,你就会陷入非常被动的境地。这个时候你可能会说为什么总是招聘不到合适的人选。

如果你是一个管理者,可能整天为这些事情头疼。如果你是软件架构师,你可能会说另外一句话:OK,我就是为此而生的。

第一、任务完成不了,往往的原因,在于你一个人负责着所有的重要任务。你担心别人完成不了,所以事事都做到躬力亲为。对应到软件架构,解决任务量的最好办法,就是降低软件复杂度。其中最常用的方法,就是划分子系统。把任务分出去,是管理任务的基本前提。

第二、任务分出去了,但是发现大家就这样做着,没有什么好的成绩出现。对应到软件架构。就是优秀实践的引入。最直接的就是设计模式的大量使用和推广。管理也是一样,方法论的推广和建立非常重要。你的职责就是把优秀的方法引进,深入,并总结出一套适合部门的方法出来。

第三、重要的人事变动所带来的影响。对于软件架构,就是最经典的开闭原则。对修改是关闭的,对扩展是开放的。对于新的人,只要做简单培训,就能够迅速被系统认可。这是管理的最高境界。

软件发展,虽然远远晚于管理理论的发展。但是,软件理论的发展,大量的吸取了其他领域的知识,并且,软件有一个最大的优势,就是软件根本就是在解决一个系统的问题,所以它有很多有关系统方面的理论和实践,值得其他领域去反过来学习。从这点来说,从软件中学习管理,是可能的。

再说说具体的类比。

每一个员工,都是一个个对象。要完成交代的任务,一种方法,就是领导自己一个人都事无巨细的处理每件事情。或者就是设计每个人的职责,自己在做一些对象和对象之间的协调。如果选择了后者,那么就和面向对象有了最基本的切合。

在这种情况下,管理者就要时刻关注对象的职责划分。随时进行重构!或抽象,或派生,或建立制度,或建立流程。让事件做得更顺是目的,目标却是让系统更加稳定。

在这个意义上说,人比事更重要。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章