高績(jī)效團(tuán)隊(duì)跟蹤的 9 個(gè)軟件開發(fā) KPI(軟件團(tuán)隊(duì)績(jī)效考核)
每日分享最新,最流行的軟件開發(fā)知識(shí)與最新行業(yè)趨勢(shì),希望大家能夠一鍵三連,多多支持,跪求關(guān)注,點(diǎn)贊,留言。
軟件開發(fā) KPI 就像工程團(tuán)隊(duì)的指導(dǎo)信標(biāo)。知道找出它們的最佳方法,以及九個(gè)這樣的 KPI 創(chuàng)造了奇跡。
為什么軟件開發(fā) KPI 很重要?
對(duì)于任何領(lǐng)域的成功和高效的團(tuán)隊(duì)來(lái)說,最重要的是“方向”。并且其中沒有絕對(duì)的“對(duì)”或“錯(cuò)”。這都是一個(gè)相對(duì)的和上下文的概念。軟件開發(fā) KPI(關(guān)鍵績(jī)效指標(biāo))充當(dāng)“北極星”,使團(tuán)隊(duì)朝著正確的方向前進(jìn)。
軟件開發(fā) KPI 經(jīng)常與指標(biāo)混淆。指標(biāo)是代表事實(shí)的數(shù)字,而 KPI 是對(duì)組織很重要的事情。選擇 KPI 而不評(píng)估它給您的團(tuán)隊(duì)帶來(lái)的影響將弊大于利。例如,“代碼行 (LOC)”可以是一個(gè)指標(biāo),但絕不應(yīng)該是軟件開發(fā)團(tuán)隊(duì)的“KPI”。
衡量正確的工程 KPI 有助于確保您擁有一支高績(jī)效和高效的工程團(tuán)隊(duì),這是真正的競(jìng)爭(zhēng)優(yōu)勢(shì)?!案咝阅堋焙汀案咝А钡亩x因業(yè)務(wù)性質(zhì)和許多其他因素而異。弄清楚這些 KPI 可以幫助您將重要與噪音區(qū)分開來(lái)。在本文中,我們將討論您應(yīng)該如何為您的團(tuán)隊(duì)選擇 KPI,并列出曾為其他工程團(tuán)隊(duì)工作的前 9 個(gè)軟件開發(fā) KPI。
如何以及如何不選擇 KPI
1. 始終考慮團(tuán)隊(duì)效率,而不是開發(fā)人員的生產(chǎn)力
軟件開發(fā)本質(zhì)上是一個(gè)團(tuán)隊(duì)概念,從長(zhǎng)遠(yuǎn)來(lái)看,選擇在個(gè)人層面跟蹤的 KPI 永遠(yuǎn)不會(huì)奏效。
2. KPI 不應(yīng)該是量化的
它應(yīng)該更多地關(guān)注您工作的質(zhì)量方面。跟蹤“提交計(jì)數(shù)”不能成為 KPI,但“客戶滿意度”是團(tuán)隊(duì)輸出質(zhì)量的指標(biāo),是一個(gè)很好的候選。
3.首先確定重要流程,然后選擇KPI
KPI 是對(duì)您的工程團(tuán)隊(duì)重要的績(jī)效指標(biāo)。首先確定對(duì)您重要的流程,然后確定 KPI 有助于實(shí)現(xiàn)這一目標(biāo)。需要考慮的一些工程流程包括規(guī)劃、執(zhí)行、代碼質(zhì)量、部署周期、測(cè)試、團(tuán)隊(duì)健康和用戶滿意度。
4. 永遠(yuǎn)不要“復(fù)制粘貼” KPI,即使是本文中的 KPI
請(qǐng)記住,組織的性質(zhì)、文化和發(fā)展方向?qū)τ谶x擇正確的 KPI 非常重要。最好的方法是從別人做什么和不做什么學(xué)習(xí),但永遠(yuǎn)不要僅僅因?yàn)樗鼘?duì)他們有用而復(fù)制它們。
5. 不要跟蹤你的團(tuán)隊(duì)不相信的 KPI
在決定哪些軟件開發(fā) KPI 對(duì)您的團(tuán)隊(duì)很重要時(shí),您還需要確定您的優(yōu)先級(jí)并告訴團(tuán)隊(duì)這對(duì)我們很重要。擁有錯(cuò)誤的 KPI 比根本沒有 KPI 更糟糕。
6.從小處著手
您不能一開始就說這 25 個(gè)工程 KPI 對(duì)我們很重要。從本質(zhì)上講,它認(rèn)為一切都很重要,這不可能是真的?;〞r(shí)間弄清楚什么是重要的是可以的,但不這樣做會(huì)削弱這些 KPI 的價(jià)值。
9 個(gè)有效的軟件開發(fā) KPI
這些是我們看到的一些 KPI 對(duì)軟件開發(fā)團(tuán)隊(duì)非常有效。(該順序并不表示重要性或有效性。)
1. 團(tuán)隊(duì)入職時(shí)間
新團(tuán)隊(duì)成員開始為團(tuán)隊(duì)的交付做出有意義的貢獻(xiàn)所需的時(shí)間。這有助于了解該團(tuán)隊(duì)的學(xué)習(xí)曲線有多大,也表明該團(tuán)隊(duì)在向新成員介紹團(tuán)隊(duì)的架構(gòu)、技術(shù)堆棧和開發(fā)實(shí)踐方面的效率如何。較低的數(shù)字表示較小的學(xué)習(xí)曲線,新成員可以開始快速做出貢獻(xiàn),從而影響團(tuán)隊(duì)的整體生產(chǎn)力以及新團(tuán)隊(duì)成員的滿意度。
2. 測(cè)試有效性
這可以使用幾個(gè)指標(biāo)的組合來(lái)衡量,例如在非生產(chǎn)環(huán)境與生產(chǎn)環(huán)境中發(fā)現(xiàn)的錯(cuò)誤的比率、在非生產(chǎn)環(huán)境中測(cè)試的用戶場(chǎng)景的百分比以及測(cè)試分支覆蓋率。此 KPI 的主要目的應(yīng)該是確保團(tuán)隊(duì)在上線之前用于測(cè)試更改的措施是有效的,并且生產(chǎn)缺陷的開銷不會(huì)減慢團(tuán)隊(duì)的速度。
3. 有效發(fā)展
修改了多少代碼并不重要——重要的是代碼的有效性。有效性是需要最少的返工并且團(tuán)隊(duì)在添加新更改時(shí)不會(huì)繼續(xù)添加代碼債務(wù)。返工有時(shí)也表明要求不明確或經(jīng)常進(jìn)行臨時(shí)增強(qiáng)。跟蹤代碼有效性的另一個(gè)好方法是開發(fā)的代碼中有多少百分比對(duì)您的客戶產(chǎn)生了影響。將此作為 KPI 進(jìn)行跟蹤有助于樹立有效工作比更多工作更有價(jià)值的觀念。
4. 客戶滿意度
工程團(tuán)隊(duì)完成的所有工作最終都會(huì)為最終用戶提供新功能或更好的體驗(yàn)。衡量最終用戶的滿意度成為一個(gè)很好的衡量標(biāo)準(zhǔn),可以表明您的工程團(tuán)隊(duì)是否以正確的心態(tài)工作。跟蹤這一點(diǎn)的一些方法可以是測(cè)量功能的使用頻率,也可以來(lái)自新功能發(fā)布后的反饋調(diào)查。根據(jù)您的產(chǎn)品類型和您的組織提供的客戶支持,客戶報(bào)告錯(cuò)誤的頻率和交付客戶請(qǐng)求的速度等指標(biāo)在衡量滿意度方面也起著重要作用。您可以通過查看其周期時(shí)間(從梳理到生產(chǎn)部署)來(lái)跟蹤功能請(qǐng)求的速度。另一個(gè)非常有效的指標(biāo)是 NPS(凈推薦值),它是最終用戶向其他人推薦您的產(chǎn)品的可能性的分?jǐn)?shù)。這是使用客戶調(diào)查和反饋表進(jìn)行跟蹤的。
5. 周期時(shí)間
廣泛使用且正確的軟件開發(fā) KPI,因?yàn)樗墙桓端俣鹊拿鞔_指標(biāo)。周期時(shí)間主要幫助您了解團(tuán)隊(duì)的敏捷性以及您花費(fèi)大部分時(shí)間的領(lǐng)域。例如,如果在暫存環(huán)境中進(jìn)行測(cè)試所花費(fèi)的時(shí)間超過了開發(fā)項(xiàng)目,則它暗示您要自動(dòng)化/優(yōu)化您的測(cè)試框架。
跟蹤任何任務(wù)的周期時(shí)間的最佳方法是從開始(計(jì)劃)到實(shí)現(xiàn)(生產(chǎn)部署)。描繪開發(fā)過程全貌的周期時(shí)間示例如下所示:
將周期時(shí)間作為 KPI 跟蹤可幫助您了解不同流程的效率。有時(shí)不同階段的周期時(shí)間可能無(wú)法精確到分鐘,但比較視圖和不同流程的整體劃分有助于您優(yōu)化正確的區(qū)域。
6. 生產(chǎn)穩(wěn)定性和可觀察性
沒有系統(tǒng)是完美的,軟件開發(fā)中的錯(cuò)誤是不可避免的。您需要接受這樣一個(gè)事實(shí),即完善開發(fā)過程無(wú)濟(jì)于事。擁有適當(dāng)?shù)目捎^察性機(jī)制以最大程度地減少影響是解決此問題的最佳方法。關(guān)注流程的速度和穩(wěn)定性是關(guān)鍵(也是 DORA 指標(biāo)思想的核心)。一些可以幫助您了解穩(wěn)定性的軟件開發(fā) KPI 是:
- CFR — 變更失敗率— 導(dǎo)致生產(chǎn)缺陷的部署百分比,可幫助您了解您的團(tuán)隊(duì)發(fā)生修復(fù)缺陷開銷的頻率。
- MTTD – 平均檢測(cè)時(shí)間– 在生產(chǎn)中識(shí)別缺陷所需的平均時(shí)間 – 這代表了您的監(jiān)控和可觀察性機(jī)制的有效性。
- MTTR — 平均恢復(fù)時(shí)間 — 檢測(cè)到生產(chǎn)缺陷后修復(fù)生產(chǎn)缺陷所需的平均時(shí)間 — 傳達(dá)您的團(tuán)隊(duì)找出和解決問題以盡量減少對(duì)最終用戶的影響的速度。
7. 團(tuán)隊(duì)健康和滿意度
理查德布蘭森說:“照顧好你的員工,他們就會(huì)照顧好你的客戶。” 由于每個(gè)人仍在從大流行后的倦怠中恢復(fù)過來(lái),這比以往任何時(shí)候都更加重要。確保團(tuán)隊(duì)不會(huì)精疲力盡并對(duì)他們正在做的工作類型感到滿意,這是擁有高效和富有成效的團(tuán)隊(duì)的基本支柱。一些有助于跟蹤這一點(diǎn)的指標(biāo)是:
- 每個(gè)人都想致力于開發(fā)新功能和最新技術(shù)。如果你的團(tuán)隊(duì)不斷致力于解決現(xiàn)有系統(tǒng)的 bug 和維護(hù),勢(shì)必會(huì)引起團(tuán)隊(duì)成員的不滿。
- 開發(fā)經(jīng)驗(yàn)——測(cè)試對(duì)系統(tǒng)的一行更改是否太難了?為開發(fā)人員配備工具和靈活性以快速測(cè)試更改或運(yùn)行小型 POC 對(duì)于擁有更快樂的團(tuán)隊(duì)至關(guān)重要。
- 花在會(huì)議上的時(shí)間與實(shí)際工作——軟件開發(fā)團(tuán)隊(duì)經(jīng)常面臨“會(huì)議疲勞”,他們?cè)跁?huì)議上花費(fèi)的時(shí)間多于高效工作,這導(dǎo)致了通常可以避免的倦怠和上下文切換。了解團(tuán)隊(duì)參加了多少次會(huì)議或他們?cè)跁?huì)議上花費(fèi)的時(shí)間百分比可以幫助您了解團(tuán)隊(duì)對(duì)會(huì)議的看法。
8. 文檔和知識(shí)共享
為了使任何軟件開發(fā)團(tuán)隊(duì)有效地工作,必須在整個(gè)團(tuán)隊(duì)中廣泛共享知識(shí)。它可以是代碼文檔或組件規(guī)范或設(shè)計(jì)文檔的形式。在當(dāng)前情況下,問題不是“是否”團(tuán)隊(duì)成員要切換到不同的團(tuán)隊(duì)或組織,而是“何時(shí)”的問題——0% 的人員流失是不可能的時(shí)期。解決這個(gè)問題的最佳方法是減少團(tuán)隊(duì)內(nèi)部的知識(shí)孤島,這樣即使團(tuán)隊(duì)成員決定離開,“演出也可以繼續(xù)”。涵蓋這方面的工程 KPI 包括:
- 已記錄的代碼庫(kù)的百分比。組件圖或 API 規(guī)范的更新頻率可能是表示代碼/設(shè)計(jì)文檔實(shí)踐的幾個(gè)指標(biāo)。
- 新加入者了解系統(tǒng)所需的會(huì)議次數(shù)。大量會(huì)議意味著沒有足夠的文檔作為新團(tuán)隊(duì)成員的自助服務(wù)。
- 只有一名團(tuán)隊(duì)成員知道的代碼庫(kù)百分比。(更高的百分比 = 團(tuán)隊(duì)內(nèi)更多的知識(shí)孤島)。
9. 任務(wù)規(guī)劃和可預(yù)測(cè)性
需要完成哪些任務(wù)、何時(shí)完成以及由誰(shuí)來(lái)完成——這些都是在規(guī)劃項(xiàng)目時(shí)需要回答的關(guān)鍵問題。不一定所有團(tuán)隊(duì)成員都參與做出此決定,但是,團(tuán)隊(duì)需要以可預(yù)測(cè)的方式工作以促進(jìn)組織的發(fā)展。以下是一些有效的 KPI:
- 工作分解結(jié)構(gòu)——項(xiàng)目管理完全基于你將任務(wù)分解為更易于管理的任務(wù)的程度——這有助于明確需要完成的工作并更好地估計(jì)可能花費(fèi)的時(shí)間。
- 可預(yù)測(cè)性——這表明在一個(gè)時(shí)間范圍內(nèi)完成了承諾工作的百分比。諸如臨時(shí)請(qǐng)求或生產(chǎn)錯(cuò)誤等多種因素可能會(huì)影響可預(yù)測(cè)性。
- WIP 計(jì)數(shù)——一起處理多件事情是最佳的,但一起處理太多事情是不可取的。通過查看開發(fā)團(tuán)隊(duì),您可以了解規(guī)劃過程的合理性。
要避免的 4 個(gè)危險(xiǎn)的軟件工程 KPI
您應(yīng)該不惜一切代價(jià)盡量避免這四個(gè)指標(biāo)。它們往往對(duì)您的開發(fā)團(tuán)隊(duì)弊大于利。
1. 積極編碼日
該指標(biāo)絕不代表個(gè)人所做工作的質(zhì)量。每個(gè)人的工作模式可能不同——有些人可能需要三天時(shí)間來(lái)理解一個(gè)需求并從邏輯上規(guī)劃出究竟需要做什么,然后在一天內(nèi)完成實(shí)際任務(wù)。假設(shè)每個(gè)團(tuán)隊(duì)成員都應(yīng)該每天編碼是一個(gè)毫無(wú)根據(jù)的假設(shè)。團(tuán)隊(duì)還有許多其他事情,例如審查、設(shè)計(jì)、測(cè)試、發(fā)布、規(guī)劃、修飾和幫助初級(jí)團(tuán)隊(duì)成員等。作為 KPI 跟蹤編碼天數(shù)會(huì)使所有這些其他功能變得無(wú)用。而不是你想要在一個(gè)高績(jī)效團(tuán)隊(duì)中吸收的正確文化。
2. 代碼行
毫無(wú)疑問,這個(gè)古老的指標(biāo)是跟蹤工程團(tuán)隊(duì)生產(chǎn)力/產(chǎn)出的最糟糕的方法。跟蹤像 LOC 這樣的 KPI 表明,對(duì)于一項(xiàng)任務(wù),如果一個(gè)團(tuán)隊(duì)使用 100 行智能代碼比 1000 行錯(cuò)誤代碼更糟糕。任何軟件開發(fā)團(tuán)隊(duì)都不應(yīng)該將 LOC 視為 KPI。
3.沖刺速度
另一個(gè)非常常被濫用的指標(biāo)是速度。速度可以很好地指示完成了多少計(jì)劃任務(wù),也有助于未來(lái)的沖刺計(jì)劃。但絕不是團(tuán)隊(duì)生產(chǎn)力或有效性的指標(biāo)。當(dāng) Velocity 被用來(lái)推動(dòng)開發(fā)人員和比較團(tuán)隊(duì)時(shí),它就變成了一個(gè)危險(xiǎn)的 KPI。即使在同一個(gè)組織中的兩個(gè)團(tuán)隊(duì)也可以有非常不同的估計(jì)標(biāo)準(zhǔn),并且作為團(tuán)隊(duì)生產(chǎn)力的 KPI 進(jìn)行跟蹤為系統(tǒng)博弈打開了大門。將速度作為 KPI 進(jìn)行跟蹤通常會(huì)導(dǎo)致團(tuán)隊(duì)為更好的 KPI 而工作而不是更好的工作。
4. 將開發(fā)人員相互堆疊
將軟件開發(fā) KPI 與以“開發(fā)人員生產(chǎn)力”名義跟蹤個(gè)人的指標(biāo)混淆是很常見的。工程 KPI 應(yīng)該代表團(tuán)隊(duì)或項(xiàng)目的整體狀態(tài),而不是個(gè)人。最重要的是,將一個(gè)開發(fā)人員與另一個(gè)開發(fā)人員進(jìn)行比較是提高團(tuán)隊(duì)生產(chǎn)力所能做的最糟糕的事情。您的團(tuán)隊(duì)必須使用這些 KPI 為提高工程生產(chǎn)力做出貢獻(xiàn),并且不要感到受到它們的威脅。
選擇對(duì)您的團(tuán)隊(duì)重要的正確軟件開發(fā) KPI 的過程可能會(huì)稍微耗時(shí),但如果心態(tài)正確,從長(zhǎng)遠(yuǎn)來(lái)看,這將非常有幫助。正確的績(jī)效指標(biāo)就像在動(dòng)蕩時(shí)期為您的工程團(tuán)隊(duì)指引信標(biāo),幫助您確保朝著正確的方向前進(jìn)。