我們是不是經常覺得做項目時,老是不斷重復之前項目的錯誤或問題?跳槽幾次后,發現項目管理上總是有些似曾相識的感覺。不要奇怪,這很正常,大象也有過這種經歷,我將這些經驗總結出來,與各位分享一下。
1、拍腦袋決定完成時間 這個可以說是絕大多數項目的特點。老板一拍腦袋:XX項目一定要在X月X日上線,不管有多大困難都要達到,我只看結果,其它的你們去考慮……問題的關鍵不是這句話,而是這時根本就不知道要做什么,這不禁會讓人感到很恐懼,繼而產生猜疑,有多少任務?做得完嗎?沒問題嗎?有問題吧?……然后當真正知道要做的工作量之后,悲觀的情緒開始蔓延,團隊士氣持續下降,各種不滿,各種抱怨都匯集在一起進入到項目開發中……
這種貌似不著調的決定,其實就是為了遏制成本,深度挖掘出員工的潛力(說的不好聽就是壓榨),讓每一位員工充分的為公司創造價值,領導則將此解釋為執行力。如果你經歷過很多次這樣的情況,你的神經早已堅韌,對此會很淡定,似乎達到了他強任他強,清風撫山崗;他橫由他橫,明月照大江的境界。
2、無法在時間點完成項目 幾乎所有項目的開發時間都會被強烈壓縮,而工作量又非常大,直接結果就是拼命趕進度,質量已經沒時間考慮了。即使如此拼命的做,項目還是無法在確定的時間之前完成,歸根到底想在這個時間點交付項目本身就是一件不可能的事情。
項目經理無法說動老板,不過他似乎得到了老板的授權,必要時可以加人,這讓他又信心十足。然而他卻沒在初期加入新的開發人員,卻是在離交付前幾周或一個月才發現事情并不是他想象中那樣,這時再招人已經晚了。項目經理這時會跟老板反應情況,要求增加一點時間,老板會先狠批一頓,balabala一大堆,然后再十分不情愿的答應,最后道出重點:這次項目獎取消! 造成這樣的結果,一種原因是遏制成本,還有一種情況是在大公司里面,層級很多,所以老板就有很多個,項目經理將無法完成項目的實情匯報給他的直接上司,而上司覺得如果他也這樣向上匯報會顯得自己能力不行,因此他會隱瞞實情,而作出有點問題但不是很大的匯報。而這個結果在他的上司看來應該是沒什么問題,繼續向上匯報時就變成了肯定沒問題的答復。因此悲劇就這樣發生了。 3、加班文化 做IT行業沒有不加班的,哪怕是其它行業也會有加班。加班對于軟件開發人員來說就像吃飯喝水一樣平常。很多公司把加班作為自己的企業文化,要員工自覺加班。有了上面說到的兩點項目狀態,加班就成了必然的事情。 現在很多公司特別是一些小公司,會想盡辦法規避加班的說法。比如大象以前就遇到過這樣的,該公司對開發人員不提供工作用的電腦,要你自己去買筆記本,然后公司根據你買的電腦價格提供一定數額的補貼(補貼不是一次性給你,是分月付的),項目時間很緊,工作量很大,基本每天都需要加班多做一點,但是公司會對你很關懷的說,帶回家做吧,你也不想一個人呆在公司里面,然后吃完飯后繼續做項目…… 做開發的雖然避免不了加班,但大象認為不能將加班作為一種常態,只要有項目上馬,就要每天加班,有的甚至五一、十一這樣的假期都要在公司加班。這不光對員工的心理和身體都造成了傷害,也對公司形象造成了損害。試想行業內的同僚聊天時,一說到某某公司就是眾口一詞,這是個魔鬼加班公司、大家千萬不要去、你想過勞死嗎?等等諸如此類不好的評價。身體是革命的本錢,就算賺再多的錢,也要有命才能享受得到,你說是不是?
4、無能的領導 遇到這種人,你要么把他弄下來,自己上去,要么趕緊走人換一家。不然你就等著被他們弄得欲仙欲死吧!這種人的特點就是真本事沒有,只會成天勾心斗角的算計,打壓同僚,批評諷刺挖苦屬下,以體現他的存在感和顯示他的能力。每當分完工作任務后,他就成了最輕松最無聊的人,徹底變成一個甩手掌柜。 這種人不懂什么技術,也不會管理,他手下人員的流失率非常高。你肯定想問這種人怎么可能一直坐在那個位置上?恩,這是個好問題,雖然他們的工作能力不行,但是他們深諳為官之道,將他們的上司,或直接是老板打點周到,然后工作結果不出什么紕漏,這樣他就可以繼續耍他的威風。 大象之前說的那個要自己買筆記本的公司里就有這樣一位極品,2009年的時候,當時是三個項目同時進行開發,極品覺得其中有一個項目的資金沒有按要求到賬,便私自做決定將它暫停一下,集中做另兩個項目。我當時知道了后還小小的激動了3秒鐘,但世上就是有這么多的神轉折,那個停下來的項目甲方竟然在離交付前兩個月的時候一次性支付了80%項目款,這下子極品不淡定了,要求馬上集中資源全力完成這個項目。用一個月的時間,完成本來要3個月的全部功能開發。大象那一個月每天都是凌晨兩三點鐘才睡,星期六星期天全天在公司加班,回來后繼續做。最后工作完成了,功勞全是他的,那家伙在開會時無比自戀的說:幸虧我英明的決定云云…………那樣子要多惡心就有多惡心。
5、繼續錯誤的方式 很多人可能都有這樣的體會,項目做完之后,開會總結,發現了項目中存在的不足,然后,就沒有然后了。因為下一個項目已經準備就緒,需要馬上開始做。在這個項目中,上個項目犯的錯誤繼續會犯,錯誤依然得不到解決。 這種不想改變的原因,是因為沒時間還是習慣了這種工作方式?我認為很大程度上來源于公司的文化和管理。公司只看成績,注重結果導致了只要把項目搞完就OK了,其它的見鬼去吧!多部門需要溝通配合的工作,由于管理不善,互相之間很難形成良好的合作,使得彼此之間不再有交流,導致問題在最后時刻爆發。
6、無處不在的變更 總是在項目進行到一半或者一大半的時候,變更來了。此時你的心情,真是恨不得把電腦砸了。但當你開始著手處理變更還沒兩天的時間,新的變更又來了,呵呵,請不要憤怒,現實就是這么滴殘酷。 像企業項目開發的變更,還有一點成本因素在里面。但是在互聯網公司,情況就完全不一樣了。無論在開發之前怎么強調需求變更的成本很高,實際上都沒什么效果,對于提出變更的人來說,他們不關心時間,他們只關心他們的需求是否得到落實,他們給出的理由也很充分:這是需要的,這個改動不大,只是換個方式而已,又不用多少時間……大象已經經歷過很多次這種狀況,可以說已經漸漸習慣了,但是真到了快上線的時候又來一變更需求,心里立即就像有一千萬頭草泥馬奔騰而過……
7、拖沓的工作 如果沒有好好的分解工作,只有一個大的完成時間點,項目在開始的時候是不會有緊迫感的,心里想著還有這么多時間,我可以做完的,日子慢慢過著,那么無形中進度會慢慢的降下來,直到某一時刻發現,原來還有這么多工作沒做。 還有種情況是在某個問題上遇到了麻煩,自己一個人在那里折騰,抱著不解決它,其它事情都不做的心態,時間就這樣一天天過去,如果解決了還好,要是卡在這里了,整個項目的進度都會被拖下來。對于這種工作的方式,大象是非常鄙視的。毫無團隊精神,你把問題拋出來會死啊?
8、追求新技術 做出好的產品或項目,并不只是用一些新技術堆砌起來的產物。但是對于有些表現欲很強的公司領導,就是喜歡上馬新技術,甭管這技術門檻如何,是否成熟穩定,學習曲線等等因素,反正就是要用,目的就是增加噱頭,增加政績。 08年的時候,Flex非常火,之前提過的那個極品項目經理就決定一定要在當時項目中使用這種技術。他自己是不會的,就要我來學習下,研究怎么在項目中使用,限我一個星期做個DEMO出來給他看,大象心里這個郁悶哦,就那幾天為這事搞得我口腔潰瘍了都,雖然已經過去6年了,我到現在都還記得很清楚。我的博客很早之前寫的使用Flex畫時空線形圖那篇文章,就是記錄當時項目中用Flex做的那個功能。 Flex其實是Flash的封裝,Flex開源,但是Flash并不開源。Flex入門還是很容易的,但想把這門技術掌握好卻并不容易。后來HTML5的發力,以及眾多瀏覽器的支持(IE9才支持),Flex的熱度才開始消退。如今,瀏覽器內的繪圖和動畫完全可以用HTML5來實現。但由于國內Windows XP系統的市場份額還非常高,因此IE6、7、8用的人相當多,所以很多網站即使采用了HTML5,也還是要兼容IE6、7、8,因此使得HTML5的推廣受到了阻礙。 我以Flex舉例,就是想說新技術并不是像看上去那么的美好,做技術選型時一定要慎重,架構應該結合自身的業務特點來進行設計,預先計劃著一兩年后就可以,不要盲目的一開始就遠景規劃到五年以后,十年以后怎么樣怎么樣,這是不切實際的想法。 再拿大家熟知的淘寶架構來舉例,最早03年淘寶剛出來那會兒,它是典型的LAMP,很快它的流量和交易量上漲,MySQL撐不住了,換成了Oracle,但還沒過多長時間網站還是抗不住,繼而轉用Java重做整個網站,然后隨著網站的發展逐漸的改變架構并加入新的技術。所以說好的架構是進化來的,而不是設計得到的,業務推動技術的發展,技術發展再反過來幫助業務的提升,這是一種良性的循環。 9、沒有多余的人 這種情況一般小公司比較常見,秉著節約成本,充分利用資源的原則,開發人員很少,每個人每天都是在超負荷工作著,沒有多預留一兩個人。直到有一天某個人決定不干了,那么他的工作誰來接手?這種只考慮金錢不考慮時間的做法是非常短視的,當項目進行到某個時間點時,很可能就會發現時間不夠用了,這時又想花點錢招人來“購買”時間,到了這個時候一切都已經太晚了。 這樣的公司,人員流動很大,發展也不穩定,剛進公司的人發現沒過多長時間就有人離職了,自己的工作又加重了一些,公司馬上安撫大家,會再招人補充這個位置,然而當新員工進來后,又有人離開,公司繼續招人……這個過程持續下去,很可能一年也很可能半年所有的人都會換一遍,你還會再呆下去嗎? 10、不說出來,沉默以對 項目按照需求開始進入正式的編碼工作,然后做需求的人繞過項目經理單獨找上你說,這個地方要改改,你點頭答應了,然后沒有通知項目經理,也沒有知會和這功能有關的其它模塊的開發人員。過了幾天,需求人員又來找你,說要新加一個功能,你又答應了,然后還是和之前一樣沉默的接受,不說出來。最后會出現什么情況? 有些時候是上級領導提出新的系統任務請求,但是目前的工作壓力已經很大了,作為下屬如果直接答應,而不會嘗試著說“不”的話,團隊的士氣將受到嚴重打擊,組員對你的尊重度也會下降。 11、不做出頭鳥 在某個項目階段性會議上,領導讓大家暢所欲言,談談現在項目還有哪些問題要解決。如果你提出了一個沒被發現的問題,那么,恭喜你,你就是解決此問題的人選了,實際上和這個問題有關的功能根本就不是你負責的。久而久之,以后在會議上再也沒人敢說什么了,哪怕自己知道還有哪些隱藏的問題。 如果是多小組協同開發的項目,如果A小組的負責人說進度達不到,需要增加時間,這時老板肯定一臉不爽,轉而問其它小組的進度情況,得到的回答肯定是一切盡在掌握中,而實際情況其實和A組半斤八兩,主要區別就是他們沒說,老板不知道,而將火力集中到了A組身上。 12、不確定的項目目標 很多項目在立項的時候目標不明確,多次開會討論都不能確定下來,使得混亂加重。其實參與討論的人可以有很多人,但最終做決定的只能是一兩個人,不能有過多的人參與到項目目標的確定。 今天全世界用的非常多的Linux系統,最早的時候是由Linus一個人獨立做出來的。還有在JavaScript里大紅大紫的jQuery,最早也是由John Resig一個人開發出來的,以及Hibernate早初也是由Gavin King寫出來的,像這樣的例子還有很多。他們確實才華橫溢,但至少說明項目的目標確實應該由極少數人來決定。 在確定好項目目標后,聲明項目范圍,嚴格把控新需求的增加,堅決拒絕與項目目標不一致或對目標效果不必要但明顯增加項目風險的需求。 13、辦公室安靜得像太平間 有一些公司,至少我呆過或知道的一些公司有這種情況,一整天都可能沒有一個人說話。就算是有,也是很小聲的交談,走路都輕手輕腳的像阿飄在飛。在這樣的環境下,實在是很沒有激情,開發本來就是一件很費腦力很枯燥的事情,如果在這樣詭異的氛圍中工作,會讓人更壓抑,有可能公司文化就是這樣。這樣的情況就是人人都呆在自己的位置上做自己的事,造成了溝通嚴重不足,但你忍心破壞這么和諧的環境么?親! 14、進度時間控制 項目的開發時間永遠是緊張的,總是感覺不夠。如果團隊成員的個人能力差距較大,進度將會受到影響。因此想確保進度可以被掌握,事先一定要好好的計算下各自的工作量,而計算工作量有一個比較通用的公式: 工作量=(最可能+最樂觀+最悲觀)/3
或者 工作量=(最可能x4+最樂觀+最悲觀)/6 這里算出來的工作量就是“1天/人”,比如你算出自己的工作量是15人/天,那代表你需要15天才能完成自己的工作任務。工作量的計算越細化越好,比如以功能為單位就肯定比以模塊為單位要精確很多,對工作量越了解自己的心里面就越踏實。特別是計算前要好好的分析一下自己要完成的功能或模塊,確定他們是否還需要其它的資源(需求是否明確、調用別人的接口、需要前端協助),這些因素都要考慮在內。 在交付時間確定的情況下,根據自己的工作量來安排時間,每天都查看一下計劃表,看看進度是否落后,如果確定無法在時間點完成任務,那就需要加班來做了。如果團隊中每個成員都能這樣保證工作進度,那么在時間點交付項目就不是什么太難的問題。
這是大象的一些經驗總結,有什么不對的或不足的,還請各位批評指正,謝謝! 本文為菠蘿大象原創,如要轉載請注明出處。http://www.tkk7.com/bolo
posted on 2014-02-04 12:11
菠蘿大象 閱讀(3452)
評論(7) 編輯 收藏 所屬分類:
隨筆