SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Kanban
     Kulawat Wongsaroj
kulawat@proteus-agility.com



                              1
ปอม

•   ทำ software มำนำน คิดว่ำเกิน 10 ปี
•   อยูกบอไจล์มำ 6 ปี กว่ำ
        ่ ั
•   ร่วมก่อตัง้ Agile66.com
•   ทำมำทังบริ ษัทเล็กใหญ่ในนอก
              ้
•   ปั จจุบน CEO & อไจล์โคช
            ั




Beta in July
We are hiring!
proteus-agility.com
                                         2
บุฟเฟต์อไจล์
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
เคยเจอมา @บริ ษทใหญ่แห่งหนึ่ง
                         ั


PRODUCT              DEV           DEV
MANAGER                                    OPS/
    +                                     INFRA
   UX                       TEST




  ?                                        ?

                                                  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
การจากัดงานทาให้ได้งานเพิ่มขึ้น!
         ถนนมีรถวิ่ง 30%              ถนนมีรถวิ่ง 60%               ถนนมีรถวิ่ง 95%



• ควำมเร็วเฉลี่ย 100 กม/ชม   • ควำมเร็วเฉลี่ย 100 กม/ชม    • ควำมเร็วเฉลี่ย 30 กม/ชม
• รถวิงผ่ำน 40 คัน/ชม
      ่                      • รถวิงผ่ำน 80 คัน/ชม
                                   ่                       • รถวิงผ่ำน 70 คัน/ชม
                                                                 ่




   ไม่ได้ เผื่อควำมไม่แน่นอน เช่น รถเสีย รถวิ่งช้ ำ รถเปลี่ยนเลน ตำรวจตังด่ำน
                                                                        ้

 ไม่ได้ เผื่อควำมไม่แน่นอน เช่น ลูกค้ ำเปลี่ยนใจ เวอร์ ชนใหม่ไม่รองรับ หลุด!
                                                        ั่


http://agileconsulting.blogspot.com/2011/07/explaining-why-limiting-wip-is-so.html
                                                                                       17
Limit WIP




http://agileconsulting.blogspot.com/2011/07/explaining-why-limiting-wip-is-so.html
                                                                                     18
วัด 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                       OPS/
    +                        INFRA
   UX




                                     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/200
  9/kanban_over_simplified.html
• อยำกลอง Kanban จริง ควรอ่ำนเล่มนี ้ก่อน




                                           24

Weitere ähnliche Inhalte

Andere mochten auch

ระบบสารสนเทศทางธุรกิจ
ระบบสารสนเทศทางธุรกิจระบบสารสนเทศทางธุรกิจ
ระบบสารสนเทศทางธุรกิจNapitchaya Jina
 
Confession of an Agile Addict
Confession of an Agile AddictConfession of an Agile Addict
Confession of an Agile AddictKulawat Wongsaroj
 
Operating Management
Operating ManagementOperating Management
Operating Managementtltutortutor
 
Agile Intro for KMITL IT Engineer - Jan 7, 2014
Agile Intro for KMITL IT Engineer - Jan 7, 2014Agile Intro for KMITL IT Engineer - Jan 7, 2014
Agile Intro for KMITL IT Engineer - Jan 7, 2014Kulawat Wongsaroj
 
ประเภทของระบบสารสนเทศทางธุรกิจ
ประเภทของระบบสารสนเทศทางธุรกิจประเภทของระบบสารสนเทศทางธุรกิจ
ประเภทของระบบสารสนเทศทางธุรกิจManow Butnow
 
How Toyota became the world’s best manufacturer
How Toyota became the world’s best manufacturerHow Toyota became the world’s best manufacturer
How Toyota became the world’s best manufacturerglenferry
 
Ru Fm Chapter02 Updated
Ru Fm Chapter02 UpdatedRu Fm Chapter02 Updated
Ru Fm Chapter02 Updatedtltutortutor
 
