精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

專訪陳勇:深入解讀敏捷在團(tuán)隊(duì)中的實(shí)踐

原創(chuàng)
開發(fā) 項(xiàng)目管理
有人說(shuō),實(shí)踐敏捷的根本不在于敏捷本身,而在于理解敏捷背后擁抱變化的基因。確實(shí),使用敏捷,那么你就應(yīng)該知道為何敏捷。如今,國(guó)內(nèi)很多敏捷團(tuán)隊(duì)沒有真正的了解敏捷的精髓,也說(shuō)明了為什么在使用敏捷的過(guò)程中并沒有真正的“敏捷”。所以,不但不能真正的解決傳統(tǒng)開發(fā)的一些問(wèn)題,反而新增加了更多的問(wèn)題。

有人說(shuō),實(shí)踐敏捷的根本不在于敏捷本身,而在于理解敏捷背后擁抱變化的基因。確實(shí),使用敏捷,那么你就應(yīng)該知道為何敏捷。如今,國(guó)內(nèi)很多敏捷團(tuán)隊(duì)沒有真正的了解敏捷的精髓,也說(shuō)明了為什么在使用敏捷的過(guò)程中并沒有真正的“敏捷”。所以,不但不能真正的解決傳統(tǒng)開發(fā)的一些問(wèn)題,反而新增加了更多的問(wèn)題。因此,51CTO記者采訪了具有17年軟件研發(fā)、管理咨詢經(jīng)驗(yàn),擅長(zhǎng)在實(shí)際環(huán)境中應(yīng)用敏捷開發(fā)實(shí)踐的專家陳勇老師,為網(wǎng)友們解讀敏捷在開發(fā)實(shí)踐及管理中的一些問(wèn)題。

[[70475]]

陳勇,17年軟件研發(fā)、管理及咨詢經(jīng)驗(yàn),擅長(zhǎng)在實(shí)際環(huán)境中應(yīng)用敏捷開發(fā)實(shí)踐。具有豐富的工程技術(shù)與項(xiàng)目管理實(shí)踐經(jīng)驗(yàn),從其程序員、項(xiàng)目經(jīng)理、CMMI/FPA功能點(diǎn)估算/敏捷咨詢師、事業(yè)部總監(jiān)、副總經(jīng)理等各種技術(shù)與管理崗位獲得的一手經(jīng)驗(yàn),令其可以站在企業(yè)管理者的角度,以更廣的視角來(lái)理解敏捷開發(fā),并能配合和推動(dòng)非研發(fā)部門協(xié)作推廣敏捷。

工作經(jīng)歷:

  • 曾以技術(shù)骨干和項(xiàng)目經(jīng)理等身份,組織和承擔(dān)開發(fā)了國(guó)慶50周年直升機(jī)編隊(duì)指揮系統(tǒng)、空軍一基地GPS數(shù)據(jù)源系統(tǒng)、清華同方CCTV數(shù)字電視條件接收系統(tǒng)、航空材料研究院無(wú)損檢測(cè)系統(tǒng)等項(xiàng)目,并在其中某些項(xiàng)目中實(shí)踐敏捷。
  • 曾在清華同方、普天集團(tuán)、亞信科技等企業(yè)擔(dān)任EPG骨干、組長(zhǎng);曾在斯福泰克、DNV ITGS等機(jī)構(gòu)擔(dān)任CMMI/敏捷咨詢師。
  • 曾在中國(guó)系統(tǒng)與軟件改進(jìn)年會(huì) 、中國(guó)軟件技術(shù)大會(huì)、敏捷中國(guó)大會(huì)、MPD等國(guó)際國(guó)內(nèi)會(huì)議從事敏捷演講、翻譯或主持工作。
  • 在任泰克賽爾軟件公司中國(guó)部門的咨詢總監(jiān)、ALM事業(yè)部總監(jiān)、副總經(jīng)理期間,主管敏捷研發(fā)管理工具的市場(chǎng)、銷售、支持與咨詢活動(dòng),在盛大、金山、騰訊、漢王科技等知名企業(yè)深入推動(dòng)其工具應(yīng)用與實(shí)施活動(dòng)。
  • 當(dāng)前正在作為產(chǎn)品經(jīng)理、架構(gòu)師帶領(lǐng)一個(gè)小型團(tuán)隊(duì),從事“火星人敏捷開發(fā)在線服務(wù)”的研發(fā)工作。很多課程與咨詢中的最佳實(shí)踐,均來(lái)自于其之前及當(dāng)前參與的實(shí)際項(xiàng)目的一線實(shí)踐。

以下是采訪內(nèi)容:


記者: 在使用敏捷當(dāng)中,很多人都是看中了它的成本控制,能夠降低在項(xiàng)目開發(fā)中的浪費(fèi),但是往往適得其反,不但沒有降低,反而增加了開發(fā)成本,那么在成本控制這塊您怎么去理解?

陳勇:看看清楚敏捷開發(fā)對(duì)成本的控制,先要看之前的方法有何問(wèn)題,比如瀑布模型。

對(duì)瀑布模型而言,有兩個(gè)地方控制不好成本:

一,瀑布模型中,如果項(xiàng)目簽的需求太多而價(jià)格太低,往往在中后期會(huì)通過(guò)工時(shí)統(tǒng)計(jì)等發(fā)現(xiàn)入不敷出,但由于普通模型這時(shí)候正處在編碼末期或測(cè)試前期,因此很難就此停下,或刪除某些次要功能繼續(xù)開發(fā)(因?yàn)樵谕砥趧h除功能往往成本很高)。

對(duì)這個(gè)問(wèn)題,敏捷開發(fā)解決得比較不錯(cuò),也很容易實(shí)施。漸進(jìn)式交付使得“隨時(shí)”停止開發(fā)并進(jìn)行發(fā)布變得可能。

但要注意如果優(yōu)先級(jí)排序不當(dāng),也可能會(huì)面臨“重要的功能還沒有開發(fā),次要功能卻開發(fā)了不少”的尷尬境地。

另一個(gè)問(wèn)題是提前交付可以換回一些款項(xiàng),但并不能徹底解決成本超支的問(wèn)題。這時(shí)候應(yīng)該配合類似功能點(diǎn)分析這類的方法來(lái)解決。也就是早期用功能點(diǎn)報(bào)價(jià);中間如果通過(guò)計(jì)數(shù)發(fā)現(xiàn)由于需求蔓延、變更等原因?qū)е滦枨蟮目偭可仙?,那么乙方有?quán)要求追加款項(xiàng),或刪除某些次要功能。這種聽起來(lái)不可思議的想法,在某些國(guó)家如芬蘭、澳大利亞都是很普遍的。可能我們會(huì)抱怨說(shuō)甲方不贊同或不理解這種過(guò)于“偏技術(shù)”方法,但如果連乙方都不贊同不理解,就不能單方面責(zé)怪甲方了。2012年底中國(guó)剛剛推出了基于功能點(diǎn)的軟件成本估算相關(guān)的國(guó)標(biāo),試點(diǎn)領(lǐng)域是政府軟件開發(fā)。雖然現(xiàn)在還沒有對(duì)階段性付款提出方案,可以已經(jīng)可以看出未來(lái)的大趨勢(shì)一定如此。

二,瀑布模型中,如果需求變更比較頻繁,初期付出眾多工作量的需求、設(shè)計(jì)常常被不斷返工,進(jìn)而又引發(fā)編碼返工,造成成本上升。

敏捷開發(fā)解決這個(gè)問(wèn)題的方法很簡(jiǎn)單:減少早期對(duì)需求、設(shè)計(jì)的投入,盡量早讓產(chǎn)品“可運(yùn)行”以便讓客戶提出反饋意見。

不過(guò)這個(gè)方法極其容易被“用過(guò)頭”,比如有些團(tuán)隊(duì)可能放棄了必要的需求和設(shè)計(jì),導(dǎo)致由于蠻力編碼造成編碼混亂而不斷返工,整個(gè)產(chǎn)品則像一個(gè)沒有骨架的沙雕一樣難以

做大。

正確的方法是:在漸進(jìn)式開發(fā)、漸進(jìn)式交付的同時(shí),做漸進(jìn)式需求和設(shè)計(jì)。我們要避免的是需求和設(shè)計(jì)返工,而不是需求和設(shè)計(jì)活動(dòng)本身。因此對(duì)大中型產(chǎn)品而言,應(yīng)該保證每個(gè)階段的編碼之前都有簡(jiǎn)單設(shè)計(jì)用以保證編碼的正確性;而被客戶確認(rèn)后的功能至少要“后補(bǔ)”需求和設(shè)計(jì),以備未來(lái)回溯。這樣既避免蠻力編碼返工,又能避免推翻設(shè)計(jì)的返工。

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

陳勇:這是培訓(xùn)和咨詢過(guò)程中最常見的一個(gè)問(wèn)題,也是最難回答的。有幾個(gè)步驟可以幫助找出合理有效并適合團(tuán)隊(duì)的方法。

一、對(duì)有效性進(jìn)行定義和評(píng)價(jià)

