成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

專訪程顯峰:敏捷在團(tuán)隊(duì)中的實(shí)踐與發(fā)展現(xiàn)狀

原創(chuàng)
開發(fā) 項(xiàng)目管理
在國(guó)外軟件企業(yè)中,幾乎將近半企業(yè)是已采用敏捷方法進(jìn)行開發(fā),隨著近年來受軟件外包和外企的帶動(dòng),敏捷開發(fā)在中國(guó)也出現(xiàn)了日漸普及的態(tài)勢(shì),如騰訊,IBM等等內(nèi)部幾乎所有的開發(fā)團(tuán)隊(duì)都在實(shí)施敏捷方法。敏捷開發(fā)的流行絕非偶然,因此,51CTO記者采訪了AdMaster(精碩科技)首席布道師程顯峰,講解了敏捷開發(fā)在團(tuán)隊(duì)中的實(shí)踐以及發(fā)展現(xiàn)狀。

無論是在軟件或者管理行業(yè)敏捷開發(fā)已成為眾多高效開發(fā)團(tuán)隊(duì)的制勝之道。敏捷開發(fā)可以說是在開發(fā)中面臨迅速變化需求中的一種快速開發(fā)能力。當(dāng)然,敏捷不僅是簡(jiǎn)單的快速,而是在開發(fā)過程中短周期的不斷改進(jìn)、提高和調(diào)整;當(dāng)然也不僅僅是一個(gè)版本只做幾個(gè)功能,而主要的是突出重點(diǎn)。

在國(guó)外軟件企業(yè)中,幾乎將近半的企業(yè)是已采用敏捷方法進(jìn)行開發(fā),隨著近年來受軟件外包和外企的帶動(dòng),敏捷開發(fā)在中國(guó)也出現(xiàn)了日漸普及的趨勢(shì),如騰訊,IBM等等內(nèi)部幾乎所有的開發(fā)團(tuán)隊(duì)都在實(shí)施敏捷方法。敏捷開發(fā)的流行絕非偶然,因此,51CTO記者采訪了AdMaster(精碩科技)***布道師程顯峰,講解了敏捷開發(fā)在團(tuán)隊(duì)中的實(shí)踐以及發(fā)展現(xiàn)狀。

[[66187]]

簡(jiǎn)介:程顯峰,畢業(yè)于悉尼大學(xué),《MongoDB權(quán)威指南》譯者,MongoDB中文社區(qū)創(chuàng)始人。Emacs使用者,Ruby寫手,Scheme愛好者。AdMaster***布道師,負(fù)責(zé)團(tuán)隊(duì)建設(shè),人員培訓(xùn),新技術(shù)普及,還有一些公司技術(shù)PR的工作。

以下是相關(guān)的采訪實(shí)錄:

敏捷在項(xiàng)目中的實(shí)踐

記者:有些人認(rèn)為敏捷開發(fā)并不適用于水平一般的程序員或團(tuán)隊(duì),您是怎么認(rèn)為的?

程顯峰:至于敏捷開發(fā)是不是用這種程序團(tuán)隊(duì),我認(rèn)為特別適合訓(xùn)練有素的團(tuán)隊(duì)。反過來說,如果不是一個(gè)訓(xùn)練有素的團(tuán)隊(duì),實(shí)施傳統(tǒng)軟件開發(fā)也會(huì)失敗,所以我覺得基本的要求是跟原來的一些要求基本一致的,溝通能力、協(xié)調(diào)能力,對(duì)于項(xiàng)目變動(dòng)的控制能力都是一樣的。包括傳統(tǒng)軟件開發(fā)當(dāng)中講的項(xiàng)目可控,整個(gè)項(xiàng)目可復(fù)制,同樣的資源配比后還可以復(fù)制這個(gè)項(xiàng)目,如果原來的這些做得比較好的話實(shí)施敏捷項(xiàng)目就相對(duì)容易一些。

記者:很多人為了編寫易變更的代碼,在采用敏捷時(shí),拋棄許多習(xí)慣用法,由你的經(jīng)驗(yàn)出發(fā),如何去看待這個(gè)問題?

程顯峰:從我在實(shí)施的過程中***點(diǎn)需要強(qiáng)調(diào)的就是大部分跟傳統(tǒng)的軟件工程還是一樣的,現(xiàn)在異化的部分過于被強(qiáng)調(diào)了,搞得大家以為是完全新的、不一樣的東西,傳統(tǒng)軟件包括需求管理、進(jìn)入控制、質(zhì)量管理、測(cè)試體系,這些東西在敏捷里也都要體現(xiàn)、都要實(shí)施,而且要求可能還會(huì)更高,并不是把一些傳統(tǒng)的東西拋棄掉了,既沒有進(jìn)入管理又沒有版本控制,幾個(gè)人一商量就定了敏捷,這是完全的一種誤解,而且還是要好的工程基礎(chǔ)才能實(shí)施。

記者:所以傳統(tǒng)的方法對(duì)于程序員的要求還是比較高的吧?敏捷這樣的功能經(jīng)過修改之后就可以推出一個(gè)小的版本?

程顯峰:并不是說推出小版本就降低難度,這是沒有因果關(guān)系的。比如說這小的版本即使推送上去,如何保證這個(gè)小的版本是對(duì)的?你也需要大版本的方法,比如軟件測(cè)試、進(jìn)度控制、需求管理,這些東西都得有,你才能控制好。雖然你推得比較快,看上去可能是一個(gè)一個(gè)的,如果你要是推的沒有章法的話一樣也是亂套。不是你想要的東西,也會(huì)造成大量的浪費(fèi),我是這么覺得的。

記者:對(duì)于一個(gè)失敗的軟件項(xiàng)目來說,您認(rèn)為敏捷方法是它的救星嗎?

程顯峰:對(duì)于一個(gè)失敗的項(xiàng)目就要說出失敗的原因,這才是解決失敗項(xiàng)目的辦法,敏捷的方法不是,這個(gè)邏輯就是有問題的,我覺得這個(gè)沒什么好說的。

