敏捷團(tuán)隊(duì)的四個(gè)關(guān)鍵流程指標(biāo)
什么是流程工程以及為什么對(duì)軟件交付很重要?
流程工程是一門(mén)創(chuàng)造性、可視化以及優(yōu)化從企業(yè)到客戶(hù)的價(jià)值流動(dòng)的科學(xué)。它解決了大多數(shù)產(chǎn)品生產(chǎn)商面臨的巨大挑戰(zhàn):如何以產(chǎn)品和服務(wù)的形式創(chuàng)造價(jià)值,并盡可能快速、可持續(xù)和無(wú)摩擦地將這種價(jià)值傳遞給客戶(hù)。
從產(chǎn)品管理的角度來(lái)看,可以了解企業(yè)能多快實(shí)現(xiàn)客戶(hù)的采用和滿(mǎn)意度。從工程平臺(tái)的角度來(lái)看,可以查看具有類(lèi)似目標(biāo)的DevOps指標(biāo),例如DevOps研究和評(píng)估組織(DORA)。從軟件開(kāi)發(fā)的角度來(lái)看,人們可能會(huì)關(guān)注代碼質(zhì)量和交付的功能數(shù)量。所有這些不同的觀點(diǎn)都有一個(gè)共同點(diǎn):衡量和優(yōu)化從想法到實(shí)施和產(chǎn)品交付的流程。
流程工程是一種將價(jià)值交付視為從開(kāi)始到結(jié)果的流程的現(xiàn)代方法。目標(biāo)是讓流程盡可能拓寬且通暢,以提供最大價(jià)值。
敏捷團(tuán)隊(duì)的4個(gè)關(guān)鍵流程指標(biāo)
為了優(yōu)化流程,它有助于可視化企業(yè)的內(nèi)部工程和交付流程。最重要的是,希望了解企業(yè)當(dāng)前的能力,以了解瓶頸在哪里以及在哪里進(jìn)行經(jīng)濟(jì)高效的改進(jìn)。
為了衡量軟件交付能力,它有助于關(guān)注一些指標(biāo),這些指標(biāo)可以捕捉企業(yè)具有的能力和面臨的障礙。這些流量指標(biāo)是:
(1)速度
交付的速度。企業(yè)能以多快的速度發(fā)布一個(gè)功能?所謂的從開(kāi)始到結(jié)束的周期或提前期是多長(zhǎng)時(shí)間?交貨時(shí)間越短,交付速度就越快。
(2)吞吐量
可以完成的工作量。企業(yè)在一個(gè)季度內(nèi)發(fā)布了多少個(gè)功能?在一周發(fā)布多少次?吞吐量表示企業(yè)當(dāng)前的交付節(jié)奏及其容量,以及在當(dāng)前設(shè)置中可以完成的最大項(xiàng)目數(shù)量。
(3)流動(dòng)效率
企業(yè)遇到了多少浪費(fèi)或摩擦?例如,做了多少計(jì)劃外的工作?由于質(zhì)量差,必須修正多少錯(cuò)誤?發(fā)布的產(chǎn)品多久需要打一次補(bǔ)丁?能以多快的速度修補(bǔ)?要多長(zhǎng)時(shí)間才能繞過(guò)批準(zhǔn)流程或跳過(guò)預(yù)期的審查?
(4)流程風(fēng)險(xiǎn)
順利交付的障礙是什么?企業(yè)規(guī)劃實(shí)施的項(xiàng)目是否超出了其能力允許的范圍?會(huì)讓團(tuán)隊(duì)超負(fù)荷工作嗎?是否存在導(dǎo)致延遲的流程故障?是否有太多的場(chǎng)景切換會(huì)降低整體效率?是否做了太多計(jì)劃外的工作而導(dǎo)致沮喪和困惑?
流程工程可以比作從源頭(企業(yè))流到海洋(客戶(hù))的水流。人們更喜歡寬闊、快速流動(dòng)、暢通無(wú)阻、清澈的溪流,它提供了一條從源頭到海洋的清暢通道。
如何衡量流量指標(biāo)
為了改善向客戶(hù)交付軟件的流程,企業(yè)不僅需要使工程與業(yè)務(wù)保持一致,還需要減少自己系統(tǒng)中的摩擦。只有當(dāng)企業(yè)能夠衡量當(dāng)前的狀態(tài)時(shí),才能做到這一點(diǎn)。幸運(yùn)的是,在現(xiàn)代軟件組織中,可以自動(dòng)捕獲許多數(shù)據(jù)點(diǎn)以生成整體圖。
大多數(shù)企業(yè)都運(yùn)行某種形式的敏捷軟件交付流程。這可能是運(yùn)行敏捷Scrum團(tuán)隊(duì)、擁有看板流程或使用SAFe大規(guī)模運(yùn)行敏捷軟件。在通常情況下,這由處理企業(yè)的功能規(guī)劃、軟件開(kāi)發(fā)和構(gòu)建過(guò)程以及測(cè)試和發(fā)布工具的DevOps基礎(chǔ)設(shè)施提供支持。
所有這些都會(huì)產(chǎn)生大量信息。例如,每個(gè)代碼更改都講述了一個(gè)關(guān)于更改內(nèi)容、更改位置、更改花費(fèi)多長(zhǎng)時(shí)間以及每個(gè)步驟涉及的人員的細(xì)節(jié)。變更的元數(shù)據(jù)包括代碼變更是否經(jīng)過(guò)審查、誰(shuí)參與了審查以及批準(zhǔn)和合并需要多少次迭代的詳細(xì)信息。此外,很容易獲得補(bǔ)充DevOps信息:構(gòu)建的持續(xù)時(shí)間和成功率;相應(yīng)的測(cè)試覆蓋率細(xì)節(jié);以及功能或錯(cuò)誤通知單的解決時(shí)間。
大多數(shù)企業(yè)已經(jīng)擁有來(lái)自以下方面的寶貴數(shù)據(jù):
- 功能規(guī)劃和票務(wù)系統(tǒng),例如Jira、Monday或Shortcut。
- 帶有來(lái)自GitHub、GitLab或Bitbucket的相關(guān)元數(shù)據(jù)的軟件存儲(chǔ)庫(kù)。
- 構(gòu)建和發(fā)布自動(dòng)化基礎(chǔ)設(shè)施,包括GitHub Actions、GitLab Pipelines或CircleCI。
成功的關(guān)鍵是從不同的工程工具和孤島中提取數(shù)據(jù),融合數(shù)據(jù),并應(yīng)用智能領(lǐng)域特定的分析來(lái)生成流程洞察力,以?xún)?yōu)化和管理端到端交付流程。
使用流量指標(biāo)實(shí)施工程管理
Logicica通過(guò)連接到上面看到的許多數(shù)據(jù)源、融合數(shù)據(jù)以及自動(dòng)計(jì)算指標(biāo)和洞察力,幫助工程領(lǐng)導(dǎo)者獲得決策洞察力。然后,工程領(lǐng)導(dǎo)者可以對(duì)這些指標(biāo)進(jìn)行細(xì)分,并深入挖掘證據(jù)。這使開(kāi)放的、數(shù)據(jù)驅(qū)動(dòng)的團(tuán)隊(duì)文化能夠做出更明智和協(xié)作的決策。
流程度量是一個(gè)核心概念,被軟件交付團(tuán)隊(duì)和敏捷工程團(tuán)隊(duì)廣泛使用,以更快地交付可持續(xù)價(jià)值。流程指標(biāo)圍繞三個(gè)核心支柱在不同來(lái)源之間保持平衡:
(1)交貨速度:可以運(yùn)送多少數(shù)據(jù)以及有多快?
(2)交付質(zhì)量:是否遵循流程并實(shí)現(xiàn)質(zhì)量目標(biāo)?
(3)團(tuán)隊(duì)可持續(xù)性:企業(yè)是否確保保持在其能力范圍內(nèi)并避免讓工程師感到筋疲力盡?
以核心支柱為中心的流程指標(biāo)確保了一種平衡方法的能力,該方法不支持片面的極端情況,例如過(guò)度關(guān)注交付周期時(shí)間,導(dǎo)致忽視流程和團(tuán)隊(duì)成員的倦怠。
將三個(gè)核心支柱與流程指標(biāo)相匹配,可以在整個(gè)工程組織內(nèi)外提供一致且靈活的思維模型。
結(jié)論
軟件交付是一個(gè)復(fù)雜的過(guò)程,一些指標(biāo)對(duì)于持續(xù)跟蹤和優(yōu)化流程至關(guān)重要。然而,沒(méi)有一個(gè)單一的指標(biāo)可以解決所有問(wèn)題,將指標(biāo)圍繞正確的概念集中比單一指標(biāo)要好得多。
流程工程是一門(mén)蓬勃發(fā)展的學(xué)科,它專(zhuān)注于速度、吞吐量和風(fēng)險(xiǎn),將每個(gè)人的想法集中在平穩(wěn)、快速和可靠的交付上。