完全量化管理可能做不到,但“半年后,我們希望能每月發(fā)一個(gè)可交付版本”或“把總體測(cè)試時(shí)間降低一半”這類明確個(gè)別定義還是可以找到的。當(dāng)然不同團(tuán)隊(duì)首批目標(biāo)不同,首批要實(shí)踐的內(nèi)容也不同。但有了目標(biāo),就可以防止團(tuán)隊(duì)借口“項(xiàng)目特色”,言敏捷之名行混沌之事。

二、階段性檢查和推進(jìn)目標(biāo)

前幾個(gè)迭代往往離目標(biāo)很遠(yuǎn),很容易忙了半天才發(fā)現(xiàn)走偏了。這時(shí)候可以設(shè)置某些臨時(shí)目標(biāo)來(lái)作為“路標(biāo)”。比如,假設(shè)某團(tuán)隊(duì)經(jīng)常處于“很多活都在干,但沒有一個(gè)干完了,因此也不能交付”的狀態(tài),而幾個(gè)月后希望做到“當(dāng)月計(jì)劃功能的交付比例達(dá)到80%”,那么可能需要這樣幾個(gè)路標(biāo)(實(shí)際工作不只如此):

第一個(gè)月:實(shí)現(xiàn)任務(wù)的看板管理

第二個(gè)月:實(shí)現(xiàn)基于故事的看板管理

第三個(gè)月:當(dāng)月計(jì)劃功能交付比例達(dá)到50%

第四個(gè)月:控制在制品數(shù)量在2N-1以下(N是團(tuán)隊(duì)人數(shù),此目標(biāo)即“同時(shí)開工的工作量

不超過(guò)2N-1個(gè)”)

……

第N個(gè)月:當(dāng)月計(jì)劃功能交付比例達(dá)到80%

在這個(gè)例子當(dāng)中可以看到,如果一上來(lái)就直接設(shè)定“當(dāng)月計(jì)劃功能交付比例達(dá)到50%”之類的度量數(shù)據(jù),可能不但很難達(dá)到,甚至可能由于沒有看板管理而不能度量。

三、同時(shí)選擇超過(guò)一個(gè)團(tuán)隊(duì)進(jìn)行試點(diǎn)

敏捷開發(fā)的試點(diǎn)過(guò)程千變?nèi)f化,如果只找一個(gè)團(tuán)隊(duì)試點(diǎn)會(huì)有問(wèn)題。如果失敗了,大家會(huì)以為敏捷不行;如果成功了,大家會(huì)照搬經(jīng)驗(yàn)。

所以最好的方法是讓若干個(gè)團(tuán)隊(duì)各自基于自己的目標(biāo)進(jìn)行試點(diǎn),如果其中有多個(gè)取得成功,大家會(huì)意識(shí)到原來(lái)成功的方法有很多種,就能靈活應(yīng)用在自己團(tuán)隊(duì)中進(jìn)行實(shí)驗(yàn)和推廣了。

四、需要對(duì)“商業(yè)目標(biāo)”與“一線實(shí)踐”有很深入的理解

做到這一點(diǎn)非常困難,然而偏偏這一點(diǎn)又是成敗的關(guān)鍵。

經(jīng)常見到很多團(tuán)隊(duì)或成員一擁而上開始試點(diǎn)某個(gè)局部實(shí)踐,有時(shí)候是Scrum中的撲克牌估算或每日立會(huì),有時(shí)候是XP中的自動(dòng)化測(cè)試或結(jié)對(duì)編程。但做了一段時(shí)間,由于沒有目標(biāo),尤其是沒有那些讓團(tuán)隊(duì)聽了之后就不會(huì)放棄的目標(biāo),很快就堅(jiān)持不下去了。

要培養(yǎng)商業(yè)目標(biāo)意識(shí)很難,甚至很多從業(yè)之前沒有做過(guò)高級(jí)管理職位的敏捷培訓(xùn)師或咨詢師都不具備,更不用說(shuō)普通一線工作人員了。一種做法是讓高層比如部門經(jīng)理來(lái)宏觀協(xié)調(diào)敏捷的實(shí)施,而不要完全自下而上。高層經(jīng)理的職業(yè)特性保證了他們會(huì)潛移默化地關(guān)心最終實(shí)施的效果勝過(guò)實(shí)踐本身。說(shuō)起來(lái),“效果勝過(guò)實(shí)踐”本身就是敏捷宣言中“可工作軟件勝過(guò)繁雜文檔”的現(xiàn)實(shí)體現(xiàn)。

五、要注意敏捷開發(fā)的生態(tài)系統(tǒng)問(wèn)題

剛才提到嘗試個(gè)別實(shí)踐經(jīng)常失敗,一個(gè)原因是因?yàn)槿鄙倌繕?biāo)只關(guān)注實(shí)踐,另外一個(gè)則是忽略了與此實(shí)踐相關(guān)的生態(tài)系統(tǒng)。

比如每日立會(huì),看起來(lái)非常簡(jiǎn)單,但實(shí)踐起來(lái)困難重重。比如為什么我要告訴別人我的進(jìn)度?為什么我要告訴別人我遇到的困難?誰(shuí)因?yàn)槭裁丛驎?huì)提供幫助?……這些潛在的問(wèn)題,都需要相應(yīng)的團(tuán)隊(duì)模型來(lái)解決。敏捷開發(fā)生態(tài)系統(tǒng)就是用來(lái)描述各種活動(dòng)之間的關(guān)系的,這個(gè)在我的“敏捷開發(fā)生態(tài)系統(tǒng)”系列博客中有較為詳細(xì)的描述。

#p#

記者:敏捷過(guò)程中有一個(gè)我認(rèn)為最重要的部分是需求拆分,您能談?wù)勅绾芜M(jìn)行合理的拆分嗎?

陳勇:需求拆分是個(gè)業(yè)界難題,在敏捷開發(fā)領(lǐng)域是如此。盡管每個(gè)敏捷流派對(duì)這個(gè)問(wèn)題說(shuō)起來(lái)都頭頭是道,但是要說(shuō)誰(shuí)有一個(gè)過(guò)目不忘的好方法,還真沒有。

真正解決需求拆分問(wèn)題的關(guān)鍵有兩個(gè):拆分后的顆粒度如何控制,拆分后的需求結(jié)構(gòu)如何表達(dá)。前者可能問(wèn)得比較多,因?yàn)槎鄶?shù)程序員都要關(guān)心;后者只有產(chǎn)品經(jīng)理會(huì)關(guān)心,所以顯得不太突出,但對(duì)大產(chǎn)品和持續(xù)開發(fā)的產(chǎn)品而言則是個(gè)關(guān)鍵問(wèn)題。

一、顆粒度問(wèn)題

這個(gè)問(wèn)題在敏捷框架下基本無(wú)解。

但在功能點(diǎn)分析(Function Point Analysis)中是一個(gè)基本概念。FPA通過(guò)對(duì)軟件中的“業(yè)務(wù)數(shù)據(jù)”以及對(duì)其進(jìn)行的“業(yè)務(wù)操作”為基本單元建立了顆粒度的概念,進(jìn)而建立了規(guī)模的概念。這些概念的應(yīng)用成熟度、推廣程度、數(shù)據(jù)積累量(公開的在10000個(gè)左右,在咨詢公司手中但非公開的在50000個(gè)左右,實(shí)際使用量不可估量)都遠(yuǎn)遠(yuǎn)超過(guò)敏捷開發(fā)或其他體系提出的方法,包括“故事點(diǎn)”。而且“業(yè)務(wù)操作”的概念非常接近用戶故事,也包括如減少依賴、完整交付客戶價(jià)值等描述。

下面舉一個(gè)例子來(lái)看功能點(diǎn)到底是什么。這里將略去功能點(diǎn)中對(duì)數(shù)據(jù)、操作的復(fù)雜細(xì)節(jié)分析過(guò)程,而只說(shuō)大概。

假設(shè)在一個(gè)OA系統(tǒng)中需要管理“用戶”“角色”“權(quán)限”這三種業(yè)務(wù)數(shù)據(jù),那么他們就是業(yè)務(wù)數(shù)據(jù);而對(duì)他們分別進(jìn)行的“增刪改查”就是業(yè)務(wù)操作。比如“新建用戶”“列出所有用戶”都是業(yè)務(wù)操作。“業(yè)務(wù)”這個(gè)詞在這里是相對(duì)于“技術(shù)”而言的,比如“新建用戶”對(duì)客戶而言是一個(gè)容易理解、認(rèn)可的操作,而且客戶管理員會(huì)告訴我們:

“是的,我現(xiàn)在每天都在新建用戶,因?yàn)樽罱谡腥?rdquo;而不會(huì)說(shuō)“是的,我最近每天都在數(shù)據(jù)庫(kù)表中新建記錄,還會(huì)同步更新聯(lián)系人數(shù)據(jù)表,因?yàn)樽罱谡腥?rdquo;,雖然后者也的確發(fā)生了,但卻不是客戶日常工作的內(nèi)容。

