今天剛好微信收到這么一個(gè)問(wèn)題:怎樣帶領(lǐng)質(zhì)量團(tuán)隊(duì)持續(xù)地深耕,具備工匠精神勺三?發(fā)現(xiàn)真心是個(gè)好問(wèn)題雷滚。這也是我一直的努力的方向? 所以吗坚,我真不敢承認(rèn)我做得有多好祈远。這里我就拋磚引玉,把我平時(shí)的思考跟大家分享下商源。
招聘
首先我覺(jué)得车份,一切的起點(diǎn)在于招人,招的人要有有內(nèi)驅(qū)力牡彻,否則下面說(shuō)的一切都是徒勞的扫沼。這也是我最近聽(tīng)了段念老師在ArchSummit2016講的課程引發(fā)的思考。內(nèi)驅(qū)力就是在沒(méi)有任何外部壓力的情況下庄吼,自發(fā)把事情做好缎除,這種自發(fā)可能出于責(zé)任心,出于好奇心和興趣总寻。說(shuō)這么多器罐,不如舉個(gè)例子,鄙人就是內(nèi)驅(qū)力極強(qiáng)的人渐行。怎么說(shuō)呢技矮?在大學(xué)剛畢業(yè)的時(shí)候,普普通通的一名測(cè)試工程師殊轴。剛?cè)肼毸ゾ耄耸止y(cè)試之外(PS:這里我沒(méi)有忽略手工測(cè)試,相反旁理,當(dāng)時(shí)我發(fā)現(xiàn)的新舊功能的BUG并不比別人少)樊零,且我比別人多做一件事,業(yè)余時(shí)間看NOKIA開(kāi)發(fā)相關(guān)(當(dāng)時(shí)做的是Windows Live for Nokia的測(cè)試)的書(shū)孽文。這一切源于我總覺(jué)得事情可以做得更好驻襟。那時(shí)我就開(kāi)始自發(fā)地思考為什么不能自動(dòng)化測(cè)試。最后被老板發(fā)現(xiàn)了芋哭,讓我參與開(kāi)發(fā)基于Nokia的UI自動(dòng)化測(cè)試框架沉衣,也是第一個(gè)被外國(guó)老板贊賞的新員工。對(duì)于技術(shù)一般般的我减牺,最值得我自豪的應(yīng)該就是我的內(nèi)驅(qū)力了豌习。映射到現(xiàn)實(shí)存谎,內(nèi)驅(qū)力除了管理成本降低外,在質(zhì)量團(tuán)隊(duì)尤為重要肥隆,甚至在個(gè)人認(rèn)為既荚,比技術(shù),編碼能力更重要栋艳。因?yàn)樵趪?guó)內(nèi)恰聘,質(zhì)量團(tuán)隊(duì)的工作環(huán)境,哪怕是純粹執(zhí)行測(cè)試用例就已經(jīng)勞心勞力了吸占,如果一切都是點(diǎn)到為止晴叨,不談內(nèi)驅(qū)力,哪怕你招聘麻省理工畢業(yè)的矾屯,想再進(jìn)一步在技術(shù)上研究出解決方案兼蕊,完全就是無(wú)從談起。
提供目標(biāo)
如果招聘進(jìn)來(lái)一個(gè)有內(nèi)驅(qū)力的人问拘,那么給這個(gè)人一個(gè)喜歡的目標(biāo)遍略,是一切的開(kāi)始。例如像我們專(zhuān)項(xiàng)測(cè)試骤坐,可以給定的目標(biāo)就是成為一個(gè)能獨(dú)當(dāng)一面的專(zhuān)項(xiàng)測(cè)試專(zhuān)家绪杏。可以讓大家一起暢想下纽绍,這樣的專(zhuān)家要是什么樣子的蕾久??
要想象專(zhuān)家是什么樣子的,視野會(huì)是一個(gè)制約因素拌夏。在這點(diǎn)上僧著,我的做法是分享我覺(jué)得不錯(cuò)的技術(shù)和對(duì)技術(shù)思考的文章給團(tuán)隊(duì)的成員,也會(huì)爭(zhēng)取提供他們跟其他團(tuán)隊(duì)交流的機(jī)會(huì)障簿,以免變成井底之蛙盹愚。
努力的過(guò)程
有了為之努力的目標(biāo),那么過(guò)程中又能做什么呢站故?不斷從各個(gè)角度提醒目標(biāo)不用說(shuō)了皆怕。更多的應(yīng)該是提供磨練的機(jī)會(huì),這里有幾個(gè)我常用的方法西篓。
1. 問(wèn)5個(gè)為什么愈腾?
什么是“5個(gè)為什么”呢?那是引導(dǎo)員工深入思考岂津,抓住問(wèn)題本質(zhì)的方法虱黄,這樣才能有真“磨練”。舉個(gè)真實(shí)的例子吮成, 當(dāng)年我們?cè)谧鯩onkey的外網(wǎng)CRASH命中排查橱乱,就有這么一幕辜梳。
問(wèn):為什么這個(gè)表層的空指針CRASH我們Monkey沒(méi)有發(fā)現(xiàn)
答:命中了,但是是發(fā)布之后Monkey才發(fā)現(xiàn)
問(wèn):這個(gè)BUG容易重現(xiàn)嗎仅醇?為什么發(fā)出去才發(fā)現(xiàn)冗美?
答:容易魔种。但因?yàn)橛芯幾g等過(guò)程析二,導(dǎo)致我們實(shí)際測(cè)試這個(gè)發(fā)布包的時(shí)間只有2小時(shí)
問(wèn):這個(gè)BUG是最后的發(fā)布包引入的嗎?還是什么時(shí)候引入的节预?
答:從SVN記錄里面發(fā)現(xiàn)叶摄,發(fā)布包就是修改了一些crash。后面有很多ci記錄安拟,很難追溯蛤吓。
問(wèn):最近的CRASH修改記錄就為了修復(fù)什么CRASH?
答:排查了具體代碼,發(fā)現(xiàn)這個(gè)修改記錄糠赦,修改的是同一個(gè)全局變量的空指針問(wèn)題会傲。所以按這個(gè)道理,應(yīng)該是沒(méi)有改完整拙泽,導(dǎo)致block住我們發(fā)現(xiàn)同一個(gè)界面的CRASH了淌山。
問(wèn):為什么這個(gè)變量之前不是空的,現(xiàn)在是空的顾瞻?
答:追溯了SVN記錄泼疑,發(fā)現(xiàn)在修改一個(gè)內(nèi)存問(wèn)題的時(shí)候,開(kāi)發(fā)多手荷荤,把這個(gè)全局變量賦空了退渗,然后就連著2例crash,都是空指針保護(hù)就了事蕴纳。
問(wèn):后續(xù)有什么跟進(jìn)的方案会油?
通過(guò)不斷提問(wèn),挖掘事情的真相古毛,才能找到解決問(wèn)題的真正解決方案翻翩,發(fā)現(xiàn)技術(shù)可以落實(shí)的地方。
2. 重視解決方案
在專(zhuān)項(xiàng)測(cè)試專(zhuān)家這個(gè)目標(biāo)下喇潘,大家認(rèn)真想想都會(huì)明白体斩,只是發(fā)現(xiàn)問(wèn)題,而不思考整體的解決方案是沒(méi)有用的颖低。如何思考整體解決方案呢絮吵?我通常會(huì)從下面這4個(gè)角度給予指引,持續(xù)產(chǎn)生深耕的動(dòng)力忱屑。
角度1:解決方案包括發(fā)現(xiàn)問(wèn)題蹬敲,定位分析暇昂,解決問(wèn)題,效果衡量
通常普通的測(cè)試伴嗡,都會(huì)就如何發(fā)現(xiàn)問(wèn)題就點(diǎn)到為止急波。而不去思考如何定位分析問(wèn)題,解決問(wèn)題瘪校。而更重要的是效果如何衡量澄暮。例如內(nèi)存問(wèn)題,我們有了內(nèi)存泄漏的發(fā)現(xiàn)方法阱扬,還要總結(jié)如何定位分析泣懊,歸納解決方法,最后還要思考麻惶,利用內(nèi)存觸頂率來(lái)衡量效果馍刮。
角度2:解決方案包括源碼編寫(xiě),編譯集成窃蹋,測(cè)試調(diào)試卡啰,發(fā)布運(yùn)營(yíng)
這是我們老板宣導(dǎo)的分層測(cè)試的概念。別看寥寥可數(shù)幾個(gè)字警没,但是真的可以引發(fā)思考匈辱。大家不妨套下自己的工作,是不是每個(gè)階段的照顧到了惠奸。
角度3:對(duì)比競(jìng)品的優(yōu)勢(shì)與劣勢(shì)
通過(guò)對(duì)比競(jìng)品梅誓,思考和完善技術(shù)方案。例如我們做的內(nèi)存泄漏探測(cè)方案佛南,就跟LeakCanary做個(gè)競(jìng)品梗掰。
角度4:思考本身的技術(shù)分解
例如AR技術(shù),作為新技術(shù)嗅回,可以分解對(duì)于視頻采集及穗,視頻定位跟蹤,3D渲染合成組成绵载。然后就可以對(duì)于各個(gè)點(diǎn)技術(shù)進(jìn)行逐個(gè)擊破埂陆。
3. 認(rèn)可結(jié)果
一切的技術(shù)都要基于業(yè)務(wù)的痛點(diǎn),或者對(duì)未來(lái)業(yè)務(wù)痛點(diǎn)的預(yù)防和解決娃豹,這是基礎(chǔ)焚虱。有了這個(gè)基礎(chǔ),才能達(dá)成閉環(huán)懂版,讓技術(shù)研究的成果鹃栽,可以有被認(rèn)可的價(jià)值。后面的事情就是躯畴,作為L(zhǎng)eader的一個(gè)最大的責(zé)任民鼓,就是讓成果發(fā)揮更大價(jià)值薇芝。要做好這個(gè)事情,可以組織部門(mén)和公司外內(nèi)的相關(guān)分享丰嘉,可以讓其發(fā)總結(jié)給老板夯到,自己主動(dòng)回復(fù)郵件表示贊賞等等。
最后饮亏,期待大家對(duì)這個(gè)問(wèn)題的最佳實(shí)踐~