一個(gè)團(tuán)隊(duì)中經(jīng)常會(huì)充滿了這樣的爭(zhēng)吵:
“你這個(gè)test寫(xiě)得太復(fù)雜,我看不懂,建議重寫(xiě)!”
“我不覺(jué)得復(fù)雜啊,是你看得不仔細(xì)”
“你這個(gè)函數(shù)寫(xiě)得太大,test肯定無(wú)法cover所有分支!重寫(xiě)!”
“靠,我已經(jīng)用客戶端測(cè)試過(guò)了,沒(méi)有問(wèn)題“
”客戶端測(cè)試通過(guò),但是test沒(méi)有cover所有分支,這是不行的,難道每次修改這里都用客戶端來(lái)測(cè)試這個(gè)函數(shù)有沒(méi)有問(wèn)題嗎?這樣代價(jià)很大,最后會(huì)導(dǎo)致無(wú)法修改??!“
”我test寫(xiě)那么完備,代碼都無(wú)法按時(shí)提交了,這個(gè)責(zé)任誰(shuí)來(lái)負(fù)擔(dān)?“
”你test不寫(xiě)完備,代碼耦合性太高,下次這塊代碼出了問(wèn)題,責(zé)任你負(fù)擔(dān)的起嗎?“
……
……
兩人為此時(shí)吵了半天,最后吵到了項(xiàng)目經(jīng)理那去了。項(xiàng)目經(jīng)理一般有三種做法:
2B項(xiàng)目經(jīng)理: ”我不懂技術(shù),你們自己商量決定。不要耽誤進(jìn)度啊“
普通項(xiàng)目經(jīng)理:” test要寫(xiě)完備,把test補(bǔ)全吧。“。寫(xiě)代碼者不服,說(shuō)出了種種理由。項(xiàng)目經(jīng)理又和他辯論半天,實(shí)在無(wú)法說(shuō)服,最后項(xiàng)目經(jīng)理怒了:”我怎么說(shuō)你就怎么做!“
優(yōu)秀項(xiàng)目經(jīng)理: ”test要寫(xiě)完備,一定要補(bǔ)全test“。說(shuō)完之后就在項(xiàng)目review規(guī)則上補(bǔ)充三條規(guī)則:
1. test必須cover所有分支
2. test寫(xiě)得如果reviewer無(wú)法短時(shí)間看懂,需要重寫(xiě)。如果他人代碼導(dǎo)致自己寫(xiě)的test失敗,需要寫(xiě)test的人自己去修復(fù),解除耦合性
3. 代碼質(zhì)量重于進(jìn)度,質(zhì)量不好在項(xiàng)目后期會(huì)導(dǎo)致致命后果,不得以進(jìn)度為借口放棄質(zhì)量。
并且加上為什么這樣規(guī)定的原因,之后,項(xiàng)目經(jīng)理在代碼提交流程上添加了代碼測(cè)試覆蓋率檢查工具,沒(méi)有達(dá)到覆蓋率無(wú)法提交到git
第一種項(xiàng)目經(jīng)理是無(wú)為而治??瓷先ナ莻€(gè)好好先生,事實(shí)上是個(gè)吃閑飯的??瓷先?duì)每個(gè)人都好言好語(yǔ),事實(shí)上對(duì)整個(gè)項(xiàng)目沒(méi)有一點(diǎn)作用。一天到晚就是催進(jìn)度。最后很有可能就是因?yàn)橹?/span>test寫(xiě)得不完整導(dǎo)致代碼無(wú)法修改拖慢了進(jìn)度,但是這種項(xiàng)目經(jīng)理才不會(huì)管你呢,誰(shuí)進(jìn)度慢了,就是誰(shuí)的責(zé)任。
第二種項(xiàng)目經(jīng)理是人治。整體管理思路都對(duì),個(gè)人權(quán)利無(wú)限大,但是無(wú)法讓手下信服。有可能導(dǎo)致整天處于這種問(wèn)題的糾纏之中。手下的質(zhì)疑聲不斷,最后感覺(jué)自己管不了了。
第三種項(xiàng)目經(jīng)理是法治。逐步完善項(xiàng)目管理中的各種問(wèn)題。法律不全則修補(bǔ)漏斗,大家都有法可依,最后整個(gè)項(xiàng)目組走的路越來(lái)越順暢,開(kāi)發(fā)速度越來(lái)越快。
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://www.vanceur.cn/pmqhd/index.html