莊表偉:內(nèi)部開源平臺(tái)強(qiáng)化公司開發(fā)
2016年4月23日下午,華為開發(fā)者社區(qū)攜手51CTO在魔都上海啟動(dòng)了“華為開發(fā)者匯”的***場(chǎng)沙龍。本次活動(dòng)共邀請(qǐng)了華為公司、星網(wǎng)信通、優(yōu)酷土豆的五位講師做了分享。其中,來(lái)自華為iSource 內(nèi)源平臺(tái)架構(gòu)師莊表偉給大家?guī)?lái)的演講主題是《研發(fā)大趨勢(shì)》。莊老師的演講內(nèi)容比較親民,可能是考慮到“內(nèi)源”這個(gè)詞對(duì)大家有些陌生,他先從開源軟件的發(fā)展開始講起,慢慢引到內(nèi)源。***為大家抽絲剝繭,梳理社會(huì)化軟件工程和互聯(lián)網(wǎng)研發(fā)模式。由于其演講風(fēng)格鮮明,還沒(méi)到Q&A環(huán)節(jié)就被迫不及待的聽(tīng)眾提問(wèn)了。
現(xiàn)場(chǎng)實(shí)錄如下:
莊表偉:大家下午好。今天這個(gè)主題,我先開始講我的主題之前,講一講我前面聽(tīng)胡智勇上一場(chǎng)的感受,我也是***次聽(tīng)他講我聽(tīng)完以后感覺(jué)非常的好。而且怎么說(shuō)呢,可能對(duì)你們來(lái)說(shuō)也是不可思議的一件事情,聽(tīng)到了在華為內(nèi)部這樣非常歸、非自然、不可想象的一種世界,居然被他給發(fā)生了,一個(gè)自底向上的項(xiàng)目。其實(shí)自下而上的項(xiàng)目,有一種非常大的風(fēng)險(xiǎn),小的時(shí)候不要緊,領(lǐng)導(dǎo)看不見(jiàn),一旦它長(zhǎng)大了,大到某種程度,領(lǐng)導(dǎo)一看,哎喲這不對(duì),說(shuō)不定就被干掉了。所以長(zhǎng)大的過(guò)程中,是充滿了風(fēng)險(xiǎn)的,說(shuō)不定到某一級(jí)領(lǐng)導(dǎo)那兒,被領(lǐng)導(dǎo)一看這個(gè)不是我們的方向,不是我們的主航道,就被干掉了。但是,自頂向下的做法,另一個(gè)風(fēng)險(xiǎn)是不接地氣。從上往下的時(shí)候,領(lǐng)導(dǎo)當(dāng)然相信他肯定是對(duì)的,但是他做著做著才會(huì)發(fā)現(xiàn)下面的人根本不這么想,這是另外一種風(fēng)險(xiǎn),到***就會(huì)變得,看上去他還在做,但其實(shí)會(huì)很慘淡,這是兩種,自頂向下和自底向上的兩種不同的風(fēng)險(xiǎn)。
我簡(jiǎn)單介紹一下我自己個(gè)人的背景。我是2013年11月份加入華為。那么我在加入華為之前,我主要是在開源社區(qū)有過(guò)一些參與和工作。所以的話,華為自己內(nèi)部想要做內(nèi)源平臺(tái)了,而且是想要正式的做內(nèi)源平臺(tái),想要自上往下推的時(shí)候,就把我挖到了華為來(lái),然后我進(jìn)華為的時(shí)候,其實(shí)我內(nèi)心非常的忐忑。我在社區(qū)里所有的朋友,都會(huì)很震驚,說(shuō)你怎么會(huì)去華為?就不知道我要去干什么,也不知道我在里面待多久,說(shuō)不定半年,說(shuō)不定一年就出來(lái)了。然后我到現(xiàn)在待了大概有兩年半的樣子。做的事情,正好是胡智勇的對(duì)立面,我們也在做一個(gè)內(nèi)源平臺(tái),而他是從下往上在做,一個(gè)草根的平臺(tái),而我們?cè)谧龅氖且粋€(gè)從上往下推的官方的平臺(tái)。因此,做官方平臺(tái)和做草根平臺(tái)***的一個(gè)區(qū)別是,我要花很大一部分的工作,去做理論布道,就是說(shuō)假設(shè)在座的各位,每一個(gè)手下都管三百人到五百人,甚至每個(gè)人手下都管兩千人到五千人,然后我要來(lái)告訴你,我說(shuō)我們做的這個(gè)東西很有價(jià)值,我要跟你談的肯定不是說(shuō)你的工程師一定會(huì)喜歡,不是的。我要跟你談的是,這個(gè)東西有價(jià)值,它的價(jià)值分兩部分:***,這是全世界的大趨勢(shì),世界500強(qiáng)的公司有95%的公司已經(jīng)在這個(gè)趨勢(shì)上了,我就是在做這樣的事情。還有這個(gè)趨勢(shì),從理論上來(lái)說(shuō),它會(huì)分解成多少個(gè)部分,每一個(gè)部分是怎么怎么樣的。
當(dāng)然,如果我要想去說(shuō)服別人,***境界就是我一定得先說(shuō)服我自己。如果我說(shuō)服別人的那些理由,連我自己都無(wú)法說(shuō)服的話,那么我肯定就是在騙人。所以我今天在說(shuō)的這些,我認(rèn)為有價(jià)值的東西,是我真的這么認(rèn)為的,而不僅僅是為了去說(shuō)服領(lǐng)導(dǎo)。
其實(shí)還有一個(gè)狀況或者說(shuō)一個(gè)現(xiàn)象,是我加入華為以后才發(fā)現(xiàn)的。在我之前工作過(guò)的七八家不同的公司,我大概97年開始工作,陸陸續(xù)續(xù)換了很多家公司,我在之前的七八家公司當(dāng)中,我從來(lái)沒(méi)有發(fā)現(xiàn)過(guò)有一家公司像華為那樣,如此重視自己的研發(fā)效率,而且孜孜不倦的從全世界各種可能的渠道,去學(xué)習(xí)別人***進(jìn)的研發(fā)的工具、工程、方法等等,不斷的學(xué)。前面胡智勇前面的PPT里面講到的,華為已經(jīng)學(xué)了很多了,比如說(shuō)CMM,比如說(shuō)IPD流程,比如說(shuō)敏捷,比如說(shuō)開源都在學(xué)。那么在這樣的一個(gè)過(guò)程中,我首先這一頁(yè)要講的就是這么多不同的潮流,新的思潮有什么特點(diǎn)?特點(diǎn)就在于把人當(dāng)成人,把研發(fā)人員當(dāng)成不僅僅是普通的勞動(dòng)者,而是把他當(dāng)成是一個(gè)知識(shí)工作者。就是當(dāng)這個(gè)人坐在那里不動(dòng)的時(shí)候,如果他是一個(gè)體力勞動(dòng)者,你肯定可以相信他在偷懶,但如果他是一個(gè)腦力勞動(dòng)者,他的大腦可能正在做劇烈的、激烈的精神運(yùn)動(dòng),他正在思考一些非常重要的問(wèn)題,這個(gè)時(shí)候你不能夠認(rèn)為他在偷懶,雖然他一動(dòng)不動(dòng),他也沒(méi)有在敲鍵盤,他也沒(méi)有看什么東西,他甚至兩眼無(wú)神的,就這樣,他在思考。這個(gè)時(shí)候,他在產(chǎn)出,如果對(duì)于領(lǐng)導(dǎo)來(lái)說(shuō),說(shuō),我如果覺(jué)得你沒(méi)在動(dòng),如果你的機(jī)器沒(méi)開,如果你今天晚上沒(méi)有加班到12點(diǎn),我就認(rèn)為你沒(méi)有努力工作,如果領(lǐng)導(dǎo)是這樣心態(tài)的話,那么他肯定管不好自己的研發(fā)人員。第二個(gè),研發(fā)人員的特點(diǎn)是,他們是一群社會(huì)人,雖然看上去每個(gè)人坐在自己的電腦前面,寫代碼就可以把事情做完,但事實(shí)上研發(fā)人員已經(jīng)網(wǎng)絡(luò)化了。我們比較諷刺的說(shuō)法是,我們現(xiàn)在是(07:02英語(yǔ))什么呢,代碼拷貝回中國(guó)來(lái),然后我們就完成了自己的工作。但其實(shí)這恰恰是開發(fā)人員社交化的一部分。當(dāng)我們?cè)谏鐓^(qū)里面不斷的學(xué)習(xí),不斷成長(zhǎng)的時(shí)候,研發(fā)人員是一個(gè)社會(huì)人,我不能夠簡(jiǎn)簡(jiǎn)單單孤立的去看他的工作量和工作貢獻(xiàn),更應(yīng)該看到他在研發(fā)的網(wǎng)絡(luò)中,他有沒(méi)有成長(zhǎng)?他有沒(méi)有在不斷的學(xué)習(xí)。還有一部分,是一些我們,也是說(shuō)我自己的分析和發(fā)現(xiàn),也是我希望說(shuō)服大家理解的一個(gè)趨勢(shì)。就是,最開始的時(shí)候,人類發(fā)明了工具,然后最開始這些工具也很簡(jiǎn)單,只是幫助我做某些事情。但是事實(shí)上,人類的行為模式,會(huì)受限于工具和流程,比如說(shuō)當(dāng)我和你的交流只能 通過(guò)寫信和郵寄的時(shí)候,那么我會(huì)選擇跟你寫一封比較長(zhǎng)的信,而且我們的交往會(huì)比較有深度,但是如果是現(xiàn)在,我以非常方便的方式,給你發(fā)短信的時(shí)候,那么就更簡(jiǎn)單,我可以給你寫很短的一段話。現(xiàn)在有了微信,有了更加方便的工具,我直接跟你發(fā)表情包了,我連信都不用寫。這其實(shí)就是一種工具給人和文化帶來(lái)的轉(zhuǎn)變。原來(lái)的工具,讓我們用那種方式來(lái)交流,而現(xiàn)在的工具,會(huì)誘導(dǎo)我們用新的方式來(lái)交流,甚至是全新的方式會(huì)形成全新的文化和全新的工作的模式。這是在這樣的一個(gè)過(guò)程中,這個(gè)世界在變,這個(gè)研發(fā)也在變。
然后在這個(gè)過(guò)程中,雖然華為非常的愿意請(qǐng)外部的學(xué)術(shù)派的專家來(lái)教導(dǎo)我們,說(shuō)全球的研發(fā)趨勢(shì)是怎么樣,但是后來(lái)我們發(fā)現(xiàn)絕大多數(shù)的理論探索,往往落后于實(shí)踐的探索。我這里是比較客氣的說(shuō),互相促進(jìn),但大多數(shù)時(shí)候的理論探索都是落后于實(shí)踐的,大不了就是能夠?qū)?shí)踐做正確的總結(jié)?;旧线@是一個(gè)概要的介紹。
下面就是我想要跟大家介紹的六種,我能夠看的到的研發(fā)的模式。我們認(rèn)為研發(fā)模式分三大類:***類叫做企業(yè)之外的實(shí)踐,比如說(shuō)開源,比如說(shuō)社會(huì)化軟件工程,比如說(shuō)游戲與軟件工程。這些東西,我等會(huì)兒會(huì)展開說(shuō),這些都是原來(lái)在企業(yè)之外的一些實(shí)踐,能不能夠用于企業(yè)。第二類,內(nèi)在改進(jìn)的,就是說(shuō)我們?cè)瓉?lái)也在這樣管項(xiàng)目,現(xiàn)在我們也這樣管項(xiàng)目,但是我們只是在不斷的改進(jìn)我們本身的一些東西,所以出現(xiàn)了敏捷、精益或者是開放平臺(tái),或者是DevOps這樣一些潮流。第三類是屬于創(chuàng)新的探索其實(shí)就是用一種說(shuō)法,叫做亂拳打死老師傅?;ヂ?lián)網(wǎng)企業(yè)小、弱,所以他們敢亂來(lái),說(shuō)不定他們就長(zhǎng)大了。長(zhǎng)大了以后開始來(lái)總結(jié)說(shuō),互聯(lián)網(wǎng)的很多模式,看上去很漂亮,或者說(shuō)很了不起,但是他最開始只是因?yàn)樗麤](méi)有別的可供參照的東西,所以他亂來(lái)了。
現(xiàn)在先講開源,就是為什么華為會(huì)做內(nèi)源?其實(shí)最開始的來(lái)源是這樣的。就是說(shuō),我今天簡(jiǎn)單介紹一下開源的歷史。在開源出現(xiàn)之前的時(shí)候,處于學(xué)術(shù)和教學(xué)的目的,其實(shí)那個(gè)時(shí)候發(fā)明了大型機(jī),發(fā)明了中型機(jī),大多數(shù)人都買不起計(jì)算機(jī)的時(shí)候,計(jì)算機(jī)和計(jì)算機(jī)代碼,通常只存在于各大院校和研究機(jī)構(gòu)里面。那么他們這些研究人員互相之間交流代碼,就像交流學(xué)術(shù)論文一樣,這是一件非常自然的事情。但是到了95、96、97年的時(shí)候,個(gè)人電腦出現(xiàn)了。個(gè)人電腦出現(xiàn)最常見(jiàn)的一個(gè)現(xiàn)象,就是我跟你是朋友,然后我就把我的磁帶拷貝給你一份,因?yàn)楹苋菀?,就?fù)制一份給你,然后我花一份錢,你就不用花錢了,接下來(lái)你拿到免費(fèi)的,你就更高興把這個(gè)東西放出去。然后像比爾蓋茨這樣的,本身是靠賣拷貝賺錢的開發(fā)者,他就會(huì)覺(jué)得你們把我的錢給偷了,所以他就發(fā)了這樣的一份郵件,把那些免費(fèi)復(fù)制軟件的家伙稱之為竊賊。其實(shí)盜版這件事情,也不是中國(guó)人發(fā)明的,雖然我們現(xiàn)在比較擅長(zhǎng)這個(gè)。最早其實(shí)是美國(guó)人發(fā)明的,他們其實(shí)也是為了能夠免費(fèi)的用上軟件。那么,這件事情在美國(guó)順理成章的被發(fā)揚(yáng)光大,形成了正式的軟件行業(yè)。微軟能長(zhǎng)這么大,如果在美國(guó)非常非常的保護(hù)盜版的話,而不是保護(hù)正版的話,那么微軟不可能長(zhǎng)大,甚至整個(gè)軟件行業(yè)都不可能興起。但是軟件行業(yè)興起了以后,黑客們憤怒了。像Richard Stallman這樣的老牌黑客們,他們認(rèn)為人類免費(fèi)的使用軟件是天然的權(quán)利。自由的修改和傳播軟件,是天然的權(quán)利,而閉源的軟件公司剝奪了這種權(quán)利,是一種罪惡,是一種邪惡的。所以他去做了(14:00英語(yǔ)),他發(fā)表了不是copyright,而是coyleft宣言。所以他開始來(lái)推廣這個(gè)GNU這樣一種理念。到1990年的時(shí)候,linus開始開發(fā)linux操作系統(tǒng)了,整個(gè)的開源潮流是由此出來(lái)的。
然后在這樣的一個(gè)過(guò)程中,開源這件事情本身還不值得大書特書。真正最值得夸耀的是,他們亂來(lái)的做法,就像linux這樣的一個(gè)人,他是一個(gè)大學(xué)生,他自己就把代碼放到了互聯(lián)網(wǎng)上,然后你們隨便來(lái),你們隨便寫,隨便改,隨便給我提交代碼,然后他就每個(gè)禮拜發(fā)布一個(gè)新的版本,慢慢的、慢慢的,在沒(méi)有嚴(yán)格的質(zhì)量標(biāo)準(zhǔn),沒(méi)有強(qiáng)有力的機(jī)構(gòu)協(xié)調(diào)管理的情況下,linux居然穩(wěn)定可靠的發(fā)展起來(lái)了,而且干掉了很多很多的商業(yè)公司開發(fā)的UNIX,甚至把很多公司給擠的倒閉掉了。這個(gè)時(shí)候,企業(yè)開始慌了,說(shuō)我能夠戰(zhàn)勝那些跟我同樣的競(jìng)爭(zhēng)對(duì)手,因?yàn)榇蠹叶假u軟件,現(xiàn)在突然出來(lái)一個(gè)家伙說(shuō)我不要錢,我無(wú)法競(jìng)爭(zhēng)。而且他們居然就真的把東西做出來(lái)了,不但是不要錢,東西做的還比我好,所以企業(yè)開始慌了。企業(yè)慌了,但是另一方面,像Eric Steven Raymond這樣的人,他們也在思考,為什么這樣的一種開源開發(fā)模式,得以成立?這些人,蜂擁而來(lái)一起做開源的開發(fā),動(dòng)力在哪里,成就感是什么?為什么他們能夠把軟件開發(fā)出來(lái),背后的理論依據(jù)是什么?他在做了一個(gè)總結(jié),有一本書非常好,非常值得推薦閱讀,叫做《大教堂與集市》。這個(gè)書,其實(shí)我在公司里面,國(guó)內(nèi)的所有研究所,我跑了一圈,在每一個(gè)地方去做內(nèi)部宣講,就去宣講這本書,然后有很多領(lǐng)導(dǎo)聽(tīng)完了我的演講以后,大筆一揮,給每一個(gè)部門主管每人買一本,我還是賣出去很多本,當(dāng)然我自己沒(méi)有回扣。
然后對(duì)于這樣的一個(gè)開源的發(fā)展歷程來(lái)說(shuō),企業(yè)產(chǎn)生了一系列的反映。最開始的時(shí)候是不屑一顧,他們一幫人在那里瞎胡鬧,然后開始震驚,因?yàn)檎娴臇|西給做出來(lái)了,做的還不錯(cuò),然后開始擔(dān)憂說(shuō),他現(xiàn)在這些開源軟件是沒(méi)有做到我這個(gè)領(lǐng)域,什么時(shí)候有人做到我這個(gè)領(lǐng)域的開源軟件,我怎么活?然后開始分析,說(shuō)開源軟件到底怎么回事兒?所以微軟是有原罪的,因?yàn)樗?jīng)干過(guò)很多詆毀開源軟件的事情,他曾經(jīng)有一系列的內(nèi)部文件,對(duì)于開源軟件做了各種各樣的批評(píng)。當(dāng)然也被剛才寫《大教堂與集市》那位大哥嚴(yán)厲的、辛辣的批評(píng)。企業(yè)再近一步,稍微冷靜下來(lái)以后,他們開始反思了,開源到底有什么用?開源對(duì)我們能不能有用?開源能不能成為企業(yè)內(nèi)的一種模式?是不是有可能變成一種,甚至是幫助企業(yè)賺錢的方法?因此很多企業(yè)開始想通了,他們不但不在詆毀,他們甚至開始引進(jìn)利用,甚至擁抱開源。這是企業(yè)對(duì)于開源的態(tài)度。因此像華為這樣的公司,也開始來(lái)思考,如果把開源這樣的模式引進(jìn)到企業(yè)里來(lái),是不是有可能在公司里開發(fā)軟件,也能夠變得更加省錢省力,甚至在外面也找到免費(fèi)的測(cè)試和開發(fā)人員?甚至有沒(méi)有可能,我們的企業(yè),也把一部分自己的代碼開出去,甚至我們能不能夠跟上或者說(shuō)用到開源領(lǐng)域的各種各樣的創(chuàng)新來(lái)幫助我們等等?這是企業(yè)開始思考的問(wèn)題,也是我2013年進(jìn)公司的時(shí)候,大多數(shù)人都處在這樣的一個(gè)層面,就是處在分析、引進(jìn)、擁抱、利用這樣的一個(gè)區(qū)域里面,不同的人想法還有不一樣,也有各種擔(dān)憂,也有各種懷疑等等。這是講***部分。
第二部分是另外一種思潮。叫做社會(huì)化軟件工程。社會(huì)化軟件工程,其實(shí)這個(gè)相當(dāng)于是背景介紹,如果有興趣拍照就拍照,沒(méi)興趣我就翻下一頁(yè)了。OK了。
嘉賓:結(jié)束的時(shí)候,能不能把PDF版的給大家發(fā)一份?
莊表偉:這個(gè)抱歉,這個(gè)可以解釋一下,首先這一份穩(wěn)當(dāng)并不代表華為公司的態(tài)度,這只是我的一部?jī)?nèi)部演講稿。可以說(shuō)是代表我的態(tài)度,但并不代表華為公司的態(tài)度,我是拿這個(gè)去說(shuō)服各級(jí)領(lǐng)導(dǎo)用的,如果領(lǐng)導(dǎo)們覺(jué)得很有道理,他們說(shuō)不定會(huì)在自己的部門內(nèi)部來(lái)推進(jìn)內(nèi)源的建設(shè),但是也完全有可能,有些部門的領(lǐng)導(dǎo)并不認(rèn)同這一點(diǎn)。所以如果說(shuō)我現(xiàn)在在這里演講,有錄像,沒(méi)問(wèn)題,大家看到是我在說(shuō),這些觀點(diǎn)都是我的,但是如果就拿這個(gè)膠片貼出去了,說(shuō)這是華為的某一次宣講,可能會(huì)帶來(lái)不同的意見(jiàn)和歧異,所以說(shuō)抱歉。
然后我們講一下社會(huì)化軟件工程背后的理論邏輯,就是說(shuō)最開始人與人之間的交往,在有互聯(lián)網(wǎng)之后是通過(guò)郵件完成的這些行為,但是郵件的行為,他是全文本的,因此我發(fā)了一封郵件給你,這個(gè)郵件到底代表著什么含義?除非是人類肉眼來(lái)閱讀,否則我不知道。但是有了BBS以后,人與人之間的行為被分化了。就是我同樣是跟你交流,我發(fā)貼和回貼是不同的行為,我頂和踩是不同的行為,看的人的數(shù)量等等這些,同樣的人與人之間在交流,但是有更多的數(shù)據(jù),特別是值得分析的數(shù)據(jù)出來(lái)了。我可以從這些數(shù)據(jù)當(dāng)中,分析出一些東西來(lái)。比如說(shuō),可以分析出這個(gè)人,在社區(qū)里是不是最受關(guān)注的人?這個(gè)人的貼子是不是***的?最近、最熱門的十大熱貼是哪十個(gè)?這些數(shù)據(jù)可以出來(lái)。然后,再接下來(lái)到了SNS的社交化網(wǎng)絡(luò)出來(lái)以后,他們其實(shí)比BBS更近一步的是什么呢?他把人與人之間交互的行為,更近一步的分化出來(lái)了。比如說(shuō),關(guān)注、拉黑、專發(fā),比如說(shuō)Facebook里面的poke或者like,這些不同的行為,或者說(shuō)我們現(xiàn)在看新浪微博,你同樣是發(fā)內(nèi)容,你那個(gè)上面是不同的按紐,你發(fā)文字是一個(gè)按紐,發(fā)圖片是第二個(gè)按紐,發(fā)音樂(lè)食品是第三、第四個(gè)按紐,為什么要這樣分出來(lái)?這樣我可以有更多的數(shù)據(jù)來(lái)統(tǒng)計(jì),而且我們還特別約定,如果你想把你的某一段文字明顯標(biāo)注出來(lái),你加#號(hào),這些#號(hào)是什么?是方便大數(shù)據(jù)的時(shí)候,做分詞用的,我直接做熱點(diǎn)聚合的時(shí)候,我就直接拿這個(gè)來(lái)算了。那么有了這些東西,我可以得到更加有價(jià)值的數(shù)據(jù),等會(huì)兒那邊優(yōu)酷、土豆的老師,會(huì)跟我們講大數(shù)據(jù)分析,我這里就拋磚引玉了。為什么?因?yàn)檫@些數(shù)據(jù)本身會(huì)幫助我們決策,而另一方面這些數(shù)據(jù)有可能能夠促進(jìn)別人的行為。比如說(shuō),我知道有多少個(gè)人關(guān)注你,現(xiàn)在是一千個(gè)人,那么你是一個(gè)無(wú)名之輩,但是如果你有一千萬(wàn)人,那你就是新浪上的能夠呼風(fēng)喚雨的大V。那么一千人和一千萬(wàn)人,是一個(gè)明明白白擺在那里的數(shù)字,這個(gè)數(shù)據(jù)有可能值得你追求,或者說(shuō)你發(fā)了一條微博,這條微博被轉(zhuǎn)發(fā)了一千次、一萬(wàn)次還是十萬(wàn)次,這個(gè)轉(zhuǎn)發(fā)的量也代表了你這個(gè)微博受關(guān)注和傳播的量。所以現(xiàn)在有出現(xiàn)了新的職業(yè),在微博上面專門做寫手,大家怎么看呢?他的微博通常會(huì)被轉(zhuǎn)發(fā)多少次,那么這個(gè)人就廣告費(fèi),他也發(fā)一條微博的廣告費(fèi)能夠收多少,如果沒(méi)有這樣的數(shù)據(jù),他就不可能形成自己的微博寫手或者是段子手這樣的職業(yè),有了這些數(shù)據(jù),才會(huì)有這樣的職業(yè),也有了這樣的數(shù)據(jù),我們才能夠促使一些人去追求這樣的轉(zhuǎn)發(fā)量。反過(guò)來(lái)會(huì)激勵(lì)人的行為。
與此同時(shí),社交化的平臺(tái)在進(jìn)入軟件開發(fā)的領(lǐng)域,最常見(jiàn)的兩個(gè)例子,一個(gè)是github,一個(gè)是StackOverFlow,他其實(shí)把開發(fā)人員的各種行為給量化了。其實(shí)反過(guò)來(lái)也激勵(lì)更多的人,泡在這樣的平臺(tái)上面,去提升自己的聲望,提升自己在社區(qū)的影響力,提升自己在github上面的排名。前段時(shí)間,我剛剛看到好幾個(gè)github的排名,什么什么排行榜,這些排行榜事實(shí)上或者公司或者獵頭,就會(huì)直接按照這個(gè)排行榜挖人,而且挖到的人通常會(huì)不錯(cuò),因?yàn)樗趃ithub上面本身就有聲望,有那些明顯的貢獻(xiàn)度。那么,我們?nèi)绻谄髽I(yè)內(nèi)也以同樣的方式,來(lái)計(jì)算一個(gè)人,你到底每天提交多少行代碼,每天解決了多少個(gè)bug,每天干了哪些事情,這些數(shù)據(jù)全部都能量化的,那么我也能夠更加準(zhǔn)確的判斷一個(gè)開發(fā)人員的行為。甚至,當(dāng)我們?nèi)グ岩粋€(gè)開發(fā)人員的行為全部的展示出來(lái)的時(shí)候,我們能夠激勵(lì)他有更多的行為。但是說(shuō)到激勵(lì)的話,更加值得一談的是叫做游戲化的方式。當(dāng)我們?nèi)ゼ?lì)一個(gè)人的時(shí)候,最入門級(jí)的手段是砸錢,砸錢肯定是有效的,但是砸錢是不劃算的。對(duì)于一個(gè)老板來(lái)說(shuō),如果我能夠激勵(lì)你做某事,我有兩個(gè)選擇:***個(gè)選擇是我給你一千塊錢,第二個(gè)選擇我花一百塊錢給你送一張獎(jiǎng)狀。可能對(duì)你來(lái)說(shuō),你會(huì)覺(jué)得同樣高興,但是對(duì)我來(lái)說(shuō),我已經(jīng)省了九百塊了。如果我給你的不是一張獎(jiǎng)狀,而是我開一個(gè)表彰大會(huì),然后給你一個(gè)榮譽(yù)稱號(hào),什么什么最牛程序員,就是一個(gè)空的名頭,不花錢,但是你說(shuō)不定會(huì)更滿足,而且這件事情在大公司更加可以被放大化。如果你在一個(gè)一百人的公司里面,被稱為最牛程序員的話,你沒(méi)有什么好滿足的,但是如果你在一個(gè)八萬(wàn)人的公司里面,稱為最牛程序員的話,這個(gè)滿足度簡(jiǎn)直是,我真的一分錢不花可以把你激勵(lì)的每天都來(lái)加班。這就是游戲化的一部分。但是游戲化要做的有趣,不僅僅是給你一個(gè)名頭,他要想出各種各樣的名頭,而且看上去像一個(gè)一個(gè),可以值得被去打的怪一樣的,你打完一個(gè)怪進(jìn)入下一關(guān),再打完一個(gè)怪,再進(jìn)入下一關(guān)我再給你一個(gè)什么稱號(hào),再給你一個(gè)什么勛章,再給你一個(gè)什么頭銜,這些東西看上去就你在公司內(nèi)的環(huán)境里面打怪升級(jí)。
然后這是我曾經(jīng)待過(guò)的另外一家公司,叫盛大。當(dāng)然盛大的成功案例,現(xiàn)在已經(jīng)被證明是失敗的。這是一個(gè)很悲哀的事情。但是這里,大家稍微簡(jiǎn)單看看吧,就是說(shuō)盛大曾經(jīng)是中國(guó)***的,也是***的游戲軟件公司,所以他的老板非常了不起,他在內(nèi)部就開始推游戲式管理,在公司里人人打游戲,在公司里的管理,也是以打游戲的方式來(lái)管理。這些事情,現(xiàn)在可能跟你們說(shuō),你們還是會(huì)覺(jué)得很新奇,真的有公司這么管,當(dāng)然***是管出事情來(lái)了,除了很多問(wèn)題。但是他有一些優(yōu)點(diǎn),他的優(yōu)點(diǎn)最核心的一個(gè)優(yōu)點(diǎn)是,他部門與部門之間很容易形成某種協(xié)作關(guān)系,就是我們打游戲有經(jīng)驗(yàn)值,那么我個(gè)人有經(jīng)驗(yàn)值,他就說(shuō)部門與部門之間可以以經(jīng)驗(yàn)值的方式結(jié)算。我只要給你多少點(diǎn)經(jīng)驗(yàn)值,你就可以派兩個(gè)人過(guò)來(lái)幫我干活,所以部門的關(guān)系會(huì)非常融洽,而大多數(shù)企業(yè)的話,部門與部門之間都是一種有部門墻的競(jìng)爭(zhēng)性的關(guān)系,這里一個(gè)很大的改變,當(dāng)然他有很大的問(wèn)題,這里就不展開。但是想要引出的一點(diǎn)就是游戲化從理論上來(lái)說(shuō)肯定是一個(gè)非常好的東西,但是真正去實(shí)踐一個(gè)游戲化的公司,其實(shí)還是有很多坑的,這些坑盛大曾經(jīng)踩過(guò)。所以如果有其他企業(yè)想用,也要非常慎重的去設(shè)計(jì)一個(gè)公司內(nèi)的游戲體系,才有可能得到好處,而不栽到坑里面去。
這部分,我打算說(shuō)的更快一些,因?yàn)槊艚?、精益、看板這些開發(fā)實(shí)踐,可能已經(jīng)在各個(gè)大大小小的場(chǎng)合里面,被說(shuō)過(guò)非常多的次數(shù)了。我這里要說(shuō)的只是說(shuō)這些都是好東西,這些好東西是值得拿來(lái)應(yīng)用于自己團(tuán)隊(duì)實(shí)踐的,但是更加重要的是,他應(yīng)該跟前面的那些實(shí)踐結(jié)合起來(lái),就是說(shuō)一個(gè)開源的,一個(gè)以社交化的方式執(zhí)行某種游戲規(guī)則的團(tuán)隊(duì),他可能會(huì)變得更加的敏捷。這里我們就不多說(shuō)了,還有一個(gè)要點(diǎn)是什么呢?就是說(shuō)我曾經(jīng)是在進(jìn)入華為之前,我是有一個(gè)叫Trello軟件的重度使用者。我從當(dāng)中使用的一個(gè)經(jīng)驗(yàn),就是基于Trello這樣一種看板,它可以更加深入分析一個(gè)研發(fā)團(tuán)隊(duì)內(nèi)部的行為,對(duì)研發(fā)內(nèi)部做大數(shù)據(jù)分析。我可以知道,比如說(shuō)我舉一個(gè)最簡(jiǎn)單的例子,我有一個(gè)bug,這個(gè)bug最開始停留在等待開發(fā),或者是等待(30:30英語(yǔ))這樣的一個(gè)階段,比如說(shuō)開發(fā)人員花了兩個(gè)小時(shí),然后他又進(jìn)入了下一個(gè)階段叫做等待測(cè)試。然后測(cè)試人員開始說(shuō),我開始測(cè)試了,進(jìn)入正在測(cè)試狀態(tài),突然測(cè)試人員發(fā)覺(jué)有問(wèn)題,他在測(cè)了一個(gè)半小時(shí),發(fā)現(xiàn)有問(wèn)題,于是他又回到了等待開發(fā)的狀態(tài)。因?yàn)殚_發(fā)人員的開發(fā)不過(guò)關(guān),他沒(méi)有真正的修復(fù)bug,他工作的卡片回去了?;厝ミ@樣的一件事情,在傳統(tǒng)的管理模式當(dāng)中,很難被精確的量化,就比如說(shuō),這個(gè)開發(fā)人員他修復(fù)bug這件事情,我們只知道他花了多少時(shí)間,稍微粗略一點(diǎn)的話,花了一天兩天修復(fù)了一個(gè)bug,但是如果我們?nèi)ビ^察它的細(xì)節(jié),就會(huì)發(fā)現(xiàn)他被測(cè)試人員打回了三次。證明什么?證明這個(gè)開發(fā)人員改bug改的非常不認(rèn)真,但是他如果一遍就過(guò),同樣他也花了三個(gè)小時(shí)去修復(fù)這個(gè)bug,然后一遍就過(guò)了,和他被打回來(lái)三次,同樣花了三個(gè)小時(shí),說(shuō)不定前者是證明這個(gè)bug確實(shí)很難,所以他花了三個(gè)小時(shí)修掉了,而后者證明這個(gè)程序員開發(fā)非常不認(rèn)真,所以他被打回來(lái)三次。通過(guò)這樣的一種大數(shù)據(jù)分析,來(lái)分析一個(gè)開發(fā)團(tuán)隊(duì)的行為細(xì)節(jié),我們有可能發(fā)現(xiàn)更多的現(xiàn)象和更多的內(nèi)部的原因。
如果再展開說(shuō),基于一個(gè)Trello,我們可以做很多的數(shù)據(jù)分析,可以有一些估算模型、價(jià)值點(diǎn)模型,這些都不展開說(shuō)。但是如果詳細(xì)展開說(shuō)的話,其實(shí)背后是一套更加科學(xué)的方式來(lái)管理項(xiàng)目的一套思維。然后,這些東西,開放平臺(tái)、云計(jì)算和DevOps,為什么會(huì)影響到我們的研發(fā)管理?最重要的一點(diǎn)是,所有的這些技術(shù)支撐,都是用來(lái)降低我們的研發(fā)成本的。原本,我們要吭哧吭哧的部署環(huán)境,吭哧吭哧的寫代碼,然后提交等等,做了這些事情以后,我們的一個(gè)版本才能夠發(fā)布出去?;蛘哒f(shuō),我們要在申請(qǐng)打報(bào)告然后等待流程審批,才能新買到兩臺(tái)服務(wù)器,或者十臺(tái)服務(wù)器部署在那里,在這樣的一種情況下面我們的研發(fā)流程往往是重型的。因?yàn)槲覀兛焖僮儎?dòng)的話,會(huì)導(dǎo)致我們的成本有太多的浪費(fèi)。但是當(dāng)我們現(xiàn)在有了云計(jì)算平臺(tái),有了DevOps以后,我們可以快速的部署,快速的發(fā)布,我們不怕浪費(fèi)。原來(lái)我們可能一個(gè)月發(fā)布一個(gè)版本,現(xiàn)在我們一天可以發(fā)布十到二十個(gè)版本。那么,在這種情況下,如果我們的一天發(fā)布十個(gè)版本的話,那么我們的管理模式,一定不會(huì)像一個(gè)月發(fā)布一個(gè)版本那樣來(lái)管理。管理的思路和理念完全變了。
***講一個(gè),我對(duì)互聯(lián)網(wǎng)研發(fā)模式的一些思考。最核心的一個(gè)特點(diǎn)其實(shí)是快。在快了之后,它的開發(fā)者質(zhì)量肯定是下降的,然后下降了以后,他說(shuō),我不要慢下來(lái),不是說(shuō)因?yàn)槲业馁|(zhì)量下降了,所以我要把開發(fā)者速度降下來(lái),把質(zhì)量提升上去,不是。他想一些別的辦法來(lái)彌補(bǔ)自己犯下的錯(cuò)誤,所以他說(shuō),我快速試錯(cuò),然后快速調(diào)整,然后以更快的速度繼續(xù)發(fā)布。原來(lái)我每天發(fā)布一個(gè)版本,所以我經(jīng)常有bug在線上,所以我現(xiàn)在要多測(cè)試,嚴(yán)格測(cè)試,我***變成一個(gè)月一個(gè)版本發(fā)布,這樣我就慢了,慢了就爭(zhēng)不過(guò)別人了。所以互聯(lián)網(wǎng)公司是什么呢?我在保證快的情況下,解決質(zhì)量下降的問(wèn)題。所以我如果質(zhì)量下滑了怎么辦呢?我做自動(dòng)化測(cè)試,做灰度發(fā)布,這兩個(gè)是技術(shù)手段,還有什么呢?我建立粉絲文化。粉絲文化派什么用處呢?就是讓更多的用戶能夠?qū)捜菸业腻e(cuò)誤。還有我們要有一個(gè)專門的危機(jī)攻關(guān)團(tuán)隊(duì),這個(gè)團(tuán)隊(duì)派什么用處呢?就是一旦這個(gè)事情連我的粉絲都不能忍的時(shí)候,我要做危機(jī)攻關(guān)。那我們現(xiàn)在按照傳統(tǒng)的思維就想,你有錢來(lái)搞這些活,為什么不能夠把你的質(zhì)量提升上去呢?不,他們就不這樣干,他們寧可去建立粉絲文化,搞危機(jī)攻關(guān),他們也不要把自己的開發(fā)速度降下來(lái)。這是一個(gè)非常不同的選擇。這個(gè)選擇其實(shí)帶給互聯(lián)網(wǎng)一種非常不同的活力,這些活力才會(huì)讓很多傳統(tǒng)的企業(yè)覺(jué)得頭暈眼花,看不懂說(shuō)他們?cè)诟墒裁?,他們?cè)趺从肿兞耍褪且驗(yàn)檫@樣互聯(lián)網(wǎng)才出來(lái),才會(huì)發(fā)展的這么快。然后其實(shí),如果我們?nèi)プ屑?xì)觀察很多的互聯(lián)網(wǎng)公司,他們內(nèi)部是非?;靵y的。亂的呢,不像我們?nèi)A為公司很多時(shí)候內(nèi)部是管理井井有條的。我這樣說(shuō)沒(méi)錯(cuò),金字塔肯定是井井有條的。但是很多互聯(lián)網(wǎng)公司,其實(shí)他們是非常的強(qiáng)調(diào)這種扁平化的管理,強(qiáng)調(diào)叫做目標(biāo)導(dǎo)向、洗腦文化,給你講我們是要改變中國(guó)怎么樣,我們的理想是什么。為什么呢?因?yàn)槠鋵?shí)在那樣的混亂當(dāng)中,大多數(shù)人心情是很不愉快的,是很想走的,所以才會(huì)有教主們這樣的人出來(lái)說(shuō),忍得一時(shí)之氣也是要為了改變中國(guó)什么什么的,對(duì)吧。所以其實(shí)他們也在做類似這樣的一些事情,然后等到我進(jìn)了華為以后,我非常驚訝,就是華為幾乎不洗腦,都很直白,就跟你說(shuō),我們的年薪是怎么算的,如果你簽署了奮斗者協(xié)議以后,工資會(huì)漲多少,就跟你直接談錢,不跟你談那種特別高遠(yuǎn)的東西,其實(shí)我覺(jué)得如果一個(gè)不是特別容易被洗腦的人來(lái)說(shuō),應(yīng)該反而會(huì)比較容易適應(yīng)華為的文化。
當(dāng)然還有一部分,也是互聯(lián)網(wǎng)公司的配套的。因?yàn)樗_實(shí)亂,因?yàn)樗_實(shí)快了以后容易犯錯(cuò),如果他內(nèi)部再不寬容失敗的話,那這個(gè)活就沒(méi)法干了。所以他一定強(qiáng)調(diào)某種寬容失敗的文化,就是說(shuō)我認(rèn)你這個(gè)人,哪怕你錯(cuò)一次兩次不要緊,我相信你接下來(lái)還能成,必須要培養(yǎng)這樣的一種文化。甚至是什么呢?就是說(shuō)有些事情,先不要追究責(zé)任,先保持某種灰度,不要做到黑白分明的講誰(shuí)對(duì)誰(shuí)錯(cuò),然后這個(gè)事情在快速發(fā)展中問(wèn)題都會(huì)被解決,這個(gè)事情就過(guò)去了。這其實(shí)是互聯(lián)網(wǎng)發(fā)展的一些很有趣的東西。
當(dāng)然就是說(shuō),我其實(shí)在這里再說(shuō)兩句。好吧,我后面還有好多頁(yè),我想起來(lái)還有好多頁(yè)。這個(gè)其實(shí)又開了新篇章,這個(gè)新篇章其實(shí)是講的理論分析框架,這個(gè)框架專門用來(lái)公司里面大老板級(jí)別的人洗腦用的。我們?cè)谡勔粋€(gè)鐵三角的時(shí)候,通常說(shuō)項(xiàng)目管理有鐵三角,意思是什么?就是你不能夠同時(shí)追求,比如說(shuō)成本、時(shí)間和項(xiàng)目范圍,同時(shí)都達(dá)到***,不能同時(shí)***,必然要損失一點(diǎn)。但是我就想給領(lǐng)導(dǎo)傳播一個(gè)什么樣的概念呢?就是說(shuō)A團(tuán)隊(duì)和B團(tuán)隊(duì),他們可能都有各自的鐵三角,但是A團(tuán)隊(duì)的強(qiáng)大之處就是每一個(gè)三角,都比另外一個(gè)團(tuán)隊(duì)強(qiáng)。也就是說(shuō),我們?nèi)绻陀^的比較的話,是有些團(tuán)隊(duì),在三個(gè)方面都同時(shí)比其他團(tuán)隊(duì)更強(qiáng)的,那么我就問(wèn)領(lǐng)導(dǎo)了,你想不想追求這樣的團(tuán)隊(duì)?想啊。怎么才能做到呢?我們來(lái)分解這個(gè)東西。如果我們要追求更高的利潤(rùn),那么我們一定需要的是通過(guò)創(chuàng)新來(lái)開源,然后通過(guò)重用降低成本,開源節(jié)流。如果我們要追求更好的可控制的東西,那么我們需要單個(gè)工作,每個(gè)人的單項(xiàng)工作都能夠加快速度。然后所有的工作之間互相的協(xié)調(diào),能夠更好、更有效率,叫做速度與控制力。如果我們要達(dá)到更好的用戶需求滿意度,那么我們需要做到的一個(gè)是更多的特性,以及每個(gè)特性更好的質(zhì)量。這樣才能夠更好的滿足用戶,這是三個(gè)三角形。
然后,我們說(shuō)我們要達(dá)到這三個(gè)三角形,其實(shí)分別需要的是什么呢?需要的是我們要有更好的研發(fā)活力,這個(gè)企業(yè)、這個(gè)團(tuán)隊(duì)才能有更多的創(chuàng)新。我們還要有更好的研發(fā)效率,我們的單個(gè)環(huán)節(jié)和所有環(huán)節(jié)的配合才能夠更好,我們也需要有更強(qiáng)的研發(fā)能力,這樣的話,我們才能夠開發(fā)出更好的特性以及每一個(gè)特性的質(zhì)量都很好。但是,這背后還有一個(gè)大循環(huán),就是說(shuō),當(dāng)我的團(tuán)隊(duì)有更強(qiáng)活力的時(shí)候,我的人員才能夠更多的主動(dòng)學(xué)習(xí),才能夠不斷的增長(zhǎng)自己的能力。在能力增長(zhǎng)的前提下,才能夠達(dá)到更強(qiáng)的效率,否則的話,這些人能力上不去,只能靠加班。那么,如果說(shuō)效率不能夠得以提高的話,所有的人都沒(méi)有業(yè)余時(shí)間,所有的人只能埋頭加班,他們根本沒(méi)有時(shí)間去學(xué)習(xí)新的技術(shù),因此活力也上不去。所以這是一個(gè)大循環(huán)。這個(gè)大循環(huán)整個(gè)能夠轉(zhuǎn)起來(lái)了,你的團(tuán)隊(duì)就能夠不斷的得以進(jìn)步。然后接下來(lái),就進(jìn)入我的最重要要安利的一個(gè)話題,就是為什么我們企業(yè)要學(xué)習(xí)開源社區(qū)。因?yàn)樵谖覀兤髽I(yè)內(nèi)部的實(shí)踐當(dāng)中,通常我們會(huì)比較注重開發(fā)效率以及開發(fā)質(zhì)量以及開發(fā)人員能力的北方。但是對(duì)于研發(fā)活力這一塊,我們做的特別少,所以整個(gè)團(tuán)隊(duì)的研發(fā)活力上不去,我們整個(gè)人員的能力也上不去,所以我們才需要外部去借鑒開源社區(qū)很多的實(shí)踐,來(lái)提升我們自己。
這塊不說(shuō)了,就說(shuō)到這兒??偨Y(jié),***我們要得到的是怎么樣一個(gè)金字塔呢?下一代研發(fā)我們要考慮的是,四塊大的積木:分別是社交化,大數(shù)據(jù)、云計(jì)算,開放平臺(tái),這是四塊技術(shù)型的積木。在四塊技術(shù)型的積木上,我們能夠努力的去提升研發(fā)效力、研發(fā)能力和研發(fā)活力,而這三部分的能力、活力和效率,同時(shí)面向的是個(gè)人和組織的成長(zhǎng),***在這樣的一種不斷成長(zhǎng)的個(gè)人和組織的基礎(chǔ)之上,我們才能夠不斷的開發(fā)出更好、更強(qiáng)的產(chǎn)品來(lái),這就是我們對(duì)于研發(fā)大趨勢(shì)的一個(gè)理解。
好,謝謝大家。
旅強(qiáng):有人要問(wèn)問(wèn)題的嗎?
嘉賓:莊老師您好。我有一個(gè)問(wèn)題,現(xiàn)在咱們開源社區(qū),比如說(shuō)我們一些初創(chuàng)公司,在選擇框架的時(shí)候,去選這些開源,但是開源可能會(huì)有一些我們所未知的問(wèn)題在里面,這種情況下,你是怎么看待的?就是說(shuō)我們不可能去深究它很多東西。
莊表偉:我最近在看一本書,這本書,在我包里,等會(huì)兒拿給你看。叫做《數(shù)據(jù)化決策》。這本書背后強(qiáng)調(diào)的理念,就是所有的一切都是可以通過(guò)量化的方式來(lái)決策的。比如說(shuō)你說(shuō)到這個(gè)選擇問(wèn)題,歸根到底是一個(gè)成本問(wèn)題,什么成本呢?你選擇一個(gè)免費(fèi)開源的,你節(jié)約了成本,但是你遇到了坑,你又浪費(fèi)了成本,然后你花時(shí)間去修復(fù)了,你的人員能力得以成長(zhǎng),你又賺到了。無(wú)非就是說(shuō),你有虧有賺,***總的下來(lái),你能不能賺?這是一個(gè)大的估算。但是在大的估算中再有細(xì)節(jié),比如說(shuō)你要選擇哪一類開源,你是選擇穩(wěn)定版本的?非常活躍社區(qū)的?還是沒(méi)幾個(gè)人用的?這個(gè)風(fēng)險(xiǎn)程度又不一樣。不同的風(fēng)險(xiǎn)帶給你的收益和帶你的可能的潛在的損失是不同的,這只能夠具體的案例、具體的分析。這個(gè)你知道github,比如說(shuō)他的平均每天有多少人提交?他的平均開發(fā)人數(shù)有多少人參與?這些都是供你量化決策的時(shí)候重要參考依據(jù),但是從一個(gè)大的方向來(lái)說(shuō),現(xiàn)在的企業(yè),完全不考慮開源已經(jīng)不可能了,你只是在糾結(jié)到底要考慮哪一種開源,哪一個(gè)版本的開源,或者是哪一家公司在背后支撐的開源,你無(wú)非是選擇這個(gè)。但是你完全不考慮是不可能的。
嘉賓:還有一個(gè)問(wèn)題,有些公司,比如說(shuō)采用開源,他們可能想從這個(gè)獲得分支版本,我們公司直接在那個(gè)基礎(chǔ)上進(jìn)行二次開發(fā),之后在我們公司內(nèi)部會(huì)一直往下走。但是如果這種情況下,如果我們?cè)偃セ貓?bào)這個(gè)社區(qū)的情況,是怎么看待的?
莊表偉:其實(shí)企業(yè)把自己的二次開發(fā)的代碼回饋社區(qū),是為了自己好。為什么呢?因?yàn)榧僭O(shè)說(shuō)這個(gè)社區(qū)的版本,又往前前進(jìn)了兩個(gè)版本,然后你發(fā)現(xiàn)你跟不上了,然后你就虧了。因?yàn)槟阍瓉?lái)的那些二次開發(fā)改動(dòng)的代碼,又可能得在***的版本上重新再二次開發(fā)一編,這是最不劃算的。但是如果說(shuō)你二次開發(fā)的代碼已經(jīng)并入到主線了,那你現(xiàn)成的跟著升級(jí)就行了。所以我一直說(shuō)一個(gè)企業(yè)回饋社區(qū),不僅僅是為了回饋,更重要的是為了自己將來(lái)跟版本會(huì)跟的容易一些,是這個(gè)原因。
嘉賓:***一個(gè)問(wèn)題,剛才莊老師也提到了一個(gè),他之前常用的一個(gè)看板管理的軟件,就是Trello。我想聽(tīng)一下莊老師對(duì)看板管理,在互聯(lián)網(wǎng)公司的應(yīng)用,是怎樣一個(gè)想法?
莊表偉:我在進(jìn)華為之前,就是在一家互聯(lián)網(wǎng)公司,在整個(gè)團(tuán)隊(duì)里面用Trello。前面我這個(gè)膠片,因?yàn)椴惶迷俜?,就是我所有的那些?shù)據(jù)統(tǒng)計(jì)分析,自己內(nèi)部給自己的效率的統(tǒng)計(jì)什么,都是用那個(gè)來(lái)做的。
嘉賓:莊老師,我想問(wèn)一下關(guān)于軟件開發(fā)方面的一些疑惑。我那天項(xiàng)目中,也用了Trello的方法管理。但是發(fā)現(xiàn)客觀上,我們執(zhí)行下來(lái)發(fā)現(xiàn)這個(gè)軟件的質(zhì)量是有一定下降的。我們用了幾次,試了都覺(jué)得是這個(gè)軟件問(wèn)題。那這個(gè)是不是說(shuō)用這種方法去做,本身就是會(huì)客觀上導(dǎo)致質(zhì)量下降?因?yàn)閯e的速度有點(diǎn)快,還是說(shuō)不對(duì)?或者說(shuō)這種方法更適合追求速度的,質(zhì)量方面用一些其他手段去彌補(bǔ)的。
莊表偉:能不能再翻到剛才談敏捷的部分。精益看板你了解吧?就是精益和敏捷的***的區(qū)別是,它多了一個(gè)度量的階段,在每一次度量自己這一次迭代的質(zhì)量,到底我迭代的好不好。這個(gè)質(zhì)量包括,進(jìn)度和代碼的質(zhì)量,或者說(shuō)產(chǎn)品總的質(zhì)量,你得去度量這個(gè)東西。然后到下一個(gè)迭代的時(shí)候,你其實(shí)就是說(shuō),你可以往(49:20英語(yǔ))在做自動(dòng)化測(cè)試的時(shí)候,都寫幾個(gè)單元測(cè)試用力,然后看下一次迭代的質(zhì)量上去了沒(méi)。在這種情況下,再做一次迭代,看看在這樣的自動(dòng)化測(cè)試的水平不斷提升,包括人員能力不斷提升的基礎(chǔ)之上,你的這個(gè)迭代的(49:44英語(yǔ)),能不能再放一一些(49:45英語(yǔ))多放幾個(gè)進(jìn)去。首先要保證的不是知識(shí)對(duì)。首先要保證的是你的效果在不在進(jìn)步,就是你是不是每一個(gè)階段都進(jìn)步了一點(diǎn)點(diǎn)?但是你如果沒(méi)有一個(gè)自己內(nèi)部評(píng)測(cè)數(shù)據(jù)的話,你根本不知道自己進(jìn)步不進(jìn)步,你根本不知道我自己到底好不好只是憑著感覺(jué),好像質(zhì)量下降了。所以我才說(shuō),精益目標(biāo)是做更好的敏捷,為什么是更好的敏捷?因?yàn)樗诓粩嗟脑u(píng)估自己。我到底哪里好了,哪里又不對(duì)了,然后其實(shí)說(shuō)到底,我最擔(dān)心的是,做敏捷做成像學(xué)別人做體操一樣的,比如說(shuō)你的動(dòng)作是這樣,我也要做成這樣,是九十度,不是這樣的度數(shù),不對(duì),這不對(duì)。每一個(gè)團(tuán)隊(duì),一定有自己的合適的度數(shù),但是哪一個(gè)度數(shù)才最合適呢?靠測(cè)量。自己去評(píng)估自己團(tuán)隊(duì)的速度、效率、質(zhì)量,這些數(shù)據(jù),然后不斷的調(diào)整,就像調(diào)參數(shù)一樣的,調(diào)到一個(gè)合適的了,然后這就對(duì)了,在此之前肯定是不夠好的。
嘉賓:所以事后評(píng)估是非常重要的。
莊表偉:非常重要。
旅強(qiáng):因?yàn)闀r(shí)間的關(guān)系,如果還有問(wèn)題,我們后續(xù)再跟莊老師溝通。我們謝謝莊老師。