รายงานการศึกษา ปรัชญา ความเชื่อโตโยต้า
รายงานการศึกษา ปรัชญา ความเชื่อโตโยต้า รายงานการศึกษา ปรัชญา ความเชื่อโตโยต้า
รายงานการศึกษา ปรัชญา ความเชื่อโตโยต้า DrDanai Thienphut
 
ESU Value Proposition Canvas
ESU Value Proposition CanvasESU Value Proposition Canvas
ESU Value Proposition CanvasGiovanni Carraro
 
BMGI Automotive Industry Event - Executive Summary
BMGI Automotive Industry Event - Executive SummaryBMGI Automotive Industry Event - Executive Summary
BMGI Automotive Industry Event - Executive SummaryBMGI India
 
Workshop de Jornada do Usuário - The Developer's Conference São Paulo 2016
Workshop de Jornada do Usuário - The Developer's Conference São Paulo 2016Workshop de Jornada do Usuário - The Developer's Conference São Paulo 2016
Workshop de Jornada do Usuário - The Developer's Conference São Paulo 2016DTStartups
 
Design thinking para startups no Festival Path
Design thinking para startups no Festival PathDesign thinking para startups no Festival Path
Design thinking para startups no Festival PathDTStartups
 
Infographic: Innocentive vs Lumenogic
Infographic: Innocentive vs LumenogicInfographic: Innocentive vs Lumenogic
Infographic: Innocentive vs LumenogicGiovanni Carraro
 
Value Proposition Bridge V1.0[1]
Value Proposition Bridge V1.0[1]Value Proposition Bridge V1.0[1]
Value Proposition Bridge V1.0[1]Harsh Raval
 
The system-analysis-and-design
The system-analysis-and-designThe system-analysis-and-design
The system-analysis-and-designtumetr
 

Andere mochten auch (19)

happyJit
happyJit happyJit
happyJit
 
ระบบสารสนเทศทางธุรกิจ
ระบบสารสนเทศทางธุรกิจระบบสารสนเทศทางธุรกิจ
ระบบสารสนเทศทางธุรกิจ
 
Confession of an Agile Addict
Confession of an Agile AddictConfession of an Agile Addict
Confession of an Agile Addict
 
Operating Management
Operating ManagementOperating Management
Operating Management
 
Agile Intro for KMITL IT Engineer - Jan 7, 2014
Agile Intro for KMITL IT Engineer - Jan 7, 2014Agile Intro for KMITL IT Engineer - Jan 7, 2014
Agile Intro for KMITL IT Engineer - Jan 7, 2014
 
ประเภทของระบบสารสนเทศทางธุรกิจ
ประเภทของระบบสารสนเทศทางธุรกิจประเภทของระบบสารสนเทศทางธุรกิจ
ประเภทของระบบสารสนเทศทางธุรกิจ
 
How Toyota became the world’s best manufacturer
How Toyota became the world’s best manufacturerHow Toyota became the world’s best manufacturer
How Toyota became the world’s best manufacturer
 
Ru Fm Chapter02 Updated
Ru Fm Chapter02 UpdatedRu Fm Chapter02 Updated
Ru Fm Chapter02 Updated
 
การพัฒนา Software
การพัฒนา Softwareการพัฒนา Software
การพัฒนา Software
 
รายงานการศึกษา ปรัชญา ความเชื่อโตโยต้า
รายงานการศึกษา ปรัชญา ความเชื่อโตโยต้า รายงานการศึกษา ปรัชญา ความเชื่อโตโยต้า
รายงานการศึกษา ปรัชญา ความเชื่อโตโยต้า
 
ESU Value Proposition Canvas
ESU Value Proposition CanvasESU Value Proposition Canvas
ESU Value Proposition Canvas
 
BMGI Automotive Industry Event - Executive Summary
BMGI Automotive Industry Event - Executive SummaryBMGI Automotive Industry Event - Executive Summary
BMGI Automotive Industry Event - Executive Summary
 
