qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          如何一步一步從 QA 到 EP

            兩三年以前,和友人談到 QA(軟件質(zhì)量保證) 這個(gè)行業(yè),還有 QA 這個(gè)團(tuán)隊(duì)的未來,就有了一絲憂慮。而現(xiàn)在,終于有機(jī)會(huì)實(shí)踐一下自己之前的想法,在這里分享給大家。
            從我有限的從業(yè)經(jīng)驗(yàn)到現(xiàn)在,經(jīng)歷了很多次軟件開發(fā)模式的變化,這些變化,或因?yàn)楦L(fēng),或因?yàn)橛星袑?shí)的問題要解決,總之始終處于各種不同的嘗試的路上。QA 團(tuán)隊(duì)從最早的強(qiáng)調(diào)流程,到后來強(qiáng)調(diào)開發(fā)技術(shù),搞自動(dòng)化測(cè)試,再后來又開始做敏捷和持續(xù)集成,這條發(fā)展的路上,對(duì)自己的要求不斷變高的同時(shí),也伴隨著一個(gè)組織和團(tuán)隊(duì)發(fā)展的魔咒。
            組織發(fā)展魔咒
            這個(gè)發(fā)展的魔咒更像是一個(gè)循環(huán),可能開始于任何一個(gè)環(huán)節(jié)。
            例如,公司負(fù)責(zé)技術(shù)的高層,沒來由的認(rèn)為,測(cè)試和質(zhì)量保證并不重要。這個(gè)判斷會(huì)慢慢滲透到技術(shù)團(tuán)隊(duì)的各個(gè)角落,導(dǎo)致測(cè)試工程師,乃至測(cè)試團(tuán)隊(duì)的其他角色,例如SQA,未來發(fā)展的空間會(huì)被壓縮,而壓縮發(fā)展空間的結(jié)果就是留不住人、招不到人。一方面相關(guān)工作的經(jīng)驗(yàn)技能要求越來越高,一方面可見的天花板又?jǐn)[在那里。于是整個(gè) QA 團(tuán)隊(duì)都成了別人眼中的 「低技術(shù)」團(tuán)隊(duì),不論真的低技術(shù)還是別人以為的低技術(shù),這種印象都很要命,為了擺脫這種印象,大家需要做點(diǎn)東西來證明自己,于是各種自動(dòng)化測(cè)試框架、平臺(tái)、系統(tǒng),紛紛出現(xiàn),殊不知此時(shí),QA 團(tuán)隊(duì)和整個(gè)公司的價(jià)值已經(jīng)慢慢的不一致了,自己關(guān)起門跟自己玩,成了普遍現(xiàn)象之后,在公司高層看來,他會(huì)覺得自己的 「QA 團(tuán)隊(duì)并不重要」的判斷被證明了,因?yàn)闆]有任何明確的證據(jù)表明,QA 團(tuán)隊(duì)與公司愿景和計(jì)劃之間的直接聯(lián)系。
            可怕么?在很多軟件研發(fā)組織中,這是現(xiàn)實(shí)存在的循環(huán)。
            說起來我們的實(shí)踐,確實(shí)打破了這個(gè)循環(huán),說起來好笑,我們解救 QA 團(tuán)隊(duì)的方式,就是徹底取消這個(gè)團(tuán)隊(duì)。但是反過來講,只有殺死「QA 團(tuán)隊(duì)」,才能真正的解放「QA 工程師們」,真正解放整個(gè)軟件研發(fā)過程。
            一些基本的價(jià)值觀
            這個(gè)事情,就要從一些最基本的價(jià)值觀說起。
            比如,人總要對(duì)自己做的事負(fù)責(zé)。當(dāng)然做了漂亮的事情,誰都希望頭上有光環(huán),但是做了丑事,也要能忍受得了羞辱。之為 「吃自己的狗食」,而老式的軟件開發(fā)分段流程,等于鼓勵(lì)上游做的錯(cuò)事,下游來擦屁股,于是上游頤指氣使,下游低三下四,這種頤指氣使和低三下四還能傳導(dǎo),于是的于是,最下游的一個(gè)環(huán)節(jié),就是公認(rèn)的受氣包了。暫不說效率和質(zhì)量,從最基本的做事方法的角度,似乎也有些欠妥。我們這一條怎么落地呢,就是改組研發(fā)團(tuán)隊(duì),建立 Owner 制度。一個(gè)項(xiàng)目的 Owner,就像一個(gè)項(xiàng)目的 CEO,大事小情都要關(guān)注,從產(chǎn)品到開發(fā),從測(cè)試到運(yùn)維,總之一個(gè)項(xiàng)目的成敗,都需要 Owner 來操心,項(xiàng)目外的人,都是他的資源。相應(yīng)的,項(xiàng)目也變得和平臺(tái)無關(guān),而與特性有關(guān),每個(gè)項(xiàng)目組都會(huì)涉及到幾個(gè)平臺(tái)的設(shè)計(jì)、開發(fā)工作。
            還比如,給質(zhì)量一個(gè)明確的標(biāo)準(zhǔn)。做質(zhì)量工作或者測(cè)試的人,都會(huì)有強(qiáng)迫癥,總覺得哪里不對(duì)勁,還得狠狠的回歸一遍,又一遍。可其實(shí)大家都知道質(zhì)量是沒有個(gè)確定的標(biāo)準(zhǔn)說好還是壞的,那怎么確定質(zhì)量呢?我們稱作 「質(zhì)量體現(xiàn)在造成實(shí)際的影響上」,也就是說,一個(gè)嚴(yán)重的問題,如果沒造成影響,或很輕微,那就不嚴(yán)重。而一個(gè)輕微問題,如果影響面很廣,例如有 1000 萬用戶都看見了,那就不輕微。
            又比如,交付一個(gè)完美產(chǎn)品還是建立一個(gè)快速召回的機(jī)制?我們確實(shí)真的想每時(shí)每刻都能交付一個(gè)完美無暇的產(chǎn)品,但那不可能。特別是在互聯(lián)網(wǎng)行業(yè),跟傳統(tǒng)的電信、醫(yī)療、航空航天的產(chǎn)品迭代有天壤之別,一個(gè)完美產(chǎn)品用一年做出來,市場(chǎng)可能早就變了天了。但不完美就有質(zhì)量風(fēng)險(xiǎn)和代價(jià),為了平衡這一點(diǎn),我們必須建立一個(gè)快速召回缺陷產(chǎn)品的機(jī)制,甚至能讓用戶在發(fā)現(xiàn)缺陷之前,就用上了新版本。
            有了這幾條價(jià)值觀,我們就大概知道開發(fā)過程改進(jìn)的方向,以及做事情的原則了。那我們做了什么呢?我們組建了 EP 團(tuán)隊(duì)。
            EP 是什么
            說到這里,EP 這個(gè)詞才第一次出現(xiàn),這個(gè)詞的內(nèi)涵之豐富,可能需要仔細(xì)說說。
            我最早看到 EP 這個(gè)詞,是在當(dāng)時(shí)還是 Google EP 團(tuán)隊(duì)成員的 James Wittaker 寫的那一個(gè)有名的 「How Google Test」的系列博客中,內(nèi)容我就不轉(zhuǎn)述了,很多人都讀過。
            EP 是 Engineering Productivity 的縮寫,工程生產(chǎn)力的意思,這個(gè)團(tuán)隊(duì),就是給整個(gè)大技術(shù)團(tuán)隊(duì),甚至整個(gè)公司提高工作效率的。通俗直白的說,就是一個(gè)工具團(tuán)隊(duì)。因?yàn)楣び破涫隆⒈叵壤淦鳎灰】垂ぞ邎F(tuán)隊(duì),某些程度上來講,一個(gè)產(chǎn)品隨著市場(chǎng)的變化可能很快凋亡,而一個(gè)好的工程工具,生命力要強(qiáng)得多,比如,開發(fā)語言其實(shí)就是最基本的工程工具了。那么,對(duì)一個(gè)公司,或者說交付團(tuán)隊(duì)來講,怎么衡量工程生產(chǎn)力的高低呢?這個(gè)衡量方式其實(shí)就決定了「EP團(tuán)隊(duì)」的工作方向。我們自己定義的工程生產(chǎn)力從低到高的定義是這樣的:1)質(zhì)量,這是最基礎(chǔ)的指標(biāo),什么都不行,也要保證質(zhì)量過關(guān),否則一個(gè)產(chǎn)品連生存的可能都沒有。2)同等質(zhì)量水平下,追求速度。質(zhì)量過關(guān)了,就要看迭代速度了,你比競(jìng)爭(zhēng)對(duì)手快,你就能活下來。3)同等質(zhì)量和速度下,工程師的幸福感。如果質(zhì)量也過關(guān)了,速度也快,但是大家過得很苦,天天加班,重復(fù)勞動(dòng),看不到未來,這也不行。幸福是什么?對(duì)我們來說,就是不被反復(fù)的簡(jiǎn)單問題所困擾,該自動(dòng)的都自動(dòng),自動(dòng)不是說一定快,但是一定省心,這里的幸福就是省心,有精力去關(guān)注更多的有意義的事情,而不是每天處理簡(jiǎn)單重復(fù)的問題。4)同等質(zhì)量和速度,也有幸福感,再看成長(zhǎng)。工程師們有沒有感受到成長(zhǎng)?不斷的解決問題或開發(fā)產(chǎn)品,感受到的是重復(fù)勞動(dòng)還是成長(zhǎng)?其實(shí)前三點(diǎn)都做到了,第四點(diǎn)一定是有的。

           EP 做什么
            我們回頭說 EP 團(tuán)隊(duì),EP 團(tuán)隊(duì)也有自己的人生理想,那就是一個(gè)三部曲:替、教、獨(dú)立。
            第一個(gè)是替的階段,其實(shí)就是比較老式的開發(fā)過程,我替你測(cè)試、替你上線、替你運(yùn)維。
            這個(gè)階段,完全不符合我們「吃狗食」那一條價(jià)值觀,按照狗食法則,一個(gè)人自己設(shè)計(jì)開發(fā)編碼,當(dāng)然要自己測(cè)試,自己寫的代碼 bug 多要一遍遍回歸,這個(gè)苦果自己不吃誰來吃?但沒辦法,大多數(shù)程序員在如何測(cè)試自己的程序方面沒有受過什么訓(xùn)練,為了盡快發(fā)布產(chǎn)品,只能替,但這個(gè)替的時(shí)間要越短越好,盡快進(jìn)入下一個(gè)階段,教。
            第二個(gè)是教,就是教技術(shù)團(tuán)隊(duì)的其他成員,如何測(cè)試自己的程序,如何構(gòu)造環(huán)境、構(gòu)造數(shù)據(jù),如何部署和運(yùn)維自己的產(chǎn)品。這里的自己做,并不是回到蠻荒時(shí)期,例如創(chuàng)業(yè)初期只有一個(gè)程序員的時(shí)候,他當(dāng)然是自己開發(fā)自己測(cè)試自己部署,但我們到了第二階段的自己做,是自己規(guī)范的做,通過我們提供的相對(duì)完善和規(guī)范的工具做。我們就處于這個(gè)階段的初期。
            第三個(gè)階段是獨(dú)立,獨(dú)立是說 EP 團(tuán)隊(duì)從一個(gè)替人做事的下游團(tuán)隊(duì),到一個(gè)教人做事的教練團(tuán)隊(duì),真正進(jìn)化為一個(gè)提供技術(shù)服務(wù)的產(chǎn)品團(tuán)隊(duì)。這個(gè)產(chǎn)品團(tuán)隊(duì)的產(chǎn)品,大多數(shù)應(yīng)該是以一個(gè)標(biāo)準(zhǔn)化的、健壯的服務(wù)的形式,而不是人力資源的形式,提供給其他團(tuán)隊(duì)的。當(dāng)然這是我們的理想,能否達(dá)到或者是否切合實(shí)際,還需要時(shí)間來觀察。
            EP 團(tuán)隊(duì)和整個(gè)技術(shù)團(tuán)隊(duì)的關(guān)系
            從這三個(gè)階段的描述中,多多少少都提到一些 EP 團(tuán)隊(duì)和整個(gè)技術(shù)團(tuán)隊(duì)或整個(gè)公司的關(guān)系,那這個(gè)關(guān)系是什么呢?
            前面提過,我們不希望是個(gè)下游替人收尾的團(tuán)隊(duì),我們也有「吃狗食」這樣的原則,所以我想到一個(gè)比喻,來說明 EP 團(tuán)隊(duì)和其他技術(shù)團(tuán)隊(duì)的關(guān)系。
            我們都知道有一個(gè)行業(yè)叫做汽車制造業(yè),他們遵循一定的規(guī)范和標(biāo)準(zhǔn),還能巧妙的將創(chuàng)意和標(biāo)準(zhǔn)結(jié)合在一起,制造出一些工業(yè)奇跡,這些汽車被賣給各式各樣的人,汽車企業(yè)并不關(guān)心他們的產(chǎn)品用在什么地方,不過他們又發(fā)明了一種叫做 4S 店的東西,用來給那些工業(yè)奇跡定期維護(hù)、修理、還可以收集市場(chǎng)反饋以便改進(jìn)產(chǎn)品。
            還有另一個(gè)行業(yè)叫做物流業(yè),他們的目的就是將貨物從一個(gè)地方運(yùn)到另一個(gè)地方,這種空間的轉(zhuǎn)移,就是他們?yōu)榭蛻魟?chuàng)造的價(jià)值。在這過程中,他們會(huì)利用到汽車制造業(yè)產(chǎn)出的汽車,但他們不太關(guān)心汽車本身的標(biāo)準(zhǔn)、設(shè)計(jì)細(xì)節(jié),他們只是使用,他們關(guān)心的是使用成本、維修方便。出問題,他們會(huì)找 4S 店。
            這兩個(gè)行業(yè)之間的交集是汽車,汽車制造業(yè)的價(jià)值是制造出好的汽車,物流業(yè)的價(jià)值是貨物的到達(dá),汽車制造業(yè)不關(guān)心你的貨物的目的地,物流業(yè)不關(guān)心他的汽車的制造工藝。但汽車制造業(yè)會(huì)很關(guān)心你怎么用這個(gè)汽車,以及積極的幫助你保養(yǎng),而物流業(yè)也會(huì)很關(guān)心這個(gè)車費(fèi)不費(fèi)油,好不好開。
            說到這里,你可能已經(jīng)看明白 EP 團(tuán)隊(duì)和其他技術(shù)團(tuán)隊(duì)的關(guān)系了:EP 團(tuán)隊(duì)就像汽車制造業(yè),提供高效、低耗的工具;產(chǎn)品技術(shù)團(tuán)隊(duì)就像物流業(yè),使用工具,快速前進(jìn),創(chuàng)造用戶價(jià)值。他們之間互相依賴,卻又彼此獨(dú)立。
            EP 都有誰
            了解了 EP 和周圍團(tuán)隊(duì)的關(guān)系之后,來看看我們的 EP 團(tuán)隊(duì)的角色和成員。
            我們的 EP 團(tuán)隊(duì),大致分成如下幾個(gè)角色(而實(shí)際上的工作是混合的,之所以要分開成角色,主要是從招聘的角度出發(fā)):
            SED,Software Engineer in DevOps。顧名思義,這個(gè)角色首先是個(gè)軟件開發(fā)工程師,其次,面向的領(lǐng)域是 DevOps,DevOps 的概念我們就不必多講了,在實(shí)際工作中,SED 工程師是個(gè)真正的多面手,他們可能今天在開發(fā)一個(gè) Linux server 的自動(dòng)化上線和回滾的工具,明天就要設(shè)計(jì)或優(yōu)化 CDN 的部署,后天又要解決一個(gè) Windows 平臺(tái)編譯加速問題,還有還有一個(gè)自動(dòng)性能 benchmark 工具等著他來開發(fā)。這個(gè)角色目前我們只有兩位,而且這個(gè)角色的工程師是最難招聘的,因?yàn)樾氯耍蛘吆苄〉墓境鰜淼娜耍苌儆惺苓^系統(tǒng)的訓(xùn)練或有比較先進(jìn)的軟件工程思想,而從大公司出來的人,已經(jīng)被大公司條塊分割的工作方式同化,一般只擅長(zhǎng)一個(gè)領(lǐng)域,而對(duì)跨界的或者不懂,或者沒興趣。所以這個(gè)崗位的工程師,都是有成熟公司工作經(jīng)驗(yàn)的 Geek 型的人。
            SA,System Admin。系統(tǒng)工程師,和很多公司的運(yùn)維工程師很想像,實(shí)際上我們現(xiàn)在的狀態(tài),做的事情也和大多數(shù)公司的運(yùn)維工程師一樣,處理監(jiān)控,優(yōu)化服務(wù)部署等等,但不一樣的是我們的目標(biāo)是將絕大多數(shù)應(yīng)用層面的運(yùn)維工作交還給開發(fā)團(tuán)隊(duì),所以我們?cè)诓粩嗟膶⒈O(jiān)控系統(tǒng)改造為友好的,自助的,也不斷的將各位上線部署類的工作做成自動(dòng)的,現(xiàn)在已經(jīng)有了很多成果,我們的 SA 主要精力可以放在系統(tǒng)以及更底層的部分了。
            TE,Testing Engineer。測(cè)試工程師,其實(shí)這個(gè)稱呼有點(diǎn)名不符實(shí),我們的唯一一位測(cè)試工程師,主要的工作其實(shí)是發(fā)布和迭代控制,要保證整個(gè)交付團(tuán)隊(duì)的迭代節(jié)奏,例如在代碼上拉發(fā)布分支、觸發(fā)發(fā)布事件、監(jiān)控?cái)?shù)據(jù)等等工作,這個(gè)工作要求非常精確,又很繁瑣,因此和 SED 工程師有非常多的交互,他們負(fù)責(zé)將這個(gè)過程自動(dòng)化。這里插入介紹一下我們的發(fā)布過程,可能大家會(huì)更理解為什么還有個(gè)「發(fā)布工程師」:
            我們有三個(gè)發(fā)布 Channel:Beta、RC、Release,作用各有不同。例如 Beta Channel,主要用于一些新特性的提前發(fā)布,這里面可能會(huì)多少有點(diǎn)缺陷,所以一定要控制人數(shù),并且是那些喜歡嘗鮮的用戶,他們會(huì)用的比較徹底。而 Beta Channel,可能每天都有版本更新,會(huì)有一些用戶喜歡跟著 Beta 版。而這些新的特性如果用戶反饋不錯(cuò),并且沒有什么嚴(yán)重的問題,就會(huì)進(jìn)入最近一次 RC(Release Candidate),這個(gè)量就很大了,大概能占到我們每日活躍用戶的十分之一到五分之一,這里面的功能在沒有意外的話,就是正式發(fā)布的功能了,需要注意的是,不是每個(gè) Beta 都會(huì)變成 RC。而 RC 在發(fā)布幾天之后,如果一切正常,就會(huì)切換為 Release,Release Channel 一般會(huì)在一天之內(nèi),讓絕大多數(shù)活躍用戶升級(jí)完畢,這個(gè)時(shí)候,如果程序有 bug,影響就非常大了。
            Venders,外包測(cè)試團(tuán)隊(duì)。我們有大約六七個(gè)人的外包測(cè)試團(tuán)隊(duì)(on-site),主要負(fù)責(zé)我們主要產(chǎn)品的人工驗(yàn)收測(cè)試。我們對(duì)外包測(cè)試團(tuán)隊(duì)的工作方式也有一個(gè)設(shè)想,就是一個(gè)項(xiàng)目剛開始的時(shí)候,外包測(cè)試團(tuán)隊(duì)?wèi)?yīng)當(dāng)是先上很多人,然后隨著 SED 的介入,讓自動(dòng)化程度加強(qiáng),慢慢人少下來,直到下一個(gè)新項(xiàng)目開始。但這個(gè)設(shè)想在國(guó)內(nèi)想實(shí)現(xiàn),卻沒那么容易,主要有幾個(gè)原因:1)國(guó)內(nèi)的外包測(cè)試的工程師,通常是技術(shù)和經(jīng)驗(yàn)都比較初級(jí)的人來做,外包測(cè)試成了一個(gè)門檻低天花板也低的行業(yè),技術(shù)和經(jīng)驗(yàn)缺乏,導(dǎo)致進(jìn)入新項(xiàng)目以后沒辦法非常快的上手,而有經(jīng)驗(yàn)有能力的人,很快就會(huì)脫離外包行業(yè);2)外包測(cè)試的公司,人才儲(chǔ)備不足,很少有人力資源池,都是有需求,現(xiàn)從市場(chǎng)上招,或從競(jìng)爭(zhēng)對(duì)手那里挖,有的人都沒見過,就派到客戶那邊來面試,這也導(dǎo)致了沒辦法幾個(gè)月就撤下來,因?yàn)樗麤]辦法跟候選人簽合同。這兩個(gè)客觀原因,我們也比較無奈,所以我們的外包測(cè)試團(tuán)隊(duì)基本上還是長(zhǎng)期 on-site。
            UOE,user operation engineer。用戶運(yùn)營(yíng)工程師,這個(gè)崗位很多人不太容易理解,一般用戶運(yùn)營(yíng)人員都是跟內(nèi)容啊、用戶打交道的,就像貼吧管理員就是典型的用戶運(yùn)營(yíng)人員,那為什么要有個(gè)運(yùn)營(yíng)工程師呢?這個(gè)我們是跟硅谷的 Dropbox 學(xué)習(xí)的。因?yàn)樵谌粘9ぷ髦校覀儼l(fā)現(xiàn)有想當(dāng)一部分用戶的反饋,不論是新功能的需求還是缺陷,都是技術(shù)性很強(qiáng)的,如果你能做到第一時(shí)間和用戶做深入的,技術(shù)含量較高的溝通,從解決問題的成功率上會(huì)高很多,而如果你反饋一個(gè)技術(shù)問題,總是過了幾天才有技術(shù)人員跟你聯(lián)系的話,你可能配合排查問題的愿望會(huì)小很多。基于這個(gè)思路,我們?cè)黾恿诉@個(gè)角色,同時(shí)他們還負(fù)責(zé)一些運(yùn)營(yíng)過程中使用的工具和平臺(tái)類的研發(fā)。可能會(huì)有人問這個(gè)角色為什么會(huì)在 EP 團(tuán)隊(duì)?其實(shí)仔細(xì)分析一下用戶運(yùn)營(yíng)的工作,會(huì)發(fā)現(xiàn)他們處理的對(duì)象是一個(gè)個(gè)用戶提交的 ticket,這非常像 test case,不同之處是一個(gè)是用戶事后提交,一個(gè)是事先設(shè)計(jì),分別保證了優(yōu)先級(jí)和完備性,因此結(jié)合起來,對(duì)提高質(zhì)量是非常有益的事情。
            EP 團(tuán)隊(duì)的工作方式與面臨的挑戰(zhàn)
            上面這幾個(gè)角色,就組成了我們的 EP 團(tuán)隊(duì),這樣的一個(gè)團(tuán)隊(duì),這樣的一個(gè)能力構(gòu)成,就有了一些鮮明的特點(diǎn),例如:
            1)沒人管的事情我們管,支持所有團(tuán)隊(duì)。公司內(nèi)部雖然分成了很多個(gè)團(tuán)隊(duì),但是很多技術(shù)問題是找不到人負(fù)責(zé)的,例如,一個(gè)簡(jiǎn)單的內(nèi)部數(shù)據(jù)統(tǒng)計(jì)腳本,或者一個(gè)發(fā)布內(nèi)容到 CDN 的 CMS,等等。這些事情基本都會(huì)由 EP 團(tuán)隊(duì)接過來。
            2)做事情沒有計(jì)劃。這個(gè)特點(diǎn)可能很多人會(huì)覺得匪夷所思,甚至不能接受,但實(shí)際上這跟 EP 團(tuán)隊(duì)的工作有關(guān)系,比如汽車 4S 店,有多少車禍的汽車要修理,多少人為損壞的車要修理,怎么做計(jì)劃?實(shí)際上是遇山開道、遇水搭橋。外部的市場(chǎng)的變化、內(nèi)部的技術(shù)人員的變化,都會(huì)有不斷的瓶頸出現(xiàn),而 EP 就要快速發(fā)現(xiàn)并解決這些瓶頸,直到發(fā)現(xiàn)下一個(gè)瓶頸,這個(gè)過程沒辦法有詳盡的長(zhǎng)期的計(jì)劃。而替代的是使用目標(biāo)管理的方式,我們公司內(nèi)部所有團(tuán)隊(duì)都會(huì)用一種叫做 OKR(Objective and Key Result)的方式來做管理,簡(jiǎn)單的說,就是設(shè)定目標(biāo),然后評(píng)估完成度。EP 團(tuán)隊(duì)的目標(biāo)大致有兩個(gè)方向,一個(gè)我們叫做 「Smoothly & Fast」,就是讓一切跑通做順的能力,還有一個(gè)就是「實(shí)現(xiàn)自助」,能讓其他團(tuán)隊(duì)的成員,不管是技術(shù)還是非技術(shù)背景,都能自己通過我們的工具完成任務(wù)。
            這些特點(diǎn)看起來很不錯(cuò),但是實(shí)際上帶來的問題也非常多,例如:
            沒有成就感。因?yàn)樗腥硕际悄愕男枨蠓剑@個(gè)感覺實(shí)在是不太好,另一個(gè)角度講,很多研發(fā)工程師會(huì)覺得開發(fā)一個(gè)對(duì)外的產(chǎn)品比較有成就感,對(duì)內(nèi)的總覺得沒意思。這個(gè)問題要解決,其實(shí)就要靠所謂的「工程師文化」來解決,國(guó)內(nèi)長(zhǎng)期以來在職業(yè)化上有一些不好的習(xí)慣,其實(shí)能發(fā)明工具的人都是大師,開發(fā)語言就是工具,操作系統(tǒng)也是工具,真正的牛人,都在做各式各樣的工具。能幫助別人成功的人,是最成功的。
            還有,就是脫離實(shí)際。很多人做工具,怎么炫怎么做,流行什么做什么,要么就大而全,這還是好的,更多的時(shí)候是想的大而全,半年做不出來。整個(gè)公司的價(jià)值取向是一致的,特別是小公司,容不得這種炫技一般的工作方式。所以我有一句話,叫做「自 high 無價(jià)值」,什么叫「自 high」?就是自己跟自己玩,玩的很高興。
            還有一個(gè)問題,就是招聘困難。這個(gè)在 SED 的工作職責(zé)部分提過,就不展開了。因?yàn)檎衅咐щy,我們就要考慮怎么培養(yǎng)這樣的人才,所以我們有一個(gè)方法論,叫做「要改進(jìn),先體驗(yàn)」,因?yàn)楹芏?EP 的成員是要改進(jìn)工作過程的,但是怎么改,不是所有人都能搞定,這依賴于大量的經(jīng)驗(yàn)積累,對(duì)經(jīng)驗(yàn)不足的人,很簡(jiǎn)單,就是讓他去做。要提高研發(fā)效率,找到痛點(diǎn),那就先去做一個(gè)月研發(fā);要去改進(jìn)測(cè)試過程,提高效率,就去做一個(gè)月測(cè)試。一個(gè)技術(shù)和思維方式都很不錯(cuò),只是經(jīng)驗(yàn)少的人,經(jīng)過一個(gè)月的體驗(yàn),能提出非常多的、而其他人已經(jīng)麻木了的改進(jìn)點(diǎn),并推動(dòng)實(shí)施。
            再有,依賴整個(gè)團(tuán)隊(duì)的成熟度。不是說有了 EP 這樣一個(gè)團(tuán)隊(duì),整個(gè)公司的效率和工作模式就會(huì)有大幅度提升,因?yàn)橐粋€(gè)汽車再好,你開的方向不對(duì),也到不了目的地。現(xiàn)實(shí)中存在著非常多缺乏責(zé)任感的 Owner,很多人覺得,我寫完代碼編譯通過了,丟給測(cè)試組就行了,沒我的事了,這樣的想法大有人在,所以從成立 EP 團(tuán)隊(duì),到整個(gè)公司的生產(chǎn)力真正被提高,中間不只是提供工具這么簡(jiǎn)單,還有一系列的指導(dǎo)和訓(xùn)練的工作。
            Why we can & why you can
            最后,關(guān)于我們?yōu)槭裁茨茏鲞@個(gè)事情,我們也有一些總結(jié):
            1)創(chuàng)業(yè)團(tuán)隊(duì)。創(chuàng)業(yè)團(tuán)隊(duì)就是短小精悍,精力集中,沒有太多無謂的紛擾,快速交付產(chǎn)品快速迭代是主要的工作方式。
            2)從第一天開始堅(jiān)持自由和責(zé)任的工程文化。從創(chuàng)始人開始,很堅(jiān)持這種工程文化,有什么樣的 leader 就有什么樣的團(tuán)隊(duì),所以大家接收和擁抱 EP 的工作模式,也非常快。
            雖然上述這兩條很多公司沒有,但不代表做不成這個(gè)事情,在我看來,只要具備下面幾條,想做成 EP 的工作,就并不難。
            1)互聯(lián)網(wǎng)行業(yè)。互聯(lián)網(wǎng)行業(yè)有一個(gè)非常好的,區(qū)別于以往其他行業(yè)的特點(diǎn),就是你的產(chǎn)品在物理上是自己控制的,提供的只是服務(wù),這非常有利于快速迭代,因?yàn)閭鹘y(tǒng)行業(yè)不可能做到。
            2)快速變化的業(yè)務(wù)模式。這不是說我們自己要快速變化,而是業(yè)務(wù)模式和市場(chǎng)不斷變化,來推著我們前進(jìn)。只有業(yè)務(wù)模式的快速發(fā)展,才對(duì)生產(chǎn)力有不斷更高的要求。
            3)有改變的決心。這個(gè)說起來有點(diǎn)虛了,但也很重要,因?yàn)?EP 這樣的工作模式會(huì)有陣痛,例如團(tuán)隊(duì)的重組、轉(zhuǎn)型,都會(huì)影響到一部分人的利益,特別是團(tuán)隊(duì)的管理者,而這些中高層管理者,也確實(shí)有能力阻止變革。但坦白的說,很多時(shí)候你不主動(dòng)改變,到了客觀環(huán)境推動(dòng)你不得不變的時(shí)候,到最后就成了被淘汰的人了。我還有一句話,叫做「組織結(jié)構(gòu)決定工作模式」,意思是說,很多工作模式的出現(xiàn),是因?yàn)榻M織結(jié)構(gòu)的需要。反過來說,在你的組織里很多很好的工作模式推動(dòng)不下去,或者效果很差,你就要看看你的組織結(jié)構(gòu)是不是有問題。比如兩個(gè)本來應(yīng)該緊密合作的團(tuán)隊(duì),一直合作不好,互相鄙視,你想簡(jiǎn)化流程,最后流程越做越多,大家都在壘墻,那你就要看看兩個(gè)團(tuán)隊(duì)共同的老板,是不是級(jí)別太高了。
            4)對(duì)團(tuán)隊(duì)成員的高標(biāo)準(zhǔn)。前面我提過,我們 EP 團(tuán)隊(duì)的大部分是 Geek 型的人,Geek 這個(gè)詞在英語里是一種很高的評(píng)價(jià)。只有一個(gè)技術(shù)和經(jīng)驗(yàn)都非常豐富的人,才能勝任 EP 這樣的工作,所以要堅(jiān)持不懈的雇傭一流的人才,人不夠,可以抓大放小,但絕不能有二流、三流的人在團(tuán)隊(duì)里。


          posted on 2014-03-28 11:06 順其自然EVO 閱讀(942) 評(píng)論(0)  編輯  收藏 所屬分類: CMMI & QA

          <2014年3月>
          2324252627281
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 韶关市| 孟村| 北安市| 洪洞县| 泰州市| 类乌齐县| 东乡族自治县| 抚宁县| 曲阳县| 财经| 裕民县| 稷山县| 历史| 嘉鱼县| 贵港市| 宾阳县| 越西县| 金寨县| 安庆市| 闻喜县| 东乡县| 嵊州市| 昌江| 津南区| 新源县| 门头沟区| 延川县| 万荣县| 霍林郭勒市| 祁门县| 大足县| 瓦房店市| 平果县| 东城区| 惠东县| 米泉市| 宜丰县| 梁山县| 南靖县| 钟山县| 托克逊县|