Large Scale Scrum ( LeSS ) ทำกันยังไงนะ

http://agilecircles.id/

สวัสดีครับเหล่า “ออเจ้า” ทั้งหลาย
กลับมาอีกครั้งกับบทความเกี่ยวกับ Scrum หวังว่ายังไม่เบื่อ Scrum กันไปซะก่อนนะ
ก่อนหน้านี้ผมได้เขียนบทความเกี่ยวกับ LeSS ไปบ้างแล้ว เช่น

1. Large-Scale Scrum (LeSS) คืออะไร ? ตอนที่ 1
2. Large-Scale Scrum (LeSS) ตอนที่ 2 Adoption / Transformations
ซึ่งกล่าวถึงหลัก/ขั้นตอน ต่างๆ แต่ก็แอบมีคำถามในใจว่า

เอ…พูดถึงแต่ทฤษฏี ใครๆ ก็พูดได้นะ จริงป่ะ
ว่าแต่…ในชีวิตจริงมันจะเอาไปทำกันยังไงนะ ?

จนกระทั่งได้มีโอกาส นำมาปรับใช้กับทีมนั่นแหล่ะ บอกได้เลยว่าไม่ง่ายเลย
ผมจะเน้นย้ำเสมอ ว่าการนำ Agile / Scrum ไปปรับใช้ ไม่มีสูตรสำเร็จตายตัว
เราในฐานะ Agile Coach / ScrumMaster จะต้องเป็นผู้ประเมิณทีม
และออกแบบการทำงานให้สอดคล้องกัน
ไม่ใช่เพียงแต่เอา Scrum ไปขึงแล้วให้ทีมเดินตาม
ไม่เช่นนั้นความวอดวาย คงมาเยือนเป็นแน่แท้

หากใครพึ่งมาอ่านบทความนี้ แนะนำให้ลองกลับไปอ่านบทความก่อนหน้าสักหน่อย
เพื่อความเข้าใจเกี่ยวกับ Scrum ให้มากขึ้น ที่ www.piyawut.com/

Large Scale Scrum Framework

LeSS Framework

โจทย์
โจทย์หลักของทีมเรา คือทำยังไงก็ได้ให้สามารถส่งมอบงาน ที่เคยทำไว้เดิม นานนับปี ที่ทั้งเก่าและขยายตัว(Scale)ยากแล้ว
ให้นำมาปัดฝุ่นทำใหม่ ให้มีประสิทธิภาพมากขึ้น
และต้องเสร็จภายในระยะเวลาแค่ 6 เดือน

จะเห็นว่า โจทย์หลักของเรา ไม่ได้เน้นการสร้าง Team
แต่เน้น ทำอย่างไร ให้งานเสร็จทัน ในระยะเวลาที่จำกัด

ความ น่าสนใจ ของทีมนี้ คือ เป็นการรวมทีมใหม่ สด กิ๊กๆ
คนส่วนมาก ไม่เคยมีประสบการณ์กับ Scrum มาก่อน
ใช้เทคโนโลยีใหม่ ที่ยังมีคนทำเป็นน้อย เลยต้องพึ่งต่างชาติบางส่วน
ทำให้ทีมประกอบด้วยทั้งทีมคนไทยและทีมต่างชาติ

ดังนั้น เราจึงตั้งเป้าจะแยกการทำงานเป็น 3 Scrum Team
1. ทีมไทย ทีม A ประกอบทีม จำนวน 7 คน
2. ทีมไทย ทีม B ประกอบทีม จำนวน 6 คน
3. ทีมต่างชาติ ทีม C ประกอบทีม จำนวน 5 คน (แบ่งทีมย่อยบางส่วนทำงานที่ไทยและบางส่วนอยู่ต่างประเทศ)

โดยใช้ LeSS Framework ในการบริหารจัดการ

Design Sprint

Design รูปแบบการทำงาน

เริ่มจากช่วยกันออกแบบการทำงานในแต่ละรอบ Sprint
ว่า Sprint 10 วันจะมีกิจกรรมอะไรบ้าง
อะไรคือ DoD (Definition of Done) เช่น จะต้องใช้
ATDD (Acceptance Test Driven Development)
UNIT Test (90% Coverage)
Source Code Review
API Test
Automate Build
Automate Deploy
Functional Test
Non Functional Test (Performance Test/ Security Test) เป็นต้น

โดยได้รับการ ช่วยเหลือ Coaching จากพี่หนุ่ม Prathan D. จาก Siam Chamnankit

Design Board

กลับมาที่ LeSS กันต่อ

LeSS Framework