Workshop de Jornada do Usuário - The Developer's Conference São Paulo 2016
Workshop de Jornada do Usuário - The Developer's Conference São Paulo 2016Workshop de Jornada do Usuário - The Developer's Conference São Paulo 2016
Workshop de Jornada do Usuário - The Developer's Conference São Paulo 2016
 
Design thinking para startups no Festival Path
Design thinking para startups no Festival PathDesign thinking para startups no Festival Path
Design thinking para startups no Festival Path
 
Infographic: Innocentive vs Lumenogic
Infographic: Innocentive vs LumenogicInfographic: Innocentive vs Lumenogic
Infographic: Innocentive vs Lumenogic
 
Value Proposition Bridge V1.0[1]
Value Proposition Bridge V1.0[1]Value Proposition Bridge V1.0[1]
Value Proposition Bridge V1.0[1]
 
The system-analysis-and-design
The system-analysis-and-designThe system-analysis-and-design
The system-analysis-and-design
 
Looking back.pptx
Looking back.pptxLooking back.pptx
Looking back.pptx
 
Bottom up culture (1)
Bottom up culture (1)Bottom up culture (1)
Bottom up culture (1)
 

Ähnlich wie Kanban @ Agile Thailand 2012 (11)

[Agile Thailand 2012] Release planning & estimation the agile way
[Agile Thailand 2012] Release planning & estimation the agile way[Agile Thailand 2012] Release planning & estimation the agile way
[Agile Thailand 2012] Release planning & estimation the agile way
 
Ch04 linux-hosting-vps
Ch04 linux-hosting-vpsCh04 linux-hosting-vps
Ch04 linux-hosting-vps
 
How to maintain the cost and scale up plan from 1 user to 1 million users (thai)
How to maintain the cost and scale up plan from 1 user to 1 million users (thai)How to maintain the cost and scale up plan from 1 user to 1 million users (thai)
How to maintain the cost and scale up plan from 1 user to 1 million users (thai)
 
PM in Digital Age
PM in Digital AgePM in Digital Age
PM in Digital Age
 
Lean systems 180225 kmutt print
Lean systems 180225 kmutt printLean systems 180225 kmutt print
Lean systems 180225 kmutt print
 
00 overview
00 overview00 overview
00 overview
 
Designing web navigation
Designing web navigationDesigning web navigation
Designing web navigation
 
Lean systems KMUTNB Rayong
Lean systems KMUTNB RayongLean systems KMUTNB Rayong
Lean systems KMUTNB Rayong
 
Lean covid 19 pr os-cons for SPU
Lean covid 19 pr os-cons for SPULean covid 19 pr os-cons for SPU
Lean covid 19 pr os-cons for SPU
 
Active vs passive
Active vs passiveActive vs passive
Active vs passive
 
ห้องสมุดเปลี่ยนได้ด้วยเทคโนโลยี
ห้องสมุดเปลี่ยนได้ด้วยเทคโนโลยีห้องสมุดเปลี่ยนได้ด้วยเทคโนโลยี
ห้องสมุดเปลี่ยนได้ด้วยเทคโนโลยี
 

Mehr von Kulawat Wongsaroj

20210521 LAG21 - Flight Levels Pocket Guide.pdf
20210521 LAG21 - Flight Levels Pocket Guide.pdf20210521 LAG21 - Flight Levels Pocket Guide.pdf
20210521 LAG21 - Flight Levels Pocket Guide.pdfKulawat Wongsaroj
 
Jump start a new agile project with Eidos
Jump start a new agile project with EidosJump start a new agile project with Eidos
Jump start a new agile project with EidosKulawat Wongsaroj
 
เติมอไจล์ให้เต็มด้วย Lean Startup
เติมอไจล์ให้เต็มด้วย Lean Startupเติมอไจล์ให้เต็มด้วย Lean Startup
เติมอไจล์ให้เต็มด้วย Lean StartupKulawat Wongsaroj
 
