以前寫過一篇,不滿意,重寫以下:
程序員
管理通常說來,就三件事:管人,管事,還有管錢。而這三者其實又是聯繫起來的,好比,咱們能夠說:讓合適的人作合適的事,並給他合適的錢。那麼,問題就轉化爲:怎麼纔算「合適」呢?編碼
有一些人的管理工做隨意散漫,但他們振振有詞,「管理是一門藝術」。我以爲,他們應該仔細區別一下,錯落有致和雜亂無章,簡約清爽和粗心大意……spa
或許他們還信奉權謀之道,用人嘛,「打個巴掌,給個棗吃」。你在用驢呢?稍微有點想法的就會不服,憑什麼打我一巴掌?稀罕你這顆棗子呢?把爺當傻子耍?去你媽的!.net
利益面前誰都不傻,靠陰謀算計當心思,只會形成管理者和被管理者之間的複雜博弈。簡單點說,就是勾心鬥角陽奉陰違。你覺得你在玩他,他其實悄悄在玩你,搞成了宮鬥權謀,一片烏煙瘴氣。項目管理
咱們從一個最簡單的例子提及。一件功能,交給張三去完成,給他三天時間。提早完成了有獎,超時罰錢扣工資。任務佈置得清晰明瞭,並且賞罰分明,是否是?管理就這麼簡單。開發
凡是這麼想的人,必定是沒有搞過管理工做的。文檔
中間可能出現的突發狀況太多了。三天事後,任務尚未完成。你火了,問爲何?一堆的理由:任務難度太大,工做量太多,李四不配合,理解錯了你的意思,中間出現了什麼突發狀況……反正都不是他的責任。他說得這麼有道理,你處罰試試看?沒過幾天你就孤家寡人光桿司令一個。因此,最可能的狀況是,問一下緣由,埋怨兩句,給他擦乾淨屁股,而後照樣稀裏糊塗的過日子吧!get
上述管理者困境的一個重要緣由,就是管理者本身都不清楚:分配下去的任務,難度有多大,工做量有多少,可能出現的狀況有哪些……本身都是一本糊塗帳,怎麼可能管好別人?博客
咱們經常說管理人員要有威信。威信是怎麼創建起來的?工做起來要成竹在胸,而不是稀裏糊塗的把任務佈置下去以後,遇到問題一問三不知,瞎指揮窮折騰。這樣次數多了,下面的人天然不服,「聰明」點的就開始動心思糊弄了……自動化
話是這麼說,但具體到咱們軟件開發中的項目管理,成竹在胸就不那麼容易了。
以項目預算爲例,我歷來沒看到過一份清清爽爽的軟件項目預算表。
先看報價。都是作工程,好比建築工程,根據圖紙,材料人工,一項一項的清單報價,無論多大的工程,價格算出來都是精確到分的,好比1080732.76元;但軟件開發,合同能精確到百,都不錯了,通常都是20萬、 3500之類的,感受在價格就是隨口喊出來的同樣。
再說工期。建築工程,誤了工期,時間稍微長一點,違約金都賠不起。軟件開發,延期延期再延期,纔是常態,是吧?即便勉強交貨,那都是蒙人的,裏面bug一大堆,先交了貨,再慢慢「維護」吧!
想來主要有兩點緣由:
因此項目負責人對項目的細節沒有切實的把控,只能憑着「經驗」或者「想象」來大體的「估算」項目的工做量。而事實證實,這種估算是至關不靠譜的。
處理一個複雜的事物,最經常使用的手段,就是把他切分紅一個一個簡單的部分。針對項目管理而言,咱們推薦的,就是作任務切分。
這實際上是一個必須得作的工做!區別只在於你是主動仍是被動,是認認真真仍是敷衍了事的在作。別說是一個團隊,必須得分工配合;就算是你一個開發,先作什麼再作什麼,你內心也得有個數吧?
只是不多有人專門花時間和精力,有意識的來作這件事。由於咱們對於項目管理中「計劃安排」的理解還不夠深入。
根據個人項目實踐經驗,深刻細緻的任務切分,可以幫助咱們:
總之,切分完任務,對這個項目,基本上就心中有數啦。若是說「管理藝術」,遊刃有餘的分配安排任務,像庖丁解牛同樣,「以無厚入有間」,遊刃有餘,這才能給人一種愉快的藝術享受!
我極力主張:把任務要切分到儘可能小的的粒度,好比一個任務20分鐘左右,最多不超過60分鐘。固然,不少同窗擔憂這樣作的成本過高,是否是項目經理一天到晚就切任務去了,不用幹別的了?
這是一個值得討論的問題。粒度越細,可控性越高;可是也要考慮成本,過猶不及。這個應該是根據項目具體狀況,靈活掌握。
這裏我只分享一下個人一個變通處理實踐:你也可讓開發人員本身進行任務切分,你在任務驗收時同時覈查任務的難度、工做量等。(若是你須要考覈的話,由於這時候代碼都已經提交review了,算是水落石出,作複覈工做量其實不多了,因此開發人員通常也不會亂來)
但這裏有一個小問題,就是開發人員開始可能會抵觸這種作法。他們會認爲切 分任務和寫文檔、寫註釋、寫日報週報同樣,是無用的工做。
道理固然要講,但最好仍是事實說話。
我隨你的便,但只有一個要求, 你先把你要花多少時間告訴我。他說行,好比一個功能點,他信心滿滿的說,「2小時夠了」。結果夠個屁!哈哈,他兩天都搞不出來。我就要找他說爲何了呀?東一榔頭西一棒,他怎麼說得清楚?焦頭爛額以後,他本身去體會。多嘗試幾回以後,外加他技術水平的逐步提升(切任務不是個簡單活,很考功力的),最後他也養成了習慣:敲代碼以前,先切任務。其實這就是一個理思路的過程,哪怕是純coding,作以前思路清晰了,也能事半功倍。「磨刀不誤砍柴工」,說的就是這個道理。
有人以爲這樣作不值得。你辛辛苦苦的分任務,作計劃,需求變了呢?或者出現了其餘狀況呢?計劃是否是就白費了?越完善詳盡的計劃越不可能實現……
這些倒都是經驗之談。現實確實如此,「計劃永遠沒有變化快」!可是不是就能夠證實,咱們不須要計劃了呢?讓咱們靜下心來仔細分析一下。
首先,不管如何,首先確定要有一個計劃。公司要籤合同要有金額工期,項目經理要報項目安排,程序員也要在deadline以前完成手頭的工做……不管你願不肯意,這是一個客觀要求,很難逃避的東西,是否是?
那麼,爲何咱們不少人提起計劃就頭痛,特別反感計劃呢?我以爲,很大一個緣由是由於:計劃被濫用。
好比被要求寫這些日計劃周計劃月計劃,寫的時候就不情願,感受畫蛇添足;更況且要是沒能按計劃完成,還要被要求說爲何!太多爲何了,怎麼說得完?真要說呢,又會被批評「爲失敗找藉口」,煩死啦!因此就作個假計劃大計劃空計劃之類的東西敷衍一下完事……
這種作法有幾個問題:
因此,咱們必須明白:計劃制定出來,就是被破壞的。計劃沒能按預期執行,並不說明他們沒有用。實際狀況發生了變化,計劃就應該相應的調整;但這種調整應該是有序的可控的,而不是胡亂的調整。有序的調整可以最終保證大任務的順利完成;而無序的調整,只會把事情搞得一團糟。怎麼樣纔可以有序?仍是要有計劃!一份計劃,就像一張圖紙同樣,出了狀況,鋪開圖紙,圈出出相應的部分,結合周圍的狀況,考慮一個妥善的解決的辦法……而不是一堆人你一句我一句,天馬行空,公說公有理婆說婆有理,亂哄哄的不可開交。
任務管理系統就可以幫助咱們及時迅速的應對各類變化。除了能夠提供自動化的統計分析之外,更由於項目已經被有效的切分。
若是你的計劃是一個不可分割的總體,犬牙交錯,牽一髮而動全身的那種,那麼固然,每一次改動必然都是一次傷筋動骨的大折騰。
但經過良好組織的任務切分,改動就能夠被有效的對應到相應的計劃部分。這時候,每一次的改動就是一個局部的改動, 是很是容易被從新計量評估的。好比,某次改動,會影響原任務3098-4012,原任務3876-3879,任務量共計480分鐘;改動新增任務 5678-5894,任務量共計300分鐘;因此任務總量減小180分鐘,很是清晰。
總之,任務的切分/分配能幫助項目管理人員深刻的瞭解項目,並在此基礎上合理的計劃安排開發工做,應對項目實施中的各類變化,是任務管理系統的基石。
++++++++++++++++++++
哇塞,寫得好苦啊!最難產的一篇博客!