敏捷理念由來已久,若從敏捷軟件開發(fā)宣言的發(fā)布算起,今年已經(jīng)是20周年了。在這漫長(zhǎng)的歲月里,越來越多的團(tuán)隊(duì)在“四個(gè)高于”的價(jià)值觀引領(lǐng)下,以十二項(xiàng)原則為指導(dǎo),欣然求索而持續(xù)演進(jìn),在實(shí)踐中探尋更好的軟件開發(fā)方法。
雖然敏捷自身一直在變化,不同團(tuán)隊(duì)對(duì)敏捷實(shí)踐的落地也多有差別,但人們對(duì)敏捷核心的理解趨于一致。“追求更短的反饋環(huán)” -- 便是其中被大家廣泛認(rèn)可的一項(xiàng)核心目標(biāo)。假如以終為始來看,那么:
- Inception的采用,拉近了項(xiàng)目團(tuán)隊(duì)與產(chǎn)品團(tuán)隊(duì)/用戶的距離,在獲得需求有效澄清的同時(shí)也對(duì)軟件設(shè)計(jì)進(jìn)行快速反饋和更新。
- Pipeline的采用,加快了軟件集成的效率和頻率,掛載流水線上的分層自動(dòng)化測(cè)試縮短了代碼檢測(cè)的反饋環(huán),這也是落地快速交付的根本之一。
- 而快速交付的實(shí)現(xiàn),完成了產(chǎn)品/用戶-項(xiàng)目團(tuán)隊(duì)-外部市場(chǎng)的閉環(huán),小步快走,縮短了市場(chǎng)驗(yàn)證的反饋環(huán)。
然而,以“追求更短的反饋環(huán)”為目標(biāo)的敏捷,不僅僅在以上方面改變著敏捷團(tuán)隊(duì)的開發(fā)流程和技術(shù)實(shí)施的軟件工具,也真切改變著團(tuán)隊(duì)人員的角色認(rèn)知,工作內(nèi)容和思維方式。在這篇文章里,我們來梳理一下在敏捷驅(qū)動(dòng)下,QA這一角色如何從傳統(tǒng)Tester一路走來并不斷演化(或許不久的將來會(huì)更名為QE)。
角色認(rèn)知
曾幾何時(shí),CMMI還流行,研發(fā)中心的人員按職能維度被劃分為PM團(tuán)隊(duì),開發(fā)團(tuán)隊(duì),BA團(tuán)隊(duì)和測(cè)試團(tuán)隊(duì)等(這可能是角色墻或部門墻形成的一個(gè)條件),那時(shí)測(cè)試團(tuán)隊(duì)中質(zhì)量管控的角色則被稱為:
- 手工測(cè)試工程師
- 自動(dòng)化測(cè)試工程師
- 專項(xiàng)測(cè)試工程師(諸如:安全測(cè)試,性能測(cè)試,無障礙測(cè)試)
- 測(cè)試經(jīng)理
在項(xiàng)目敏捷化轉(zhuǎn)型的過程中,上面各個(gè)團(tuán)隊(duì)的經(jīng)理,當(dāng)然也包括測(cè)試經(jīng)理,或情愿或不情愿地從自己團(tuán)隊(duì)中抽出一部分人力資源組建出特性團(tuán)隊(duì)。這個(gè)團(tuán)隊(duì)在敏捷深化的過程中也經(jīng)歷類似塔克曼團(tuán)隊(duì)發(fā)展模型的歷程,下面我們從質(zhì)量的角度來進(jìn)行分析。
(1) 組建期
這個(gè)時(shí)期,手工測(cè)試,自動(dòng)化測(cè)試人員可能是分開的,甚至專項(xiàng)測(cè)試人員只是兼職參與。團(tuán)隊(duì)成員按照原來瀑布開發(fā)模型固有的階段式方式,像4x100米接力賽一樣合作,任務(wù)在角色之間一棒接一棒,雖然團(tuán)隊(duì)交付周期縮短成2到3周,但敏捷卻被玩成了小瀑布,不同角色各掃門前雪,整體velocity并不高。你會(huì)發(fā)現(xiàn),手工測(cè)試和自動(dòng)化測(cè)試由于目標(biāo)不同(一個(gè)為了發(fā)現(xiàn)缺陷的總數(shù),另一個(gè)為了自動(dòng)化測(cè)試覆蓋率),在配合上也貌合神離達(dá)不到1+1>2的效果。在這樣的情況下,將質(zhì)量把控統(tǒng)一到一個(gè)角色上刻不容緩,便有了Quality Assurance的角色。
(2) 震蕩期
到了這個(gè)時(shí)期,隨著CI/CD pipeline等基礎(chǔ)設(shè)施的優(yōu)化,和團(tuán)隊(duì)成員的磨合,整個(gè)團(tuán)隊(duì)的研發(fā)效率震蕩提升。敏捷團(tuán)隊(duì)有了QA這個(gè)角色來負(fù)責(zé)項(xiàng)目質(zhì)量,測(cè)試工作范圍較以前大大增加。角色統(tǒng)一后的QA,可能會(huì)出現(xiàn)力不從心,總擔(dān)心Ready for QA的卡測(cè)不過來,雙拳難敵四手(何況有的團(tuán)隊(duì)開發(fā)測(cè)試比在8比1以上)。測(cè)試過程中如何更精準(zhǔn)得實(shí)施測(cè)試,如何從已有缺陷的規(guī)律中讓開發(fā)人員吸取經(jīng)驗(yàn)提升Build穩(wěn)定性,怎樣才能前攝性得預(yù)防問題的發(fā)生?對(duì)這些問題的思索,逐漸讓QA演變?yōu)镼uality Analysis的角色。
(3) 規(guī)范期
敏捷追求持續(xù)改進(jìn),如何更好實(shí)現(xiàn)敏捷鐵三角中對(duì)質(zhì)量的追求?如何更進(jìn)一步縮短項(xiàng)目反饋周期?我覺得形成規(guī)范的過程,不僅是研發(fā)流程的規(guī)范,軟件工具的規(guī)范,交流溝通的規(guī)范,也是一個(gè)化繁為簡(jiǎn)的過程。人常說,積少成多,眾志成城。在項(xiàng)目質(zhì)量上更多憑借團(tuán)隊(duì)的力量對(duì)每一件過程結(jié)果進(jìn)行快速反饋,便是不二法門,也是更成熟的QA -- Quality Advocate手中高舉的旗幟。
本圖引自《數(shù)字化轉(zhuǎn)型背景下的測(cè)試轉(zhuǎn)型》
工作內(nèi)容
也許有人覺得,說來說去不管哪種QA,都只是對(duì)這個(gè)英文縮寫的演繹。如果愿意,QA也可以被理解成Question & Answer。我是認(rèn)可Question & Answer這種詼諧的說法的,試試回憶一下在項(xiàng)目中是提出問題和追尋答案較多的那個(gè)人,不正是QA嗎?
不過,為了大家更好理解,我們?cè)谶@里把對(duì)QA的三種解釋稱作三頂帽子,下面來從工作內(nèi)容進(jìn)行劃分:
(1) Quality Assurance
質(zhì)量保障,是對(duì)傳統(tǒng)Tester工作的擴(kuò)展,是對(duì)傳統(tǒng)四個(gè)測(cè)試角色的統(tǒng)一。它將角色的思考范圍從具體測(cè)試執(zhí)行的“點(diǎn)”提升到測(cè)試設(shè)計(jì)+執(zhí)行的“面”。
質(zhì)量保障工作內(nèi)容
(2) Quality Analysis
質(zhì)量分析,在質(zhì)量保障的基礎(chǔ)上加入了思辨的成分,如何從業(yè)務(wù)價(jià)值的交付出發(fā)更有效地改善質(zhì)量,將工作方向從質(zhì)量檢測(cè)推進(jìn)到質(zhì)量提升。這樣一來,QA的角色逐漸走出了獨(dú)立的角色范疇而上升到團(tuán)隊(duì)影響的層面。
質(zhì)量分析工作內(nèi)容
(3) Quality Advocate
到了質(zhì)量倡導(dǎo),QA對(duì)團(tuán)隊(duì)的影響更加突出,更像是質(zhì)量的布道者,讓所有角色對(duì)質(zhì)量的思考遍布所有活動(dòng)和階段,把團(tuán)隊(duì)在質(zhì)量管理的持續(xù)改善量化展示,致力于將質(zhì)量?jī)?nèi)建轉(zhuǎn)化為團(tuán)隊(duì)的基因,并在合適的時(shí)候孵化出新的質(zhì)量實(shí)踐。
質(zhì)量倡導(dǎo)工作內(nèi)容
從上面的描述,大家或許會(huì)覺得QA的三頂帽子有某種漸進(jìn)關(guān)系,其實(shí)不然。既然是不同的三頂帽子(就像鴨舌帽,禮帽,頭盔),敏捷中QA就會(huì)在不同的場(chǎng)合挑選適合的帽子戴上。只有以自動(dòng)化測(cè)試作為效率基石,質(zhì)量保障拓寬覆蓋范圍,質(zhì)量分析精準(zhǔn)優(yōu)化,質(zhì)量倡導(dǎo)沉淀文化,協(xié)同一致才能造就成熟的敏捷QA。
Test Engineer和QA關(guān)系圖
思維方式
在敏捷項(xiàng)目中,是什么推動(dòng)者QA工作內(nèi)容的變化?我覺得這個(gè)推動(dòng)力,一方面源于敏捷實(shí)踐帶來研發(fā)效率提升后對(duì)下游角色的倒逼,另一方面也出自質(zhì)量人員對(duì)敏捷理念的遵循和演進(jìn)。而這些在改變工作內(nèi)容的同時(shí),也促成了思維方式的改變,比如下來將要講到的一個(gè)目標(biāo),一個(gè)依據(jù),三大法寶。
(1) 以預(yù)防缺陷為目標(biāo)
缺陷修復(fù)的成本會(huì)隨著發(fā)現(xiàn)缺陷的時(shí)間越晚而越昂貴,更早得發(fā)現(xiàn)缺陷可以有效降低軟件研發(fā)成本。雖然發(fā)現(xiàn)缺陷數(shù)目被換算成測(cè)試人員績(jī)效組成,這種現(xiàn)象直到現(xiàn)在還能在某些組織見到。這樣對(duì)缺陷修復(fù)成本趨勢(shì)的不屑,更多是人浮于事的結(jié)果。測(cè)試的目標(biāo)是預(yù)防缺陷而不是發(fā)現(xiàn)缺陷,在敏捷組織被廣泛推崇。
本圖引自《敏捷測(cè)試的核心》
(2) 以測(cè)試宣言為依據(jù)
敏捷宣言是敏捷組織的圣經(jīng),由敏捷宣言演化而來的敏捷測(cè)試宣言,強(qiáng)調(diào)持續(xù)測(cè)試,精準(zhǔn)分層自動(dòng)化,認(rèn)同團(tuán)隊(duì)共擔(dān)質(zhì)量,推崇質(zhì)量?jī)?nèi)建。為QA的實(shí)踐探索提供了理論的依據(jù)。
(3) 法寶一:溝通中心化
在探索QA實(shí)踐的過程中,為了落地測(cè)試宣言中的理論,對(duì)QA這個(gè)角色在決策溝通和流程影響方面提出了很大挑戰(zhàn)。QA從拿槍桿子的技術(shù)崗位,要變成文可安邦武能定國(guó)的大才,也要有上廳堂下廚房的自如。
(4) 法寶二:質(zhì)量?jī)?nèi)建
質(zhì)量?jī)?nèi)建作為預(yù)防缺陷最重要的措施,QA參與到敏捷過程中的各項(xiàng)活動(dòng)。在每個(gè)有過程結(jié)果產(chǎn)出的活動(dòng)中,QA來提出問題,激發(fā)其他成員對(duì)于質(zhì)量和影響的思考,使團(tuán)隊(duì)時(shí)刻把質(zhì)量掛心間。
(5) 法寶三:分層自動(dòng)化
為縮短代碼修改驗(yàn)證的反饋環(huán),自動(dòng)化測(cè)試作為Pipeline配置的硬性條件,重要性被提得更高。自動(dòng)化腳本設(shè)計(jì)得到分層設(shè)計(jì),在系統(tǒng)架構(gòu)中由低到高分為單元測(cè)試自動(dòng)化,組件/服務(wù)測(cè)試自動(dòng)化和系統(tǒng)測(cè)試自動(dòng)化。這樣一來,自動(dòng)化的測(cè)試角度更多樣,覆蓋更精準(zhǔn)。
QA職業(yè)路線
敏捷的演進(jìn)推動(dòng)者角色的演變,角色的演變又反過來推動(dòng)敏捷的演進(jìn)。很多事情都是這樣的道理,因果流轉(zhuǎn),互為促進(jìn)。
講了這么多,總會(huì)有留心者發(fā)現(xiàn),上面所說的敏捷QA的影響范圍始終沒有跨越出團(tuán)隊(duì)級(jí)別。我們知道隨著企業(yè)數(shù)字化轉(zhuǎn)型的深入,敏捷已經(jīng)由最初的團(tuán)隊(duì)敏捷,擴(kuò)展到業(yè)務(wù)敏捷,又在加持EDGE后進(jìn)化出組織級(jí)敏捷。那么,QA這個(gè)角色在敏捷演化中有沒有發(fā)展出一條對(duì)應(yīng)的職業(yè)路線?
答案當(dāng)然是肯定的,現(xiàn)在是時(shí)候祭出21年TW最新的QA職業(yè)路徑的原型圖了。下面,我們一起學(xué)習(xí)Global對(duì)QA職業(yè)路徑中每個(gè)節(jié)點(diǎn)/職位產(chǎn)出(Outcome)的定義。
(1) Quality Practitioner
質(zhì)量執(zhí)行人,在敏捷團(tuán)隊(duì)中實(shí)現(xiàn):
- 強(qiáng)壯,可擴(kuò)展的自動(dòng)化套件以支持持續(xù)交付
- 將高質(zhì)量的軟件交付到生產(chǎn)環(huán)境以滿足業(yè)務(wù)目標(biāo)
- 通過持續(xù)測(cè)試實(shí)現(xiàn)快速反饋
(2) Quality Anchor
質(zhì)量專家,在敏捷團(tuán)隊(duì)或客戶線(Account)上,從質(zhì)量治理角度與業(yè)務(wù),設(shè)計(jì)人員,架構(gòu)師等各類角色溝通,獨(dú)立推動(dòng):
- 促成業(yè)務(wù)和開發(fā)團(tuán)隊(duì)在質(zhì)量策略、風(fēng)險(xiǎn)及應(yīng)對(duì)措施、團(tuán)隊(duì)培養(yǎng)、強(qiáng)壯而可擴(kuò)展的自動(dòng)化套件方面保持一致,從而實(shí)現(xiàn)持續(xù)交付
- 將高質(zhì)量的軟件交付到生產(chǎn)環(huán)境以滿足業(yè)務(wù)目標(biāo)
- 通過持續(xù)測(cè)試實(shí)現(xiàn)快速反饋
從上述的分類產(chǎn)出可以看出,Tester和Quality Assurance可以被mapping成Quality Practitioner,而Quality Analysis和Quality Advocate則mapping成Quality Anchor。
隨著質(zhì)量專家對(duì)客戶在質(zhì)量影響力的提升,更上一層樓,QA的發(fā)展會(huì)進(jìn)入更廣闊的平臺(tái)。這也是最值得在國(guó)內(nèi)探索的。
(3) Quality Enabler
質(zhì)量教練,在更大的復(fù)雜交付項(xiàng)目或數(shù)字化組織轉(zhuǎn)型過程中做到:
- 跨職能/地域/團(tuán)隊(duì)定制化推行質(zhì)量原則和優(yōu)秀實(shí)踐
- 采用最優(yōu)的敏捷QA實(shí)踐
- 獲得內(nèi)嵌于團(tuán)隊(duì)的質(zhì)量基礎(chǔ),原則和理念
(4) Program Quality Leader
項(xiàng)目質(zhì)量經(jīng)理,在具有多個(gè)團(tuán)隊(duì)的大型復(fù)雜交付項(xiàng)目中實(shí)現(xiàn):
- 跨組織監(jiān)督和協(xié)調(diào)多個(gè)項(xiàng)目,產(chǎn)品和其他戰(zhàn)略計(jì)劃
- 在跨職能團(tuán)隊(duì)間實(shí)現(xiàn)高效溝通
- 平穩(wěn)、快速地大規(guī)模持續(xù)交付
- 領(lǐng)導(dǎo)出密切合作的QA團(tuán)隊(duì)
(5) Quality Strategist
質(zhì)量策劃師,深入研究復(fù)雜項(xiàng)目或敏捷轉(zhuǎn)型組織并提出對(duì)癥的質(zhì)量策略和落地規(guī)劃:
- 制定跨團(tuán)隊(duì)和項(xiàng)目的質(zhì)量方案和測(cè)試策略
- 規(guī)劃明確的目標(biāo)、行動(dòng)計(jì)劃和資源調(diào)配以促成執(zhí)行落地
- 為客戶創(chuàng)造獨(dú)特的商業(yè)價(jià)值的新機(jī)會(huì)
(6) Quality Partner
質(zhì)量合伙人,作為客戶高層管理團(tuán)隊(duì)(CxO level)值得信賴的合作伙伴,推動(dòng)在客戶組織級(jí)建立并推行QA紀(jì)律:
- 順應(yīng)組織愿景,持續(xù)的質(zhì)量交付中在組織級(jí)完成流程實(shí)踐和策略轉(zhuǎn)型
- 在客戶組織中實(shí)現(xiàn)質(zhì)量文化和質(zhì)量理念的建立和內(nèi)化