團隊對質量負責,“我”可以不負責? | IDCF

來源:BY林子 作者:林冰玉?
“敏捷測試強調團隊為質量負責,那質量變成是團隊的事情,可能有團隊人員認為個人不那么負責問題不大,畢竟天塌下來有團隊在。”一位轉型中的測試經理表達了這樣的擔憂。
這跟傳統(tǒng)職責分明的做法有關,“我”管“我的”,“你”管“你的”,各自做好自己的本分就可以了。現(xiàn)在,既然說要團隊來負責,那么“你”就可以多幫“我”負責一點,“我”少負責一點也沒問題。聽起來似乎還挺合情合理的。
顯然,這種想法是有問題的,把個人跟團隊割裂開來了。
良好的團隊應該有一種“我們”的態(tài)度,而不是“我”的態(tài)度:“我如何幫助團隊解決問題?我可以為別人做些什么?”,而不是“我不知道這是什么問題,這不是我的問題。”
但是,事實上有前面測試經理提到的這種想法的人應該不是個例。
因此,轉型中的團隊如何能夠真正做到團隊為質量負責,如何培養(yǎng)每個人對質量的責任感,是真正需要解決的問題。
一、團隊整體對質量負責

敏捷測試宣言里提到“團隊整體對質量負責”主要是針對傳統(tǒng)的質量都由測試人員來把關的做法,強調團隊所有角色對質量的責任。
之前從軟件質量屬性、易被忽視的質量、角色的質量職責分工、以及整體對質量負責的優(yōu)秀團隊特質等幾個方面有詳細分享。
不過,有了這些,也不是那么容易做到真正為質量負責,因為責任感的培養(yǎng)并不是一件簡單的事情。
二、責任流程模型
為什么責任感這么難以培養(yǎng)呢?Christopher Avery 的“責任流程模型 ( https://responsibility.com/responsibility-process/ )”很好的解釋了這個問題。

上圖即為責任流程模型,從下到上需要經歷幾種不同的心理狀態(tài):否認、指責、辯解、羞愧、放棄、義務,然后才能到達最上層的“責任”,才能培養(yǎng)責任感。
指責(LAY BLAME)
當問題發(fā)生時,指責心態(tài)的人會直接把責任推到別人身上,“這是他的錯”。
比如,在用戶故事驗收時候,發(fā)現(xiàn)某個小功能點的實現(xiàn)跟需求不符,這時候開發(fā)人員可能會說“那是因為需求沒寫清楚,是業(yè)務分析人員的問題。”
辯解(JUSTIFY)
當發(fā)現(xiàn)無法指責別人的時候,就會把問題歸因于我們無法控制的外部環(huán)境,通過這種方式來為自己辯解:“這就是經濟”,“我們的文化就這樣”,“這就是團隊的管理現(xiàn)狀”。
再比如,在軟件開發(fā)中當同一個問題被多次出現(xiàn)的時候,可能會聽到這樣的辯解:“我們的遺留系統(tǒng)代碼太亂了,出現(xiàn)這樣的情況實屬正常,很難保證代碼每次都能寫對。”
指責和辯解屬于從外部去找原因,從而推卸自己的責任。
羞愧(SHAME)
當意識到外部環(huán)境必須改變才能使生活變得更美好的時候,再出現(xiàn)問題就會歸因于自己的錯,會感到內疚。常會有這樣的想法:“我應該做的更好”,“我怎么又做成這樣”,“這是我應得的后果”。
比如,當某個復雜功能上線出現(xiàn)問題時,他們會想“這個點我之前應該想到的,怎么會漏掉沒測呢,我真是個白癡”。
感到內疚和羞愧是好的,但是光是這樣不會解決問題,下次還是會有同樣的問題出現(xiàn)。
義務(OBLIGATION)
義務不是責任,通常是一些承諾過需要做的事情,是自己不得不做但不一定喜歡做的事情。這種情況下會對自己的承諾感到抓狂,感覺到沒有其他選擇了,覺得生活就是一個負擔。是一種非常消極的態(tài)度。
比如,在開發(fā)進度特別緊急的時候,測試人員會有測試壓力巨大、根本測不完的情況,但測試人員還是會認為測試就是自己本分該完成的任務,是自己的義務,累的要趴下的時候只會抱怨工作太累了,不會積極的想辦法解決根本問題。
羞愧和義務開始從自己身上去找原因,但是還達不到責任的高度。
放棄(QUIT)
有時候,我們會在羞愧和義務之間感覺到非常的抓狂和沮喪,然后就會想逃離,逃離羞愧帶來的痛苦和義務帶來的負擔,也就是放棄。有放棄想法的人會覺得“只要不去關心問題,它們就會自行消失”,其實問題并不會消失,而且沮喪會一次又一次地襲來,從而非常的焦慮。
比如,某個開發(fā)人員開發(fā)的代碼總是出現(xiàn) bug,但是又找不到改進辦法的時候,可能就會覺得無能為力,產生放棄的念頭。
放棄是非常消極而負面的態(tài)度,很不利的。
責任(RESPONSIBILITY)
經歷前面這幾個階段,并沒有放棄,最后就會承擔起責任,培養(yǎng)責任感,來到責任流程模型的最高層次。
進入這個階段,會意識到自己是有能力和力量去解決某個問題。遇到需要解決的問題后,會直面問題本身,分析根因,想辦法解決問題,而不是去應對自己的沮喪感覺。
在軟件缺陷出現(xiàn)以后,解決了缺陷并且對其根因進行分析,找出以后避免出現(xiàn)同樣問題的改進辦法,并實現(xiàn)改進,做到缺陷預防。這就是責任,就是為軟件質量負責的表現(xiàn)。
否認(DENIAL)
還有一個狀態(tài)是模型右下角的“否認”。否認通常是因為沒有意識到有問題,而忽略問題的存在。這是責任流程模型的最低層次。
比如,測試人員跟開發(fā)人員說發(fā)現(xiàn)了一個 bug,開發(fā)會潛意識的反應說:“我代碼沒問題,我自己測過了。”
否認屬于負面心態(tài),但這種心態(tài)更多的是因為能力或認知有限所致。
三、培養(yǎng)責任感的三把鑰匙
責任流程模型形象地展示了培養(yǎng)責任感需要經歷的幾個階段,我們可以清晰地看到培養(yǎng)責任感的不易。Christopher Avery 為此也給出了培養(yǎng)責任感的三把鑰匙:動機、意識、面對。

動機(INTENTION)
首先,當事情出現(xiàn)問題的時候,需要以負責任的動機去面對,積極地想辦法解決,而不是忽視、找內外部借口、甚至是逃離問題不予理會。
比如,當我們在軟件開發(fā)中發(fā)現(xiàn)缺陷的時候,不管是什么原因導致,先要做的是積極想辦法來解決、分析并做好后續(xù)的預防,以減少同類缺陷再次出現(xiàn)。
做一件事情的動機將會決定后續(xù)所采取的行動,這個非常關鍵。因此,端正動機,積極面對問題,是通往責任之路的鑰匙之一。
意識(AWARENESS)
其次,是對責任的意識。當出現(xiàn)問題的時候,如果又開始找原因、找借口應對的話,要盡快把自己拉回來,增強自己面對問題的責任意識。
敏捷團隊強調團隊整體為質量負責,我們作為團隊的一員,都需要有對質量負責的意識,每次代碼變更都要考慮是否引入新的質量問題;當發(fā)現(xiàn)缺陷的時候要意識到需要一起來想辦法解決,作出自己力所能及的貢獻。
只有意識到了,才可能采取相應的行動。毫無疑問,意識非常重要,這是通往責任之路的第二把鑰匙。
面對(CONFRONT)
以積極的心態(tài)面對真正的問題,嘗試去發(fā)現(xiàn)其中有哪些是可以學習的、哪些是可以改正的、以及哪些是可以提高的。
出錯不可怕,可怕的是出錯以后不能從中吸取經驗教訓,同樣的錯誤頻出。失敗是成功之母,從失敗中學習,定會有所成長。
當我們說要為質量負責,就是不管質量出現(xiàn)什么樣的問題,我們都能積極面對,找到真正的問題所在,采取積極的應對措施,持續(xù)改進。
積極面對問題是一種成長型心態(tài),是一種負責任的心態(tài)。積極面對是通往責任之路的第三把鑰匙。
四、寫在最后
通往責任之路的三把鑰匙說起來都比較抽象,培養(yǎng)責任感純屬個人的自我修養(yǎng)。對于有志要增強責任心的人,可以從上述三個方面去刻意練習。
另一方面,從團隊領導者的角度,可以創(chuàng)造一種免責的文化氛圍,鼓勵團隊成員的創(chuàng)新、倡導持續(xù)改進,允許犯錯,不要對個人追責,從而更好地幫助團隊成員培養(yǎng)責任感。
最后,回顧一下文首的問題:團隊對質量負責,個人需要負責嗎?
答案當然是肯定的。我們要理解團隊的概念,個人屬于團隊,團隊由個人組成,個人和團隊是一個整體。
團隊對質量負責,就是需要每個人都對質量負責,是質量人人有責。

玩樂高,學敏捷,【規(guī)模化敏捷聯(lián)合作戰(zhàn)沙盤之「烏托邦計劃」】,2022年3月5-6日登陸深圳,將“多團隊敏捷協(xié)同”基因內化在研發(fā)流程中,為規(guī)模化提升研發(fā)效能保駕護航!!???
企業(yè)組隊和個人均可報名參加,一起挑戰(zhàn)極客烏托邦

