BugBash,即,缺陷大掃蕩。產(chǎn)品版本發(fā)布前,團(tuán)隊(duì)全員集中起來、共同找Bug。是軟件工程、互聯(lián)網(wǎng)產(chǎn)品開發(fā)過程中,驗(yàn)證環(huán)節(jié)很重要的一個(gè)活動(dòng)。
什么是Bug Bash?
Bug Bash,顧名思義就是缺陷大掃蕩,讓大家在產(chǎn)品版本發(fā)布前,一起集中精力來找缺陷。是軟件工程、互聯(lián)網(wǎng)產(chǎn)品開發(fā)過程中,產(chǎn)品驗(yàn)證很重要的一個(gè)活動(dòng)。通??梢杂身?xiàng)目經(jīng)理或QA主導(dǎo)發(fā)起。
什么時(shí)候做?
建議是在上線前,QA第二輪測(cè)試結(jié)束通過后,確保線上沒有重大bug影響試用、服務(wù)是穩(wěn)定的狀態(tài)下,可以舉行Bug Bash。
但這邊有個(gè)兩難是:確實(shí)等到前面描述的狀態(tài)完成后,bug bash比較正規(guī),團(tuán)隊(duì)不會(huì)因?yàn)橹卮骲ug而block各環(huán)節(jié)的試用,而且是比較接近上線后用戶的使用狀態(tài);但壞處是通常開發(fā)時(shí)間是很緊湊的,當(dāng)?shù)降诙啘y(cè)試結(jié)束后,通常離上線也沒幾天,如果BugBash提出很多需求類的bug、新需求、大改動(dòng)的部份,其實(shí)已經(jīng)來不及在本版本實(shí)現(xiàn),就會(huì)放入需求池或之后版本實(shí)現(xiàn)。經(jīng)常最后BugBash很多提出的問題或需求都會(huì)越積越多,修復(fù)之日路漫漫。
當(dāng)然解決方式,可以在提測(cè)后,就邀請(qǐng)產(chǎn)品策劃、交互、視覺針對(duì)產(chǎn)品做個(gè)驗(yàn)收,確認(rèn)產(chǎn)品是否跟設(shè)計(jì)符合,以及是否有些需求bug、新需求、改進(jìn)提出,可以減少Bug Bash時(shí)的需求類bug的數(shù)量,及早讓團(tuán)隊(duì)因應(yīng)。
跟QA做的測(cè)試區(qū)別是什么?
有同學(xué)會(huì)問:那是不是我們可以只做Bug Bash,不需要QA了?其實(shí)QA是有更專業(yè)、更全面、更完整的測(cè)試計(jì)劃與策略,Bug Bash則可以補(bǔ)充QA的工作,發(fā)現(xiàn)一些QA可能沒發(fā)現(xiàn)的問題?;蛘弋?dāng)QA人力不足時(shí),眾人一起找bug的效率也較高。
加上Bug Bash參與者多,更能發(fā)現(xiàn)兼容性或用戶登入、權(quán)限差異等問題, 事先就可以約定好哪些人分別使用不同瀏覽器、手機(jī)、作業(yè)系統(tǒng)來找問題。而且一樣米養(yǎng)百樣人,大家對(duì)於產(chǎn)品操作的理解,也會(huì)差距十萬八千里;加上多人同時(shí)協(xié)作來使用系統(tǒng),這個(gè)操作的復(fù)雜度就會(huì)呈現(xiàn)指數(shù)級(jí)的差異,可能會(huì)發(fā)現(xiàn)在測(cè)試環(huán)節(jié)不容易找出的復(fù)雜bug。QA在設(shè)計(jì)測(cè)試用例只能針對(duì)功能點(diǎn)來測(cè),但許多新功能點(diǎn)交叉加上老的功能點(diǎn),復(fù)雜度也會(huì)增加,這就需要眾人齊力發(fā)現(xiàn)復(fù)雜性bug,使得質(zhì)量更有保障。
有QA同學(xué)做測(cè)試,不做Bug Bash是可以的;但是只做Bug Bash,沒有QA則是很大問題。
為什么做Bug Bash?團(tuán)隊(duì)集體試用,發(fā)現(xiàn)需求
可能有人覺得Bug Bash都提需求會(huì)不會(huì)走偏?其實(shí)提新需求也是很重要的,因?yàn)锽ug Bash中,我們的角色就不只是研發(fā)團(tuán)隊(duì),也是以用戶的角度來看產(chǎn)品。如果內(nèi)部團(tuán)隊(duì)自己都有覺得很多需要添加的需求,那產(chǎn)品經(jīng)理或策劃也該好好考慮調(diào)整產(chǎn)品的設(shè)計(jì)。網(wǎng)易教育產(chǎn)品的項(xiàng)目經(jīng)理也針對(duì)這問題做過問卷,團(tuán)隊(duì)原本都是對(duì)於在Bug Bash提建議有疑慮,問卷統(tǒng)計(jì)出來,大部分人還是支持在Bug Bash提需求與bug都可以。
此外在Bug Bash前,開發(fā)都只是專注在自己的部份,可能都沒有完整真正試用過整個(gè)產(chǎn)品,要促使團(tuán)隊(duì)自己主動(dòng)去試用比較難。當(dāng)測(cè)試第一二輪結(jié)束后,Bug Bash是一個(gè)強(qiáng)制的活動(dòng),促使大家真正把自己做的產(chǎn)品用一遍。很多之前只是在設(shè)計(jì)、交互稿看到的都只是紙上談兵,真正用起來,才會(huì)發(fā)現(xiàn)問題或需求,也是看交互與文案是否容易被大家理解。所以我負(fù)責(zé)的兩個(gè)項(xiàng)目,經(jīng)常是新需求以及需求類的bug多過開發(fā)產(chǎn)生的bug數(shù)。
及時(shí)梳理,發(fā)布前的剩余事項(xiàng)
用戶手冊(cè)、環(huán)境、帳號(hào)等等,由于大家要開始使用,會(huì)促使團(tuán)隊(duì)思考上線還缺什么。由于開發(fā)與測(cè)試同學(xué)對(duì)于產(chǎn)品操作、環(huán)境都很熟,但在BugBash時(shí),視覺、交互、策劃、項(xiàng)目管理都可能第一次看到成品,應(yīng)該思考:用戶手冊(cè)看的懂嗎?數(shù)據(jù)庫資料有沒有準(zhǔn)備好?等問題,讓產(chǎn)品上線前準(zhǔn)備更完善。
游戲化激勵(lì)團(tuán)隊(duì)
如果光只是宣導(dǎo):「大家要注意質(zhì)量喔」、「QA要盡量找出bug喔」,或者要求大家工作職責(zé),可能團(tuán)隊(duì)成員執(zhí)行的動(dòng)力就比較薄弱。但藉著bug bash,其實(shí)就是一種工作游戲化,透過大家聚集一起參與,然后加一些比賽的元素,會(huì)讓大家有個(gè)沖勁要努力找出bug,比誰找的bug數(shù)最多。這邊有一點(diǎn)要注意,主持人項(xiàng)目經(jīng)理或QA不用只是在旁邊觀看或加油,也應(yīng)該積極參與,一馬當(dāng)先多找一些bug出來,來提升大家參與度。當(dāng)然最后可以利用統(tǒng)計(jì)工具,計(jì)算一下大家的排名與bug數(shù)給予獎(jiǎng)勵(lì)。
團(tuán)隊(duì)平時(shí)自己可能會(huì)做團(tuán)建,有些團(tuán)隊(duì)不一定常搞活動(dòng)。在這種類似游戲化的活動(dòng)中,會(huì)促進(jìn)團(tuán)隊(duì)間彼此的溝通、良性競(jìng)爭(zhēng),對(duì)于整體團(tuán)隊(duì)建設(shè)也是很有幫助的。如果項(xiàng)目經(jīng)理要辦Bug Bash,其實(shí)可以弄的熱鬧一點(diǎn),變成一種團(tuán)建。
如何做BugBash?說明規(guī)則:準(zhǔn)備一份ppt可以在周會(huì)上,跟團(tuán)隊(duì)宣導(dǎo)說明:什么是bug bash、宗旨跟目的是什么、時(shí)間地點(diǎn)是什么、準(zhǔn)備工作確認(rèn)、游戲規(guī)則等,方便大家可以隨時(shí)查閱Bug Bash規(guī)則。問題記錄的工具:如果有用jira,先確認(rèn)大家都有jira 6的權(quán)限、并可以建立一個(gè)叫Bug Bash的模塊(也可以是標(biāo)簽,只要方便篩選、統(tǒng)計(jì))。沒有jira也可以用云協(xié)作、Google doc、Wiki工具來代替,甚至每人發(fā)一張紙筆也一樣可行,只要方便大家紀(jì)錄,結(jié)束好統(tǒng)計(jì)即可。提醒大家做好準(zhǔn)備:包括用戶手冊(cè)、環(huán)境是否都準(zhǔn)備好、權(quán)限都開了沒、測(cè)試是否確保重大bug修復(fù)并驗(yàn)證完畢。如果有經(jīng)費(fèi),準(zhǔn)備一些點(diǎn)心、水果、獎(jiǎng)品,更有助于提到大家參與的興致。會(huì)議場(chǎng)地:項(xiàng)目組如果人少且都有筆記本電腦,可以借一間大會(huì)議室,方便隨時(shí)討論、合作、排除問題,讓大家能更集中投入這活動(dòng),氣氛也會(huì)更熱烈。但是如果沒有辦法借到大會(huì)議室或者大家都是臺(tái)式機(jī)不方便移動(dòng)也沒關(guān)系,只要座位距離不遠(yuǎn)、使用即時(shí)通訊軟件溝通,也一樣可以把BugBash做的有聲有色。統(tǒng)計(jì)工作:Bug Bash結(jié)束后,項(xiàng)目經(jīng)理要統(tǒng)計(jì)全部issue數(shù)、有效bug數(shù)、需求數(shù)(案例見下圖)。并檢查是否有重復(fù)提交的問題,若有重復(fù)可以按照提交時(shí)間的先后順序,決定這題算是誰的,或是各得一半的分?jǐn)?shù)。然后再把bug跟需求區(qū)分開來。另外有些團(tuán)隊(duì)也可以根據(jù)提bug的價(jià)值與重要程度,給予不同獎(jiǎng)勵(lì)。當(dāng)然bug bash如果經(jīng)費(fèi)允許,可根據(jù)不同表現(xiàn),給予對(duì)應(yīng)同學(xué)一些獎(jiǎng)勵(lì),促進(jìn)大家積極參與。最后也最重要的是,Bug Bash活動(dòng)之后的問題落實(shí)。團(tuán)隊(duì)要開個(gè)會(huì),大家一起整理所有提出issue的優(yōu)先級(jí):判斷到產(chǎn)品上線前,哪些bug是要修好的、哪些是可以留到未來修。因?yàn)锽ug Bash到產(chǎn)品上線時(shí)間可能已經(jīng)很接近,除非是很嚴(yán)重的bug,或者是工作量小、效果大的(性價(jià)比高),可以考慮處理;其余都不應(yīng)該做,這樣才能保障代碼的穩(wěn)定性,以及準(zhǔn)時(shí)交付。當(dāng)然這版本不修的bug、不能實(shí)現(xiàn)的需求,可以標(biāo)示重要性為minor放到需求池,在未來版本去實(shí)現(xiàn)。BugBash問題反思每迭代都做,容易失去新鮮感
我在幾個(gè)項(xiàng)目?jī)?nèi)推動(dòng),第一次一定是大家非常有新鮮感,參與度高。但是每個(gè)月迭代下來,大家逐漸對(duì)於這活動(dòng)會(huì)失去激情。項(xiàng)目經(jīng)理這時(shí)候就要好好反思一下,該如何改善與調(diào)整。我自己的經(jīng)驗(yàn)有兩個(gè)思路:
不一定每個(gè)迭代都搞,可以在大版本或者累積好幾個(gè)小迭代認(rèn)認(rèn)真真做一次大的Bug Bash、發(fā)發(fā)獎(jiǎng)品,這樣可以保持大家的新鮮感。
另一個(gè)是,真的覺得有必要的時(shí)候,才做Bug Bash。團(tuán)隊(duì)如果平常會(huì)主動(dòng)走查、用戶反饋也很積極,到也就不必特別做Bug Bash,我們不用為了做而做,真的是發(fā)現(xiàn)有價(jià)值有需求,再推動(dòng)效果反而更好。像是我網(wǎng)易有數(shù)的項(xiàng)目,就是QA同學(xué)與開發(fā)負(fù)責(zé)人感覺測(cè)試時(shí)間緊張,需要調(diào)動(dòng)大家一起來Bug Bash,反而這樣大家自己提出來積極性更高,最后也認(rèn)真準(zhǔn)備小禮物,大家玩的也很high。
Bug Bash的限制?
有人會(huì)問BugBash是不是什麼功能都要測(cè)?其實(shí)也有限制。例如支付功能、跟實(shí)際時(shí)間相關(guān)的功能(教育產(chǎn)品的學(xué)期)、還有權(quán)限類等功能,會(huì)比較難在一兩個(gè)小時(shí)內(nèi)眾人來做測(cè)試,對(duì)於團(tuán)隊(duì)來說,要真的充值、還是要弄虛擬金錢、調(diào)整權(quán)限等,會(huì)比較麻煩,反而會(huì)阻礙其他功能的試用。建議這類功能,盡量讓專業(yè)QA來做測(cè)試。當(dāng)然如果項(xiàng)目組事前準(zhǔn)備工作妥善,當(dāng)然BugBash能覆蓋這類功能是最棒。
總結(jié)與建議
Bug Bash不是一定要舉行的活動(dòng),如果有時(shí)間舉行,是對(duì)于團(tuán)隊(duì)、產(chǎn)品等多方面都有好處的活動(dòng)。其實(shí)不是只能讓內(nèi)部團(tuán)隊(duì)參與Bug Bash,例如二次元這個(gè)項(xiàng)目也曾經(jīng)邀請(qǐng)用戶參與Bug Bash,效果也是很不錯(cuò)的。讓我們一起提高產(chǎn)品質(zhì)量,打擊小強(qiáng)!
作者:張孫恩,網(wǎng)易杭研項(xiàng)目經(jīng)理,CSM、PMP。土生土長(zhǎng)的臺(tái)灣人,臺(tái)灣大學(xué)MBA畢業(yè)。曾服務(wù)于美商默沙東藥廠、頂新集團(tuán)。在網(wǎng)易擔(dān)任猛犸大數(shù)據(jù)平臺(tái)、網(wǎng)易有數(shù)敏捷數(shù)據(jù)分析平臺(tái)的項(xiàng)目經(jīng)理,并服務(wù)過感知與智能中心(AI、AR)、ColorTouch、搜索算法等項(xiàng)目。關(guān)注大數(shù)據(jù)項(xiàng)目集的敏捷實(shí)踐,與企業(yè)級(jí)產(chǎn)品的戰(zhàn)略規(guī)劃、項(xiàng)目管理。《網(wǎng)易一千零一夜》主要作者之一。
文章作者系@網(wǎng)易杭研項(xiàng)目管理(微信公眾號(hào):NetEasePM)
愛盈利(aiyingli.com)移動(dòng)互聯(lián)網(wǎng)最具影響力的盈利指導(dǎo)網(wǎng)站。定位于服務(wù)移動(dòng)互聯(lián)網(wǎng)創(chuàng)業(yè)者,移動(dòng)盈利指導(dǎo)。我們的目標(biāo)是讓盈利目標(biāo)清晰可見!降低門檻,讓缺乏經(jīng)驗(yàn)、資金有限的個(gè)人和團(tuán)隊(duì)獲得經(jīng)驗(yàn)和機(jī)會(huì),提高熱情,激發(fā)產(chǎn)品。