讀者問題:提升研發(fā)效率最有效的方法有哪些?
首先,這個(gè)問題的前提是你敢于質(zhì)疑你的研發(fā)方法。如果發(fā)現(xiàn)團(tuán)隊(duì)長(zhǎng)時(shí)間無法突破研發(fā)瓶頸,很可能是因?yàn)檠邪l(fā)的方法不對(duì)。
團(tuán)隊(duì)的管理者應(yīng)時(shí)常審視團(tuán)隊(duì)使用的研發(fā)策略,思考有沒有更好的方法,絕不能固守常態(tài)。
特別是在自動(dòng)駕駛領(lǐng)域,各種研發(fā)策略日新月異,管理者如果跟不上節(jié)奏,很快就會(huì)被行業(yè)淘汰。
研發(fā)策略確定之后,就是效率的問題了。
個(gè)人認(rèn)為,研發(fā)的效率主要由兩個(gè)方面決定。一方面是工程師們是否有engineering excellence,即工程的卓越性,一方面是管理者是否搭建支持工程卓越性的文化與制度。
狹義上來講,工程卓越性是指代碼的流程是否足夠高效,足夠嚴(yán)謹(jǐn),從而保證代碼的質(zhì)量。從build,到code review,到test,到release,每一環(huán)都不可忽視。
團(tuán)隊(duì)一旦決定更新研發(fā)策略,整個(gè)代碼流程也要隨之變動(dòng),代碼很可能在這個(gè)過程中越來越雜亂無章。因此,code refactoring也需要時(shí)常進(jìn)行,讓代碼禁得住時(shí)間的考驗(yàn)。工程師們需要時(shí)常問自己以下這些問題。
我的code能讓公司的新員工看懂嗎?
我的文檔里寫的話一般人看得懂嗎?術(shù)語多嗎?還是,我根本就沒有為了這段代碼寫過任何文檔?
我的這項(xiàng)測(cè)試是否合理?測(cè)試結(jié)果是否具有可重復(fù)性?
我是否嚴(yán)格遵守了公司的style guide?
我的code可以用在其他地方嗎?容易被其他團(tuán)隊(duì)借鑒嗎?
如果給我機(jī)會(huì)重新寫一遍這段code,我會(huì)怎樣寫?
工程卓越性近年來尤為盛行。在成熟互聯(lián)網(wǎng)公司往往比較受重視。在大公司,工程師數(shù)量龐大,更強(qiáng)調(diào)團(tuán)隊(duì)合作,所以更依賴工程卓越性。 而在小公司,速度往往更重要,code只要“能用”,就是好code。然而,日積月累,tech debt(技術(shù)負(fù)債)會(huì)越來越多,從而導(dǎo)致code質(zhì)量成為研發(fā)的瓶頸。 這也是很多團(tuán)隊(duì)困惑的原因。明明所有人都在加班加點(diǎn)地研發(fā),卻始終進(jìn)度緩慢。其實(shí),問題不在于技術(shù)本身,而在于tech debt。 而我們明明知道有tech debt,卻往往不做出任何改變,任其增長(zhǎng),導(dǎo)致團(tuán)隊(duì)陷于惡性循環(huán)之中。這是為什么? 著名的軟件工程師Martin Fowler曾把tech debt歸為了四個(gè)象限。團(tuán)隊(duì)的每一位成員都要定期用這個(gè)表審視自己的項(xiàng)目,看看是否有tech debt。
因此,公司需要從文化上鼓勵(lì)團(tuán)隊(duì)做到工程卓越性。比如,如果團(tuán)隊(duì)趕時(shí)間,就要承擔(dān)因?yàn)檫^于匆忙帶來的后果。要么就給團(tuán)隊(duì)充足的時(shí)間去做,時(shí)間分配要合理。如果一個(gè)看似簡(jiǎn)單的項(xiàng)目卻需要半年時(shí)間完成,團(tuán)隊(duì)領(lǐng)導(dǎo)者不可以一上來就去否定,而要先耐心了解背后的原因。 如果是一個(gè)全新的研發(fā)策略,團(tuán)隊(duì)往往會(huì)在開發(fā)過程中犯很多錯(cuò)誤。團(tuán)隊(duì)領(lǐng)導(dǎo)者同樣不可以一上來就去否定,而要鼓勵(lì)團(tuán)隊(duì)分析錯(cuò)誤的而原因,避免以后再犯。 另外,工程師們不愿意清理tech debt的一個(gè)原因是怕影響進(jìn)度。公司可以計(jì)劃出一月的時(shí)間,讓所有團(tuán)隊(duì)一起清理tech debt,不要追進(jìn)度,這樣就可以保證工程師在沒有壓力的環(huán)境下清理tech debt。 除了code質(zhì)量,工程卓越性也指團(tuán)隊(duì)的配套研發(fā)工具是否到位。搭建配套工具往往有幾個(gè)目的:將研發(fā)流程自動(dòng)化、讓數(shù)據(jù)更容易提取并處理、讓測(cè)試結(jié)果更凸顯。 靠譜的公司會(huì)在配套工具上下重金,或是在公司內(nèi)創(chuàng)立高效的團(tuán)隊(duì)去搭建工具,為研發(fā)工程師服務(wù)。工具團(tuán)隊(duì)如果掉了鏈子,研發(fā)團(tuán)隊(duì)的效率會(huì)受到直接影響。 歡迎大家閱讀《落地之路》,學(xué)習(xí)更多研發(fā)團(tuán)隊(duì)管理經(jīng)驗(yàn)。
責(zé)任編輯:xj
原文標(biāo)題:如何提升研發(fā)效率?Code質(zhì)量如何影響研發(fā)?
文章出處:【微信公眾號(hào):自動(dòng)駕駛說】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11039瀏覽量
102449 -
Code
+關(guān)注
關(guān)注
0文章
68瀏覽量
15345 -
軟件工程師
+關(guān)注
關(guān)注
8文章
217瀏覽量
21107
原文標(biāo)題:如何提升研發(fā)效率?Code質(zhì)量如何影響研發(fā)?
文章出處:【微信號(hào):zidongjiashishuo,微信公眾號(hào):自動(dòng)駕駛說】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論