其實(shí)我覺得敏捷的方法不是任何失敗項(xiàng)目的救星,這是肯定的。至于失敗這個(gè)事情,看上去可能是分工的原因,有可能深層次的來講是不交流、不溝通的原因。敏捷比較注重強(qiáng)調(diào)溝通互動(dòng)這些方面,它是有強(qiáng)調(diào)這些東西,如果你的問題恰巧是由于不溝通導(dǎo)致的,可能采用了敏捷的方法可能會(huì)有極大的改善,但也非常取決于實(shí)施的人和分析的效果。好多人說敏捷就是一個(gè)框,什么東西都可以往里面扔,實(shí)際上也確實(shí)有點(diǎn)這個(gè)樣子。

我覺得敏捷的方法更多的是注重發(fā)現(xiàn)問題的框架,就是能讓你更快地發(fā)現(xiàn)問題、暴露問題。至于怎么解決問題,原來能解決的就能解決,要是原來解決不掉,敏捷也幫不了你。但是它能幫助你發(fā)現(xiàn)問題,比如說原來你有溝通問題,但是很長(zhǎng)時(shí)間才能暴露出來,這個(gè)東西能讓你在短時(shí)間內(nèi)暴露出來,那么就有助于解決這個(gè)問題。

記者:想要做到敏捷開發(fā),每個(gè)團(tuán)隊(duì)都要經(jīng)歷這樣一個(gè)轉(zhuǎn)型期,那么在轉(zhuǎn)型期還需要每個(gè)團(tuán)隊(duì)根據(jù)自身的不同,找出合理有效的解決方法。你們團(tuán)隊(duì)的是如何來解決的?

程顯峰:我是傾向于比較溫和地對(duì)團(tuán)隊(duì)進(jìn)行改進(jìn),實(shí)施的東西盡量不要讓團(tuán)隊(duì)有一個(gè)明顯的轉(zhuǎn)型期,比如版本控制,原來做的版本控制、提交力度、上線流程這些,我會(huì)給大家介紹一個(gè)新的系統(tǒng),但是并不會(huì)太影響大家的工作,適應(yīng)起來又很快,這樣的改進(jìn)效果是比較立竿見影的,而且影響又非常小。這種改進(jìn)不是偶爾一次才會(huì)用到,而是天天都能用到,比如說調(diào)試方法,每天能省一分鐘就行,我特別喜歡這樣的改進(jìn)。

大家可能都覺得敏捷特別神奇,每天能省百分之二十的時(shí)間,現(xiàn)在我還沒發(fā)現(xiàn)這種現(xiàn)象,我特別不相信這種東西,就是不想省百分之二十的時(shí)間就不會(huì)讓大家經(jīng)歷一個(gè)很長(zhǎng)的轉(zhuǎn)型期。比如你告訴大家一個(gè)技巧,每天能省兩分鐘,這種東西大家天天用實(shí)際積累下來的效果才是比較明顯。你要是教給大家一個(gè)方法,比如能省二十分鐘,實(shí)際上這種方法看上去是非常漂亮,但它不是什么場(chǎng)景都能用得到,所以我就不太喜歡這樣的方法。現(xiàn)在大家吹噓的敏捷方法可能有一部分也不敏捷,我在這個(gè)團(tuán)隊(duì)里也不太愿意教那部分,比如說每天早上例會(huì)的時(shí)候站在那里說一通。我也跟他們講過,他們有的話可以,沒有也OK,有些東西我的要求就比較死,比如上線的流程、可控性,我在這個(gè)方面的要求就比較死,開不開會(huì)對(duì)于我的項(xiàng)目沒有什么影響,但是上線的流程就不一樣,我要往回退的話就要花成本。

對(duì)于小的團(tuán)隊(duì)來講真的是可有可無的,因?yàn)閳F(tuán)隊(duì)的人都坐在一起工作,未必需要一個(gè)站到板子上的形式。現(xiàn)在有人把形式看得很重,本來例會(huì)是很簡(jiǎn)單的,五分鐘就開完了,但是吵起來了,開不完,因?yàn)橐话愣际情_早會(huì),吵完以后心情就不好,所以效率就下來了,這也是很正常,但是你不要想著漂亮的東西,我對(duì)漂亮的東西感覺都不實(shí)用。

記者:會(huì)不會(huì)因?yàn)椴怀尺@個(gè)架把錯(cuò)誤帶到真正開發(fā)的過程中造成成本的耗費(fèi)?

程顯峰:會(huì),所以我們要在實(shí)際的工作當(dāng)中發(fā)揮,其實(shí)例會(huì)也不是吵架的會(huì),還有很多的會(huì)可以發(fā)現(xiàn)這個(gè)問題,比如通過Review,可以有各種各樣的方法去發(fā)現(xiàn),不用拘泥于這種形式上的東西。其實(shí)最難改變的往往是那些小的習(xí)慣,比如他就愿意用這個(gè)手指頭去敲鍵盤,但是這可能會(huì)影響他的效率,他不愿意改。這種習(xí)慣的話改的阻力反而比較小,你讓他去開個(gè)例會(huì)他覺得耽誤時(shí)間,但是要讓他改這個(gè)的話他可能會(huì)改。你想他要敲多少?天天可能都要去敲,這種感覺可能是持續(xù)的。

記者:這種其實(shí)是屬于比較個(gè)性化的調(diào)整,每個(gè)人的使用習(xí)慣不一樣,有些人可能喜歡用這個(gè)手按著,有些人喜歡用那個(gè)手按著,你要主動(dòng)發(fā)現(xiàn)各個(gè)人在工作當(dāng)中需要調(diào)整的地方?

