自 2003 年 Mary 和 Tom Poppendieck 的著作出版以來,看板已經(jīng)成為軟件開發(fā)領(lǐng)域中一種流行的方法。然而,在各種敏捷方法和實踐中,它所占的份額從來都只有幾個百分點。Scrum 及其定制化版本占據(jù)了主導(dǎo)地位。
看板已經(jīng)占領(lǐng)了一個小市場,那里不需要應(yīng)對具有挑戰(zhàn)性的目標,采用的是“快速嘗試 / 快速失敗”的方法。通常,它會被提供各類服務(wù)的團隊所使用??窗宓牧硪粋€典型應(yīng)用是那些處于維護模式或非常成熟的產(chǎn)品,只需要以適當?shù)乃俣确€(wěn)步增加新功能。另外,看板也經(jīng)常被那些喜歡在不太具有挑戰(zhàn)性和比較輕松的氛圍中工作的團隊所選擇。這里的關(guān)鍵是開發(fā)人員的技能水平和 / 或員工整體的積極性。
事實上,Scrum 和看板在高壓和低壓環(huán)境下都很有效。然而,由于時間限制和詳盡的計劃,作為一種方法,Scrum 給開發(fā)人員帶來的壓力比看板更大。
在與我的討論中,許多積極進取的高級開發(fā)人員表示,看板中缺少了承諾和專注,而他們希望保持高標準高要求,為的是能夠一次次地享受了不起的成就。與此相反,Scrum 帶來了時間盒和沖刺目標,很好地滿足了他們的這種愿望。遺憾的是,軟件開發(fā)并不總是意味著具有挑戰(zhàn)性的目標,很多時候還需要處理無聊的任務(wù)、維護和增加零散的小功能。開發(fā)人員在試圖確定沖刺目標時,經(jīng)常會遇到困難,并且認為時間盒是一個相當惱人的限制,在運行 '非目標驅(qū)動 '的沖刺時,會造成不必要的開銷。
Scrum 是為了應(yīng)付錯綜復(fù)雜的問題(開放式系統(tǒng),正確的方法是 '試一試,看一看'),在處理高難度(封閉式系統(tǒng),完全可分析)甚至簡單的問題時并不那么好用??窗蹇梢院芎玫亟鉀Q高難度問題,但是它并不是為那些不確定性很高的系統(tǒng)設(shè)計的,在那樣的系統(tǒng)中,'嘗試并失敗 / 成功 '的方法更有意義。開放式系統(tǒng)的一個很好的例子是,一家公司剛剛形成自己的產(chǎn)品定位,并試圖通過與客戶的緊密合作來確定自己在市場上的位置。而一家已經(jīng)存在多年的、穩(wěn)定的公司,擁有相同的客戶和產(chǎn)品,只是在這里那里增加微小的功能,可以被認為是一個近似封閉式的系統(tǒng)。
為了克服敏捷方法的這些限制,同時保持其優(yōu)勢,我們提出了目標驅(qū)動看板。我們以看板為基礎(chǔ),用一些元素來加強它,以幫助開發(fā)者理解主要目標,關(guān)注它們,并做出承諾。同時,他們也可以輕松地處理那些難以確定目標、集中精力并做出承諾的任務(wù)。
自然,要想成功,我們就需要解決不同層面上的挑戰(zhàn)。
首先,除了看板通常的價值之外:
了解組織內(nèi)的工作模式以及改變它的方法
一致同意持續(xù)改進
尊重當前的職責和角色
人人皆具領(lǐng)導(dǎo)力
以特定方式獲得某些結(jié)果的流程
通過流程優(yōu)化實現(xiàn)以客戶為中心
保持所有層面的透明度,包括狀態(tài)、風險、機會和決策
平衡觀點、能力和各方面的意見,保證目標的達成
協(xié)作尋找解決方案,鼓勵持續(xù)改進
我們建議增加兩項:
實現(xiàn)既定目標的承諾
專注于實現(xiàn)目標所需完成的工作
其次,在看板原則上,除了下面這幾項標準原則之外:
從你現(xiàn)在在做的事情入手
一致同意致力于增量的漸進式變革
尊重當前的流程、角色、職責 & 職位
鼓勵所有層面的人員發(fā)揮領(lǐng)導(dǎo)力
我們引入了一條新的原則:
選擇下一個目標
最后,對于看板實踐,除了以下各項之外:
可視化工作流
可視化不可見的東西:工作、工作流、風險等
限制在制品
實現(xiàn)拉動系統(tǒng)
管理流程
監(jiān)控、度量、優(yōu)化,確保流程順暢、快速
使流程決策顯性化
流程如何運轉(zhuǎn),工作如何完成
完工定義、團隊章程等
實現(xiàn)反饋循環(huán)
包括內(nèi)部和外部反饋
包括但不限于:站立會議、交付審核、運營審核、風險審核等
協(xié)同改進,嘗試進化
通常由 WIP 和反饋循環(huán)觸發(fā)
需要團隊成員達成共識
我們新增了如下做法:
為商定的目標設(shè)定一個自愿的最后期限,并為這些活動分配時間
在實現(xiàn)目標的過程中避免任何分心
達成目標時進行慶祝
經(jīng)?;仡?/p>
目標是團隊制定計劃并為之奮斗的標靶。它可以是一個產(chǎn)品目標,解決技術(shù)債務(wù),研究或?qū)W習。
該目標是團隊的一項任務(wù)。在進入下一個目標之前,必須先完成這項任務(wù)。
團隊專注于實現(xiàn)目標所需完成的工作。團隊要避免可能延遲甚至妨礙目標實現(xiàn)的事情。
重點是以團隊利益和活動為中心。
每當團隊上一個目標達成,并感到可以接受新的挑戰(zhàn)時,就選擇下一個目標。
選擇下一個目標有助于團隊鋪就自己的道路,從一項成就到另一項成就,保持高標準,激勵團隊成員,讓他們自由地找到為組織成功做貢獻的最佳方式。
團隊可以為實現(xiàn)商定的目標設(shè)定一個期限。這有助于團隊集中精力進行與目標相關(guān)的活動,并給人以必要的緊迫感。
最后期限規(guī)定了完成目標的最晚日期。團隊會盡一切努力去實現(xiàn)它。
時間分配有助于團隊確保目標和相應(yīng)的最后期限可以實現(xiàn)。這需要適當評估所需完成的工作和當前具備的技能,至少從表面上看是如此,還需要了解誰可以為目標的哪一部分做貢獻,同時牢記團隊成員各自的知識組合和技能水平。還必須將工作預(yù)測與團隊能力指標做個比較,防止團隊過度投入和出現(xiàn)倦怠的危險。
時間分配確保目標和最后期限可以實現(xiàn),同時為額外 / 不可預(yù)見的任務(wù)留出適當?shù)纳a(chǎn)能力。時間分配是自愿的,不是從外部強加給團隊的。
幾乎所有團隊都經(jīng)歷過在計劃活動之外做“額外”工作的強大壓力。這可能是來自利益相關(guān)者的額外需求,例如,與售前或新合同有關(guān)的需求,現(xiàn)有客戶的緊急需求,缺陷修復(fù),支持其他團隊等。務(wù)必與團隊的所有利益相關(guān)者達成明確的協(xié)議,以便他們知道團隊的下一個目標,知道最后期限,并清楚地了解團隊的能力可以滿足他們的需求。
避免分心是很困難的。團隊應(yīng)該確定好如何處理這個問題,例如,是否制定一個明確的原則,每個團隊成員都應(yīng)該遵守,或者引入守門員的角色。
通過慶祝團隊的成就提高團隊成員的自豪感,增強團隊成員的自信心,激勵他們?nèi)〉酶蟮某删?,并促進團隊的進一步發(fā)展。
慶?;顒幼寛F隊有機會準確地指出什么是有效的,這樣他們未來就可以重復(fù)那樣的做法。
當目標實現(xiàn)后,承認哪些地方做得好,以及我們?nèi)绾文茏龅酶茫瑸檫M一步改進提供了可能。
當目標沒能實現(xiàn)時,了解發(fā)生了什么以及有助于達成下一個目標的措施就極其重要了。
目標驅(qū)動看板方法的關(guān)鍵在于能夠并且愿意識別和追求挑戰(zhàn)性目標的團隊。
注意:該方法并不將目標強加給團隊。
前提條件:
團隊希望能夠自由地設(shè)定具有挑戰(zhàn)性的目標,并享受實現(xiàn)這些目標的樂趣,同時不受時間盒和(有時間盒的)沖刺目標的限制。
正在踐行看板或有豐富的看板知識。
熟悉目標驅(qū)動看板對看板價值、原則和實踐的擴展。
團隊:
討論他們看到的、不同來源的各種目標:產(chǎn)品管理、架構(gòu)師、其他團隊、技術(shù)債務(wù)等。
選擇要實現(xiàn)的下一個目標。
為實現(xiàn)目標商定一個現(xiàn)實但具有挑戰(zhàn)性的最后期限,同時要考慮到所有其他情況,例如,額外的維護任務(wù)、缺陷、中斷、其他團隊的需求等。
在實現(xiàn)目標的過程中要避免分心。
達成目標時進行慶祝。
回顧性地審視實現(xiàn)目標的路徑,并根據(jù)需要商定相關(guān)的調(diào)整。
可以暫停一段時間,如處理臨時性的任務(wù)、修復(fù)缺陷、維護等。
重復(fù)這一過程實現(xiàn)下一個目標。
團隊可自由選擇下一個目標。
這是提升團隊自主性、自我效能感和積極性所需要的。了解自己未來的道路并得到充分支持的團隊會取得最好的成果。強迫團隊實現(xiàn)某些目標會產(chǎn)生負面的影響。
團隊可自由選擇實現(xiàn)目標的最后期限。
最后期限是由團隊根據(jù)目標的復(fù)雜性、不確定性、勝任能力和技能以及團隊的能力來選擇的。迫使團隊在一個不現(xiàn)實的最后期限前完成工作,將導(dǎo)致過度投入,可能引發(fā)倦怠和整體的不愉快,破壞這里所提出的方法。
不以目標是否實現(xiàn)作為衡量團隊及團隊成員績效的標準。
根據(jù)他們選擇的目標來衡量團隊的表現(xiàn),將不可避免地導(dǎo)致團隊選擇非挑戰(zhàn)性的目標,計劃安全的時間緩沖,抱怨分心,通過所有手段對引入的 KPI 進行整體補償,來達到安全目的。
團隊可以在任何時候停止設(shè)定目標,繼續(xù)使用純粹的看板。
重要的是,當這里提議的方法明顯不適合團隊 / 組織 / 環(huán)境等時,要有選擇靠邊站的自由。
目標驅(qū)動看板應(yīng)用是在一個團隊中進行的。最初,該團隊使用 Scrum。由于業(yè)務(wù)性質(zhì),該團隊有相當比例的任務(wù)依賴于其他團隊和不同的利益相關(guān)者。因此,該團隊一直無法及時完成這些任務(wù)。自然,這導(dǎo)致了挫折感,于是團隊決定改用看板。這解決了問題。但隨著時間的推移,團隊成員開始覺得他們就像是一個“功能工廠”,缺乏挑戰(zhàn)。這樣,目標驅(qū)動看板就誕生了。
在得到管理層的支持和產(chǎn)品管理部門的同意后,團隊選出了他們的第一個目標。很快他們就發(fā)現(xiàn),需要重新規(guī)劃其他的功能和任務(wù),因為團隊必須重新聚焦到商定的目標上。這就需要對目標進行粗略的估計,了解團隊的能力并與利益相關(guān)者達成進一步的協(xié)議。
在實現(xiàn)目標的過程中,團隊必須應(yīng)對各種挑戰(zhàn),因為門檻很高,團隊必須一起進行整體設(shè)計和開發(fā)。這使我們更好地了解了每個團隊成員的優(yōu)勢和劣勢,并觸發(fā)了團隊成形過程。
目標完成后,團隊與利益相關(guān)者一起慶祝了目標的實現(xiàn),并得到了應(yīng)有的贊賞,這將他們的積極性提高到了一個非常高的水平。
當然,他們回顧了所做的工作,并就更好地評估未來的目標以及決定用于其他功能和任務(wù)的能力達成一致。這有助于從利益相關(guān)者那里獲得更多的支持,因為透明度高,可預(yù)測性好。
隨著時間的推移,在從一個具有挑戰(zhàn)性的目標到另一個目標的過程中,團隊經(jīng)歷了不同的成熟階段,最終學會了如何作為一個有機體而不是一群人,選擇方向,做出決定,并成為一個真正的自組織團隊。
這里介紹的方法是一個形式化描述,旨在使開發(fā)人員在尋找更多挑戰(zhàn)時不會受到不合理的限制。你需要試驗并思考,它如何在你目前的環(huán)境和限制下發(fā)揮作用:團隊成員的技能水平、團隊成熟度、產(chǎn)品和任務(wù)的性質(zhì)以及適當?shù)墓芾碇С?。更重要的是:要想成功,團隊成員應(yīng)該是真的非常希望進行嘗試,理解他們要走的這條道路,以及他們愿意為之努力的目標。然后,神奇的事情就會發(fā)生了!
參考閱讀:精益軟件開發(fā):敏捷工具箱(https://www.amazon.de/Lean-Software-Development-Poppendieck-2003-05-18/dp/B004SBW9KG)
參考閱讀:看板入門 | 完全指南(https://kanbanize.com/kanban-resources/getting-started/what-is-kanban#:~:text=Principle%202%3A%20Agree%20to%20Pursue,implementing%20collaboration%20and%20feedback%20forms)
作者簡介:
Anastasia Galeeva 是一位在敏捷轉(zhuǎn)型方面經(jīng)驗豐富的 Scrum 大師,她致力于保證敏捷流程、活動和工件,并將 Scrum 的價值觀帶入生活中:承諾、勇氣、專注、開放和尊重。
Mikhail Serebrennikov 是一名敏捷教練,曾擔任工程經(jīng)理、開發(fā)人員和架構(gòu)。Mikhail 擅長幫助公司發(fā)展高績效的敏捷團隊和組織,并以可預(yù)測的交付成果為支撐,專注于戰(zhàn)略方向。
原文鏈接:
https://www.infoq.com/articles/goal-driven-kanban/
聯(lián)系客服