【世界經理人編者按】 接手開發(fā)部門管理工作不久,適逢公司強化管理的改革,因此許多方面對于我這樣以往只做過項目管理工作的人而言無疑是不小的挑戰(zhàn)。得益于公司管理層的大力支持和部門同事的充分信任,三個月來我初步領悟了部門管理的一些涵義,這里托出心得與大家分享。不過,因為每個話題展開了都太大、而太需要專業(yè)討論,所以不敢深入,都是淺嘗輒止。
1、管理心態(tài) 大贏家思路 我個人認為這是職業(yè)生涯中最重要的心態(tài)之一,每個人都希望自己能成功。但無論是個人創(chuàng)業(yè)或謀職打工,總是先有公司的成功,才有自己的發(fā)展。這樣說顯得很明白,可實際上往往不容易做到,站在自己利益角度看待公司是無可厚非的,但太過了則很容易心態(tài)失衡,進而東奔西走、折騰自己。it行業(yè)中,多數(shù)人的黃金職業(yè)生涯有限,如果總是對現(xiàn)狀不滿,看著別人怎么好,那么就很有可能失去自己身邊的絕好機會。大家都踏實做好自己的事情,都把蛋糕往大里做,沒理由竹籃打水的,企業(yè)的成功必然和個人成功雙贏。 團隊和個人 團隊建設是管理中老生常談的話題了,我也一樣要重點檢視這個環(huán)節(jié)。我對此的看法是先有個人、才有團隊(希望不會曲解“以人為本”),具體表現(xiàn)為: it員工在一個崗位上所求無非包括成就感、保持前沿、個人利益以及工作氛圍,因此團隊建設的目標如果能和個人目標貼合,事情往往容易推動。 首先,做好misc這樣有鑄就輝煌的產品以謀求成就感和個人利益是每個人的目標,也是團隊目標的根本,也正是前面說的大贏家思路。其次,團隊應當能夠提供每個人進步的機會。我們做的是應用型產品,為了給運營商、sp客戶提供更好的服務,繁瑣的工作往往不少,這種狀況下許多人會感覺自己缺乏提高。而借助團隊式學習、培訓,這種感覺是可以消除的。it技術對多數(shù)人而言,應知比應會更重要,團隊式學習恰好適合。第三,和諧愉快的部門環(huán)境對個人的感覺是很重要的,這方面的部門建設,對管理者而言重要的是公正地看待每個人,對個人而言則是先修身再做事,如果眼前只有自己的目標,那么目標自然能夠達到,也能越來越大。 職業(yè)心態(tài) “和尚撞鐘”形象地代表了職業(yè)心態(tài),對我從事管理工作很有借鑒。一方面,這口鐘代表了明確的目標,能堅持去撞本身就很執(zhí)著。另一方面,圍繞著鐘(目標),工作也容易抓住重點,雜念和頭緒自然較少。 “就事不就人”代表了另一種職業(yè)心態(tài),對于團隊建設尤其重要。工作中的不同觀點、爭執(zhí)是非常普遍的,百家爭鳴才有利于繁榮。在技術工作中,沒有級別、資歷、面子,只有分析、比較和擇優(yōu)。管理者看待員工也是如此,如果工作始終是首位的,自然容易公正。 不完美主義 這實際是一種看待問題的態(tài)度,對創(chuàng)業(yè)型公司益多于弊。在公司快速成長的過程中,出現(xiàn)各種問題在所難免,消極的抱怨無濟于事。在多數(shù)情況下,如果真的等到沒有問題出現(xiàn),恐怕連鍋都揭不開了。所以,以良好的心態(tài)正視問題、積極對待、逐步改進,這樣才可能步步為營。cmm、管理體制改革、績效考核等也并不是要求公司的管理水平一步到位。不過這種心態(tài)并不適合于對技術的追求,任何軟件產品的成功都源于精雕細刻。 例如:軟件開發(fā)管理中,一方面,我們需要不斷制定各種流程約束隨意的開發(fā)行為,另一方面,對應每個發(fā)展階段的流程應當是簡單、清晰、實用的,把握的尺度在于:以當前的管理水平、參與者習慣是否能夠較容易地接受。畢竟,習慣在很大程度上影響了管理方法的可操作性。 2、工作方法 主動的溝通 從cmcc到aspire,產品到開發(fā)、管理層到員工,幾乎每個人都意識到需要溝通。對于開發(fā)部門而言尤其重要,很多問題也就出在這方面。主動性是促進溝通的最佳方法,公司也一直在致力于創(chuàng)建這種文化氛圍。不過,不少方面也不盡如人意。首先,技術層面的溝通還缺乏積累,雖然現(xiàn)在不至于是“口授需求+代碼”,但至少來個顧問或新員工,看設計方案還不如讀代碼來得快,著急的是還要在本來注釋就少的代碼中分析作者的意圖。其次,彼此的理解在許多時候不容易做到,問題出現(xiàn)后,責任更多象出爐山芋一般。 時間-質量-資源的平衡 創(chuàng)業(yè)型軟件企業(yè)經常會在這三個點上失衡,形成負反饋:市場壓力大、時間催得緊,人員、設備資源不充分,接著就是軟件質量不過關,進而惡性循環(huán)。客觀地分析,對我們而言,進入良性循環(huán)并不容易,所以當前的管理會盡量追求這三個因素的平衡。 首先,從資源角度,無非是量和質的問題。一味增加數(shù)量投入對于創(chuàng)業(yè)公司而言并非上策,一般人海戰(zhàn)術過后往往是無事可做,何況很多事情并非簡單增加資源就能順利推動的。所以,質就變得非常關鍵:開發(fā)環(huán)境需要提高并行度和效率,科學的分配可以提高人員的利用效率,良好的培訓與積累則容易從根本上提高技術素質。 其次,提高軟件的質量是個復雜的過程,很多環(huán)節(jié)、多個部門必須緊密配合與協(xié)調,對軟件開發(fā)而言,需求、設計和編碼的質量是重點,相關需要不少流程和工作方法配合,但不管是什么樣的質量體系,無非是:前期的工作保證質量(例如一份有指導意義的設計文檔)、后期的工作監(jiān)督質量(例如復審和測試)。與時間、資源相比,這點基本不能讓步,因為質量欠佳的東西會耗費極多的資源和時間的。 時間的平衡策略相對清晰些,即抓?。豪锍瘫畷r間點和任務優(yōu)先級,進度計劃只要不違背這兩點,其它的都可以調整。 目標和過程的結合 目標化和過程化的管理是兩種典型的做法,前者突出工作的效果,后者則有助于持續(xù)發(fā)展。事實上,在管理過程中這兩方面往往是結合起來的,正如矩陣管理中項目和部門的關系。按照這種理解,項目就是目標化的管理,為了達到既定目標,做法可以很靈活多樣,因此,潛在的副作用就經常存在,如開發(fā)中為了解決某個問題做的權宜解決方案,因為進度原因而不得不在一些環(huán)節(jié)上省略等等。部門的管理則更多地從過程方面進行補充,并不斷完善過程本身。許多時候,過程是促使一些管理方法得到落實的具體手段,例如:依據(jù)編程規(guī)范的代碼復審、版本的提交管理等等。 當然,無論具體管理中是目標或過程化的,最終,能在有限的時間內拿出高質量的軟件產品始終是我們的目標,一切的過程還是圍繞這點。 審視與改進 我們在工作中經常進行任務或問題的盤點,這實際上是一種審視,這個過程應當反復進行,無論技術或管理都是如此。 在管理方面,老總們經常會提示我們幾點:規(guī)劃、指揮、組織、控制,對我們的審視工作也可以適用:是否對本周工作有所計劃、人員是否安排到位、怎么推動大家在一起的協(xié)同工作、推進過程中出現(xiàn)了什么問題、有哪些因素可能導致什么風險、等等。正如我們對運行軟件系統(tǒng)的例行檢查,對管理工作也是如此。 管理工作中最苦惱的是:問題層出不窮,習慣難以矯正。激進的思路是改革,可能見效快,但風險也大,畢竟軟件企業(yè)不是車間流水線;穩(wěn)妥的思路是改進,即針對審視中發(fā)現(xiàn)的最關鍵問題切入,按照最實用的做法解決問題,小問題肯定不斷,但大的方面是進步的。中層管理的做法和編程序是很類似的:解決一個問題對周圍模塊/環(huán)節(jié)的影響當然是越小越好,步步為營、積少成多。 細致而精確 中層管理中的決策有些類似編漁網(wǎng),只有充分致密了,各種隱含的問題才能提早暴露出來,例如:資源沖突、技術風險、方法矛盾等。卓望雖然是創(chuàng)業(yè)型公司,但管理上的起點確實比較高,例如:量化的績效考核、各種成本核算等等,大家的目標都是追求量化和精確,這對中層管理提出了很大的挑戰(zhàn),如果每個環(huán)節(jié)不細致深入,工作很難做。 各種素材、數(shù)據(jù)的積累是細化工作的基礎,我們目前的階段是:想要什么數(shù)據(jù)明確,但數(shù)據(jù)來源過于分散、不真實,過于繁瑣。項目方面一般還好,但到了部門就有些混亂了。如果沒有真正實效性的知識管理工具,沒有其它相關過程的完善,管理不容易精確起來。 3、技術致勝 來自于開發(fā),深感技術配合管理的重要性,沒有技術的進步,就象用超級計算機指揮人手工插秧。定位在高水準公司,我們的管理水平也應當是技術致勝,因此這里把一些技術觀點也拿出來討論一下: 工具 包括管理工具和業(yè)務工具,前者使管理更加方便準確,后者則是部門管理工作的重點之一。在工作落實中,這兩個方面有些共同之處:一是對模型的抽象,這種模型可以是工作流、組件化服務器,也可以是測試流程、版本增量定義等。模型才是工具的本質,一個再好的工具,如果不符合我們的管理過程需要或業(yè)務要求,也起不到實際作用。當然,我們可以借鑒先進工具中的思想改進自身管理。二是拿來主義,顧問公司、工具廠商、internet等都是我們外圍的資源,既然卓望立足于高起點的管理,那么這些方面就不需要完全做辛苦的探索。 不過,現(xiàn)狀并不樂觀。例如對于業(yè)務工具的利用,在當前misc系統(tǒng)中還很局限,技術手段單一,存在相當多的重復開發(fā),缺乏對可重用資源的定義和積累等等。這些對于misc系統(tǒng)的快速占領市場、產品體系延伸、減少開發(fā)和維護的資源消耗都是不利的。 應變的技術體系 misc是應用型平臺,因此應變能力是技術體系的重要要求。從部門角度看,集中考慮是很有必要的,因為這往往和版本分支管理、保證對客戶的服務質量密切相關。 我們的現(xiàn)狀是:系統(tǒng)中到處是小開關,沒有統(tǒng)一的考慮,而且開關多了,可能的潛在沖突也不容易發(fā)現(xiàn)。 對此問題,我們的分析方法是:在現(xiàn)在業(yè)務模型的基礎上,考慮將來一段時間可能的發(fā)展,或者加強問題,在擴展后的業(yè)務模型中抽象出核心的業(yè)務元素/對象,并在定義接口時采取oo的分析方法使之通用化。類似于美學的設計,往往越是簡單的模型通用性和擴展性越好。當然,具體過程仍然是復雜、艱苦的。 開發(fā)吞吐量 稍微分析一下開發(fā)者的時間表,往往能發(fā)現(xiàn)相當多的時間花在:因為需求改變而返工、大量重復的編碼、程序調試、版本反復提交、測試排錯、系統(tǒng)部署等看似正常的軟件活動中,不過這些“正常”活動常常經不起推敲,例如:部署中發(fā)現(xiàn)有問題,找不到任何文檔中有說明,于是揣測了很久,還是無解,不得不問到當事的開發(fā)者。這并不正常,更說明不了技術的先進性,只是浪費每個人的時間。 有的是技術問題,而多數(shù)不是。對我們而言,如果能減少、甚至消除一些本不該出現(xiàn)的技術“誤差”,幾條槍真的就能做些大事了。 持續(xù)的技術改造 正如產品的不斷優(yōu)化,對技術始終應當有雕琢的心態(tài),而缺陷不僅是已經出現(xiàn)、表面上的,還需要從分析、想象中有所預見。 通過集體的反省與完善,不難歸納:開發(fā)中面臨的困難、臨時性的權宜方案、系統(tǒng)可能存在的瓶頸、代碼中的壞味道、顧問給我們提出的建議等等,審視后提前做出的改進比系統(tǒng)出問題后再窮于應付肯定主動許多。 技術保證服務質量 misc體系為最終用戶、各種外圍子系統(tǒng)、運營商以及sp等對象提供數(shù)據(jù)、業(yè)務接口和用戶界面類型的服務。提升技術水平帶來的必然是高質量、靈活多樣的服務。以往的工作中在業(yè)務接口方面已形成了多樣化的模式,例如:基于socket的高速消息通道、基于corba的遠程對象調用接口、基于http/xml的企業(yè)間web服務接口等。只要我們在數(shù)據(jù)、服務、界面等方面對外提供更優(yōu)質的軟件服務,業(yè)務的拓展會更加容易、迅速。 研究投入 公司建立的開發(fā)部門架構是以技能劃分的,因此對部門而言,對所屬領域的技術應當有深刻而專業(yè)的認識。為了能更好地適應公司將來的產品發(fā)展,提前的研究很有必要。例如:高性能數(shù)據(jù)對象層、移動終端適配技術等。與科學研究、架構研究不同的是,開發(fā)部門的研究更多針對一些系統(tǒng)實施中的關鍵技術,或者一些可能采用的國際先進技術。