更神奇的是,“新建用戶”這個(gè)操作,在無(wú)法獲得更多細(xì)節(jié)的情況下,可以假設(shè)工作量為4人天(在OA系統(tǒng)中,其他系統(tǒng)有調(diào)整因子);而統(tǒng)計(jì)還表明,“用戶”及所有與之相關(guān)的操作如剛才說(shuō)的“新建用戶”以及其他“刪除用戶”“列出所有用戶”“編輯用戶”……的總工作量(從需求到部署)大約是40人天,也就是2個(gè)人月,即使暫時(shí)不能確定到底有多少個(gè)操作。而“用戶”“角色”“權(quán)限”及其所有操作完成的工作量自然就是大約6人月。盡管每個(gè)數(shù)據(jù)或操作的時(shí)間可能會(huì)有出入,但總體規(guī)模則誤差不大。

這得益于大數(shù)定理及眾多統(tǒng)計(jì)數(shù)據(jù)的分析結(jié)果。本段內(nèi)容的詳情可在Google查詢“nesma”(一個(gè)總部在荷蘭的世界第二大功能點(diǎn)組織),這個(gè)簡(jiǎn)化體系稱為“Indicative Function Point”(指示性的功能點(diǎn)),在其網(wǎng)站上有荷蘭語(yǔ)和英語(yǔ)介紹。

如果對(duì)用戶故事的定義(而非“業(yè)務(wù)操作”的定義,因?yàn)楹笳吒晟?、?yán)格)略作約束,則可以迅速與功能點(diǎn)中的“業(yè)務(wù)操作”兼容。兼容的結(jié)果有兩個(gè),首先是很容易把握顆粒度,其次是功能點(diǎn)與工作量的比例關(guān)系極佳,可以迅速推知工作量。

二、需求結(jié)構(gòu)問(wèn)題

在敏捷開發(fā)中有一個(gè)不完善的答案:Product Backlog 和 Sprint Backlog。前者是整個(gè)產(chǎn)品的待開發(fā)項(xiàng),后者是當(dāng)前迭代的待開發(fā)項(xiàng),兩者內(nèi)部都按優(yōu)先級(jí)進(jìn)行排序。

這個(gè)答案對(duì)項(xiàng)目經(jīng)理(可以模糊理解為Scrum Master)和開發(fā)人員足夠用了,因?yàn)樗麄冎饕P(guān)心時(shí)間上的開發(fā)問(wèn)題,也就是現(xiàn)在讓我做什么,什么時(shí)候要的問(wèn)題。但對(duì)產(chǎn)品經(jīng)理(可以模糊理解為Product Owner)而言,時(shí)間是一個(gè)維度,空間則是另外一個(gè)維度。

所謂空間維度,就是系統(tǒng)-子系統(tǒng)-模塊-大需求-小需求……之間的關(guān)系問(wèn)題,這完全不是一個(gè)一維表格能解決的。由于敏捷開發(fā)主要是一線開發(fā)人員和項(xiàng)目經(jīng)理發(fā)明并推動(dòng)的,所以空間維度一直被忽略。但這是需求分解過(guò)程中一個(gè)繞不過(guò)去的問(wèn)題,因?yàn)槿藗儾豢赡苊鎸?duì)一個(gè)一個(gè)一維表格回答這個(gè)問(wèn)題:“我們所有的功能都包括在這里呢嗎?哪部分還略顯粗糙希望繼續(xù)分解?這些大需求包含哪些小需求?”

在UML中的答案比較完善,“用戶 - Use Case”(人-功能)很好地把一批相關(guān)的功能聯(lián)系起來(lái)。雖然只是非常簡(jiǎn)單的表達(dá),但比把幾個(gè)毫無(wú)關(guān)聯(lián)的故事按優(yōu)先級(jí)排在一起,或把幾個(gè)密切相關(guān)的故事相隔十萬(wàn)八千里放置還是進(jìn)步不少。UML中的模塊則是一個(gè)更宏觀的需求“目錄”。

FPA雖然沒有需求關(guān)系表達(dá),但如果把“業(yè)務(wù)數(shù)據(jù) - 業(yè)務(wù)操作”作為一個(gè)樹形結(jié)構(gòu),很類似把UML中的“實(shí)體 – Use Case”作為一個(gè)樹,形成“數(shù)據(jù)-功能”的關(guān)系。不過(guò),這個(gè)體系沒有提供更宏觀尺度上的需求結(jié)構(gòu)問(wèn)題。

由于功能點(diǎn)、UML中的模塊用例等概念都是有嚴(yán)格、確定化的定義的,所以分解的過(guò)程井然有序,很少出現(xiàn)“這個(gè)還要繼續(xù)分嗎?”“這樣分是不是顆粒度太粗糙”之類的問(wèn)題。我們自己正在做的項(xiàng)目需求就是借用FPA的業(yè)務(wù)數(shù)據(jù)-業(yè)務(wù)操作作為主要分解關(guān)系,上面再加上我們自己定義的子系統(tǒng)-模塊兩個(gè)級(jí)別形成了一個(gè)“故事樹”。這個(gè)故事樹比我之前所做過(guò)及所見過(guò)的任何其他方法表達(dá)的需求結(jié)構(gòu)更為清晰。因此敏捷開發(fā)應(yīng)該吸取或者配合這些方法,至少是其中的一部分思想來(lái)完成需求分解。

很多時(shí)候我們會(huì)覺得引入較為嚴(yán)格的定義會(huì)“有限制太難做”,但其實(shí)更難做的是“無(wú)規(guī)則無(wú)限制”下自由發(fā)揮。

記者:敏捷開發(fā)中需求拆分之后,任務(wù)應(yīng)該怎樣分工?

陳勇:即使都是使用敏捷開發(fā),任務(wù)拆分和分工的方法也會(huì)因行業(yè)、產(chǎn)品的特點(diǎn)而有所不同。

在純軟件或技術(shù)相對(duì)單一的產(chǎn)品中,需求拆解到4天左右(也就是前面提到的“一個(gè)業(yè)務(wù)操作”的規(guī)模)就可以分下去或領(lǐng)取了,因?yàn)槿藗儽容^容易估算4天左右的工作量,也容易跟蹤。在這種情況下,如果一個(gè)人同時(shí)負(fù)責(zé)幾個(gè)“業(yè)務(wù)操作”,應(yīng)該分解為多個(gè)任務(wù)來(lái)完成,而不是一個(gè)。因?yàn)檫@些業(yè)務(wù)操作可以獨(dú)立完成并交付,合在一起不但不能持續(xù)交付,也會(huì)使得進(jìn)展不透明。但再進(jìn)一步劃分沒有必要,因?yàn)樵賱澐志筒荒塥?dú)立交付了。“獨(dú)立性”是FPA中對(duì)業(yè)務(wù)操作的一個(gè)約束條件,如果按照FPA的概念來(lái)劃分任務(wù),會(huì)自動(dòng)滿足獨(dú)立性。

在復(fù)雜環(huán)境比如嵌入式研發(fā)(涉及軟件、硬件、工業(yè)設(shè)計(jì)團(tuán)隊(duì))或游戲(涉及軟件、美術(shù)、腳本、策劃團(tuán)隊(duì)),需求不能直接當(dāng)作任務(wù)分下去,需要做進(jìn)一步的分解。這里的分解目的是把不同工種的活分配下去,對(duì)其跟蹤的過(guò)程則可增進(jìn)各部門配合時(shí)所需的透明度。

也有一些團(tuán)隊(duì)喜歡把任務(wù)分解到短至1~2小時(shí)的時(shí)間。本人沒有與這樣的團(tuán)隊(duì)進(jìn)行深入探討以了解其這樣做的動(dòng)機(jī)及收益是什么,但要注意“更小的任務(wù)”不等于更敏捷。我們經(jīng)常說(shuō)敏捷開發(fā)有利于項(xiàng)目透明,但要知道透明的主體是“項(xiàng)目外部的人”,比如產(chǎn)品經(jīng)理、高層領(lǐng)導(dǎo);而開發(fā)人員本人,或者小團(tuán)隊(duì)的若干個(gè)人之間,任務(wù)和進(jìn)度本來(lái)就是透明或半透明的。因此把詳細(xì)技術(shù)細(xì)節(jié)翻個(gè)底朝天并貼在白板上很可能不但于事無(wú)補(bǔ)反而添亂,不如把有限的管理時(shí)間用在“對(duì)外表達(dá)需求的完成情況”或“各部門的進(jìn)展及需要什么相互配合”上,也就是我們之前說(shuō)的兩種情況。

總之,對(duì)任務(wù)的分解應(yīng)該本著“需要”與“必要”的原則。不能因?yàn)橄?ldquo;更敏捷”而采用“更小的任務(wù)”。

記者:Sprint會(huì)議是實(shí)踐scrum中最重要的事件。您認(rèn)為Scrum會(huì)議在團(tuán)隊(duì)中應(yīng)如何進(jìn)行的?

陳勇:要做好計(jì)劃會(huì),應(yīng)該先建好團(tuán)隊(duì)模型。

計(jì)劃會(huì)是少有的團(tuán)隊(duì)齊集一堂進(jìn)行的活動(dòng),無(wú)論團(tuán)隊(duì)模型是怎樣的,都應(yīng)該有助于大家以集體的力量完成計(jì)劃,并完成計(jì)劃的任務(wù)。

