我是一名項(xiàng)目經(jīng)理,在過去的四個(gè)月里,我把一個(gè)項(xiàng)目帶崩了(上線后頻出問題,用戶無法使用)。在最近的幾天,我每天都在反思自己,我都在問自己以下幾個(gè)問題:
1.我做錯(cuò)了什么?
2.我在其中占有多重的因素?
以下內(nèi)容,我將回答以上問題,并在最后說一下我的補(bǔ)救措施。
項(xiàng)目和團(tuán)隊(duì)背景
首先給大家說明一下項(xiàng)目背景,以便各位對此項(xiàng)目有更清晰的了解:
1.該項(xiàng)目是一個(gè)二次開發(fā)項(xiàng)目,第一個(gè)基礎(chǔ)版本(打印申報(bào)系統(tǒng))也由我?guī)ьI(lǐng)開發(fā)。
2.系統(tǒng)是需要和國家系統(tǒng)對接,有三條主流程。
3.需求頻繁變化,由于系統(tǒng)需要對接國家系統(tǒng),需求方對需求也不甚了解。曾在5月份一個(gè)月內(nèi)需求變更超過8次,都是主流程變更。
4.項(xiàng)目大小按照最初需求估算,約在100人天左右。
5.項(xiàng)目兩條主流程無法測試,依賴于外部U盾,但開發(fā)過程中并沒有U盾。
6.客戶現(xiàn)場使用U盾調(diào)試和開發(fā)時(shí)間約為20天左右。
7.我當(dāng)時(shí)同時(shí)負(fù)責(zé)大大小小4個(gè)項(xiàng)目,沒有進(jìn)入開發(fā),僅管控進(jìn)度。
8.團(tuán)隊(duì)成員共3名,其中兩名是當(dāng)時(shí)開發(fā)基礎(chǔ)版本的項(xiàng)目成員,他們對此項(xiàng)目較為熟悉。
9.項(xiàng)目推進(jìn)過程中,需要多次去現(xiàn)場調(diào)試測試,由團(tuán)隊(duì)中的兩名工程師共同前去。
我做錯(cuò)了什么
除了監(jiān)控進(jìn)度,還要管理質(zhì)量
在項(xiàng)目的開發(fā)初期,我制定了一份詳細(xì)的開發(fā)計(jì)劃,用于指導(dǎo)整個(gè)開發(fā)過程。開發(fā)計(jì)劃交付與了客戶,而答應(yīng)了的事情就要做到,所以在整個(gè)項(xiàng)目過程中,我對進(jìn)度管控很嚴(yán)。我定期檢查功能是否完成,定期和客戶匯報(bào)情況,保證了開發(fā)進(jìn)度順利推進(jìn)。但也由此埋下了禍根,僅僅看需求是否完成,而未關(guān)注完成的質(zhì)量如何。
項(xiàng)目質(zhì)量出現(xiàn)了許多細(xì)節(jié)性問題。比如:
1.上線后,客戶那邊發(fā)現(xiàn)其中一條主流程都走不下去
2.其中申報(bào)功能,系統(tǒng)提示成功。但實(shí)際上并沒有真的申報(bào)成功,申報(bào)后在國家系統(tǒng)無法查詢到
3.打印功能小問題較多,打印獲取的數(shù)據(jù)錯(cuò)誤
4.同步數(shù)據(jù)的功能無法同步或者同步的數(shù)據(jù)錯(cuò)誤
5.執(zhí)行時(shí)間過長的功能,數(shù)據(jù)庫會(huì)強(qiáng)制斷開連接
等等問題,就不一一列舉
反思:
1.進(jìn)度和開發(fā)速度固然重要,但以質(zhì)量換速度不可取
2.如果開發(fā)時(shí)間和質(zhì)量沖突,優(yōu)先保質(zhì)量,畢竟你埋下的坑,總是要坑你自己的
3.再困難的情況下,也要保證基本測試
4.時(shí)間極其不允許的情況下,也要保證主線功能順利執(zhí)行
既要給予信任,也要保持警惕
項(xiàng)目中的三名成員,都是合格的開發(fā),對使用的框架非常熟悉。其中兩名還是基礎(chǔ)版本開發(fā)成員,對需求也很熟悉。所以項(xiàng)目中,我放心的把整個(gè)項(xiàng)目交給了他們。基于對他們的放心,加上其他項(xiàng)目事情繁雜,對此項(xiàng)目關(guān)注度,對他們的關(guān)注度就不夠了。
我在項(xiàng)目中給予了他們非常充分的信任,信任他們可以把一切事情都做好。但我沒有在正確的時(shí)候給予他們正確的指引,項(xiàng)目中出現(xiàn)的困難點(diǎn),我也沒有幫助他們解決,甚至于沒有給出思路。所有的一切,都靠他們自己完成。我在這個(gè)項(xiàng)目里做的,就是對接客戶,催進(jìn)度。再無第三件事。
反思:
1.不論什么原因,都要關(guān)注到項(xiàng)目成員的狀態(tài)
2.給予信任沒錯(cuò),但也要適當(dāng)保持警惕,他們多少會(huì)因?yàn)榻?jīng)驗(yàn)問題疏忽遺漏一些問題
3.給予信任,也要給予幫助,不以時(shí)間為理由推脫你應(yīng)該對他們進(jìn)行的指點(diǎn)和幫助。畢竟現(xiàn)在剩下來一分鐘,以后要花一個(gè)小時(shí)去彌補(bǔ)
若無法全局掌控,就指派專人負(fù)責(zé)
這是我在項(xiàng)目中做的最錯(cuò)誤的地方。
由于種種原因,我無法掌握到項(xiàng)目的每個(gè)要點(diǎn)和細(xì)節(jié)。而項(xiàng)目中有三個(gè)開發(fā)。我并沒指明其中某一個(gè)來負(fù)責(zé)整個(gè)項(xiàng)目,所有事情都讓他們自己商量。從客戶對接來的問題,我也是僅告知對應(yīng)的開發(fā)。整個(gè)項(xiàng)目中,沒有一個(gè)人對項(xiàng)目中的每個(gè)要點(diǎn)了如指掌。
反思:
1.手里捏著管理的權(quán)利,卻沒有做到管理的事情。是我在這個(gè)項(xiàng)目里最大的問題
2.授權(quán)!授權(quán)!授權(quán)!如果自己無法親力親為投入項(xiàng)目管理工作,就授權(quán)給團(tuán)隊(duì)某個(gè)成員管理權(quán)限,讓他代替你去做管理工作
3.管理一人,總比管理多個(gè)人輕松,也更有效
要控制需求,更要控制流程
項(xiàng)目是二次開發(fā)、成員對項(xiàng)目很熟悉、項(xiàng)目工作量不大、時(shí)間緊。
基于以上原因,我掉以輕心,沒有在項(xiàng)目初期進(jìn)行項(xiàng)目的設(shè)計(jì)和規(guī)劃,未指定任何開發(fā)規(guī)范。僅僅告訴開發(fā)的同事要多復(fù)用,也未檢查他們是否真的復(fù)用了。
項(xiàng)目開發(fā)中的需求變更,客戶反饋意見,我我都僅僅是告知他們一聲,未做詳細(xì)的修改規(guī)劃,所有事情都靠嘴說,所有變動(dòng)都放在了我和他們的腦子里。
對項(xiàng)目上心程度不夠,未對客戶的需求變更做控制和管理。所有變更都?jí)航o了開發(fā)的同事。
整個(gè)項(xiàng)目以及其不規(guī)范的方式在運(yùn)行,我也未在其中起到控制作用,項(xiàng)目開發(fā)一團(tuán)亂麻。
反思:
1.不做設(shè)計(jì),不進(jìn)開發(fā)
2.以管理工具指導(dǎo)開發(fā)進(jìn)行,開發(fā)過程中所有變更、反饋?zhàn)鲇涗?/p>
3.控制需求變更,拒絕不合理的需求
4.需求變更規(guī)范化操作,統(tǒng)一變更,而不是直接壓給開發(fā)
無論什么情況下,都要進(jìn)行code review
整個(gè)項(xiàng)目過去了幾乎四個(gè)月,我僅僅花了兩個(gè)多小時(shí)簡單看了下代碼,未指出代碼的任何問題。這也導(dǎo)致出問題后來我花了成倍的時(shí)間來處理code review的工作,并且項(xiàng)目成型后的代碼修改困難。
項(xiàng)目開發(fā)過程中,也未讓開發(fā)間互相進(jìn)行代碼review,也沒有進(jìn)行代碼評審會(huì)。
其實(shí)代碼中出現(xiàn)了很多問題,最后檢查代碼的時(shí)候,發(fā)現(xiàn)各種命名不規(guī)范、代碼復(fù)用不到位、簡單邏輯復(fù)雜寫等等。而這些問題,很大一部分都是早期未做規(guī)定,未指定人負(fù)責(zé)項(xiàng)目、未進(jìn)行早期code review造成的。開發(fā)各自為戰(zhàn),難免造成代碼問題。
代碼質(zhì)量的問題,淋漓盡致的體現(xiàn)的在項(xiàng)目中,項(xiàng)目中的諸多bug,都是因?yàn)榇a不規(guī)范引起的。甚至于開發(fā)人員自己對自己寫過的東西,都有些拎不清了。
反思:
1.代碼質(zhì)量非常重要,代碼越規(guī)范bug越少
2.代碼互評能讓開發(fā)更注重自己代碼的質(zhì)量
3.code review非常有必要,越早期的code review越能有效的節(jié)省后期的時(shí)間
我在其中占有多重的因素
100%
我怎么填坑的
項(xiàng)目上線,問題頻出,用戶不滿。花了8天時(shí)間來處理這個(gè)問題。幸虧項(xiàng)目不大,我一個(gè)人也能夠挽回。
目前暫時(shí)解決完畢,我簡單說一下我是怎么填坑的:
1.和開發(fā)主流程的同事詳細(xì)熟悉了所有需求要點(diǎn)
2.基于我對項(xiàng)目需求的熟悉,我花了三天把所有主流程的所有代碼分析完畢,做出了我認(rèn)為應(yīng)該的修改,并實(shí)施部署到生產(chǎn)環(huán)境測試(這是在給開著的飛機(jī)換引擎,但需要U盾才能測試,僅有生產(chǎn)環(huán)境的機(jī)器有U盾,別無他法)
3.每天花超過12個(gè)小時(shí)來進(jìn)行code review 和修改,幾乎每天code review + 修改到凌晨2點(diǎn)多(僅修改了問題較大且影響較小的地方。小問題未修改、牽涉面較廣的地方未修改)
4.每次上班時(shí)間的修改讓開發(fā)同事坐在旁邊和我一起進(jìn)行,我進(jìn)行修改,開發(fā)同事在一旁監(jiān)督。確保我不出錯(cuò)
5.優(yōu)化功能點(diǎn),把我發(fā)現(xiàn)的提示問題,和優(yōu)化點(diǎn)都同步修改進(jìn)代碼中,確保用戶體驗(yàn)不要太糟,以期能挽回一些用戶心態(tài)
我所吸取的教訓(xùn)總結(jié)
1.先設(shè)計(jì),后開發(fā)
2.管理權(quán)下放,項(xiàng)目中必須有人全身心負(fù)責(zé)
3.無論什么情況都要進(jìn)行code review
4.壓縮質(zhì)量得到的進(jìn)度保證不可取,開發(fā)周期不合理決不答應(yīng)客戶。否則坑了自己坑了同事,更坑了客戶
-
項(xiàng)目經(jīng)理
+關(guān)注
關(guān)注
0文章
3瀏覽量
2132
發(fā)布評論請先 登錄
相關(guān)推薦
如何成為一名合格的KaihongOS北向應(yīng)用開發(fā)工程師
三安光電數(shù)字化變革項(xiàng)目正式啟動(dòng)
AI項(xiàng)目管理平臺(tái)有什么用
如何成為一名合格的北向應(yīng)用開發(fā)工程師
贛鋒鋰業(yè)Goulamina項(xiàng)目正式投產(chǎn)
cmp項(xiàng)目管理工具的優(yōu)缺點(diǎn)
M5Stack Hackathon:看看我們都做了什么好玩的項(xiàng)目!

蔚來獲得CACSI車型滿意度和售后服務(wù)滿意度第一名
【畢設(shè)項(xiàng)目參考】物聯(lián)網(wǎng)10+項(xiàng)目推薦,附項(xiàng)目文檔/源碼/視頻

啟明信息奧迪一汽CC項(xiàng)目熱線啟動(dòng)
首批CCF-飛騰基金項(xiàng)目順利結(jié)題
潤和軟件連續(xù)四年蟬聯(lián)數(shù)字業(yè)務(wù)類解決方案市場第一名
中國電子黨組副書記、總經(jīng)理李立功調(diào)研CET中電技術(shù)馬來西亞數(shù)據(jù)中心項(xiàng)目

金航標(biāo)和薩科微總經(jīng)理宋仕強(qiáng)培訓(xùn)「項(xiàng)目管理」

評論