管理 VS. 面向對象設計

我是在吃蝦的時候,突然想起這個關聯的。

管理,往往就是給你一堆事,然後再給你一些人,OK,你去做吧。這是你的使命。下面我們來做類比吧。

首先一個問題,你是認爲人重要,還是事重要?這個問題我問過很多人,今天我才清晰地認識到這個問題其實很好回答。事情當然很重要,人也很重要。對於管理來說,系統架構更重要!我說的系統架構是相對於軟件來說的,在實際的管理過程中,就是流程和制度。爲什麼這樣的呢?

想想如果把這個問題拿到軟件開發中來說,就是業務重要,還是功能重要。其實都不是!對於軟件開發來說,開發出一個符合用戶開發的產品是最基本的。而開發出一個能夠迅速適應長期的市場需求考驗的產品,纔是更好的。

管理也是一樣。你可能會遇到幾種情況:

第一、你發現你的任務怎麼都完成不了。這個時候就會責怪爲什麼人總是不夠。

第二、你發現你的任務可以完成,但是完成質量總是一般。你可能會就埋怨爲什麼你的人總是不那麼優秀。

第三、你發現你以前管的還可以,但是重要的人事變動,你就會陷入非常被動的境地。這個時候你可能會說爲什麼總是招聘不到合適的人選。

如果你是一個管理者,可能整天爲這些事情頭疼。如果你是軟件架構師,你可能會說另外一句話:OK,我就是爲此而生的。

第一、任務完成不了,往往的原因,在於你一個人負責着所有的重要任務。你擔心別人完成不了,所以事事都做到躬力親爲。對應到軟件架構,解決任務量的最好辦法,就是降低軟件複雜度。其中最常用的方法,就是劃分子系統。把任務分出去,是管理任務的基本前提。

第二、任務分出去了,但是發現大家就這樣做着,沒有什麼好的成績出現。對應到軟件架構。就是優秀實踐的引入。最直接的就是設計模式的大量使用和推廣。管理也是一樣,方法論的推廣和建立非常重要。你的職責就是把優秀的方法引進,深入,並總結出一套適合部門的方法出來。

第三、重要的人事變動所帶來的影響。對於軟件架構,就是最經典的開閉原則。對修改是關閉的,對擴展是開放的。對於新的人,只要做簡單培訓,就能夠迅速被系統認可。這是管理的最高境界。

軟件發展,雖然遠遠晚於管理理論的發展。但是,軟件理論的發展,大量的吸取了其他領域的知識,並且,軟件有一個最大的優勢,就是軟件根本就是在解決一個系統的問題,所以它有很多有關係統方面的理論和實踐,值得其他領域去反過來學習。從這點來說,從軟件中學習管理,是可能的。

再說說具體的類比。

每一個員工,都是一個個對象。要完成交代的任務,一種方法,就是領導自己一個人都事無鉅細的處理每件事情。或者就是設計每個人的職責,自己在做一些對象和對象之間的協調。如果選擇了後者,那麼就和麪向對象有了最基本的切合。

在這種情況下,管理者就要時刻關注對象的職責劃分。隨時進行重構!或抽象,或派生,或建立制度,或建立流程。讓事件做得更順是目的,目標卻是讓系統更加穩定。

在這個意義上說,人比事更重要。

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