命令與管控的基本思想#
軍事化管理源於軍事管理,核心思想很簡單:你告訴他們去做的事情,如果他們沒有做,你就對著他們吼,直到他們做了為止。 如果還是不做,就關閉他們的禁閉、讓他們去潛艇裡負責削洋蔥。
一些經理用這種方法是因為在軍隊裡學到的,一些是在專制家庭中長大認為這是自然的方式,還有一些根本沒有深入了解過其他管理方法。
三個致命缺點#
1. 聰明人不喜歡被這樣管#
高智商、自負的程式設計師習慣認定自己比別人知道得更多。當他們被「出於各種理由」命令去做某事時,會非常非常反感。高科技團隊有許多目標,但讓每個人都高興這個目標至少排在第一位。
2. 沒有足夠時間用在微觀管理上#
在軍隊中,同時向一大群人發布同一道命令是可行的(因為每個人都做同一件事)。但在軟體開發團隊中,每個人的工作都不一樣,如果想微觀管理,就會變成「打了就跑」(hit-and-run)的抽風式管理:
- 突然消失幾個星期去管理其他程式設計師
- 回來後花所有時間找回每一節列車車廂,將它們放回軌道上
- 這種經歷會讓人一點點受傷
3. 負責幹活的人其實資訊更多#
在高科技公司中,負責幹活的個人總是比「領導者」有更多的資訊,所以他們其實是做決策的最佳人選。兩個程式設計師爭論了兩個小時的壓縮圖像最佳方案,老板走進來憑最少的資訊做技術裁決——這是最糟糕的做法。
Joel 在微軟時的上司 Mike Maples 堅決拒絕在技術問題上發表意見,迫使程式設計師在內部展開辯論每個方案的優缺點,最後問題總是用最好的方案解決,而不是按爭論中佔上風的人的意見解決。
軍隊為什麼用它#
Joel 用自己在以色列傘兵部隊服役的經歷來解釋。士兵有兩條規矩:
- 發現地雷就靜止不動
- 遭到敵人襲擊就一邊開槍一邊衝向敵人
當這兩條規矩同時觸發時(踩到地雷陣又被射擊),正確答案是:不要去踩地雷,一邊開槍一邊朝敵人衝過去。
這是一個囚徒困境(Prisoner’s Dilemma):每個士兵都有巨大的動機作弊(自己不動讓別人衝鋒)。軍隊必須透過訓練讓士兵養成服從命令的天性,這在生死攸關的戰場上是必要的。但對軟體公司來說,服從命令就不一定那麼重要了。
結論#
軟體開發團隊中的優秀程式設計師可以去任何他們想去的地方工作。如果被當成士兵對待,他們會感到相當掃興。堅持這樣做,最後就只能成為「光桿司令」了。