程顯峰:我一直認(rèn)為團(tuán)隊(duì)就是一個(gè)泯滅個(gè)性的過程,而且這一點(diǎn)我是非常講究的,包括編輯器的使用習(xí)慣和配色都有強(qiáng)烈要求,不像別的看上去那么自由,坐在哪里無所謂,但是你用電腦的方式必須是我規(guī)定好的。沒有一個(gè)共同基礎(chǔ)的團(tuán)隊(duì)根本就不叫團(tuán)隊(duì),總有一些東西是有共同基礎(chǔ)的,而且一些高效的團(tuán)隊(duì)很可能所有的東西都是共同基礎(chǔ),就像特種兵出去打仗,一個(gè)手勢(shì)就得去殺人,你還能再問這個(gè)是什么意思?就像我們用別人的電腦,或者在團(tuán)隊(duì)當(dāng)中用其他人的電腦,那些配色習(xí)慣都是一樣的,我們溝通交流起來就會(huì)非常容易。

現(xiàn)在新人如果不配色,直接就卡掉,新人培訓(xùn)就不合格,所以必須要有配色,包括快捷鍵的使用,不能人家給你一套代碼你還慢吞吞的,這會(huì)非常影響別人的心情。因?yàn)橛行┖鲇茙熖焯於既ズ鲇聘鞣N敏捷方法,但又不注重工程實(shí)踐,不注重觀察細(xì)節(jié),所以就做不到。他們不會(huì)注重這種實(shí)踐,比如咱倆是木匠,我天天使完的刀子隨手一扔,天天你給我收拾,雖然我是大牌,但是你也不愿意。你和我都收拾的很好,大家都用一個(gè)工具箱,這樣才能省下很多時(shí)間。我就覺得能省時(shí)間的話,就是在任何層面上都是節(jié)約和避免浪費(fèi)的表現(xiàn)。

記者:如能得到準(zhǔn)確的數(shù)據(jù)支持,敏捷實(shí)施能夠更好地開展下去,那么敏捷實(shí)踐下的程序員工作指標(biāo)將如何衡量?

我是覺得這個(gè)數(shù)據(jù)比較難以衡量的,因?yàn)楹饬坑幸饬x的必須是在某種固定的場(chǎng)景下。比如對(duì)于我這里來講,我可能會(huì)要求程序員開發(fā)一個(gè)標(biāo)準(zhǔn)模塊的實(shí)踐,但是對(duì)于別人來講,這個(gè)他可能不太注意。從實(shí)施的角度來講,我對(duì)怎么度量這個(gè)事情想的不是很多,我是比較相信主觀看法的,因?yàn)槲以趯?shí)施的過程中是跟他們?cè)谝黄鸸ぷ鳎恍枰媚切?shù)據(jù)來告訴我他們已經(jīng)進(jìn)步了,他們做外部咨詢的就比較注意這個(gè)事情,因?yàn)樗麄冃枰o那些老板寫報(bào)告,我不太需要這個(gè)東西,我對(duì)其它的產(chǎn)品負(fù)責(zé)就可以了。

#p#

敏捷開發(fā)的解決方案

記者:剛才提到你特別關(guān)注的除了工作規(guī)范和開發(fā)規(guī)范上的細(xì)節(jié),還有就是發(fā)布流程。

程顯峰:是這樣的,發(fā)布流程實(shí)際上就像互聯(lián)網(wǎng)團(tuán)隊(duì)的一個(gè)核心,就是有一個(gè)標(biāo)志,如果我拿到一個(gè)需求,***到發(fā)布有多長(zhǎng)時(shí)間,這是看整個(gè)團(tuán)隊(duì)效率的標(biāo)志性衡量,現(xiàn)在很多人都講敏捷,其實(shí)軟件度量是一門學(xué)問,究竟度量什么大家非常有爭(zhēng)議,但是我感覺沒有太多爭(zhēng)議。所有的度量尺度都用時(shí)間,因?yàn)闀r(shí)間是比較公正的,沒有差別的。比如你用代碼行數(shù),大家都說代碼行數(shù)不是一個(gè)標(biāo)準(zhǔn)尺度,你用C寫的五百行和用Java寫的五百行到底能不能衡量?但是你用時(shí)間的話,我這里一秒和在美國(guó)那里一秒是不是都一樣的?所以所有的東西都應(yīng)該用時(shí)間來衡量,很多東西都可以轉(zhuǎn)化成時(shí)間。比如上線效率就可以轉(zhuǎn)化成時(shí)間,拿到一個(gè)需求到***推上線就是一個(gè)標(biāo)準(zhǔn)的時(shí)間,你能在多短的時(shí)間之內(nèi)完成這個(gè)事情,這是你團(tuán)隊(duì)效率的一個(gè)提升。

還有一個(gè)非常重要的提升,就是當(dāng)你發(fā)現(xiàn)線上的東西有問題,多長(zhǎng)時(shí)間能回退到上一個(gè)版本?我們可以在秒級(jí)之內(nèi)回去,就是一分鐘之內(nèi)退回去。這是整個(gè)團(tuán)隊(duì)開發(fā)效率的一個(gè)顯著的管理,如果你做不到這一點(diǎn)的話,比如你已經(jīng)發(fā)現(xiàn)Bug了,第二天才能把這個(gè)更正,其中的時(shí)間全部都浪費(fèi)了,而且對(duì)于一個(gè)線上系統(tǒng)就是損失。我是講比較實(shí)在的東西,對(duì)于開發(fā)流暢要把控的特別嚴(yán),怎么才能把控上線的這些東西呢?就是要把上線的過程和開發(fā)的過程、測(cè)試的過程全都緊密地聯(lián)系在一起,這是一個(gè)整體,而不是把它們割裂。包括很多傳統(tǒng)企業(yè)這個(gè)方面做得也非常好,并不是敏捷獨(dú)有的。所有的東西我堅(jiān)信都不是敏捷獨(dú)有的,對(duì)于優(yōu)秀的工程實(shí)踐來講都是通用的,整個(gè)過程都是非常好、非常快。

記者:在敏捷方法流程中具體 實(shí)踐的有極限編程(XP)和Scrum等等,Scrum目前團(tuán)隊(duì)用的是比較多的,對(duì)于極限編程不知道您有沒有了解,據(jù)我了解很多團(tuán)隊(duì)用過Scrum的都不喜歡極限編程的實(shí)踐方式,能說說您的觀點(diǎn)嗎?

