【編者按】說起敏捷大家并不陌生,自從國外引進(jìn)后,一直都很火,很多人都在討論。無論是項(xiàng)目延期,失敗,質(zhì)量低下等等,你總能聽到:“你是不是沒有敏捷?”。因此,敏捷就成了包治百病的“靈丹妙藥”。于是很多項(xiàng)目組公司開始學(xué)習(xí)敏捷、采用敏捷。但是遺憾的是很多人嘗試過后發(fā)現(xiàn)以前的問題并沒有被敏捷所解決掉,反而帶來了很多新的問題。
在《敏捷,是靈丹妙藥還是又一個(gè)忽悠?》這篇文章中也曾提到,很多人為了敏捷,文檔不要了,計(jì)劃不要了,測(cè)試用例也不要了,認(rèn)為幾個(gè)人站在走廊里溝通溝通就把一切都搞定了,因?yàn)槊艚萘寺铩5菃栴}并沒有因?yàn)椤懊艚荨傲硕唤鉀Q掉,于是乎得出敏捷是個(gè)忽悠的結(jié)論。
作者Dylan是騰訊無線研發(fā)部副總監(jiān),擁有十多年測(cè)試行業(yè)經(jīng)驗(yàn)。此前dylan在騰訊和華為主場(chǎng)展開了關(guān)于敏捷研發(fā)質(zhì)量的技術(shù)交流。作為分享嘉賓之一的Mary就回顧通信和移動(dòng)互聯(lián)網(wǎng)兩個(gè)行業(yè)的敏捷研發(fā)理念差異, 并結(jié)合自身經(jīng)歷做了一番思考。下面我們一起來看下:
從傳統(tǒng)軟件業(yè)到移動(dòng)互聯(lián)網(wǎng)- 質(zhì)量標(biāo)準(zhǔn)的弱化
傳統(tǒng)大型軟件公司,開發(fā)節(jié)奏慢周期長,QA和測(cè)試環(huán)節(jié)受重視程度高,測(cè)試結(jié)論有權(quán)威性,越在后期發(fā)現(xiàn)的BUG讓開發(fā)人員如臨大敵。
轉(zhuǎn)型來到移動(dòng)互聯(lián)網(wǎng)部門,咱開始學(xué)習(xí)敏捷研發(fā)理論了,接受起來蠻順利,隨著參與項(xiàng)目的增多,越來越感受到自己的職業(yè)價(jià)值觀不斷受到擠壓,各種混亂事件讓測(cè)試人員及團(tuán)隊(duì)挺糾結(jié),質(zhì)量標(biāo)準(zhǔn)很難成為嚴(yán)格遵守的權(quán)威:
整個(gè)就是測(cè)試團(tuán)隊(duì)的糾纏血淚史。這幾年我們也采用了旁敲側(cè)擊的方法提升研發(fā)質(zhì)量,比如幫忙開發(fā)便利的自測(cè)工具,合作分析代碼覆蓋率,冒充用戶上論壇投訴,拿競(jìng)品對(duì)手的結(jié)果來刺激團(tuán)隊(duì)等等,但始終是治標(biāo)不治本。
回頭再看看,所有掩蓋在敏捷研發(fā)過程中的漏洞,日積月累,最終還是會(huì)由整個(gè)業(yè)務(wù)團(tuán)隊(duì)來承擔(dān)苦果。所以時(shí)常在想,敏捷研發(fā)理論是否被神化了,是否常被錯(cuò)誤理解而讓不職業(yè)的現(xiàn)象層出不窮?
敏捷不是新的研發(fā)理論,只是項(xiàng)目管理的一種形式
傳統(tǒng)研發(fā)模式和敏捷模式到底有什么要素是不同的?或者說,傳統(tǒng)軟件和互聯(lián)網(wǎng)軟件有什么不同?
最后發(fā)現(xiàn),沒有一個(gè)要素能真正把互聯(lián)網(wǎng)和其他軟件領(lǐng)域區(qū)別開來,所以我們只能這么看:瀑布研發(fā)和敏捷研發(fā)沒有本質(zhì)不同,更別說誰好誰壞了,只是因?yàn)樾袠I(yè)競(jìng)爭的不同,看起來交付節(jié)奏不一樣而已。節(jié)奏和軟件研發(fā)的傳統(tǒng)精髓沒有關(guān)系。
今天競(jìng)爭足夠激烈(利潤夠大),華為必須快速占領(lǐng)某國市場(chǎng)了,它可以立馬快速的研發(fā)和交付明天手機(jī)QQ成最大IM平臺(tái)了,它可以一年提交一個(gè)新版本,比傳統(tǒng)軟件業(yè)的質(zhì)量環(huán)節(jié)更多更嚴(yán)。
研發(fā)團(tuán)隊(duì)根據(jù)行業(yè)(用戶)需求和生存情況來決定敏捷節(jié)奏(如上圖的四種生存情況),但是團(tuán)隊(duì)的內(nèi)在素質(zhì)能力不應(yīng)該有什么差異。傳統(tǒng)軟件行業(yè)素養(yǎng)高的開發(fā),換到互聯(lián)網(wǎng)團(tuán)隊(duì),同樣素養(yǎng)高。
批判常見的幾個(gè)敏捷誤區(qū)
既然如此,我們來依次對(duì)公司里流行的關(guān)于敏捷的偽論斷進(jìn)行剝皮:
1.新人培訓(xùn)從敏捷研發(fā)開始
剛畢業(yè)的學(xué)生進(jìn)入公司要怎么培養(yǎng)?本人建議2-3年的職場(chǎng)新人不要學(xué)習(xí)任何敏捷流程的理論:
總之,入行新人要學(xué)四個(gè)字-職業(yè)操守,刻在心里,打好基本功,未來不管在什么項(xiàng)目都會(huì)受用。
2 .溝通比文檔更重要
這句話看起來有道理,如果你是幾個(gè)人的小團(tuán)隊(duì),如果人員穩(wěn)定,功能模塊比較聚焦,生命周期也不太長,也沒客戶找你要什么手冊(cè),確實(shí)不需要寫什么文檔。
但是如果你是這樣的團(tuán)隊(duì),文檔可能真的比溝通更重要:
沒有文檔的惡果,可以參看以下的事件:
以上6個(gè)要素,符合的越多,文檔必要性就越大,尤其是以精品為唯一導(dǎo)向的大公司,首先要有對(duì)文檔的基本認(rèn)識(shí)。無數(shù)軟件行業(yè)的先輩都不是傻子,文檔上偷懶誰都會(huì)。
這個(gè)行業(yè)也許不需要利用率太低,可讀性差,格式復(fù)雜死板,更新太頻繁的文檔,比如:
但是這個(gè)行業(yè)的團(tuán)隊(duì)需要圖形化,模塊化,可視化程度高,邏輯詳細(xì)完整準(zhǔn)確,容易傳播的文檔:如產(chǎn)品邏輯+異常邏輯圖,軟件架構(gòu)設(shè)計(jì)圖,經(jīng)典BUG根因分析,體驗(yàn)/競(jìng)品體驗(yàn)分析公司可以考慮把可視化編輯工具集成到WEB端,直接在網(wǎng)頁上編輯和查閱文檔。
我們甚至可以利用創(chuàng)新的輸入工具,提高文本錄入的效率。如我們的APP自研反饋工具利用語音識(shí)別接口,錄入BUG的問題描述。
3. 邊重構(gòu),邊生活
竊以為這句話只在刀架在脖子上才有效。實(shí)在不得已而為之(例如面臨生死存亡之類的危機(jī))。沒想清楚長期架構(gòu),最好不要急著開工。磨刀不誤砍柴工是真理。
以前公司的開發(fā),30-40%的時(shí)間花在概念設(shè)計(jì)和架構(gòu)設(shè)計(jì),30%在細(xì)節(jié)設(shè)計(jì),10%在Coding, 20-30%在代碼自測(cè)。Coding本身只占很少一點(diǎn)時(shí)間。技術(shù)總監(jiān)這樣教育新人:你不是Coder,你是Designer!Coder是比較低級(jí)的工作,軟件設(shè)計(jì)才是高端活。
任何時(shí)候的思考,對(duì)于架構(gòu)的投入怎么充分都不為過。微信發(fā)布那么多版本,這兩年重構(gòu)可能幾乎沒有。這需要有人盡早思考清楚未來做朋友圈,做開放接口,做插件化等等,開發(fā)知道未來要演進(jìn)的形態(tài),在一開始就有所規(guī)劃,預(yù)留接口。否則,今天決定要做SNS,重構(gòu)一次,明天要做插件化,再重構(gòu)一次,后天作開放平臺(tái)和公共帳號(hào),再重構(gòu)…..對(duì)公司來說就是個(gè)噩夢(mèng)了。
如果團(tuán)隊(duì)沒有架構(gòu)大牛,則需要充分的頭腦風(fēng)暴,每個(gè)迭代不能只想近期要做什么,面向未來思考和歸納。警惕以下案例:
4.迭代版本的BUG多一點(diǎn)是正常的
首先,每個(gè)交付到測(cè)試團(tuán)隊(duì)的產(chǎn)品,必須是可測(cè)的,自測(cè)過的。不可測(cè)的版本就不叫交付!
對(duì)于可測(cè)內(nèi)容追求在一段時(shí)間周期內(nèi),盡可能高質(zhì)量的發(fā)布,是修煉職業(yè)操守的目標(biāo),更是精品團(tuán)隊(duì)的目標(biāo)。每一個(gè)掛起的有效BUG都需要確認(rèn):為什么改不了?什么時(shí)候改?對(duì)發(fā)布影響如何? (當(dāng)然,因Android平臺(tái)的碎片化會(huì)帶來大量難以重現(xiàn)的機(jī)型相關(guān)問題,我們可以通過其它技術(shù)手段處理)
如果因市場(chǎng)形勢(shì)必須要盡快發(fā)布,至少遵守一個(gè)底線:嚴(yán)重BUG必須整改而且優(yōu)先整改。所謂嚴(yán)重就是可能讓用戶拋棄你的問題:速度慢,賣點(diǎn)明顯不如對(duì)手,賣點(diǎn)無法正常使用,不穩(wěn)定,可能給用戶帶來額外損失(手機(jī)系統(tǒng),安全,賬號(hào),費(fèi)用等等)。這樣的發(fā)布還不如不發(fā)。
每個(gè)版本建議總結(jié)一下:嚴(yán)重BUG以及用戶投訴大的問題,根源是什么,改進(jìn)措施是什么,歸檔分享。
對(duì)于迭代測(cè)試發(fā)現(xiàn)的一堆問題都攢到最后,期望有天能自動(dòng)消失的項(xiàng)目團(tuán)隊(duì),我都不想點(diǎn)評(píng)了。每一個(gè)莫名放過缺陷的產(chǎn)品都可能成為一個(gè)折翼的天使。
精品研發(fā)團(tuán)隊(duì),應(yīng)該對(duì)眼里的軟件錯(cuò)誤有潔癖,就算修復(fù)不了,我也記錄下來錯(cuò)在哪里。
對(duì)于敏捷研發(fā)的忽悠觀點(diǎn),就批判這么多。精品觀,本人的理解首先要回歸職業(yè)的原點(diǎn)。每個(gè)角色堅(jiān)守職業(yè)操守,會(huì)讓團(tuán)隊(duì)成為老虎 ,讓我們?cè)诰仿飞献叩酶h(yuǎn)。
文章來自:騰訊