25 ม.ค. เวลา 01:00 • ธุรกิจ
ถอดบทเรียน Scrum in Big data ภาครัฐ: Part I
สวัสดีครับ ขอต้อนรับเข้าสู่บทความไตรภาคอันยิ่งใหญ่ที่จะเล่าเกี่ยวกับการปรับตัวทางดิจิตอล (Digital Transformation) ที่หลายองค์กรจะต้องพบเจอ และสิ่งที่น่าจะเปลี่ยนแปลงมากที่สุดก็คงหนีไม่พ้นวิธีการทำงาน (Working Process) ที่จะต้องตามสมัยเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด ตอบสนองนโยบายขององค์กรหรือความต้องการของตลาด
วันนี้ผมจึงจะมาเล่า Case Study ที่น่าสนใจนั่นก็คือ สถาบันส่งเสริมการวิเคราะห์และบริหารข้อมูลขนาดใหญ่ภาครัฐ (GBDi) ที่เป็นหน่วยงาน Big data ภาครัฐ ได้นำการทำงานในรูปแบบของ Scrum มาปรับใช้กับหน่วยงาน เพื่อช่วยส่งเสริมการทำงานให้สามารถส่งมอบงานที่มีคุณค่าต่อลูกค้าได้เร็วขึ้น สามารถตรวจสอบการทำงานของทีมได้ละเอียดชัดเจนขึ้น และรองรับการเปลี่ยนแปลง requirement ได้อย่างรวดเร็ว ซึ่งโดยทั่วไปนั้นหลักการของ Scrum ส่วนใหญ่มักจะใช้กันในสายพัฒนาซอฟแวร์ ดังนั้นจะเป็นอย่างไรเมื่อ GBDi ที่เป็นหน่วยงานภาครัฐสาย Data ได้นำการทำงานแบบ Scrum มาประยุกต์และปรับใช้ โดยบทความนี้จะแบ่งเป็น 3 ตอนย่อย ๆ ดังนี้
- ตอนที่ 1: คอนเซ็ปต์ Scrum ล้วน ๆ ไม่มีวัวผสม
- ตอนที่ 2: บริบทขององค์กรและการนำมาปรับใช้จริง
- ตอนที่ 3: ผลที่เกิดขึ้นและความท้าทายใหม่ ๆ
ตอนที่ 1: คอนเซ็ปต์ Scrum ล้วน ๆ ไม่มีวัวผสม
ตอนนี้จะเล่าถึงคอนเซ็ปต์ของ Scrum ที่ประกอบด้วยหลักการและทฤษฎีต่าง ๆ ก่อนการนำมาปรับใช้ โดยจะเล่าถึง 3 หัวข้อหลัก ดังนี้
1. Scrum คือ อะไร
2. บทบาทหน้าที่ของคนในทีม
3. กิจกรรมที่เกิดขึ้นใน Scrum
“เอาล่ะ ถ้าพร้อมแล้ว มาเริ่มกันเลย”
Scrum คือ อะไร
Scrum เป็นวิธีการทำงานที่กำหนดช่วงเวลาในการทำงานของแต่ละรอบ โดยแต่ละรอบจะมีกิจกรรมที่ใช้บริหารทีมเหมือน ๆ กัน มีการส่งมอบผลิตภัณฑ์หรือฟีเจอร์ต่าง ๆ ให้ลูกค้าทุก ๆ รอบ เพื่อรับข้อเสนอแนะจากลูกค้ากลับมาปรับปรุงในรอบถัดไป ซึ่งนอกจากจะทำให้การทำงานรวดเร็วขึ้นแล้ว กิจกรรมต่าง ๆ ที่จัดขึ้นก็ยังทำให้สามารถตรวจสอบการทำงานของแต่ละคนได้ ทำให้เกิดความโปร่งใสมากยิ่งขึ้น
ตามทฤษฎีแล้ว Scrum ประกอบด้วย 3 คุณสมบัติ ได้แก่
1. ความโปร่งใส (Transparency) ทุกคนในทีมเห็นการทำงานของกันและกัน และเข้าใจนิยามของเนื้องานที่ได้ตกลงกันไว้ เช่น การคุยด้วยภาษาเดียวกันเพื่อเลี่ยงปัญหาการสื่อสาร
2. การตรวจสอบ (Inspection) สามารถตรวจสอบการทำงานได้อยู่เสมอว่าเป็นไปตามแผนที่วางไว้หรือไม่
3. การปรับเปลี่ยน (Adaption) หากพบว่ามีการทำงานที่ไม่เป็นไปตามแผน จะต้องมีการปรับปรุงเปลี่ยนแผนเพื่อลดข้อผิดพลาดของผลิตภัณฑ์ให้ได้เร็วที่สุด
“เสาหลักของ Scrum”
บทบาทหน้าที่ของคนในทีม
ใน scrum จะแบ่งคนในทีมออกเป็น 3 กลุ่มหลัก ๆ คือ
1. Product Owner (PO) หรือ เจ้าของผลิตภัณฑ์ เป็นผู้รับผิดชอบในการบริหารจัดการการทำงานเพื่อให้ได้มาซึ่งผลิตภัณฑ์ แต่ไม่จำเป็นต้องดำเนินการเอง เช่น การกำหนดภาระงานที่ชัดเจน การเรียงลำดับความสำคัญของงานให้สอดคล้องกับวิสัยทัศน์และเป้าหมายของผลิตภัณฑ์ การเพิ่มคุณค่าให้กับผลิตภัณฑ์ และการสร้างความมั่นใจว่างานต่างๆ มีความชัดเจนเพียงพอต่อความเข้าใจของคนในทีม
2. Development Team หรือ ทีมพัฒนาผลิตภัณฑ์ ผู้ที่อยู่ในทีมนี้จะต้องรู้หน้าที่การทำงานของตัวเองว่าต้องทำอะไรบ้าง โดยแต่ละคนจะมีความเชี่ยวชาญในด้านของตน แต่ก็สามารถทำงานอื่น ๆ ทั่วไปหรือข้ามสายงานได้เช่นกัน ด้วยเหตุนี้เองจึงทำให้ไม่ได้มีชื่อตำแหน่งเฉพาะในการเรียกคนที่อยู่ในทีม และจะไม่มีทีมย่อยลงไปอีก การทำงานต่าง ๆ ถือเป็นการรับผิดชอบของทุกคนในทีม
3. Scrum Master คือ คนที่รับผิดชอบและส่งเสริม สนับสนุน กิจกรรมต่าง ๆ ที่เกิดขึ้นในแต่ละรอบการทำงาน รวมถึงทำให้ทีมเข้าใจเป้าหมาย ขอบเขตของงานที่ทำ และแก้ไขปัญหาหรืออุปสรรคที่ขัดขวางการทำงานภายในทีม
กิจกรรมที่เกิดขึ้นใน Scrum
ก่อนที่จะเริ่มต้นในหัวข้อนี้ เรามาทำความรู้จักกับคำว่า Sprint กันก่อนนะครับ
Sprint หมายถึง ช่วงเวลาในการทำงาน 1 รอบ ซึ่งในแต่ละรอบจะมีการดำเนินกิจกรรมใน Scrum ทั้งหมด ประกอบด้วย Sprint Planning, Daily Scrum, การทำงาน, Sprint review และ Sprint retrospective
เอาล่ะ เรามาพูดถึงกิจกรรมจริง ๆ กันดีกว่า
“ภาพรวมของ Scrum”
1. Sprint Planning : ก่อนที่จะเริ่ม sprint ในแต่ละรอบจะต้องมีการวางแผน sprint ก่อน โดยจะต้องกำหนดว่า sprint ที่กำลังจะถึงนี้ เราจะทำอะไร งานแต่ละชิ้นมีลำดับความสำคัญอย่างไร และอะไรคือเป้าหมายของ sprint นี้
2. Daily Scrum : Development team จะใช้เวลาประมาณ 10-15 นาทีของแต่ละวัน ในเวลาเดิมๆ ในการอัพเดทงานว่าที่ทำไปเมื่อวานนี้มีอะไรบ้าง วันนี้จะทำอะไร และมีอุปสรรคอะไรที่มาขัดขวางการทำงานหรือไม่ โดยหลังจากจบ Daily Scrum จะเป็นการประชุมรายละเอียดของงานที่ต้องการเพิ่มหรือเปลี่ยนแปลงใน sprint นั้นๆ
3. Sprint Review : เป็นการประชุมร่วมกับผู้มีส่วนได้ส่วนเสียกับงานของเรา เพื่อตรวจสอบว่างานที่ทำต้องปรับแก้อะไรหรือไม่ โดยจะมีขั้นตอนหลักๆดังนี้
a. Product Owner เป็นคนเชิญทุกคนเข้าประชุม อธิบายว่างานไหนเสร็จแล้วบ้าง งานไหนยังไม่เสร็จ
b. Development team เล่าว่าเจอปัญหาอะไรระหว่างทำหรือไม่ มีการแก้ไขปัญหายังไง
c. สมาชิกทุกคนจะช่วยกันคิดว่า sprint หน้าควรจะทำอะไรบ้างรวมถึงทบทวนผลิตภัณฑ์หรือฟีเจอร์ต่าง ๆ ที่จะส่งมอบ
4. Sprint Retrospective เป็นกิจกรรมที่เกิดขึ้นหลัง Sprint Review เพื่อร่วมกันตรวจสอบว่า Sprint ที่ผ่านมา เป็นอย่างไรบ้าง เช่น เรื่องคน ความสัมพันธ์ กระบวนการและเครื่องมือต่างๆ และสร้างแผนปรับปรุงเพื่อทำให้ sprint ต่อไปได้ผลออกมาดีกว่าเดิม
โดยสรุปตอนนี้จะเล่าถึงภาพรวม การทำงานด้วย Scrum ซึ่งเป็นวิธีการทำงานที่ให้ความโปร่งใส ตรวจสอบได้ และยืดหยุ่นต่อการเปลี่ยนแปลงทำให้สามารถส่งมอบผลผลิตภัณฑ์ที่มีคุณค่ากับลูกค้าอย่างต่อเนื่องโดยทุกคนจะมีตำแหน่งใน Scrum ที่ชัดเจนและแต่ละตำแหน่งก็จะมีบทบาทในกิจกรรมที่แตกต่างกันออกไป และในตอนหน้าเราจะมาดูบทบาทขององค์กรและการนำ Scrum ไปประยุกต์ใช้กันครับ :D
ติดตามและพูดคุยกับ GBDi ได้ที่
#govbigdata #gbdi #bigdata #bigdatathailand #datascience #dataengineer #dataanalytics #digitalthailand #DigitalTransformation #BigData #Scrum #Government