因此,一些看上去很敏捷的團(tuán)隊(duì)模型或做事方法,很可能是很難鼓勵(lì)大家做到這一點(diǎn)的。比如:所有隊(duì)員都是平等的;大家在會(huì)上投票取平均值作為估算結(jié)果(還有一種做法:會(huì)上不需要估算,會(huì)后領(lǐng)取的人自己說(shuō)了算);會(huì)后大家主動(dòng)領(lǐng)取任務(wù);領(lǐng)取的任務(wù)大家互相不干涉,自己愿意怎么做就怎么做……這里邊存在什么問(wèn)題呢?

第一,“所有隊(duì)員平等”的團(tuán)隊(duì)互助的動(dòng)力從哪里來(lái)?人們一定會(huì)說(shuō):都是在一起工作的同事,怎么會(huì)沒有互助動(dòng)力?我們?cè)?jīng)在一個(gè)團(tuán)隊(duì)實(shí)施代碼審查,而且是我之前多次提到的那個(gè)最好的139團(tuán)隊(duì),很快發(fā)生一次事故:一大段4000多行但包含4000多個(gè)常數(shù)的爛代碼逃過(guò)了檢查者的眼睛進(jìn)入了代碼庫(kù),并最后引發(fā)客戶現(xiàn)場(chǎng)的Bug。當(dāng)詢問(wèn)代碼審查者為何讓明顯存在問(wèn)題的代碼通過(guò)檢查?代碼審查者很無(wú)奈地說(shuō):“我剛來(lái)不久,雖然我覺得這些代碼有問(wèn)題,但我感覺大家都說(shuō)他(編寫者)是個(gè)高手,我也就不想說(shuō)什么了。其實(shí)我本人也覺得這些代碼有問(wèn)題”。這件事情促使我們后來(lái)形成了139團(tuán)隊(duì),就是形成層次團(tuán)隊(duì),由師傅來(lái)審核徒弟的代碼,出問(wèn)題師傅負(fù)責(zé)。這不是說(shuō)所有團(tuán)隊(duì)一定要如此,而是說(shuō)不能簡(jiǎn)單地把互助建立在“雷鋒精神”上面。

第二,集體估算的目的何在?很多人認(rèn)為是領(lǐng)導(dǎo)放權(quán)發(fā)揚(yáng)民主,所以投票+平均值就體現(xiàn)了這一點(diǎn)。但如果一個(gè)人估10人天,另一個(gè)人估計(jì)1人天,結(jié)果到底是多少呢?總不能真的是5.5人天吧?所以估算的目的其實(shí)是想知道有沒有更快的方法,有沒有人在走彎路……如果為期一天的計(jì)劃會(huì)耗費(fèi)整個(gè)團(tuán)隊(duì)10多個(gè)人天,但卻避免了上百人天的彎路損失,就算真正物有所值。我遇到的單個(gè)任務(wù)的最大差異是20人天比0.5人天,很可惜他們不做敏捷開發(fā)也不做估算,是任務(wù)接近尾聲的時(shí)候被偶然發(fā)現(xiàn)的,只用了0.5人天就重寫了。在一個(gè)139團(tuán)隊(duì)中,一般師傅要和徒弟用敏捷估算撲克估計(jì)每個(gè)任務(wù)的工作量;如果剛才這個(gè)任務(wù)出現(xiàn)在139團(tuán)隊(duì)中,師傅不會(huì)取值(20+0.5)/2,而是通過(guò)與徒弟討論,讓徒弟學(xué)會(huì)如何用0.5人天來(lái)完成這個(gè)任務(wù),因?yàn)橥降芾速M(fèi)的時(shí)間最后要算在整個(gè)師徒小組身上。如果不是139團(tuán)隊(duì),也要找到類似的人們參與爭(zhēng)論和堅(jiān)持自己正確見解的動(dòng)力。

第三,剩下的“主動(dòng)領(lǐng)取任務(wù)”、“互不干涉”等,也要進(jìn)行相似的分析,不能因?yàn)?ldquo;看上去很自由很敏捷”就采納。提出這些實(shí)踐的團(tuán)隊(duì)可能與我們所處的情況差別很大,未必能拿來(lái)就用。我曾經(jīng)用過(guò)“自由領(lǐng)取任務(wù)”,那是在10年前的一個(gè)假期里邊,我邀請(qǐng)自己關(guān)系很近的兩個(gè)老部下來(lái)幫忙做一個(gè)軟件;一些零散任務(wù)就被單獨(dú)拿出來(lái),誰(shuí)先做完手頭工作就自由領(lǐng)取,其中一個(gè)人領(lǐng)取了8個(gè)中的5個(gè)之多。但在之后的每一個(gè)項(xiàng)目中,我都會(huì)先想一想,團(tuán)隊(duì)是否允許我再次采用這個(gè)實(shí)踐。

團(tuán)隊(duì)模型理順了,計(jì)劃會(huì)所需的共同計(jì)劃、集思廣益、團(tuán)隊(duì)協(xié)作才能做好。

記者:在敏捷開發(fā)方法中,Scrum和XP我個(gè)人認(rèn)為比較常見,您能介紹下Scrum與XP的最大區(qū)別在哪里?在實(shí)踐中Scrum與XP只取其一,還是兩者都取,或者全都拋棄?

陳勇:Scrum主要是關(guān)于需求和項(xiàng)目管理的,而XP則主要是技術(shù)管理。

Scrum中關(guān)于Product Backlog的全部及Sprint Backlog的形成過(guò)程、評(píng)審會(huì)大部分,可以理解為需求管理內(nèi)容,包括需求開發(fā),分解,描述,排序以及進(jìn)展跟蹤的過(guò)程。而估算、每日立會(huì)、燃盡圖等內(nèi)容則屬于項(xiàng)目管理。

XP則主要是技術(shù)管理問(wèn)題,不過(guò)其結(jié)構(gòu)不明確,不好分類。

這個(gè)差別也可以解釋Scrum為何易于推廣:因?yàn)槠湔麄€(gè)體系很清晰。比如在我的培訓(xùn)課程中有一個(gè)貫穿始終的練習(xí),用三個(gè)需求的描述、分解和估算過(guò)程來(lái)演練Scrum。這個(gè)練習(xí)能從第一天上午10:00左右開始,斷斷續(xù)續(xù)穿插于培訓(xùn)中,一直持續(xù)到第二天中午;要用一個(gè)練習(xí)把所有或者只是大部分的XP實(shí)踐串聯(lián)起來(lái)則幾乎是不可能的。另外Scrum宣貫起來(lái)也不需要大的技術(shù)革命,主要是人員職責(zé)的重新描述,部分管理活動(dòng)如計(jì)劃、跟蹤的引進(jìn),因此門檻很低。不過(guò)反過(guò)來(lái),由于缺少實(shí)際的技術(shù)改進(jìn),若只得其皮毛而沒有利用團(tuán)隊(duì)、過(guò)程的變化來(lái)真正促進(jìn)開發(fā),那么Scrum失敗的概率也很高。

Scrum在商業(yè)運(yùn)作上也更成功。這應(yīng)該歸功于Scrum的發(fā)明者是項(xiàng)目經(jīng)理或更高級(jí)別的人員,而XP則主要是一線員工,甚至說(shuō)是Geek們不為過(guò)。Scrum推出了認(rèn)證的Scrum Master和Product Owner兩種認(rèn)證,由于體系相對(duì)完整,認(rèn)證課程目標(biāo)聽眾的收入也相對(duì)較高,所以推廣起來(lái)比較容易;多數(shù)咨詢師更容易理解Scrum的理念而非XP的,也使之得以快速推廣。

不過(guò)長(zhǎng)遠(yuǎn)看來(lái),團(tuán)隊(duì),過(guò)程,技術(shù)三者密不可分。Scrum覆蓋了前兩者中的一部分,但如果沒有持續(xù)集成、自動(dòng)化測(cè)試等方法的支撐,迭代交付將很難完成。所以,未來(lái)應(yīng)該會(huì)有并存的需要,即使不再以當(dāng)前的兩個(gè)名字存在。

#p#

記者:拙劣的度量指標(biāo)會(huì)產(chǎn)生嚴(yán)重的后果,敏捷度量指標(biāo)也是一個(gè)很有爭(zhēng)議的問(wèn)題,以您的經(jīng)驗(yàn)如何去解決這個(gè)問(wèn)題?

陳勇:有多個(gè)層次的指標(biāo)可供衡量,下面從基層到高層一層層剖析一下。

一、基層度量

對(duì)最基層活動(dòng)而言,一般所有度量均不用于個(gè)體考核,而只是用于改進(jìn)。比如個(gè)體的缺陷率、工作完成量、按時(shí)完成率等。

之所以這樣做,原因是不希望面向個(gè)體的考核破壞了團(tuán)隊(duì)中原本用來(lái)提高生產(chǎn)率的團(tuán)隊(duì)協(xié)作。團(tuán)隊(duì)協(xié)作可以消除個(gè)體錯(cuò)誤,通過(guò)共同估算讓高手的技能流向新手,等等。如果個(gè)體考核讓人心有掛念,會(huì)產(chǎn)生問(wèn)題。