KMITL IT - Intro to Agile by Proteus Agility
KMITL IT - Intro to Agile by Proteus AgilityKMITL IT - Intro to Agile by Proteus Agility
KMITL IT - Intro to Agile by Proteus AgilityKulawat Wongsaroj
 
Running lean startup with agile 20130810
Running lean startup with agile 20130810Running lean startup with agile 20130810
Running lean startup with agile 20130810Kulawat Wongsaroj
 
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013Kulawat Wongsaroj
 
ATDD Make Love, Not War @ Agile Thailand
ATDD Make Love, Not War @ Agile ThailandATDD Make Love, Not War @ Agile Thailand
ATDD Make Love, Not War @ Agile ThailandKulawat Wongsaroj
 
ATDD Make Love Not War - Bangkok BugDay 2012
ATDD Make Love Not War - Bangkok BugDay 2012ATDD Make Love Not War - Bangkok BugDay 2012
ATDD Make Love Not War - Bangkok BugDay 2012Kulawat Wongsaroj
 

Mehr von Kulawat Wongsaroj (10)

20210521 LAG21 - Flight Levels Pocket Guide.pdf
20210521 LAG21 - Flight Levels Pocket Guide.pdf20210521 LAG21 - Flight Levels Pocket Guide.pdf
20210521 LAG21 - Flight Levels Pocket Guide.pdf
 
Jump start a new agile project with Eidos
Jump start a new agile project with EidosJump start a new agile project with Eidos
Jump start a new agile project with Eidos
 
เติมอไจล์ให้เต็มด้วย Lean Startup
เติมอไจล์ให้เต็มด้วย Lean Startupเติมอไจล์ให้เต็มด้วย Lean Startup
เติมอไจล์ให้เต็มด้วย Lean Startup
 
KMITL IT - Intro to Agile by Proteus Agility
KMITL IT - Intro to Agile by Proteus AgilityKMITL IT - Intro to Agile by Proteus Agility
KMITL IT - Intro to Agile by Proteus Agility
 
Running lean startup with agile 20130810
Running lean startup with agile 20130810Running lean startup with agile 20130810
Running lean startup with agile 20130810
 
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
 
Hunt for early adopter
Hunt for early adopterHunt for early adopter
Hunt for early adopter
 
ATDD Make Love, Not War @ Agile Thailand
ATDD Make Love, Not War @ Agile ThailandATDD Make Love, Not War @ Agile Thailand
ATDD Make Love, Not War @ Agile Thailand
 
ATDD Make Love Not War - Bangkok BugDay 2012
ATDD Make Love Not War - Bangkok BugDay 2012ATDD Make Love Not War - Bangkok BugDay 2012
ATDD Make Love Not War - Bangkok BugDay 2012
 
The Heart Of Agile
The Heart Of AgileThe Heart Of Agile
The Heart Of Agile
 