程顯峰:Scum只是一個(gè)簡(jiǎn)單的溝通框架,所以大家的接受程度會(huì)比較高,只是規(guī)定了你該在什么時(shí)候溝通,該在什么時(shí)候反思,早上起來應(yīng)該怎么跟大家交流,抽張撲克牌估算一下這個(gè)東西,Scum只是一個(gè)實(shí)施框架。極限編程是大量工程實(shí)踐的集合,比如極限編程里講TDD,它是具體讓你操作的,比如咱倆就在一塊,它是一種具體的工程實(shí)踐,就是這么做。但具體工程實(shí)踐大家反感就比較大了,因?yàn)楦郧暗淖龇ú灰粯樱覇栴}的關(guān)鍵在于實(shí)施這種東西最重要的是有一個(gè)人帶一個(gè)人去實(shí)施,兩個(gè)人都不會(huì)你就在那兒極限編程,這個(gè)太扯了,根本一點(diǎn)用都沒有,這種東西就是師傅帶徒弟。

比如結(jié)對(duì)編程,兩個(gè)人都沒結(jié)對(duì)過,你如何在那兒結(jié)對(duì)?比如本來是一個(gè)大鋸,你在這邊我在那邊,大家都沒使過這個(gè)鋸,咱倆就商量這個(gè)鋸到底怎么拿,所以時(shí)間長(zhǎng)了以后沒有效果,大家馬上就對(duì)這個(gè)不看好,然后就失敗了,他們不能帶來效果。一般在成熟的公司里面,他們是極限編程。就像結(jié)對(duì)這種最簡(jiǎn)單了,總共有兩種,一種是師傅帶徒弟,就是一個(gè)mentor,一個(gè)是徒弟在這里學(xué),mentor一開始會(huì)給你演示所有的編程,你就在后面看,mentor可能會(huì)給你提問,等過了一陣你來,mentor在后面觀察你、指導(dǎo)你,然后讓你干這些。這是帶新手非常有用的招,很快就能把新手培養(yǎng)出來。

另外一種就是兩個(gè)人的水平差不多,就是互相干活,一個(gè)人負(fù)責(zé)設(shè)計(jì),另一個(gè)人負(fù)責(zé)實(shí)現(xiàn),這是真正的工程模式。那個(gè)是教學(xué)模式,你就要求兩個(gè)人合作很長(zhǎng)時(shí)間,比如我說的設(shè)計(jì)他不懂,這就玩完了,沒法在一起。關(guān)于你說的極限編程,兩個(gè)人沒在一起合作過,或者兩個(gè)人都沒搭檔過,你還在電腦上干自己的,后面的人就特別沒意思,沒有互動(dòng)沒有交流,好多工程實(shí)踐都是這樣的,雖然跟你平時(shí)的編程方法不一樣導(dǎo)致的。Scrum跟大家多數(shù)的東西都不沖突,只是原來要開會(huì),現(xiàn)在也要開會(huì),現(xiàn)在規(guī)定好了什么時(shí)間開什么會(huì),只是輕度地改變了你的東西,所以實(shí)施起來非常容易,大家的認(rèn)可度也非常高,而且某種程度上見效又比較快。主要是因?yàn)樗馨l(fā)現(xiàn)一些具體的非技術(shù)上的問題,比如溝通的障礙、理解需求有問題,或者節(jié)拍上有問題,有的部門太快了有的部門太慢了,他們能發(fā)現(xiàn)這些問題。

記者:當(dāng)一個(gè)敏捷團(tuán)隊(duì)工作時(shí),有時(shí)透明化的流程會(huì)暴露出機(jī)構(gòu)中的問題,而這些問題又被稱為敏捷開發(fā)流程的過失。在整個(gè)行業(yè)中,您們開始遇到這種情況了嗎?敏捷開發(fā)會(huì)使行業(yè)的缺點(diǎn)逐步暴露,從而在各方面招致一些與敏捷開發(fā)對(duì)抗的反對(duì)意見嗎?

程顯峰:是這樣的,按照我的理解,我覺得暴露問題是個(gè)好事,暴露問題就說明這不是一套有效的方法。為什么豐田要做單件流的系統(tǒng)呢?因?yàn)槿魏我粋€(gè)環(huán)節(jié)出了問題,馬上就要停掉工作,他是可以以最快的速度發(fā)現(xiàn)問題、解決問題。為什么是一鍵而不是兩鍵呢?因?yàn)橐绘I可以發(fā)現(xiàn)的更及時(shí),要求生產(chǎn)線上的所有環(huán)節(jié)都要嚴(yán)格匹配,如果有稍微不匹配的地方馬上就會(huì)跳出來。如果它是一種發(fā)現(xiàn)問題的話,我覺得這種很好,不發(fā)現(xiàn)才是問題,發(fā)現(xiàn)問題不好嗎?我覺得非常好。當(dāng)然,你肯定會(huì)遭到反對(duì)意見,這個(gè)我覺得是實(shí)施的人應(yīng)該想清楚的事情,實(shí)施什么會(huì)遭到反對(duì)意見,或者不實(shí)施什么會(huì)遭到反對(duì)意見。

記者:在實(shí)施當(dāng)中有沒有過這樣的情況?

程顯峰:肯定會(huì)有,這個(gè)可以來自于各個(gè)方面,但是你要實(shí)施的話就要想清楚,比如老板什么時(shí)候會(huì)反對(duì)?不出效益的時(shí)候會(huì)反對(duì)。所以剛開始實(shí)施的時(shí)候不會(huì)去做那些影響步驟的問題,你要先見效,有很多方法可以先見效,但是很多人都不知道,你要實(shí)施那些先見效的,這對(duì)樹立信心、樹立威望都是非常有幫助的。你不能一開始就挽起袖子說要怎么干,沒有獲得之前這些事情是做不了的。我們團(tuán)隊(duì)剛開始還好,有些團(tuán)隊(duì)你要實(shí)施敏捷,或者實(shí)施某些具體工程實(shí)踐的話會(huì)有挑刺,這就跟你實(shí)施人員的素質(zhì)有關(guān)了,比如你能說服他就說服,要是說服不了他的話你也沒法實(shí)施。

