
如何讓老板相信在每個(gè)bug報(bào)告加"誰(shuí)的責(zé)任"項(xiàng)不是好注意
看到這樣標(biāo)題,我的***反應(yīng)就是反對(duì)老板這樣做。作為開(kāi)發(fā)人員,我最討厭有人指著我的鼻子說(shuō):這是你的責(zé)任,你寫(xiě)的代碼出了問(wèn)題。我通常會(huì)爭(zhēng)辯,有時(shí)會(huì)惱羞成怒。但如何能用充分的論據(jù)來(lái)證明這樣做法是不合適的呢?我還真沒(méi)有系統(tǒng)的考慮過(guò)。所以,當(dāng)看到有這樣的一個(gè)討論時(shí),我馬上就被吸引住了,群眾的力量是巨大的,群眾的思想放光芒,我從討論中學(xué)到了不少知識(shí),有了這些論據(jù),當(dāng)日后不可避免的遇到指責(zé)時(shí),至少心里能找到不少安慰。下面先看看這個(gè)偉大討論的發(fā)起人對(duì)自己遇到的問(wèn)題的描述吧:
在最近的制度改革中,老板要在我們的bug跟蹤單模板中加入“誰(shuí)的責(zé)任”項(xiàng),他認(rèn)為這樣能提高程序員的責(zé)任感(跟蹤單上已經(jīng)有地方指明bug是屬于哪個(gè)功能/用例的)。我認(rèn)為這樣會(huì)打擊程序員的士氣,導(dǎo)致人們相互指責(zé),而且對(duì)于一些由于需求問(wèn)題而被當(dāng)成bug的情況無(wú)法填寫(xiě)。
有沒(méi)有其它的能反駁這種做法的有效方法?有誰(shuí)知道哪里有關(guān)于這方面問(wèn)題的文章可參考的?我希望能拿這些給團(tuán)隊(duì)的同事和老板看。我認(rèn)為這種文化是不可接受的,希望能在實(shí)施前阻止它。任何建議我都十分感激。
有網(wǎng)友一針見(jiàn)血的指出這樣做的弊端,就是:
如果有人認(rèn)為“誰(shuí)的責(zé)任”項(xiàng)要填的是自己的名字,他就不會(huì)報(bào)告這個(gè)bug。這個(gè)會(huì)導(dǎo)致團(tuán)隊(duì)的bug數(shù)減少。
對(duì)這樣一個(gè)問(wèn)題,我最欣賞的回答是下面一條:
對(duì)于這樣的做法,我首先要做的是問(wèn)你的老板他這樣做究竟想解決什么問(wèn)題。有很多顯然更好的方法能解決他想解決的問(wèn)題。
對(duì)于一個(gè)事情,真的需要有一個(gè)人站出來(lái)承擔(dān)責(zé)任嗎?如果是這樣,那你的老板可能在其它什么地方出了問(wèn)題。一個(gè)好的工作流程是需要多人共同參與的,在軟件正式發(fā)布前,它需要經(jīng)過(guò)分析人員,開(kāi)發(fā)人員,代碼審查人員,測(cè)試人員。如果你們沒(méi)有經(jīng)過(guò)所有的這些步驟,那么嚴(yán)格按照這些步驟開(kāi)發(fā)將是解決你的老板的問(wèn)題的***方案。如果你們已經(jīng)是按照這個(gè)流程去做了,那么,哪個(gè)個(gè)人應(yīng)該為此承擔(dān)責(zé)任呢?也許誰(shuí)都不應(yīng)該,也許應(yīng)該譴責(zé)的是這些歷史遺留的代碼。
讓人們背后議論、相互指責(zé)會(huì)引起很不好的后果,千萬(wàn)不要隨意給人涂黑點(diǎn),一旦做了就很難挽回。這樣做解決不了任何問(wèn)題。很少有人會(huì)故意的大意犯錯(cuò)誤。你的老板應(yīng)該自我反思,看看問(wèn)題究竟是出在什么方面,看看如何能讓這種錯(cuò)誤不再發(fā)生。
這樣做了后,你就能清楚的看出,如果有人在不斷的犯錯(cuò),這很可能是完全不同另外一個(gè)問(wèn)題。
但是指stackexchange網(wǎng)站上***的回答卻是下面一個(gè):
告訴他,這外行人對(duì)內(nèi)行人所說(shuō)的問(wèn)題根源的外行叫法(如果沒(méi)有專(zhuān)門(mén)的項(xiàng)來(lái)描述這個(gè),一般會(huì)使用注釋來(lái)替代)。
你可以在網(wǎng)上搜一下軟件bug根源分析等內(nèi)容,你能搜到豐富的資料來(lái)證明你的觀點(diǎn)1, 2, 3, 4, …。
… 一個(gè)軟件bug的根源通常不是在某個(gè)單個(gè)的開(kāi)發(fā)人員身上(填寫(xiě)此項(xiàng)時(shí)特別要注意這點(diǎn))…
這清楚的說(shuō)明了為什么“問(wèn)題根源”是專(zhuān)業(yè)的,而“誰(shuí)的責(zé)任”是外行的。能說(shuō)明個(gè)人責(zé)任當(dāng)然很好,但有時(shí)候問(wèn)題的根源會(huì)產(chǎn)生在開(kāi)發(fā)團(tuán)隊(duì)“外部”。
告訴你的老板,如果需要指明一個(gè)承擔(dān)責(zé)任的人,“問(wèn)題根源”項(xiàng)應(yīng)該寫(xiě)成這樣:“編碼錯(cuò)誤由鮑勃提交,版本號(hào)是1234,吉姆在代碼審查中疏漏了此錯(cuò)誤,審查號(hào)是567”。“問(wèn)題根源”項(xiàng)的目的就是要記錄這樣的內(nèi)容,包括一些在開(kāi)發(fā)團(tuán)隊(duì)之外的原因。
例如,如果一個(gè)bug是由于硬件引起的(受到譴責(zé)的應(yīng)該是開(kāi)發(fā)團(tuán)隊(duì)外的購(gòu)買(mǎi)/測(cè)試硬件的那個(gè)人),用“問(wèn)題根源”就能很好的描述這個(gè)問(wèn)題,而“誰(shuí)的責(zé)任”就會(huì)導(dǎo)致問(wèn)題跟蹤線(xiàn)索中斷。
對(duì)于其它的開(kāi)發(fā)團(tuán)隊(duì)之外的人導(dǎo)致的錯(cuò)誤也能這樣記錄 —— 測(cè)試錯(cuò)誤,需求變更,管理決策問(wèn)題等。比如,如果管理部門(mén)決定不投入資金制備災(zāi)難應(yīng)急硬件設(shè)備,在數(shù)據(jù)中心停電宕機(jī)事件上填寫(xiě)“哪個(gè)程序員的責(zé)任”將毫無(wú)意義。
你遇到過(guò)這樣的事情嗎?你對(duì)此有何見(jiàn)解?























