為什麼要記錄Bug的製造者或引入者

2021-06-10 06:34:08 字數 1304 閱讀 7795

看到stack exchange上對於在bug report中加入"person to blame"欄位的討論,這的確是乙個很好的題目,這裡面包含了很多的東西。該不該加這個字段且不說,其實最重要是看動機和目的。

為什麼管理者要加這個欄位呢? 自然是可以方便地統計出哪個組、哪個夥計引入的bug狀況。這可是績效考核中一項非常有效的kpi(核心績效指標),一定能符合smart原則,隨後的獎懲也就有了基礎。開發者必然會認真對待,這樣也可以提高大家的責任心。這是管理者的思維。可它真得有效嗎?如果能讀讀《人件》,或許會理解地再深入些。

管理上是基於x理論還是y理論呢? 就是認為人本惡還是人本善的問題。認清事情本質是行為的基礎,所以要先分析問題(根本原因分析)。不同的理論,會導致不同的結論。比如:bug是因為人造成的,還是**造成的? x理論會很容易得出因為人的惰性、馬虎、大意而導致了問題。為什麼不認真分析所有可能性?為什麼沒有做好充分的測試?......  而y理論,則可能會得出可能是因為設計評估不充分、培訓不足、經驗分享不充分、**review不充分造成的問題。為什麼沒有讓開發者事先了解可能的問題呢?為什麼沒有人或方法可以提前預防呢?為什麼編碼規範規定了卻仍然有漏網之魚呢?

兩者最大的差別在於它們思考時所針對的目標不同。如果焦點在人身上,態度或職業精神就變成了根本原因。反之,焦點如果在流程和制度上,思考的方向就有如上面的例子一樣,完全不同。哪一種更有效呢?  什麼是可控的呢?難道公司要控制人嗎?

再舉乙個典型的問題,coding review是要review人呢,還是要review**? 可以試著用兩種方式思考一下。

對軟體開發行業而言,想找些有效的量化指標是很困難的事。 引入bug的數量和解bug的數量能體現出乙個人的開發能力嗎? 或者說乙個引入了十個bug的人會比只引入了乙個bug的人技術差嗎? 在絕大多數情況下,答案都是否定的。它裡面還有複雜度問題、職責問題、經驗問題、專業領域問題,最重要的是專案中的行政因素。想想有多少產品是在管理層的壓力下上線的?不過是在專案進度的修飾之下罷了。多少功能是硬上的?又有多少功能是求有不求精的?經過多少加班,產品終於上線了,專案終於完工了,但是開發者的苦日子才剛開始。而管理者呢? (題外話:所以在這個問題上專案經理負責制,有時不如產品線經理負責制來得好。) 如此說來,誰是bug的真正始作俑者呢?

上有政策,下有對策。如果只是加個字段,大家先填著,那就不用說了。當真從制度面推行時,雙方的互信必然受到影響。因為相當一部分開發者會感覺已經被置於不被信任的位置。至於如何應對,只有想不到的,沒有做不到的。管理者可以做個換位思考,如果頭上懸著bug數的利劍,在衝鋒獻陣之前是不是要想想有沒有可能出師未捷績效也會一塌糊塗?

總之,加這個欄位前,一定要想好你拿它做什麼? 能不能達到你的目的? 程式設計師是開發者,並不是麻煩製造者!

為什麼要記錄日誌

有個小兄弟今天詢問我這個問題,於是系統地歸納如下 工作日誌記錄了每個專案的每個人每天的每個任務投入的實際工作量與完成情況 完成任務的百分比 完成任務的規模,如 行等 基於這些資料可以實現 1 統計每個專案 每個任務的實際工作量,並與計畫工作量對比,分析人力成本的投入情況 2 分析各種型別的任務在整個...

為什麼要選擇ISP 為什麼要選擇AHD

在影象傳輸中,我們為什麼選擇nextchip?為什麼要選擇isp?為什麼要選擇ahd?為什麼選擇北京冠宇銘通?這個問題我倒著回答各位 一 北京冠宇銘通科技是nextchip目前為止唯一一家正式官方授權 車載產品廠家之一 二 ahd和其他幾種傳輸方式相比,擁有自己的專利,其他幾家有專利的沒有幾個,如果...

為什麼說品牌的前期要懂得製造產品「流量」?

宣傳 不管是做什麼,或者說是賣什麼,在 剛開始創業 的時候都是需要 為自己的品牌產品 做一些宣傳 現在的時代,不是研發的產品 就行了,還需要 被發現 好比禾稈蓋珍珠這個道理,珍珠,掩蓋在禾稈底下,誰會知道?敢情得把禾稈拿開,讓珍珠暴露在陽光底下,這想不被人發現都難吧。s o 產品質量很重要。被發現也...