在不增加成本的情況下引導開發(fā)人員做好功能自測的“開發(fā)與測試崗位更名為系統(tǒng)紅藍軍”實驗

作為企業(yè)IT部門某個開發(fā)團隊負責人的你,從書上和大佬那里得知,軟件開發(fā)團隊中的開發(fā)人員,如果在將所完成的功能提交給測試人員之前,加強自測,那么就能降低軟件開發(fā)過程中的返工。

于是你為每位開發(fā)人員,都準備了自測環(huán)境。然后告訴開發(fā)人員,在完成功能的開發(fā),向測試人員提測前,需要在自測環(huán)境完成自測。

但很快你就發(fā)現(xiàn), 測試人員還是經(jīng)常抱怨,開發(fā)人員即使擁有自測環(huán)境,但所提測的代碼,經(jīng)常連基本的功能都沒有跑通,需要打回去修復。

這個問題該如何破?

你讀了塞勒和桑斯坦的《助推》,其中行為經(jīng)濟學的“錨定效應”和“心理賬戶”給了你很大的啟發(fā)。即開發(fā)人員對于自測的態(tài)度,被其崗位名稱“開發(fā)”所錨定,即“開發(fā)”意味著設計和寫代碼,而“自測”屬于測試,應該由測試人員負責。這種錨定效應會帶來“心理賬戶”效應,即開發(fā)人員設計和寫代碼的時間,與修復包括自測在內的測試所發(fā)現(xiàn)bug的時間,分屬兩個不同的心理賬戶。在開發(fā)階段,他們不會使用修bug階段的賬戶里的時間。

如果把“開發(fā)人員”和“測試人員”這兩個崗位名稱,更名為能反映整個軟件系統(tǒng)的質量的名稱,是否能破解上述問題?

如果將開發(fā)人員的崗位改名為系統(tǒng)紅軍,即需要對所設計和編寫的軟件特性在整個系統(tǒng)中正常運行負全責,而測試人員的崗位改名為系統(tǒng)藍軍,即從整個系統(tǒng)的角度模擬現(xiàn)實生產(chǎn)環(huán)境各種刁鉆的場景來考驗系統(tǒng)紅軍所設計和實現(xiàn)的軟件特性,能否正常運行,那么這兩個崗位之間的關系,就轉變?yōu)榧t藍軍對抗。這樣是否能擺脫錨定和心理賬戶,從而助推開發(fā)人員進行自測?

你覺得可以設計一個實驗,來找到引導開發(fā)人員做好功能自測的一種方法。

該如何設計這個實驗?

我在下面幫你列出這個實驗的6個步驟和具體實施方法。你可以根據(jù)團隊具體情況,做適當?shù)恼{整。

1 基于觀察

測試人員經(jīng)常抱怨,開發(fā)人員即使擁有自測環(huán)境,但所提測的代碼,經(jīng)常連基本的功能都沒有跑通,需要打回去修復。

2 問出問題

是什么阻礙了開發(fā)人員進行自測?

3 形成可驗證的解釋性假說

根據(jù)行為經(jīng)濟學的“錨定效應”,開發(fā)人員對于自測的態(tài)度,被其崗位名稱“開發(fā)”所錨定,即“開發(fā)”意味著設計和寫代碼,而“自測”屬于測試,應該由測試人員負責。這種錨定效應會帶來行為經(jīng)濟學的“心理賬戶”效應,即開發(fā)人員設計和寫代碼的時間,與修復包括自測在內的測試所發(fā)現(xiàn)bug的時間,分屬兩個不同的心理賬戶。在開發(fā)階段,他們不會使用修bug階段的賬戶里的時間。

4 基于假說做出預測

如果將開發(fā)人員的崗位改名為系統(tǒng)紅軍,即需要對所設計和編寫的軟件特性在整個系統(tǒng)中正常運行負全責,而測試人員的崗位改名為系統(tǒng)藍軍,即從整個系統(tǒng)的角度模擬現(xiàn)實生產(chǎn)環(huán)境各種刁鉆的場景來考驗系統(tǒng)紅軍“所設計和實現(xiàn)的軟件特性,能否正常運行,那么這兩個崗位之間的關系,就轉變?yōu)榧t藍軍對抗。這樣就能擺脫錨定和心理賬戶,從而助推開發(fā)人員進行自測。