有的人去實(shí)施版本控制,他就說要用分步式的傳統(tǒng)模式,有些人就說為什么要用分步的?那么你做一個(gè)版本宏觀動(dòng)作,我用這個(gè)做一個(gè),我們比一下。因?yàn)榧夹g(shù)這個(gè)東西很好衡量,大家一看就都明白,它不比了,就實(shí)施吧。你要有手段和信心去實(shí)施這個(gè)東西,而且你要知道對(duì)手是什么,如果你控制不住這個(gè)局面的話,以后實(shí)施的時(shí)候會(huì)有各種各樣的東西。比如實(shí)施測(cè)試,測(cè)試的好處你有沒有給團(tuán)隊(duì)看到?你自己都不會(huì)測(cè)試,也帶來不了什么好處,你就說服不了團(tuán)隊(duì)去做這種事情。

比如這里是有框架層面的東西,我特別愿意實(shí)施工程實(shí)踐,因?yàn)槲覍?duì)工程實(shí)踐的把控力特別強(qiáng),你要是反對(duì)我,我有很多理由去說服你,而且非常容易見效,你要很快地贏得工程技術(shù)人員的信任。反而在實(shí)施這個(gè)項(xiàng)目時(shí)大家會(huì)很嘀咕,覺得這個(gè)家伙到底寫沒寫過代碼?是不是只會(huì)這些?因?yàn)樗簧婕暗饺魏渭夹g(shù)細(xì)節(jié)。工程實(shí)踐就不一樣了,你說代碼這么寫不合適,那你就得說出不合適的道理,你要那么設(shè)計(jì)的話就是一種技術(shù)的對(duì)抗。其實(shí)遭到反對(duì)意見不光是敏捷遇到,干什么事情沒有反對(duì)意見?沒有反對(duì)意見的事大家早就做了,也不需要其他人。

記者:其實(shí)我想了解你們開發(fā)的反對(duì)意見。

程顯峰:在我看來大部分的意見其實(shí)是一種固有思維的反應(yīng),就是他們固有模式的一種反應(yīng),以及固有的工作習(xí)慣不愿意改變的反應(yīng)。問題是他沒有見到你要實(shí)施這種東西好處的前提下會(huì)跳出來反對(duì),你要做的事情是要證明這種東西會(huì)給他帶來利益。比如剛才說的那種,你用你的版本控制,我用我的版本控制,你自己本身有非常豐富的經(jīng)驗(yàn),你看到別人那么做就能很清楚地知道這樣做肯定是簡(jiǎn)單或者容易的時(shí)候就不會(huì)比了。要是知道自己一定會(huì)贏的話肯定會(huì)比,肯定是他實(shí)施的新東西對(duì)他來講是有好處的,但是他又不愿意付出改變的成本,又不愿意讓大家明確地見到這種好處,因?yàn)閳F(tuán)隊(duì)的人要是都知道這種好處你就沒法演下去了。所以很多事情要把它透明化,就是不存在那種邊邊角角的東西。

當(dāng)然,阻力是各種各樣的,***的方式就是把這些東西都透明化,這些程序員相對(duì)來說還是非常講道理的,因?yàn)楦鷻C(jī)器打交道多了,有一說一,思維方式還是比較客觀公正的,不會(huì)說這些東西明明是效率高的卻跟你說不行,一般不會(huì)有這種情形。

記者:目前國(guó)內(nèi)出現(xiàn)了很多敏捷教練的角色,敏捷的教練需要具備什么樣的素質(zhì)?

程顯峰:我個(gè)人覺得不管你具備什么樣的素質(zhì),你要能和開發(fā)團(tuán)隊(duì)打成一片,要能贏得開發(fā)團(tuán)隊(duì)的尊重才能做得下去,否則你天天講,人家不信你,其實(shí)你什么事都做不了,你可以不懂技術(shù),但是開發(fā)團(tuán)隊(duì)都很信你,這也OK,但是開發(fā)團(tuán)隊(duì)一般都有一種傾向,就是技術(shù)沙文主義,不懂技術(shù)的人是不能打交道的,你要是想真正在這個(gè)團(tuán)隊(duì)里混下去的話就得跟他們打交道。不同的團(tuán)隊(duì)當(dāng)然不一樣了,比如華為有敏捷實(shí)施的紅頭文件。

記者:這種規(guī)范開發(fā)人員的工作習(xí)慣,優(yōu)化他們的習(xí)慣,教他們一些工程方法,這跟CTO的職能有什么區(qū)別?技術(shù)部門的Leader職能跟它有什么區(qū)別?

程顯峰:比如丹峰就負(fù)責(zé)技術(shù)架構(gòu)設(shè)計(jì)運(yùn)營(yíng),我就負(fù)責(zé)培訓(xùn),發(fā)現(xiàn)團(tuán)隊(duì)的問題并整合這些看上去非常瑣碎的事情,還有一些其它培訓(xùn)方面的事情,他們是思變,是想著怎么去打這個(gè)仗,我是像個(gè)教官一樣想著怎么提高他們的戰(zhàn)斗力。他們只想怎么用這些人,然后打哪兒,這是他們要管的事情,我是教他們?cè)趺词褂梦淦鳎屗麄冇?xùn)練有素,學(xué)會(huì)配合這些常規(guī)性的事情。

#p#

敏捷與管理的發(fā)展現(xiàn)狀

記者:對(duì)于未來幾年敏捷開發(fā)的發(fā)展,您希望看到哪些新方向?有何建議?