不過(guò)一個(gè)不可回避的問(wèn)題是:不管你們敏捷開發(fā)怎么說(shuō),但財(cái)務(wù)終究要把績(jī)效獎(jiǎng)金(假如有)發(fā)放到個(gè)體而非團(tuán)隊(duì)的賬戶上,怎么知道誰(shuí)應(yīng)該發(fā)多少呢?在一個(gè)10個(gè)隊(duì)員且關(guān)系互相平行的團(tuán)隊(duì)里邊,的確沒有辦法知道,因此也不得不面向個(gè)體考核,并最終不可避免地毀掉團(tuán)隊(duì)協(xié)作。

但在一個(gè)139團(tuán)隊(duì)里邊,答案比較簡(jiǎn)單。139團(tuán)隊(duì),就是1個(gè)項(xiàng)目經(jīng)理,帶3個(gè)高手(師傅),每個(gè)高手再帶3個(gè)新手(徒弟);師傅全權(quán)負(fù)責(zé)自己及3個(gè)徒弟的工作,從進(jìn)度,設(shè)計(jì)到質(zhì)量;師傅會(huì)選擇關(guān)鍵時(shí)間點(diǎn)與徒弟碰頭,以便用最少時(shí)間解決最大的問(wèn)題(這種活動(dòng)稱之為“松結(jié)對(duì)編程”,在我的“敏捷開發(fā)松結(jié)對(duì)編程系列”中有詳細(xì)描述);師傅對(duì)徒弟的代碼進(jìn)行代碼審查;平時(shí)徒弟有問(wèn)題會(huì)師傅。在這樣一個(gè)團(tuán)隊(duì)中,項(xiàng)目經(jīng)理收入最高,師傅次之,徒弟最低。薪水相對(duì)固定,如果位置沒有變化,無(wú)論自己一個(gè)人多編碼了還是幫別人太多導(dǎo)致少編碼了,都差不多。因此要想拿到高薪,不是在短期內(nèi)多編寫幾行代碼或關(guān)閉幾個(gè)Bug,而是看長(zhǎng)期:新人先要達(dá)到獨(dú)立工作能力,然后幫助團(tuán)隊(duì)擴(kuò)張也就是自己帶徒弟成為師傅,最后成為可以獨(dú)自擔(dān)當(dāng)一種業(yè)務(wù)的人也就是項(xiàng)目經(jīng)理。在這種團(tuán)隊(duì)中,人的收入增長(zhǎng)不是通過(guò)內(nèi)部競(jìng)爭(zhēng),而是通過(guò)內(nèi)部協(xié)作做到的。

因此它是一種兼容敏捷團(tuán)隊(duì)精神的個(gè)體績(jī)效考核方法。

二、外部度量

正如前面所說(shuō),外部度量是為了讓團(tuán)隊(duì)對(duì)外透明而做的度量。有這樣幾個(gè)原則:只做外部看得懂的度量;只做外部有人看的度量;盡量少做度量。

典型的外部度量是給PO也就是產(chǎn)品經(jīng)理所作的用戶故事的完成情況的度量,比如白板上處于完成狀態(tài)的故事的數(shù)量。這里說(shuō)故事而非任務(wù),是因?yàn)閷?duì)產(chǎn)品經(jīng)理而言,任務(wù)完成沒有意義。

生產(chǎn)率也經(jīng)常是一個(gè)被度量的內(nèi)容,但現(xiàn)在尚無(wú)好的方法。有些團(tuán)隊(duì)經(jīng)常使用“故事點(diǎn)”來(lái)做度量,方法是:先挑選一些以往的故事作為典型故事;為每個(gè)典型故事分配一個(gè)點(diǎn)數(shù)(一般是當(dāng)時(shí)完成此故事的天數(shù));每次估算新故事時(shí)查先看更像哪個(gè)典型故事,然后再根據(jù)難度差別為新故事設(shè)定一個(gè)點(diǎn)數(shù);實(shí)際完成后,點(diǎn)數(shù)/天數(shù)=生產(chǎn)率,也就是實(shí)際完成點(diǎn)數(shù)的速度。這個(gè)方法看似有效,但因?yàn)榇蠹覍?duì)典型故事的熟悉程度差別很大,典型故事也很難選擇,導(dǎo)致實(shí)際使用的人很少。另外一個(gè)問(wèn)題是不同項(xiàng)目的典型故事和點(diǎn)數(shù)是不通用的,因此無(wú)法做比較。好不容易做了一個(gè)想對(duì)外發(fā)布的生產(chǎn)率,卻無(wú)法橫向比較只能自?shī)首詷?,顯然存在問(wèn)題。未來(lái),這個(gè)問(wèn)題可能會(huì)被功能點(diǎn)生產(chǎn)率解決,但現(xiàn)在還沒有看到有人嘗試。我們自己做了一些宏觀嘗試,但沒有每個(gè)迭代都做。

此外還有一些度量,但取決于實(shí)際的需要。比如在線運(yùn)行的網(wǎng)絡(luò)游戲,會(huì)度量迭代交付周期長(zhǎng)度(直接影響響應(yīng)時(shí)間,因此一般越短越好)。這些度量不全是明確量化的,但公司上下都能說(shuō)出一個(gè)大致的數(shù)字來(lái),因此也算是度量。

三、業(yè)務(wù)運(yùn)營(yíng)與收入度量

既然敏捷開發(fā)說(shuō)是“交付客戶價(jià)值”而非文檔或代碼的,那么一定能改善營(yíng)收或其他運(yùn)營(yíng)指標(biāo)。

比如市場(chǎng)占有率,每日點(diǎn)擊數(shù),平均在線人數(shù),每活躍用戶收入……等等,這些營(yíng)收應(yīng)該都是做敏捷度量的人所需要關(guān)注的。Scrum設(shè)置了PO來(lái)收集、描述、排序最重要的需求,又安排團(tuán)隊(duì)在自組織下高速生產(chǎn)出來(lái),通過(guò)評(píng)審會(huì)后交付給客戶。因此如果這一切都是真的,沒有理由在實(shí)現(xiàn)敏捷開發(fā)后業(yè)務(wù)營(yíng)收不變或下滑。當(dāng)然可能很多因素制約了企業(yè)的營(yíng)收情況,但如果既不度量也不關(guān)心,直接來(lái)一句“由于情況很復(fù)雜,因此企業(yè)營(yíng)收與研發(fā)沒有直接關(guān)系”,顯然只能被作為自我否定和消極逃避的借口。

現(xiàn)在有些團(tuán)隊(duì)如網(wǎng)絡(luò)游戲和搜索引擎公司,已經(jīng)把這些數(shù)據(jù)引入了開發(fā)團(tuán)隊(duì)的度量中。但一般不做績(jī)效考核,而是讓大家知道最近我們的研發(fā)在市場(chǎng)上的實(shí)際反饋如何。

四、內(nèi)部創(chuàng)業(yè)

任何時(shí)候想度量的時(shí)候都要問(wèn):為什么要度量?答案是:度量的目的是為了改善目標(biāo)。

那么如果說(shuō)企業(yè)的終極目標(biāo)是盈利,而卻有一種方法不需要度量就能提升盈利,那么應(yīng)該怎樣?當(dāng)然就不用度量了!目標(biāo)永遠(yuǎn)比方法要重要。

比如現(xiàn)在網(wǎng)絡(luò)游戲團(tuán)隊(duì)普遍有一個(gè)政策:20%的營(yíng)收歸項(xiàng)目作為獎(jiǎng)金。一般這個(gè)數(shù)字從幾十萬(wàn)到上億的規(guī)模,而團(tuán)隊(duì)往往不到100人。他們不在通過(guò)繁雜的績(jī)效考核系統(tǒng)中的度量項(xiàng)發(fā)放獎(jiǎng)金,而直接把收入變成開發(fā)人員的動(dòng)力。這種方法跳過(guò)了所有繁瑣的度量過(guò)程,直擊問(wèn)題實(shí)質(zhì),是一種不度量而改善目標(biāo)的典范,可以理解為敏捷開發(fā)“可運(yùn)行軟件超過(guò)繁瑣文檔”這種嘗試弱化中間過(guò)程的思想的產(chǎn)物。 

當(dāng)然,即使不能“內(nèi)部創(chuàng)業(yè)”,也一樣能做到類似的效果。比如降低程序員的基本工資,代之以把公司產(chǎn)品銷售的一部分錢拿來(lái)做獎(jiǎng)金。程序員自然就開始關(guān)心客戶需求,嘗試?yán)斫饪蛻舻降滓裁床灰裁矗瑖L試自覺改善質(zhì)量防止客戶流失,嘗試自己帶徒弟以便讓團(tuán)隊(duì)成長(zhǎng)進(jìn)而增加產(chǎn)品競(jìng)爭(zhēng)力……很多效果是通過(guò)度量都難以進(jìn)行改善的。

