開發(fā)人員的生產(chǎn)力
最近關(guān)于軟件開發(fā)人員生產(chǎn)力的話題比較火爆。大家在代碼行數(shù)和功能點(diǎn)等方面提出了自己的看法和見解。對(duì)此話題我想談?wù)勛约旱目捶ā?/span>
給我指標(biāo)
如果我們開發(fā)人員的生產(chǎn)力可以衡量(我并不完全認(rèn)同這個(gè)觀點(diǎn)),那么我們必須問我們?yōu)槭裁匆@樣做。
這樣做的愿望當(dāng)然很強(qiáng)烈。經(jīng)理們想知道誰(shuí)是他們最好的開發(fā)人員,并且他們想能夠在績(jī)效評(píng)估時(shí)幫助他們進(jìn)行指標(biāo)評(píng)定。HR 希望能夠記錄績(jī)效問題。CEO們想知道他們花的錢是否得到了有效的利用。
即使您使用新工具來衡量個(gè)人開發(fā)人員的生產(chǎn)力,這些指標(biāo)也可能會(huì)受到影響。如今,代碼行數(shù)被認(rèn)為是一個(gè)笑話指標(biāo)?!澳阆胍a行?我給你幾行代碼!” 每天的提交次數(shù)或第一次 PR 評(píng)論的平均時(shí)間有什么不同嗎?如果您根據(jù)這些指標(biāo)衡量每個(gè)開發(fā)人員,他們肯定會(huì)改進(jìn)這些指標(biāo)。但代價(jià)是什么?可能以犧牲團(tuán)隊(duì)生產(chǎn)力為代價(jià)。
軟件開發(fā)是一項(xiàng)團(tuán)隊(duì)運(yùn)動(dòng)。如果在任何指標(biāo)上相互衡量各個(gè)開發(fā)人員,他們將開始相互競(jìng)爭(zhēng),尤其是在金錢和晉升的機(jī)會(huì)面前。然而一個(gè)團(tuán)隊(duì)只講相互競(jìng)爭(zhēng),那么這個(gè)團(tuán)隊(duì)就不能算是一個(gè)優(yōu)秀的團(tuán)隊(duì)。
在軟件業(yè)務(wù)中完成任務(wù)的是團(tuán)隊(duì),而不是個(gè)人開發(fā)人員。軟件開發(fā)在這方面很有趣。實(shí)際編碼通常最好由經(jīng)過深思熟慮的個(gè)人完成,但編寫代碼前后發(fā)生的工作對(duì)使事情成功有很大貢獻(xiàn)。
衡量團(tuán)隊(duì)
開發(fā)團(tuán)隊(duì)在編寫任何代碼之前討論并給定項(xiàng)目的設(shè)計(jì)和實(shí)現(xiàn)。當(dāng)個(gè)人開發(fā)人員編寫代碼時(shí),通常是在隊(duì)友的幫助下回答問題并提供見解。所有團(tuán)隊(duì)成員審查并批準(zhǔn)在代碼審查期間完成的工作。每個(gè)人都齊心協(xié)力使事情發(fā)生。
團(tuán)隊(duì)的力量在于每個(gè)成員。每個(gè)成員的力量就是團(tuán)隊(duì)?!茽枴そ芸诉d,NBA 教練
這就是為什么應(yīng)該衡量團(tuán)隊(duì)生產(chǎn)力而不是衡量個(gè)人開發(fā)人員生產(chǎn)力的原因。開發(fā)人員作為一個(gè)團(tuán)隊(duì)一起工作,朝著一個(gè)共同的目標(biāo)努力,這才是管理者真正想要的。
團(tuán)隊(duì)領(lǐng)導(dǎo)者知道,如果他們提高團(tuán)隊(duì)指標(biāo),他們就會(huì)取得成功。能夠看到專注于正確的事情并關(guān)注正確的指標(biāo)的團(tuán)隊(duì)將會(huì)改進(jìn)。團(tuán)隊(duì)領(lǐng)導(dǎo)希望提高他們的生產(chǎn)力。他們想要變得更好。他們想要交付。衡量基于團(tuán)隊(duì)的指標(biāo)有助于他們做這些事情。
我問是否應(yīng)該甚至可以衡量開發(fā)人員的生產(chǎn)力。但我覺得這是一個(gè)錯(cuò)誤的問題。個(gè)人開發(fā)人員的實(shí)力取決于他們的團(tuán)隊(duì)。正確衡量團(tuán)隊(duì)指標(biāo)可以使團(tuán)隊(duì)獲得更好的結(jié)果和更好的軟件。我們應(yīng)該鼓勵(lì)我們的團(tuán)隊(duì),通過衡量他們一起做的事情來更好更快地構(gòu)建軟件,而不是衡量個(gè)人。