程顯峰:發(fā)展方面的問題我還真不知道,還是覺得有點(diǎn)落后,這個(gè)還需要積累吧。很長(zhǎng)時(shí)間才會(huì)有一些改進(jìn),國(guó)內(nèi)技術(shù)上落后的已經(jīng)比較少了,反而是管理上落后的非常非常多。比如Facebook的崛起,大家都看到它用的是什么技術(shù),很少有人看到Facebook在壯大的時(shí)候立馬就從e-Bay挖了一個(gè)人給他們做工程方面所有的事情,他們從很早期的時(shí)候就從e-Bay挖了一個(gè)高管去做所有工程化的東西,很早就做了,非常有遠(yuǎn)見,這些事情很少有人知道。Facebook每年開了什么會(huì),開發(fā)了什么框架他都知道,到了一定程度你就會(huì)發(fā)現(xiàn)它不是幾個(gè)毛頭小子一個(gè)Idea就可以發(fā)展起來的。e-Bay大概已經(jīng)有二十多年,其實(shí)是經(jīng)驗(yàn)非常豐富的人去做這個(gè)事情,并不是一個(gè)Idea就能行,現(xiàn)在好像不太注重這個(gè)方面。

其實(shí)在美國(guó)都是由非常資深的人去做工程化,而且這個(gè)市場(chǎng)還是比較穩(wěn)定,真正去做這些東西的人還有一個(gè)相對(duì)比較穩(wěn)定的流動(dòng)環(huán)境,不會(huì)是從哪里突然冒出一個(gè)人就能做這些事情,或者是憑一個(gè)Idea就可以做。

記者:微軟就有自己的工程研究院和微軟研究院,也是不一樣的。

程顯峰:其實(shí)從開發(fā)的各種東西來說,類似微軟、蘋果、谷歌這些大公司,他們?cè)诠こ坦芾砩隙加泻芏喾浅S薪?jīng)驗(yàn)的人,但是這些人在國(guó)內(nèi)往往不講這些。比如原來谷歌測(cè)試的負(fù)責(zé)人段念就是講測(cè)試方面的稍微多一些,那個(gè)屬于工程化的一部分,你就可以看到一些,多半也是做類似的工作,實(shí)際上他是一個(gè)非常有經(jīng)驗(yàn)的做工程化的人。

記者:主要還是國(guó)內(nèi)管理上的問題。

程顯峰:對(duì),軟件研發(fā)的管理落后的不是一點(diǎn)半點(diǎn),國(guó)內(nèi)那種落后的方式跟美國(guó)六七十年代有一拼。其實(shí)現(xiàn)實(shí)就是這樣,尤其是互聯(lián)網(wǎng)公司還在覺得自己是什么高科技,其實(shí)工程管理的水平差得一塌糊涂,但是不是壟斷高額利潤(rùn),如果是從一個(gè)軟件公司的角度去衡量的話,那個(gè)研究體系簡(jiǎn)直是一塌糊涂。

記者:其實(shí)從工程化的角度也會(huì)影響本身推出產(chǎn)品的效率或質(zhì)量。

程顯峰:其實(shí)工程化是一種內(nèi)功,為什么IBM誰打他都不太怕??jī)?nèi)功非常深厚體現(xiàn)在幾個(gè)方面。

記者:IBM也比較開源。

程顯峰:它的內(nèi)功深厚也是有各種方面,首先就是知識(shí)產(chǎn)權(quán)方面保護(hù)得特別好,專利大戶向來都是***,第二就是在基礎(chǔ)研究各個(gè)方面,工程化的思想,好多軟件工程的思想,軟件工程的方法,他們也很注重敏捷的一些東西。這就衍生了一個(gè)問題,為什么抄IBM的人都很慘、都死掉了呢?因?yàn)閮?nèi)功不夠。IBM的管理方法非常重型,輕型的公司想抄都死掉了,為什么?因?yàn)槟愀緹o法調(diào)動(dòng)那么多的資源駕馭那么重型的方法,你的內(nèi)功不行,就是這樣。IBM原來那個(gè)case版本控制系統(tǒng)使用起來多負(fù)責(zé)啊,***用的大部分都是電信系統(tǒng),就是跟它有相同內(nèi)功級(jí)別的人。他的客戶都是金融、能源方面的,要是小公司用IBM做咨詢,即便是你付得起錢也實(shí)施不下來。

記者:實(shí)施下來也達(dá)不到那種業(yè)務(wù)規(guī)模。

程顯峰:我是覺得軟件業(yè)的發(fā)展還是應(yīng)該從基礎(chǔ)做起,實(shí)實(shí)在在地把軟件做好,不要過分地強(qiáng)調(diào)那些概念,好多人都是想解決別人的問題,每年實(shí)施的過程當(dāng)中尤其要注意,作為一個(gè)團(tuán)隊(duì)的leader,你最清楚的是團(tuán)隊(duì)自身的問題,你也最容易解決團(tuán)隊(duì)自身的問題,要是每天都解決自身的問題的話一定是個(gè)特別好的教練,根本不需要去搭理別人,但可以借鑒別人的方法,看別人是怎么借鑒類似的問題。一定要著眼解決自身的問題,因?yàn)樗麄兘鉀Q的都是別人的問題,比如看到別人的溝通方法就覺得自己的團(tuán)隊(duì)溝通有問題,實(shí)際上你就是三個(gè)人,你有什么溝通問題?根本就不存在。

記者:聽你這樣說,敏捷并不是一個(gè)特別有別于傳統(tǒng)開發(fā)流程、軟件開發(fā)工程的方法,只是在里面加入了一些管理的理念,能夠把工程化和管理結(jié)合起來,可能就是一種敏捷。

程顯峰:軟件行業(yè)的管理方法主要來自于兩個(gè)途徑,六七十年代的時(shí)候大體上是借鑒建筑行業(yè)的系統(tǒng)化管理方法,主要是需求管理、建筑管理方面的內(nèi)容,另一次改進(jìn)就是在九十年代后期,由于豐田在制造業(yè)上的改進(jìn),就是精益方法,主要的改造就是發(fā)現(xiàn)問題及時(shí)生產(chǎn)及時(shí)交付,所有迭代周期這方面的東西。軟件行業(yè)主要的來源就是制造業(yè),實(shí)際上他們也不能太超越這兩種。我就覺得現(xiàn)在老是想標(biāo)榜自己跟別人不同,反而是把自己給害了,那些方法實(shí)際上會(huì)在那些產(chǎn)業(yè)里實(shí)施得更好。

