蔣夢(mèng)云
看板(Kanban)一詞來(lái)自日本,源于精益生產(chǎn)實(shí)踐。看板使得項(xiàng)目管理最大的可視化,但是看板更可以將研發(fā)的過(guò)程進(jìn)行管理,記錄下用戶故事研發(fā)過(guò)程中的細(xì)節(jié)和歷程。
1.軟件開發(fā)中看板的用途
(1)最大限度的可視化,同時(shí)解決團(tuán)隊(duì)溝通障礙。通過(guò)Kanban,項(xiàng)目團(tuán)隊(duì)可以清楚了解已經(jīng)完成的情況,正在做的以及后續(xù)將有可能需要做的用戶故事。
(2)對(duì)于項(xiàng)目經(jīng)理而言,最擔(dān)心的就是項(xiàng)目進(jìn)度不可控,不知道每位開發(fā)人員具體的工作進(jìn)度;有了Kanban,所有工作進(jìn)度都能清晰的展示在看板墻上。
(3)對(duì)于開發(fā)經(jīng)理而言,最擔(dān)心的就是資源分配不合理,忙的人忙死,閑的人閑死,有了Kanban,可以合理的分配開發(fā)資源和任務(wù)。
(4)對(duì)于開發(fā)人員而言,最擔(dān)心的就是績(jī)效考核不公平;在開發(fā)工程中的績(jī)效,不能清晰地反應(yīng)在考核中,每個(gè)開發(fā)人員對(duì)其他人的工作也不了解。有了Kanban,可以明白地知道項(xiàng)目組各個(gè)人員的任務(wù)量,對(duì)開發(fā)的內(nèi)容,也能清晰地溝通。
2.看板模型流程
2.1劃分階段
①待開發(fā):還沒(méi)做的,一般稱為Backlog,這部分由產(chǎn)品經(jīng)理(PM)協(xié)同開發(fā)經(jīng)理來(lái)定義,主要的來(lái)源是客戶的新需求或者市場(chǎng)線上反饋的bug;
②開發(fā)中:正在進(jìn)行的任務(wù),一般這個(gè)部分都是詳細(xì)編碼的過(guò)程;如果存在架構(gòu)設(shè)計(jì)、前端UI、具體編碼的分工,也可以再具體的劃分;
③待測(cè)試:已經(jīng)完成的開發(fā)功能,這部分由開發(fā)人員移動(dòng),下面一步就交由測(cè)試人員;
④測(cè)試中:測(cè)試部分,表明當(dāng)前測(cè)試人員正在進(jìn)行的工作;
⑤已完成:已完成,等待上線。
每個(gè)項(xiàng)目可以根據(jù)自己的需求建立自己Kanban。上面這個(gè)并不是唯一的。
2.2定義卡片模型
在待開發(fā)中放置了許多小卡片,它們?cè)贙anban中被稱為在制品(Work In Process,WIP)。對(duì)于產(chǎn)品經(jīng)理而言,WIP是需求,而對(duì)于開發(fā)人員與部署人員而言,WIP卻是任務(wù)。對(duì)于卡片模型來(lái)說(shuō),我們可以定義如下內(nèi)容:
Task類型:用戶故事(User story)bug分為一類;重構(gòu)、搭建測(cè)試環(huán)境這樣的不直接產(chǎn)生業(yè)務(wù)價(jià)值的任務(wù)分為一類,還有一些項(xiàng)目運(yùn)營(yíng)中的一般事務(wù)分為另一類;這3類任務(wù)用不同顏色的卡片,放到狀態(tài)墻上統(tǒng)一管理。
Task ID:是某個(gè)Task的唯一標(biāo)識(shí);
Task描述:就是這個(gè)Task要做什么;
Task預(yù)估時(shí)間:一般根據(jù)項(xiàng)目組的平均開發(fā)時(shí)間來(lái)預(yù)估每一個(gè)Task的開發(fā)時(shí)間,根據(jù)這個(gè)時(shí)間,可以評(píng)估出在一個(gè)迭代周期中所有Task需要完成的時(shí)間。通常據(jù)此時(shí)間來(lái)排列Task中的優(yōu)先級(jí);
Task優(yōu)先級(jí):由產(chǎn)品擁有者來(lái)決定,或者由開發(fā)經(jīng)理決定;
Task所有者:完成這個(gè)Task的負(fù)責(zé)人。
2.3利用泳道來(lái)優(yōu)化流程
具有泳道特性的看板,在移動(dòng)狀態(tài)時(shí)需要參照以下流程:
①當(dāng)一個(gè)用戶從“Backlog”移到“用戶故事”列時(shí),需要將用戶故事涉及的多方成員的工作進(jìn)行任務(wù)拆分,拆分成一個(gè)個(gè)的任務(wù)。
②成員針對(duì)任務(wù)進(jìn)行工作,當(dāng)所有成員的任務(wù)完成后,將完成的用戶移到測(cè)試驗(yàn)證列中。
③如果測(cè)試發(fā)現(xiàn)問(wèn)題,則將相關(guān)的bug報(bào)給對(duì)應(yīng)任務(wù)的人。
④看板實(shí)踐核心實(shí)踐的重要性和原則。
通過(guò)看板建立團(tuán)隊(duì)穩(wěn)定的任務(wù)節(jié)奏,實(shí)現(xiàn)始終如一的可靠交付,這能夠幫助團(tuán)隊(duì)與客戶、依賴的相關(guān)部門、供應(yīng)商、價(jià)值流下游合作伙伴建立信任關(guān)系。而信任關(guān)系對(duì)每一方都是非常重要的。
可視化工作流程,所有的Task的進(jìn)度會(huì)全部顯示Kanban上,每一個(gè)人都可以一目了然了解進(jìn)度和流程。
限制WIP中的Tasks數(shù)量,一般情況下,這個(gè)數(shù)量是等于Team中的developer數(shù)量。
縮短開發(fā)周期,這個(gè)其實(shí)可以理解為發(fā)現(xiàn)問(wèn)題,解決問(wèn)題,從而找到更科學(xué)的方法提高開發(fā)效率。
拉動(dòng)生產(chǎn),看板很好地展示下游環(huán)節(jié)的當(dāng)前狀態(tài),根據(jù)已完成工作確定前一環(huán)節(jié)可以投入多少資源,而不是前面環(huán)節(jié)使勁投入,不管后面環(huán)節(jié)是否能應(yīng)對(duì)。
3.結(jié)束語(yǔ)
減少浪費(fèi)是敏捷軟件項(xiàng)目的核心之一,利用Kanban,項(xiàng)目開發(fā)中的各個(gè)關(guān)系人可以很方便地了解項(xiàng)目進(jìn)行的狀態(tài),在使用中可以增加溝通的效率,提高對(duì)項(xiàng)目?jī)r(jià)值的認(rèn)知度,進(jìn)一步的減少不必要的浪費(fèi)。