最后這個(gè)問(wèn)題的答案,其實(shí)回到了問(wèn)題的本質(zhì):敏捷開發(fā)提出的目的,其實(shí)還不是敏捷宣言中的那四句話左側(cè)的部分(個(gè)體與交互,可運(yùn)行軟件,客戶協(xié)作,響應(yīng)變化),而是通過(guò)這四點(diǎn)來(lái)幫助企業(yè)提高營(yíng)收。因此,敏捷開發(fā)的度量,換言之敏捷開發(fā)要改善的地方,不能只是一線工程實(shí)踐,而應(yīng)該是“客戶價(jià)值”的改善,也就是營(yíng)收的增加。否則敏捷開發(fā)就可能長(zhǎng)期處于基層游擊隊(duì)活動(dòng),在敏捷熱潮過(guò)去之后,被證明又是一個(gè)重過(guò)程不重結(jié)果的空架子而已。

記者:您是否能談?wù)勗陧?xiàng)目中,敏捷測(cè)試人員的職責(zé)和技能要求?

陳勇:關(guān)于這個(gè)問(wèn)題,有趣的是:“測(cè)試活動(dòng)”比“測(cè)試人員”在敏捷開發(fā)中出現(xiàn)的頻率更高。原因就是敏捷開發(fā)中提倡跨職能,也就是所有人都對(duì)開發(fā)、測(cè)試負(fù)責(zé),從測(cè)試活動(dòng)的目標(biāo)的轉(zhuǎn)變上就能看出來(lái)。

傳統(tǒng)認(rèn)為,測(cè)試人員是幫開發(fā)人員找Bug的,這是個(gè)誤區(qū)。其實(shí),開發(fā)人員才是負(fù)責(zé)找Bug的,尤其是自己找自己的Bug。打個(gè)比方,如果我們?cè)谧约杭依锿髓€匙放在哪里了,一定不會(huì)把家里翻個(gè)底朝天,而是會(huì)嘗試找自己以前習(xí)慣放鑰匙的地方;但如果讓一個(gè)客人來(lái)找,就不那么容易了,因?yàn)榭腿瞬皇煜ぜ彝キh(huán)境,也不熟悉我們放鑰匙的習(xí)慣。家庭環(huán)境就是軟件,而鑰匙就是Bug,測(cè)試人員則是一個(gè)不太熟悉家庭環(huán)境的客人,開發(fā)人員才是那個(gè)放鑰匙的人,盡管他暫時(shí)“忘了放在哪里了”。而且長(zhǎng)期而言,只有開發(fā)人員才能改變自己的習(xí)慣,比如在墻上釘個(gè)釘子,習(xí)慣性地把鑰匙掛在上面。我們?cè)谝粋€(gè)項(xiàng)目中密集實(shí)踐過(guò)代碼審查活動(dòng),在短短27天時(shí)間里,通過(guò)每天花費(fèi)半小時(shí)觀察、記錄、分析自己的缺陷,個(gè)體缺陷率降低了一半之多。而且好的習(xí)慣和規(guī)范一旦固化下來(lái),以后無(wú)需花費(fèi)額外時(shí)間也能在一定程度上保證代碼質(zhì)量,可謂一勞永逸。

找bug的活被搶走了,傳統(tǒng)測(cè)試人員怎么辦?有兩種出路,或者說(shuō)“職業(yè)生涯規(guī)劃”,都比原來(lái)傳統(tǒng)測(cè)試人員更有前景。

一、有開發(fā)經(jīng)驗(yàn)的測(cè)試人員應(yīng)該轉(zhuǎn)向“開發(fā)測(cè)試”

“開發(fā)測(cè)試”是游戲領(lǐng)域的一種工種,對(duì)應(yīng)的是完全不需要對(duì)開發(fā)有了解的“黑盒測(cè)試”,我們可以把它的定義擴(kuò)展一下用在這里。開發(fā)測(cè)試在開發(fā)活動(dòng)中主要負(fù)責(zé)自動(dòng)化測(cè)試、持續(xù)集成、回歸測(cè)試等用于快速保證產(chǎn)品質(zhì)量的活動(dòng)。

為什么叫“快速保證產(chǎn)品質(zhì)量”而不是“發(fā)現(xiàn)Bug”呢?因?yàn)殚_發(fā)測(cè)試程序的人其實(shí)不應(yīng)該是這里的開發(fā)測(cè)試,而是開發(fā)某個(gè)功能的開發(fā)人員本身。正如之前所說(shuō),具體的功能開發(fā)者更清楚功能是什么,可能有哪些潛在的問(wèn)題,如何驗(yàn)證最好……所以開發(fā)并第一次執(zhí)行(為發(fā)現(xiàn)缺陷而執(zhí)行)的是開發(fā)人員;但如何讓眾多測(cè)試用例自動(dòng)地全部或有選擇地再次運(yùn)行,如何保證更高的運(yùn)行效率、如何準(zhǔn)備自動(dòng)集成環(huán)境,則是開發(fā)測(cè)試人員的工作。

如果有可能,個(gè)人感覺最好不要設(shè)置全職的開發(fā)測(cè)試,而是視實(shí)際情況由不同的開發(fā)人員兼任。這樣更容易平衡工作量、保證開發(fā)與測(cè)試的銜接有效性。

整體上這個(gè)出路偏向開發(fā)人員多一些。

二、“沒有開發(fā)經(jīng)驗(yàn)”的測(cè)試人員應(yīng)該轉(zhuǎn)向“產(chǎn)品經(jīng)理”或“專業(yè)測(cè)試人員”產(chǎn)品經(jīng)理不說(shuō)了,因?yàn)槌雎泛苷?。這里說(shuō)說(shuō)專業(yè)測(cè)試人員。

有很多時(shí)候我們覺得原來(lái)的測(cè)試人員不就是“專業(yè)測(cè)試人員”嗎?其實(shí)不然。很多測(cè)試人員不過(guò)是看看說(shuō)明書,點(diǎn)點(diǎn)鼠標(biāo),填填Bug而已,很難說(shuō)上“專業(yè)“二字。

個(gè)人感覺對(duì)測(cè)試人員而言,“專業(yè)”有兩重含義。第一,對(duì)所在領(lǐng)域的質(zhì)量問(wèn)題和解決方法有深入理解。比如特定的軟件,可用率是首位的(比如網(wǎng)站,允許癱瘓但不能總癱瘓)還是故障率是首位的(比如飛機(jī),不允許故障)。Windows經(jīng)常死機(jī),但是恢復(fù)速度很快,用起來(lái)也很簡(jiǎn)單,這在家用軟件中就是可接受的“高質(zhì)量”標(biāo)準(zhǔn);但用作服務(wù)器,可能就有點(diǎn)問(wèn)題。如果不理解這些就開始測(cè)試,結(jié)果肯定是事倍功半。第二,對(duì)測(cè)試方法論應(yīng)該有深入理解。軟件仿真,持續(xù)集成,灰度發(fā)布……這些都可以稱為測(cè)試方法論或質(zhì)量方法論。“專業(yè)測(cè)試人員”用這些方法論指導(dǎo)前面說(shuō)的“開發(fā)測(cè)試人員”進(jìn)行測(cè)試,是一種很好的工作方式。

我曾經(jīng)在松結(jié)對(duì)編程與139團(tuán)隊(duì)系列博客中多次提到一個(gè)23個(gè)開發(fā)人員加2個(gè)測(cè)試人員的團(tuán)隊(duì),其中兩個(gè)測(cè)試人員就是專業(yè)測(cè)試人員。尤其是其中的測(cè)試經(jīng)理,會(huì)定期基于業(yè)務(wù)的需要向我們提出測(cè)試要求,而我們則幫她編碼實(shí)現(xiàn)。這種搭配方式最終促成了產(chǎn)品的高質(zhì)量,它現(xiàn)在正運(yùn)行在國(guó)內(nèi)60%以上的數(shù)字電視臺(tái)。

這里的“沒有開發(fā)經(jīng)驗(yàn)”被打上了引號(hào),是因?yàn)槲覠o(wú)數(shù)次聽到有人說(shuō)“我沒有開發(fā)經(jīng)驗(yàn),也不懂開發(fā)”,但這個(gè)人可能是與開發(fā)人員共事很多年的資深測(cè)試人員。其實(shí),與相對(duì)論相比,開發(fā)更像是外語(yǔ),就是外國(guó)乞丐學(xué)多了也能學(xué)會(huì)的東西。因此實(shí)在不能用技術(shù)壁壘作為借口,要做好可能很難,但要了解的確不難。要做好測(cè)試這個(gè)工作,不去側(cè)面了解和理解開發(fā),是很不現(xiàn)實(shí)的。

記者: 在敏捷實(shí)踐的過(guò)程中是否一定要使用一些敏捷工具?能否推薦一些您認(rèn)為比較好的工具?

陳勇:因?yàn)槲易约阂苍陂_發(fā)一個(gè)敏捷工具“火星人”,所以就不直接推薦工具了,呵呵。不過(guò)下面可以介紹一下一些一般原則:

一、一定要選擇適合自己行業(yè)領(lǐng)域的產(chǎn)品