你看《精益軟件開發(fā)藝術(shù)》那本書,寫得特別好,那是波音的一個(gè)家伙寫的,因?yàn)椴ㄒ粼谥圃鞓I(yè)生產(chǎn)的時(shí)候用了這種方法,他在波音的軟件部門,借鑒了波音的生產(chǎn),然后再去用精益的思想改造,實(shí)際上都是借鑒其它傳統(tǒng)行業(yè)的。傳統(tǒng)軟件的方法主要是建筑業(yè)的,建筑業(yè)和制造業(yè)都是比較成熟的,他們也會(huì)互相借鑒,借鑒***的結(jié)果其實(shí)是發(fā)現(xiàn)方法和方法之間的差別沒有想像的那么大,可能只是流派之分而已。比如大家都注重的版本控制、質(zhì)量管理,整個(gè)周期管理這些東西,哪個(gè)沒有呢?而且具體的操作方法大家都可以借鑒,你敏捷比較推薦的版本控制,實(shí)施到傳統(tǒng)軟件當(dāng)中可不可以?也可以的。實(shí)際上并沒有那么不同。我覺得這是一種商業(yè)策略,給劃分了非黑即白,不是那樣子的。其實(shí)大家真正在玩的時(shí)候就會(huì)覺得他們是可以有很多互通的,大家也可以互相借鑒,而且兩種方法都在成長(zhǎng),這就跟武俠小說里的江湖差不多,大家都是為了各自的勢(shì)力劃分出來,他們就是邪教,我們就是明門正派。

其實(shí)那兩個(gè)人討論的就是一個(gè)風(fēng)花雪月的問題,完全沒有必要分什么派別,大家討論的就是一個(gè)質(zhì)量控制的問題,敏捷也可以用,傳統(tǒng)也可以用,根本沒有必要說這個(gè)方法就是屬于誰的,但是這種實(shí)踐的東西多起來之后就會(huì)發(fā)現(xiàn)越來越多的共同之處。

記者:***就會(huì)發(fā)現(xiàn)自己在實(shí)踐的過程中總結(jié)一套結(jié)合了傳統(tǒng)和敏捷的方法。

程顯峰:肯定的,我覺得比較負(fù)責(zé)、比較講究實(shí)際的人都會(huì)結(jié)合自己這塊東西去實(shí)施的,敏捷方面有個(gè)非常重要的東西,要是按照書本上實(shí)施的話肯定不是敏捷,最重要的就是裁減,你要按照自己的東西去裁減,包括傳統(tǒng)的軟件研發(fā)人員那一套也有裁減,只是很多人都不知道。傳統(tǒng)的軟件研發(fā)雖然很重,但是會(huì)按照自己的需求去裁減,要是完全按照那種東西就會(huì)死得很慘,所以你要實(shí)施一套流程的時(shí)候***件事情就是裁減,要把它裁成合適自己那塊,包括電信企業(yè)里面實(shí)施的東西都是經(jīng)過裁減的。

原來我的一個(gè)同事他們?cè)陧?xiàng)目實(shí)施的時(shí)候首先就是要看標(biāo)準(zhǔn)的研發(fā)流程,弄下來一份之后再裁減,就說這個(gè)我們不要了,那個(gè)我們不要了,要是按照標(biāo)準(zhǔn)化他們也受不了,肯定不行,包括傳統(tǒng)的實(shí)施。比如你就在一個(gè)豬圈,非得按照摩天大樓的質(zhì)空標(biāo)準(zhǔn)去做,肯定不行,雖然都是建筑,但是不符合實(shí)際,所以最重要的就是符合實(shí)際產(chǎn)生效果,拿給老板也好說好看。

記者:那種大型的軟件,比較像傳統(tǒng)的,他們之間也有軟件開發(fā)的部分嗎?

程顯峰:肯定會(huì)的,工程實(shí)踐現(xiàn)在已經(jīng)借鑒了很多,包括版本控制一般都是集中式的,現(xiàn)在大家對(duì)分布式的都會(huì)比較傾向,甚至是說發(fā)布流程。這些東西無所謂誰都可以用,比如傳統(tǒng)上的需求管理軟件、Bug跟蹤系統(tǒng),敏捷也在用。敏捷也有這些東西,你也需要跟蹤Bug,你也需要有針對(duì)性地上線打包。

記者:所以只要技術(shù)能力強(qiáng),跟敏捷沒有多大關(guān)系,都是在創(chuàng)業(yè)團(tuán)隊(duì)里用敏捷的比較多。

程顯峰:是這樣的,大家為什么要用敏捷?很多都是創(chuàng)業(yè)小團(tuán)隊(duì)偷懶的行為,因?yàn)樗麑?shí)施不了那種重型的,也沒有實(shí)施的經(jīng)驗(yàn)。其實(shí)在國(guó)內(nèi)實(shí)施規(guī)范化的還是相對(duì)較少,他們覺得這個(gè)東西能夠玩轉(zhuǎn)才這么做的。而不是真正考察過,做了一個(gè)比較公正的技術(shù)選型,比如傳統(tǒng)上我們會(huì)得93分,用了敏捷會(huì)得94分,根本沒有數(shù)據(jù),就是自己想,那種我們能不能玩?玩不了,這種我們能不能玩?差不多,實(shí)際上差得挺多的。因?yàn)槊艚輳?qiáng)調(diào)的是不同,不同的東西又很少,所以大家就會(huì)覺得很容易。其實(shí)國(guó)內(nèi)真正好的測(cè)試團(tuán)隊(duì)簡(jiǎn)直鳳毛麟角,能玩得起測(cè)試的鳳毛麟角,能把發(fā)布上線流程做好的也很少,這兩個(gè)都做好了,我覺得你是敏捷還是傳統(tǒng)都已經(jīng)不重要了,這些對(duì)你才是實(shí)實(shí)在在的東西,對(duì)于質(zhì)量、對(duì)于產(chǎn)品都是非常有益處的東西,至于長(zhǎng)什么樣子已經(jīng)不重要了,關(guān)鍵是對(duì)你是否有好處。