LeSS Framework มีกิจกรรมหลักๆ เหมือนกับ Scrum Framework
เพียงแค่มีการลงรายละเอียดเพิ่มเติมในบางกิจกรรม

ประกอบด้วย 6 กิจกรรม

LeSS Sprint Planning
Team Sprint Planning

1.Sprint Planning 1 :
กิจกรรมนี้ Product Owner (PO) จะอธิบายทีม ถึง Product Backlog
ที่จะนำเข้า Sprint ให้ทุกๆทีม ฟังพร้อมกัน ว่าต้องการอะไร และคอยตอบคำถามต่างๆ ในภาพใหญ่ (เพื่อให้ทีมนำข้อมูลนี้ไปทำ Detail design ต่อ)
( ทีมพยายามปรับปรุงขั้นตอนนี้ โดยเราจะทำ Product backlog Refinement
ให้ละเอียดเพียงพอ เพื่อลดเวลา Planning และพร้อมทำงานมากที่สุด)

เนื่องจากมีทีมบางส่วน อยู่ต่างประเทศ
เราจึงใช้ JIRA/Confluence เป็น Online Tools เพื่อเก็บ Backlog / User Story และ เอกสารที่จำเป็น เพื่อให้ทีมทำงานร่วมกันได้ แม้จะอยู่คนละประเทศ
( แต่ การทำ Detail Task เรายังจะต้องเป็น Physical Board ที่ไทย อยู่นะ )

แนะนำ Traveller Role
คือคนใน Scrum Team ที่มีหน้าที่พิเศษ คอยสังเกตการณ์หรือเชื่อมโยงข้อมูลระหว่างทีม ในกรณี ต้องทำงานเกี่ยวเนื่องกัน

2.Sprint Planning 2 :

2.1 แต่ละ Scrum team แยกกันทำ Detail Design / Detail Task บน Board โดยที่เราจะผลัดกันเป็น Traveller
2.2 หลังจาก แตก Detail Task เสร็จ แต่ละทีม จะต้องกลับมารวมกัน เพื่ออธิบายสิ่งที่ Design ไว้ เผื่อกรณีที่มีบางส่วน ต้องปรับปรุง หรือสามารถใช้งานร่วมกันได้

3. Daily Scrum:
แต่ละทีม แยก Daily Scrum กัน โดยอาจมี Traveller ร่วมสังเกตการณ์ได้
โดยทีมต่างชาติจะต้อง Daily Scrum กันผ่าน Skype VDO conference

4. Product Backlog Refinement:
ทีมร่วมกันทำ Refinement สำหรับเตรียมงานใน Sprint ถัดไป

Team C : Refinement

โดย เราแบ่ง Product Backlog Refinement เป็น 2 รอบ คือ

4.1 Refinement#1 ทุกวันที่ 3 ของ Sprint :
-Feature แตกย่อยเป็น Stories
-กรณีข้อมูลยังไม่พร้อมทำงาน จะแบ่งงานกันหาข้อมูลเพิ่มเติม
4.2 Refinement#2 ทุกวันที่ 7 ของ Sprint :
-User Story แตกเป็น Acceptance Test
-ได้ Technical design

LeSS Sprint Review / Retrospective

5. Sprint Review:
ทุกทีม Review Product ร่วมกัน ให้กับ PO และ User
ตรวจรับ ตาม DoD (Definition of Done) ที่กำหนดร่วมกันตั้งแต่เริ่ม Sprint

6. Sprint Retrospective
6.1 แต่ละทีม แยกทำ Retrospective เผื่อนำผลลัพธ์ มาปรับปรุงทีม
6.2 ทุกทีม นำผลลัพธ์ รวม Retrospective อีกครั้ง เพื่อร่วมกันหาวิธีปรับปรุงทีมให้ดีขึ้น

ตัวอย่าง Retrospective
บรรยากาศ การทำงาน

สรุปแล้ว

แนวคิดแบบ Agile ไม่ว่าจะเป็น Scrum หรือ LeSS ต่างก็เป็นเพียงรูปแบบ/วิธีการให้คนในทีมทำงานร่วมกัน
หลักใหญ่ใจความของการทำงานแบบ Agile นั้นประกอบด้วย
[Collaboration / Deliver often/ Reflect / Improve ]
1.พาทีมให้เกิดการทำงานร่วมกัน(Collaboration)
2.ย่อยงานเป็นชิ้นเล็กๆ ส่งมอบงานเป็นรอบ/ตามกรอบเวลา (Deliver often)
3.(Reflect) สิ่งที่ทีมทำไป
4.(Improve) นำมาปรับปรุงให้ดีขึ้น ในรอบการทำงานถัดๆไป
ก็เท่านั้นเอง

--

--