5 設計并執(zhí)行有對照組且只改變一個變量的實驗檢驗預測

你需要設法吸引IT部門負責人和測試團隊負責人對這個實驗感興趣,并獲得她/他的支持,比如幫助你找到另一個有同樣多開發(fā)和測試人員的開發(fā)團隊作為對照組,并獲得那個開發(fā)團隊負責人的支持。而你所在的團隊,可以作為實驗組。

由IT部門負責人、測試團隊負責人和實驗組與對照組這兩個開發(fā)團隊負責人,四人成立實驗小組。

為了讓實驗結果不會因為實驗組和對照組兩個開發(fā)團隊的開發(fā)和測試人員,因相互攀比而有損數(shù)據(jù)的準確性,該實驗從始至終秘密進行。即實驗的事情,只有實驗小組的那四人知道。若其他人問起實驗過程中一些事情的緣由,可以編一個理由??傊灰嘎墩陂_展的實驗和實驗意圖。

在實驗開始前,兩個開發(fā)團隊的負責人,需要各自保證開發(fā)人員都擁有自測環(huán)境,并準備好度量開發(fā)人員自測一次通過率的觀測工具。即能統(tǒng)計出開發(fā)人員開發(fā)完功能,首次給測試人員測試且一次通過的比例。

對照組對于開發(fā)和測試人員的崗位名稱保持不變。對照組團隊負責人在實驗開始前一天,召集所有開發(fā)和測試人員,告訴他們在完成功能的開發(fā),向測試人員提測前,需要在自測環(huán)境完成自測。

實驗組團隊負責人,就是你,在實驗開始前一天,召集所有開發(fā)和測試人員,向他們宣布,在本開發(fā)組,開發(fā)和測試人員的崗位,在未來一段時間內,比如6周,分別改名為系統(tǒng)紅軍系統(tǒng)藍軍。并告訴他們,系統(tǒng)紅軍需要對所設計和編寫的軟件特性在整個系統(tǒng)中正常運行負全責,而系統(tǒng)藍軍需要從整個系統(tǒng)的角度模擬現(xiàn)實生產(chǎn)環(huán)境各種刁鉆的場景來考驗系統(tǒng)紅軍所設計和實現(xiàn)的軟件特性,能否正常運行,

設置一個開展實驗時間段,比如6周。兩個團隊同時開展實驗,并同時采集數(shù)據(jù)。

每2周作為一個迭代。實驗小組在迭代末就開一次碰頭會,分析和對比這2周采集的觀測數(shù)據(jù)。

6 根據(jù)實驗結果可回到第3步不斷迭代優(yōu)化假說/預測/實驗過程

到第6周結束,總結和對比這3個迭代實驗組和對照組的數(shù)據(jù)。根據(jù)實驗數(shù)據(jù),看看是否支持第4步的預測,并決定是否回到第3步,改進假說、預測或實驗過程。

如果遇到問題,歡迎在評論區(qū)留言,與我交流。非常歡迎你把實驗的步驟、過程和結果分享給我,以便一起改進這個實驗。我會在這個實驗的將來的版本的致謝段落,署上你的名字和你所做的改進。

如果覺得本文對你有幫助,歡迎點贊,并轉發(fā)給其他志同道合的小伙伴。你覺得引導開發(fā)人員做好功能自測,還有什么其他好辦法?你還希望我聊有關做軟件的其他什么新話題?歡迎在評論區(qū)留言。我會仔細閱讀每一條留言。期待聽到你的聲音。

企業(yè)生意好,系統(tǒng)運行穩(wěn)。你所閱讀的文章,來自“吾真本說混沌工程”知乎專欄。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容