大家現(xiàn)在都是有點(diǎn)炒概念,不講實(shí)惠,我是比較講實(shí)惠的,這些東西好不好我很快就能知道,所以我要的是實(shí)惠。我向老板匯報(bào)的時(shí)候也是這樣,老板不看這些概念,他也不懂,創(chuàng)業(yè)的人好多是Idea出身,炒個(gè)概念會(huì)很好看,也會(huì)很好賣,但是大家現(xiàn)在都知道了,也不見得好賣。

記者:你們現(xiàn)在關(guān)注團(tuán)隊(duì)的開發(fā),是從哪個(gè)方面去看這個(gè)問題?

程顯峰:我個(gè)人比較關(guān)注的就是發(fā)現(xiàn)問題的方法,比如傳統(tǒng)的東西,包括制造業(yè)的那些管理方法我也都會(huì)看一些,比如《約束法》、《關(guān)鍵目標(biāo)》的那套東西,主要是強(qiáng)調(diào)管理的,各種各樣的管理思想都能啟發(fā)你,實(shí)際上并不需要看特別針對(duì)軟件行業(yè)的東西,要看軟件行業(yè)里的東西我一般比較愿意看失敗的案例,就是類似《***軟件》那種常見的錯(cuò)誤,比如程序員不善于溝通,然后說不是自己錯(cuò)誤。人家在七十年代的時(shí)候已經(jīng)把這些總結(jié)得特別好了,你會(huì)發(fā)現(xiàn)過了四十年還是那些問題,你就看那些老的書就會(huì)發(fā)現(xiàn)這些問題已經(jīng)存在相當(dāng)長(zhǎng)的時(shí)間了,完全沒有什么新鮮感。里面刻畫的東西都是一樣的,具體的問題還是很一樣的,可能百分之九十的問題都是書上寫過的,不會(huì)有太大的差異,只是人不一樣、環(huán)境也不一樣,問題還是差不多的。比如注重質(zhì)量、需求發(fā)散,這些問題都是非常常見的。

記者:看來還是比較大塊的問題,而且也不是軟件行業(yè)專有的,各個(gè)行業(yè)其實(shí)都有這樣的問題。

程顯峰:但是你看軟件行業(yè)的大師以前寫過這些話就會(huì)覺得挺有意思的,當(dāng)然,你還可以借鑒一些制造業(yè)的,我覺得都會(huì)幫助很大。

記者:還有管理方面的,只要是這個(gè)行業(yè)的都適用。

程顯峰:其實(shí)這個(gè)點(diǎn)應(yīng)該也差不多,我看騰訊的榮昊也做軟件管理,他也是什么管理方面的書都看了。如果光看這個(gè)方面的話,因?yàn)槎际切枰ハ嘟梃b的,要是想做得比較好的話還是需要看很多東西。確實(shí)有些東西大家都太強(qiáng)調(diào)了,軟件行業(yè)的人都特別喜歡強(qiáng)調(diào)個(gè)性,其實(shí)管理的方法通用性還是比較高的。你看德魯克寫的那些書,每一條都是挺實(shí)在的,尤其是項(xiàng)目場(chǎng)景非常好。

 

責(zé)任編輯:林師授 來源: 51CTO
相關(guān)推薦

2013-03-28 16:31:20

開發(fā)技術(shù)周刊

2013-04-15 01:37:00

敏捷開發(fā)敏捷管理敏捷實(shí)踐

2013-03-17 16:50:10

NFC日本

2014-09-18 09:06:06

SDN

2017-12-11 18:13:46

智能轉(zhuǎn)型數(shù)字化

2014-10-14 10:16:54

2013-04-27 15:22:26

大數(shù)據(jù)全球技術(shù)峰會(huì)

2022-01-13 10:02:46

PHPWeb語言

2021-09-27 21:24:39

人工智能AI

2022-08-10 09:11:23

開源開發(fā)者開源項(xiàng)目

2009-11-05 16:14:05

ADSL技術(shù)

2020-03-09 15:18:34

人工智能AI芯片前景

2011-12-07 20:48:12

移動(dòng)支付

2010-07-27 16:57:19

IPTV三網(wǎng)融合

2014-12-08 10:42:30

程顯峰APM

2009-11-03 09:30:19

NGN接入技術(shù)

2016-10-17 14:35:37

大數(shù)據(jù)產(chǎn)業(yè)數(shù)據(jù)數(shù)據(jù)發(fā)展

2015-03-12 15:52:03

2019-05-20 15:12:01

云計(jì)算商業(yè)智能AWS

2009-10-19 12:42:18

綜合布線市場(chǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美一级黄色免费看 | 懂色av色香蕉一区二区蜜桃 | 日韩播放 | 日本黄色免费视频 | 精品久久亚洲 | 亚洲国产成人av好男人在线观看 | 亚洲天堂中文字幕 | 羞羞色视频 | 九九视频在线观看 | 国产精品色 | 国产小视频精品 | 日韩av最新网址 | 丝袜美腿av | 亚洲久草视频 | 精品1区2区 | 天天干com| 99精品久久久久久久 | 精品国偷自产在线 | 国产精品国产精品国产专区不片 | 亚洲三区在线观看 | 天天干精品 | 99综合网 | av资源中文在线天堂 | 天天天操操操 | 国产欧美日韩精品一区二区三区 | www.国产精品| 日本福利一区 | 亚洲精品久久久久中文字幕欢迎你 | 色99视频| a精品视频| 久久精品中文字幕 | 亚洲区视频 | 三级成人片 | 久久久久久久综合 | 精品美女久久久久久免费 | com.色.www在线观看 | 日本久久综合 | 午夜丰满少妇一级毛片 | 韩国av一区二区 | 欧美在线一区二区三区 | 久久se精品一区精品二区 |