kanban @ agile thailand 2012
DESCRIPTION
Kanban IntroductionTRANSCRIPT
ปอม • ท ำ software มำนำน คดวำเกน 10 ป • อยกบอไจลมำ 6 ปกวำ • รวมกอตง Agile66.com • ท ำมำทงบรษทเลกใหญในนอก • ปจจบน CEO & อไจลโคช
2
Beta in July We are hiring! proteus-agility.com
บฟเฟตอไจล
1. เขยน User Story ไวใน Backlog
2. Dev ให High Level Estimate กบ story
3. Product Owner เรยง story ใส Release (6w-6m) เรยงตำม priority
4. Product Owner จบ story ทเรยงไว ใส time-box (2w-4w)
5. จบ time-box ทมกภมใจน ำเสนอ demo ให Product Owner
6. นบ estimate ของ story ทท ำเสรจใน time-box มำรวมกนได velocity (XP)
7. จด retrospective มองยอนเพอ inspect & adapt
8. วนไปเรอย
3
บฟเฟตอไจล
• สวนใหญจะเปน Scrum กบ XP หรอผสมกน
• Crystal, FDD, DSDM กมแตไมแพรหลำยนก • สวนใหญกจะเรมจำกไปลงเรยน Certified Scrum Master • มกจะใช User Story ของ XP
• Scrum ดงเดม Sprint ละ 4 สปดำห ตอนนเหลอ 2 • ตบทำย Iteration ดวย reflection/retrospective
session ของ Crystal/DSDM
• บำงทมจะใช Story Mapping ชวยเรอง requirement
4
ลดขนาด
• story เลกๆ อ ำนวยควำมสะดวก – estimate งำย
– plan งำย ใสลง iteration สะดวก
– เวลำยดไมลง split ออกเปนหลำย story กได
• story เลกๆท ำชวตล ำบำก – backlog เตมไปดวยสงเลกๆทเรยกวำ story ตำลำย เรยงยง จดยำก
– ตองคดเยอะตงแตแรกเพรำะตองแตก story
– แตกแลวกตำมตำม track ดวยวำมำจำกไหนกนบำง
– แตกอนโนน Kent Beck บอกวำ story นงให 1-5 สปดำห เดยวน 2-3 วน
5
ลดเวลา
• time-box สนๆ อ ำนวย ควำมสะดวก – plan ไดเรว ไมกชวโมงกพอเพยง – รบ feedback เรว ปรบตวเรซ
• time-box สนท ำชวตล ำบำก – ไมทนคย requirement รเรอง กตองลยแลว จะเตรยมท ำกอนยงไงกกระทบ
iteration กอนหนำนอยด – test ไมทนกอนจบ iteration พอเจอ bug ชำกไปกวนงำน iteration หนำ – cycle time ลอไปสำม iteration เพอท ำ requirement, code และ test
& bug fix อยำงละ iteration
– product owner และ tester หวปนกบทงงำนเกำและงำนใหม – เครยดเลย ไมสนกแลว
6
เคยเจอมา @บรษทใหญแหงหนง
DEV
TEST
DEV PRODUCT MANAGER
+ UX
OPS/ INFRA
? ?
7
ผร Agile หลายทานเรมน า Lean มาใช
• น ำรองโดยศำสดำ Tom & Mary Poppendieck กบ Lean Software Development
• แพรหลำยในวงกวำงจำก Kanban ของ David Anderson – kan (คม) แปลวำ สญญำณ
– ban (บง) แปลวำ ปำย
– kanban เปนเครองมอใน Toyota Product System (TPS)
– Kanban (k ตวใหญ) เปน software process ทน ำเอำหลกกำรของ Lean มำใชในกำรท ำ software โดยใช kanban (k ตวเลก) pull system, visualization และอนๆ
8
ความเขาใจทคลาดเคลอนเกยวกบ Kanban
• Kanban เอำมำเทยบกบ Scrum ไมไดคนละเรอง เพรำะScrum เปน process แต Kanban เปนแค board ?
– kanban board เปน board ใช แตนนไมใช Kanban
• Kanban เหมำะกบ Software Maintenance เทำนน – Kanban เหมำะกบ maintenance มำก แต Kanban ตอนนไดรบกำรน ำไปใชใน software project ขนำดใหญ ท ำ product ใหมๆ อยำงกวำงขวำง
9
Toyota Production System (TPS)
• สมมตวำคณเปนคนตดตงประต Prius มประตกองอย 10 กวำบำน • ตดไป กองกเตยลง พอเหลอ 5 บำน กเจอกระดำษ (kanban) แปะอยเขยนวำ
“สงประตเพม 10 บำน” • คณหยบกระดำษนนไปสงใหชำงท ำประต ซงรอคณอยแลว • เขำไมไดรอคณอยเฉยๆ เขำท ำอยำงอนไปดวย (อำจจะเปนประต Camry) แตสง
ส ำคญคอ เขำไมไดท ำประต Prius • จนกระทงเขำไดใบสงนจำกคณ เขำจงเรมท ำประต Prius • คณกลบไปประจ ำทและเรมตดตงประตตอ • ในจงหวะทประตในกองของคณก ำลงจะหมด ชำงท ำประตกเอำประตใหม 10 บำน
มำใหคณ เทาทจ าเปน ในเวลาทจ าเปน (Just In Time) • ทกอยำงลนไหลไปอยำงรำบรนอยำงอศจรรย
10
Toyota Production System (TPS)
• บตร Kanban นท ำหนำทจ ำกดไมให Toyota ผลตประต Prius มำเกบไวใน inventory โดยไมจ ำเปน ท ำใหไมเกด waste
• ในตวอยำงสมมตน ประตจะไมกองสงเกน 15 บำน
• Lean เรยกงำนทอยระหวำงกำรผลต Work-In-Progress (WIP)
• Story ทยงอยระหวำงกำร develop กคอ WIP ใน Kanban
• Kanban เนนใหจ ำกด WIP ไมใหมำกเกนไป ใหเกดควำมลนไหลอยำงอศจรรย
11
Kanban ดเหมอนไมใช Agile?
• Kanban ไมม time-box development
• story ใหญกวำและมนอยกวำ
• estimate มกไดไมมกได
• velocity ไมใช มำด cycle time แทน
มขอไหนขดกบ Agile Manifesto?
12
Visualize Workflow
13
Explicit Policy - ท าขอตกลงใหโจงครม
“จะยำย card จำก In Dev ไป Read To Test ไดกอตอเมอ unit test ผำนหมด, test coverage ไมลดลงจำกเดม และ check in เขำ branch แลวเทำนน”
14
Minimal Marketable Feature
• story ตองเปน MMF
• ใหตงค ำถำมวำจะประกำศ feature น หนำเวปของ product หรอไม
15
Limit WIP
• WIP ของระบบ = ทกคน / 2
• Column WIP = ทกคนใน column / 2
– บงคบใหท ำงำนรวมกน
– อำจปรบเปน / 1.5
• ลองดแลวปรบไป
• Limit จะท ำใหเหน คอขวด
16
การจ ากดงานท าใหไดงานเพมขน!
17
ถนนมรถวง 30% ถนนมรถวง 60% ถนนมรถวง 95%
• ควำมเรวเฉลย 100 กม/ชม • รถวงผำน 40 คน/ชม
• ควำมเรวเฉลย 100 กม/ชม • รถวงผำน 80 คน/ชม
• ควำมเรวเฉลย 30 กม/ชม • รถวงผำน 70 คน/ชม
ไมไดเผอควำมไมแนนอน เชน รถเสย รถวงชำ รถเปลยนเลน ต ำรวจตงดำน
ไมไดเผอควำมไมแนนอน เชน ลกคำเปลยนใจ เวอรชนใหมไมรองรบ หลด!
http://agileconsulting.blogspot.com/2011/07/explaining-why-limiting-wip-is-so.html
Limit WIP
18 http://agileconsulting.blogspot.com/2011/07/explaining-why-limiting-wip-is-so.html
วด Cycle Time
Estimate ไมใชสงจ ำเปนอกตอไป! 19
ไร iteration ไมไร Rhythm
• Daily Stand-Up – กำรดไหนจะยำยไปไหน คอขวดเปนไงบำง
• Retro – สำมอำทตยท หรอแลวแต -> ปรบปรงระบบอยตลอด
• Demo – สองอำทตยหน หรอแลวแต
• Prioritization - เปนพกๆ
20
ลดแรงตานการเปลยนแปลง
Kanban เนนใหเรมจำกกำรเปลยนแปลงนอยทสดจำกสงทมอยแลว อำจเรมเพยง
• ท ำใหเหนภำพกำรไหลของงำน – Visualize Workflow
• จ ำกดงำนทก ำลงท ำ – Limit WIP
• ท ำขอตกลงใหโจงครม – Make Policy Explicit
• ชวยกนปรบปรง – Improve Collaboratively
21
Kanban หอ Scrum
PRODUCT MANAGER
+ UX
OPS/ INFRA
22
Scrum vs Kanban War
@Alshalloway • Interesting thing about the Scrum vs Kanban is
many people had trouble with scrum found kanban to work. Not other way. Some like to ignore this.
• Other thing is that those in the scrum camp who diss kanban have not done it, let alone be newbies. Most KB leaders are experts in scrum.
• When an expert in two methods tells you 1 works in some situations another doesn’t, the right question is WHY, not don’t compare
http://www.theagilerevolution.com/episode-18-scrum-vs-kanban-war
23
References
• เกอบทงหมดเอำมำจำก http://www.agileproductdesign.com/blog/2009/kanban_over_simplified.html
• อยำกลอง Kanban จรง ควรอำนเลมนกอน
24