有些產(chǎn)品可能是為大型制造業(yè)、銀行、電信等開發(fā)設(shè)計(jì)的,那么盡管也叫“敏捷開發(fā)”產(chǎn)品,但里邊會(huì)帶有很多大型產(chǎn)品設(shè)計(jì)中所需的元素,比如UML,Portfolio Management(可以理解為大團(tuán)隊(duì)或多團(tuán)隊(duì)的管理)等內(nèi)容。這并非像有人說(shuō)的他們?cè)?ldquo;掛羊頭賣狗肉”,而是在特殊行業(yè)實(shí)施敏捷所必需的適應(yīng)。反之,簡(jiǎn)單的電子白板工具往往反而不適合在這些行業(yè)應(yīng)用。

通過(guò)翻閱供應(yīng)商提供的客戶清單可以有所了解,而產(chǎn)品的主要功能和主張的方法論也能提供一些線索。這些資料往往印刷在宣傳資料或發(fā)布在網(wǎng)站上,公開且不易被輕易修改。

二、根據(jù)“數(shù)據(jù)持久性”選擇產(chǎn)品

所謂數(shù)據(jù)持久性,就是指數(shù)據(jù)要保存多久。如果是電子白板類產(chǎn)品,產(chǎn)品選型可以稍微“隨意”一些,因?yàn)殡娮影装迳系臇|西多數(shù)零散、顆粒度較小,很少需要幾個(gè)月之后還要查看。所以可以大膽嘗試這些產(chǎn)品。其他比如計(jì)劃管理的工具也比較容易更換,畢竟完成了的項(xiàng)目的計(jì)劃被訪問(wèn)的次數(shù)和必要性會(huì)迅速下降。

而對(duì)于需求管理、缺陷管理等產(chǎn)品,尤其是前者,則需要慎重選型。視行業(yè)的不同,這些產(chǎn)品可能需要考慮到未來(lái)3~5年乃至更長(zhǎng)的數(shù)據(jù)保存問(wèn)題,所以需要慎重一些。另外這些產(chǎn)品往往跨多個(gè)職能部門,選型時(shí)需要多方同時(shí)協(xié)調(diào)。

三、未必一個(gè)公司只用一個(gè)產(chǎn)品

All In One是每個(gè)公司的夢(mèng)想,不過(guò)卻不現(xiàn)實(shí)。我培訓(xùn)或咨詢過(guò)的一些大型電信企業(yè),其涉獵的領(lǐng)域之廣往往令人驚訝。有家公司在做計(jì)費(fèi)系統(tǒng)、BOSS系統(tǒng)(業(yè)務(wù)和運(yùn)營(yíng)系統(tǒng))的同時(shí),還在做移動(dòng)互聯(lián)網(wǎng)軟件甚至游戲。前兩者對(duì)需求遵從性、成本控制的控制是核心,因?yàn)樗鼈兺婕凹滓曳胶贤?;而后者則對(duì)創(chuàng)新性要求更高,喜歡“擁抱變化”。

這種情況下管理層應(yīng)該深刻理解不同領(lǐng)域的管理要點(diǎn)。比如甲乙方項(xiàng)目中,“誰(shuí)在做什么”這類任務(wù)細(xì)節(jié)往往是重要的,因他它能保證所有人都有活干,防止空置資源的浪費(fèi);對(duì)完成功能的多少的掌握也是重要的(最好使用功能點(diǎn)),因?yàn)樗鼙碚鬟M(jìn)度。但在移動(dòng)互聯(lián)網(wǎng)軟件中,“現(xiàn)在我們?cè)谧鍪裁?rdquo;“什么時(shí)候這個(gè)功能能做出來(lái)”“這個(gè)功能做出來(lái)反饋如何”才是重點(diǎn)。

由此可見,領(lǐng)域要求不同,方法論就會(huì)不同,管理工具自然也可能不同。除了一些簡(jiǎn)單的白板軟件“都能用”之外,復(fù)雜產(chǎn)品很少能適應(yīng)如此巨大的差異,甚至說(shuō)也不應(yīng)該適應(yīng)所有領(lǐng)域使用。

在這種復(fù)雜情況下進(jìn)行選型的時(shí)候,領(lǐng)導(dǎo)層或領(lǐng)域?qū)<覒?yīng)該給出自己對(duì)管理的核心需求,然后再放手讓團(tuán)隊(duì)進(jìn)行自由選擇,只要驗(yàn)證核心需求被滿足就可以了。

 

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

2013-03-14 10:08:00

程顯峰敏捷開發(fā)

2013-03-28 16:31:20

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

2025-11-11 03:00:00

CursorAI開發(fā)模式

2025-03-20 08:25:24

2017-08-08 10:01:20

項(xiàng)目管理敏捷實(shí)踐團(tuán)隊(duì)

2014-06-12 08:53:01

團(tuán)隊(duì)團(tuán)隊(duì)效率

2022-06-03 07:33:38

反饋流程敏捷團(tuán)隊(duì)

2023-01-13 15:37:27

團(tuán)隊(duì)軟件開發(fā)集成

2010-10-15 10:31:00

2009-08-20 10:10:16

敏捷開發(fā)支付寶

2009-12-02 13:16:32

PHP DOMXPat

2024-05-24 10:23:25

2022-02-20 22:16:44

ESLint工具JavaScript

2021-05-25 06:01:25

敏捷團(tuán)隊(duì)工作場(chǎng)所CIO

2022-03-25 08:28:05

敏捷團(tuán)隊(duì)敏捷

2016-08-11 14:02:02

NodeJS前端

2012-07-02 14:39:59

架構(gòu)敏捷

2013-10-31 11:36:38

2013年度IT博客大陳德勇

2012-12-04 10:40:19

2012年度IT博客大IT博客大賽博客

2010-06-07 16:55:00

JavaScript
點(diǎn)贊
收藏

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