Kanban @ Agile Thailand 2012

  • 1. Kanban Kulawat Wongsaroj kulawat@proteus-agility.com 1
  • 2. ปอม • ทำ software มำนำน คิดว่ำเกิน 10 ปี • อยูกบอไจล์มำ 6 ปี กว่ำ ่ ั • ร่วมก่อตัง้ Agile66.com • ทำมำทังบริ ษัทเล็กใหญ่ในนอก ้ • ปั จจุบน CEO & อไจล์โคช ั Beta in July We are hiring! proteus-agility.com 2
  • 3. บุฟเฟต์อไจล์ 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
  • 4. บุฟเฟต์อไจล์ • ส่วนใหญ่จะเป็ น 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
  • 5. ลดขนาด • story เล็กๆ อำนวยควำมสะดวก – estimate ง่ำย – plan ง่ำย ใส่ลง iteration สะดวก – เวลำยัดไม่ลง split ออกเป็ นหลำย story ก็ได้ • story เล็กๆทำชีวิตลำบำก – backlog เต็มไปด้ วยสิ่งเล็กๆที่เรี ยกว่ำ story ตำลำย เรี ยงยุ่ง จัดยำก – ต้ องคิดเยอะตังแต่แรกเพรำะต้ องแตก story ้ – แตกแล้ วก็ตำมตำม track ด้ วยว่ำมำจำกไหนกันบ้ ำง – แต่ก่อนโน้ น Kent Beck บอกว่ำ story นึงให้ 1-5 สัปดำห์ เดี๋ยวนี ้ 2-3 วัน 5
  • 6. ลดเวลา • 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
  • 7. เคยเจอมา @บริ ษทใหญ่แห่งหนึ่ง ั PRODUCT DEV DEV MANAGER OPS/ + INFRA UX TEST ? ? 7
  • 8. ผูรู้ 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
  • 9. ความเข้าใจที่คลาดเคลื่อนเกี่ยวกับ Kanban • Kanban เอำมำเทียบกับ Scrum ไม่ได้ คนละเรื่ อง เพรำะ Scrum เป็ น process แต่ Kanban เป็ นแค่ board ? – kanban board เป็ น board ใช่ แต่นนไม่ใช่ Kanban ั่ • Kanban เหมำะกับ Software Maintenance เท่ำนัน ้ – Kanban เหมำะกับ maintenance มำก แต่ Kanban ตอนนี ้ได้ รับ กำรนำไปใช้ ใน software project ขนำดใหญ่ ทำ product ใหม่ๆ อย่ำงกว้ ำงขวำง 9
  • 10. Toyota Production System (TPS) • สมมุติวำคุณเป็ นคนติดตังประตู Prius มีประตูกองอยู่ 10 กว่ำบำน ่ ้ • ติดไป กองก็เตี ้ยลง พอเหลือ 5 บำน ก็เจอกระดำษ (kanban) แปะอยูเ่ ขียนว่ำ “สังประตูเพิ่ม 10 บำน” ่ • คุณหยิบกระดำษนันไปส่งให้ ช่ำงทำประตู ซึงรอคุณอยูแล้ ว ้ ่ ่ • เขำไม่ได้ รอคุณอยูเ่ ฉยๆ เขำทำอย่ำงอื่นไปด้ วย (อำจจะเป็ นประตู Camry) แต่สิ่ง สำคัญคือ เขำไม่ได้ ทำประตู Prius • จนกระทังเขำได้ ใบสังนี ้จำกคุณ เขำจึงเริ่ มทำประตู Prius ่ ่ • คุณกลับไปประจำที่และเริ่ มติดตังประตูตอ ้ ่ • ในจังหวะที่ประตูในกองของคุณกำลังจะหมด ช่ำงทำประตูก็เอำประตูใหม่ 10 บำน มำให้ คณ เท่ าที่จาเป็ น ในเวลาที่จาเป็ น (Just In Time) ุ • ทุกอย่ำงลื่ นไหลไปอย่ำงรำบรื่ นอย่ำงอัศจรรย์ 10
  • 11. Toyota Production System (TPS) • บัตร Kanban นี ้ทำหน้ ำที่จำกัดไม่ให้ Toyota ผลิตประตู Prius มำเก็บไว้ ใน inventory โดยไม่จำเป็ น ทำให้ ไม่เกิด waste • ในตัวอย่ำงสมมุตินี ้ ประตูจะไม่กองสูงเกิน 15 บำน • Lean เรี ยกงำนที่อยู่ระหว่ำงกำรผลิต Work-In-Progress (WIP) • Story ที่ยงอยู่ระหว่ำงกำร develop ก็คือ WIP ใน Kanban ั • Kanban เน้ นให้ จำกัด WIP ไม่ให้ มำกเกินไป ให้ เกิดควำมลื่นไหล อย่ำงอัศจรรย์ 11
  • 12. Kanban ดูเหมือนไม่ใช่ Agile? • Kanban ไม่มี time-box development • story ใหญ่กว่ำและมีน้อยกว่ำ • estimate มีก็ได้ ไม่มีก็ได้ • velocity ไม่ใช้ มำดู cycle time แทน มีข้อไหนขัดกับ Agile Manifesto? 12
  • 14. Explicit Policy - ทาข้อตกลงให้โจ๋ งครึ่ ม “จะย้ ำย card จำก In Dev ไป Read To Test ได้ ก่อต่อเมื่อ unit test ผ่ำนหมด, test coverage ไม่ลดลงจำกเดิม และ check in เข้ ำ branch แล้ วเท่ำนัน”้ 14
  • 15. Minimal Marketable Feature • story ต้ องเป็ น MMF • ให้ ตงคำถำมว่ำจะประกำศ feature นี ้ หน้ ำเวปของ product ั้ หรื อไม่ 15
  • 16. Limit WIP • WIP ของระบบ = ทุกคน / 2 • Column WIP = ทุกคนใน column / 2 – บังคับให้ ทำงำนร่วมกัน – อำจปรับเป็ น / 1.5 • ลองดูแล้ วปรับไป • Limit จะทำให้ เห็น คอขวด 16
  • 17. การจากัดงานทาให้ได้งานเพิ่มขึ้น! ถนนมีรถวิ่ง 30% ถนนมีรถวิ่ง 60% ถนนมีรถวิ่ง 95% • ควำมเร็วเฉลี่ย 100 กม/ชม • ควำมเร็วเฉลี่ย 100 กม/ชม • ควำมเร็วเฉลี่ย 30 กม/ชม • รถวิงผ่ำน 40 คัน/ชม ่ • รถวิงผ่ำน 80 คัน/ชม ่ • รถวิงผ่ำน 70 คัน/ชม ่ ไม่ได้ เผื่อควำมไม่แน่นอน เช่น รถเสีย รถวิ่งช้ ำ รถเปลี่ยนเลน ตำรวจตังด่ำน ้ ไม่ได้ เผื่อควำมไม่แน่นอน เช่น ลูกค้ ำเปลี่ยนใจ เวอร์ ชนใหม่ไม่รองรับ หลุด! ั่ http://agileconsulting.blogspot.com/2011/07/explaining-why-limiting-wip-is-so.html 17
  • 19. วัด Cycle Time Estimate ไม่ใช่สิ่งจำเป็ นอีกต่อไป! 19
  • 20. ไร้ iteration ไม่ไร้ Rhythm • Daily Stand-Up – กำร์ ดไหนจะย้ ำยไปไหน คอขวดเป็ นไงบ้ ำง • Retro – สำมอำทิตย์ที หรือแล้ วแต่ -> ปรับปรุงระบบอยู่ตลอด • Demo – สองอำทิตย์หน หรื อแล้ วแต่ • Prioritization - เป็ นพักๆ 20
  • 21. ลดแรงต้านการเปลี่ยนแปลง Kanban เน้ นให้ เริ่ มจำกกำรเปลี่ ยนแปลงน้ อยที่สุดจำกสิ่งที่มีอยู่แล้ ว อำจเริ่มเพียง • ทำให้ เห็นภำพกำรไหลของงำน – Visualize Workflow • จำกัดงำนที่กำลังทำ – Limit WIP • ทำข้ อตกลงให้ โจ๋งครึ่ม – Make Policy Explicit • ช่วยกันปรับปรุง – Improve Collaboratively 21
  • 23. 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
  • 24. References • เกือบทังหมดเอำมำจำก ้ http://www.agileproductdesign.com/blog/200 9/kanban_over_simplified.html • อยำกลอง Kanban จริง ควรอ่ำนเล่มนี ้ก่อน 24