5566中文字幕一区二区| 久久精品久久久久| 浮妇高潮喷白浆视频| 日本一本草久在线中文| 久久午夜精品| 色偷偷av一区二区三区| 佐佐木明希电影| 成人动漫一区| 成人免费在线观看入口| 国产精品国产三级国产专区53| 韩国av免费观看| 国产日韩视频在线| 欧美一区二区三区精品| 久久国产精品网| 成年人视频在线看| 国产精品99久久久久久久女警| 性欧美xxxx视频在线观看| 免费人成又黄又爽又色| 久久伦理中文字幕| 日韩欧美999| 黄色影视在线观看| 日本一级在线观看| 国产成人精品免费网站| 欧亚精品在线观看| 青青草手机视频在线观看| 懂色av一区二区| 欧美军同video69gay| 国产精品裸体瑜伽视频| 欧美96在线| 久久久亚洲精品一区二区三区 | 日本熟妇色xxxxx日本免费看| 美女毛片一区二区三区四区| 日韩视频一区二区| 欧美特黄aaa| 欧美free嫩15| 亚洲第一福利视频在线| 国产免费色视频| 国产一级片在线播放| 成人黄色小视频在线观看| 国产精品自产拍在线观看中文| www.av麻豆| 中文字幕亚洲综合久久五月天色无吗''| 亚洲精品小视频| 久久久久亚洲av无码网站| 国产亚洲精彩久久| 色综合天天性综合| 你懂的av在线| 美女精品视频| 17c精品麻豆一区二区免费| 神马影院一区二区三区| 精品久久av| 91蜜桃视频在线| 国产精品二区三区四区| 国产夫妻自拍av| 久久97超碰国产精品超碰| 91爱视频在线| 日韩欧美一区二区一幕| 国语精品一区| 久久久久久国产精品三级玉女聊斋| 99久久久免费精品| 91影院成人| 精品国产依人香蕉在线精品| 后入内射无码人妻一区| 日韩电影免费在线观看| 中文字幕欧美日韩精品| 久久精品三级视频| 99久久99视频只有精品| 日韩中文字幕免费| 糖心vlog免费在线观看 | 亚洲人成免费电影| 蜜桃无码一区二区三区| 奇米亚洲欧美| 伊人久久男人天堂| 成人18视频免费69| 91精品亚洲| 欧美精品一二区| 久久久久香蕉视频| 日韩午夜av| 热久久免费视频精品| 九九九在线观看| 日韩av中文字幕一区二区| 国产欧美日韩高清| 亚洲看片免费| 亚洲人成人一区二区在线观看| 先锋影音欧美| 日本不卡不卡| 亚洲精品成人悠悠色影视| 成人手机在线播放| 1234区中文字幕在线观看| 五月天中文字幕一区二区| a在线视频观看| japanese23hdxxxx日韩| 欧美裸体一区二区三区| 韩国三级hd中文字幕有哪些| 97se亚洲| 亚洲免费精彩视频| 欧美色视频一区二区三区在线观看| 99久久久国产精品美女| 欧美大片欧美激情性色a∨久久| 国产在线综合网| 久久99伊人| 91精品免费久久久久久久久| 亚洲国产成人精品一区二区三区| 99视频国产精品| 亚洲国产一区二区三区在线播| 成年人黄视频在线观看| 欧美日韩一区二区在线播放| 色婷婷一区二区三区av免费看| 成人中文字幕视频| 中国人与牲禽动交精品| 久久久久久福利| 日本美女一区二区| 国产精品国产亚洲精品看不卡15 | 天堂av网手机版| 影音先锋日韩资源| 国产精品一久久香蕉国产线看观看 | 美女欧美视频在线观看免费| 日韩理论片在线| 欧美网站免费观看| 秋霞影院一区| 亚洲欧美精品一区二区| 久久婷婷国产麻豆91| 免费一级欧美片在线观看| 国产精品日韩高清| 国产在线看片| 91国偷自产一区二区三区观看 | 99久久精品免费看国产 | 极品白嫩少妇无套内谢| 日韩在线视频精品| 欧美综合第一页| 亚洲第一色网站| 国产精品久久久久久久岛一牛影视| r级无码视频在线观看| 99久久久成人国产精品| 亚洲色图在线观看| 中文字幕亚洲高清| 国产成人自拍网| 秋霞在线一区二区| 91在线亚洲| 国产亚洲综合久久| 精产国品一区二区| 91麻豆国产福利在线观看| 国产精品69久久久| 在线视频亚洲欧美中文| 久久天天躁狠狠躁夜夜躁2014| www.五月婷婷.com| 日本一区二区综合亚洲| 国产av无码专区亚洲精品| 国产亚洲成av人片在线观黄桃| 欧美成人一区二区三区电影| 亚洲网站免费观看| 久久九九久久九九| 欧美 日韩 国产 激情| 久久91精品| 国产精品jizz在线观看麻豆| 久久米奇亚洲| 在线一区二区观看| 青娱乐国产视频| 日韩精品一二三| 日本不卡在线观看| 成人精品国产亚洲| 日韩视频亚洲视频| 99久久精品日本一区二区免费 | 狂野欧美性猛交xxxxx视频| 日韩午夜av电影| 久久高清无码视频| 成人一级视频在线观看| 2018日日夜夜| 蜜臀av免费一区二区三区| 欧美一级淫片videoshd| 黄色小视频在线观看| 欧美中文字幕一区二区三区| 秋霞网一区二区三区| 久久99国产精品麻豆| 91看片淫黄大片91| 91免费精品国偷自产在线在线| 欧美国产日韩视频| 亚洲 另类 春色 国产| 日本乱人伦aⅴ精品| 日本污视频网站| 精品无人码麻豆乱码1区2区| 日韩中文在线字幕| 激情亚洲另类图片区小说区| 欧美专区福利在线| 国产在线观看a| 亚洲成人性视频| 手机av免费观看| 自拍偷拍亚洲激情| 完美搭档在线观看| 蜜臀久久99精品久久久久久9| 日本成人性视频| 国产另类在线| 国产精品国模在线| 在线看一级片| 亚洲乱码国产乱码精品精天堂| 中文区中文字幕免费看| 亚洲黄色在线视频| 日韩中文字幕电影| 国产一区二区三区免费| 大j8黑人w巨大888a片| 日韩中文在线电影| 国产精品免费视频一区二区| 蜜桃视频成人m3u8| 欧美日韩国产999| 精品电影在线| 欧美变态tickling挠脚心| 中文字幕国产在线观看| 亚洲免费伊人电影| 波多野吉衣中文字幕| 国产福利一区二区| 99视频在线视频| 激情久久久久久| 亚洲一区三区| 偷拍亚洲色图| 亚洲综合在线小说| xxxxx.日韩| 91chinesevideo永久地址| 高清全集视频免费在线| 亚洲欧美日韩国产中文| 成人免费视频国产免费麻豆| 欧美日韩综合色| 91看片在线播放| 一区二区在线看| 奇米网一区二区| 99re6这里只有精品视频在线观看| 欧美激情国内自拍| 日韩精品免费专区| 日韩av资源在线| 欧美视频日韩| 无码人妻精品一区二区三区99v| 啪啪亚洲精品| 久久久久久高清| 给我免费播放日韩视频| 91视频国产精品| 国产精品诱惑| 国产精品成人一区| 欧美片第一页| 91成人国产在线观看| 九色91在线| 欧美激情视频网| dj大片免费在线观看| 最近2019中文字幕大全第二页| 激情小说 在线视频| 日韩精品有码在线观看| 天天操天天干天天舔| 欧美精品一区二区在线播放 | 精品久久久久av影院| 国产美女无遮挡永久免费| 欧美日韩欧美一区二区| 性色av一区二区三区四区| 欧洲精品一区二区三区在线观看| 亚洲天堂视频网站| 欧美色视频日本版| 久久国产视频一区| 色老汉一区二区三区| 精品免费囯产一区二区三区| 欧美日韩中文字幕在线| 一级成人黄色片| 色诱视频网站一区| 久久国产乱子伦精品| 欧美亚洲一区三区| 中日韩在线观看视频| 欧美久久久久免费| a天堂中文在线观看| 日韩亚洲欧美综合| 亚洲男人天堂久久| 日韩成人在线观看| 韩国三级av在线免费观看| 伊人久久免费视频| 麻豆网站在线| 色综合久综合久久综合久鬼88| 特级毛片在线| 午夜精品www| 亚洲精品国产精品国产| 国产精品第一第二| 国产999精品在线观看| av一区二区三区在线观看| 超碰精品在线| 日本一区免费在线观看| 日韩a一区二区| 久久综合亚洲精品| 国产精品美女久久久浪潮软件| 苍井空浴缸大战猛男120分钟| 日本欧美加勒比视频| 最好看的中文字幕| 久久亚洲私人国产精品va媚药| www.4hu95.com四虎| 一区二区三区日本| 日韩一级在线视频| 欧美一区二区三区在线观看视频| 懂色av蜜臀av粉嫩av分享吧| 亚洲欧美成人精品| 国产盗摄在线观看| 91精品国产91久久久久久不卡| 日韩电影网站| 97超级碰碰| 欧美精选视频在线观看| 影音先锋成人资源网站| 亚洲女同同性videoxma| 中文字幕视频三区| 久久综合九色综合久久久精品综合| 激情五月激情综合| 五月天亚洲精品| 国产精品久久久久久69| 日韩国产激情在线| a视频在线播放| 国产97在线视频| 涩涩屋成人免费视频软件| 欧美精品一区二区视频| 女人色偷偷aa久久天堂| 北条麻妃av高潮尖叫在线观看| 国产精品一区三区| 免费看的黄色录像| 欧美性色视频在线| 二区三区在线视频| 日韩亚洲精品电影| 午夜激情成人网| 国产欧美日韩视频一区二区三区| 欧美电影《睫毛膏》| avav在线看| 成人午夜激情视频| 91久久国产综合| 欧美性大战久久久久久久 | 国产精品一区二区男女羞羞无遮挡 | 国产精品综合一区二区三区| 国产伦精品一区二区三区视频女| 午夜激情久久久| www.久久久久久久久久| 最近更新的2019中文字幕| 综合毛片免费视频| 精品福利影视| 国语自产精品视频在线看8查询8| 天天看片天天操| 国产日韩欧美制服另类| 欧美特黄aaaaaa| 亚洲国产精品专区久久| 人人超在线公开视频| 亚洲japanese制服美女| 色88久久久久高潮综合影院| 少妇高清精品毛片在线视频| 99久久婷婷国产综合精品电影| 国产亚洲精品成人| 精品第一国产综合精品aⅴ| 成人在线观看亚洲| 成人a在线观看| 久久免费av| 成人亚洲精品777777大片| 国产免费观看久久| 最近中文字幕在线观看| 在线观看不卡av| 成人国产精品| 亚洲欧洲日本国产| 麻豆国产精品777777在线| 手机在线中文字幕| 6080日韩午夜伦伦午夜伦| av毛片在线播放| 91黄在线观看| 亚洲精品婷婷| 国产精品亚洲无码| 91国产福利在线| 在线a人片免费观看视频| 国产一区私人高清影院| 91精品蜜臀一区二区三区在线| 国产精品探花在线播放| 亚洲精品免费在线播放| 亚洲乱色熟女一区二区三区| 久久久久亚洲精品成人网小说| 女人抽搐喷水高潮国产精品| 国产精品又粗又长| 国产三级欧美三级日产三级99| 亚洲精品毛片一区二区三区| 综合国产在线视频| 成人日韩视频| 青青青在线视频播放| 久久婷婷久久一区二区三区| 久久久久久无码精品大片| 日韩中文字幕免费视频| 一区二区三区亚洲变态调教大结局| 久色视频在线播放| 久久久国产综合精品女国产盗摄| 免费看av在线| 欧美理论片在线观看| 日韩精品丝袜美腿| 制服丝袜综合网| 亚洲免费在线电影| 日本成人一区| 成人精品久久av网站| 99精品热6080yy久久| 亚洲做受高潮无遮挡| 欧美电影影音先锋| 成人黄色动漫| 亚洲精品视频一区二区三区| 国产成人精品网址| 中文人妻av久久人妻18| 久久艳片www.17c.com| 日本久久成人网| 免费网站在线观看黄| 精品日本高清在线播放| 天堂中文8资源在线8| 精品国产一区二区三区日日嗨|