สถาบันข้อมูลขนาดใหญ่ (องค์การมหาชน)

Logo BDI For web

ถอดบทเรียน Scrum in Big data ภาครัฐ: Part I

Jan 25, 2021

สวัสดีครับ ขอต้อนรับเข้าสู่บทความไตรภาคอันยิ่งใหญ่ที่จะเล่าเกี่ยวกับการปรับตัวทางดิจิตอล (Digital Transformation) ที่หลายองค์กรจะต้องพบเจอ และสิ่งที่น่าจะเปลี่ยนแปลงมากที่สุดก็คงหนีไม่พ้นวิธีการทำงาน (Working Process) ที่จะต้องตามสมัยเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด ตอบสนองนโยบายขององค์กรหรือความต้องการของตลาด

https://unsplash.com/photos/QckxruozjRg

วันนี้ผมจึงจะมาเล่า Case Study ที่น่าสนใจนั่นก็คือ สถาบันส่งเสริมการวิเคราะห์และบริหารข้อมูลขนาดใหญ่ภาครัฐ (GBDi) ที่เป็นหน่วยงาน Big data ภาครัฐ ได้นำการทำงานในรูปแบบของ Scrum มาปรับใช้กับหน่วยงาน เพื่อช่วยส่งเสริมการทำงานให้สามารถส่งมอบงานที่มีคุณค่าต่อลูกค้าได้เร็วขึ้น สามารถตรวจสอบการทำงานของทีมได้ละเอียดชัดเจนขึ้น และรองรับการเปลี่ยนแปลง Requirement ได้อย่างรวดเร็ว ซึ่งโดยทั่วไปนั้นหลักการของ Scrum ส่วนใหญ่มักจะใช้กันในสายพัฒนาซอฟแวร์ ดังนั้นจะเป็นอย่างไรเมื่อ GBDi ที่เป็นหน่วยงานภาครัฐสาย Data ได้นำการทำงานแบบ Scrum มาประยุกต์และปรับใช้ โดยบทความนี้จะแบ่งเป็น 3 ตอนย่อย ๆ ดังนี้

ตอนที่ 1: คอนเซ็ปต์ Scrum ล้วน ๆ ไม่มีวัวผสม

ตอนนี้จะเล่าถึงคอนเซ็ปต์ของ Scrum ที่ประกอบด้วยหลักการและทฤษฎีต่าง ๆ ก่อนการนำมาปรับใช้ โดยจะเล่าถึง 3 หัวข้อหลัก ดังนี้

  1. Scrum คือ อะไร
  2. บทบาทหน้าที่ของคนในทีม
  3. กิจกรรมที่เกิดขึ้นใน Scrum

“เอาล่ะ ถ้าพร้อมแล้ว มาเริ่มกันเลย”

Scrum คืออะไร

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

ตามทฤษฎีแล้ว Scrum ประกอบด้วย 3 คุณสมบัติ ได้แก่

  1. ความโปร่งใส (Transparency) ทุกคนในทีมเห็นการทำงานของกันและกัน และเข้าใจนิยามของเนื้องานที่ได้ตกลงกันไว้ เช่น การคุยด้วยภาษาเดียวกันเพื่อเลี่ยงปัญหาการสื่อสาร
  2. การตรวจสอบ (Inspection) สามารถตรวจสอบการทำงานได้อยู่เสมอว่าเป็นไปตามแผนที่วางไว้หรือไม่
  3. การปรับเปลี่ยน (Adaption) หากพบว่ามีการทำงานที่ไม่เป็นไปตามแผน จะต้องมีการปรับปรุงเปลี่ยนแผนเพื่อลดข้อผิดพลาดของผลิตภัณฑ์ให้ได้เร็วที่สุด
“เสาหลักของ Scrum”
https://productmint.com/what-are-the-three-pillars-of-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”
https://www.mimeo.com/blog/three-reasons-scrum-master-certified/
  1. Sprint Planning: ก่อนที่จะเริ่ม Sprint ในแต่ละรอบจะต้องมีการวางแผน Sprint ก่อน โดยจะต้องกำหนดว่า Sprint ที่กำลังจะถึงนี้ เราจะทำอะไร งานแต่ละชิ้นมีลำดับความสำคัญอย่างไร และอะไรคือเป้าหมายของ Sprint นี้
  2. Daily Scrum: Development Team จะใช้เวลาประมาณ 10-15 นาทีของแต่ละวัน ในเวลาเดิม ๆ ในการอัพเดทงานว่าที่ทำไปเมื่อวานนี้มีอะไรบ้าง วันนี้จะทำอะไร และมีอุปสรรคอะไรที่มาขัดขวางการทำงานหรือไม่ โดยหลังจากจบ Daily Scrum จะเป็นการประชุมรายละเอียดของงานที่ต้องการเพิ่มหรือเปลี่ยนแปลงใน Sprint นั้นๆ
  3. Sprint Review: เป็นการประชุมทีมและอาจรวมถึงผู้มีส่วนได้ส่วนเสียกับงานของเรา เพื่อตรวจสอบว่างานที่ทำต้องปรับแก้อะไรหรือไม่ โดยจะมีขั้นตอนหลัก ๆ ดังนี้
    • Product Owner เป็นคนเชิญทุกคนเข้าประชุม อธิบายว่างานไหนเสร็จแล้วบ้าง งานไหนยังไม่เสร็จ
    • Development Team เล่าว่าเจอปัญหาอะไรระหว่างทำหรือไม่ มีการแก้ไขปัญหายังไง
    • สมาชิกทุกคนจะช่วยกันคิดว่า Sprint หน้าควรจะทำอะไรบ้างรวมถึงทบทวนผลิตภัณฑ์หรือฟีเจอร์ต่าง ๆ ที่จะส่งมอบ
  4. Sprint Retrospective เป็นกิจกรรมที่เกิดขึ้นหลัง Sprint Review เพื่อร่วมกันตรวจสอบว่า Sprint ที่ผ่านมา เป็นอย่างไรบ้าง เช่น เรื่องคน ความสัมพันธ์ กระบวนการและเครื่องมือต่าง ๆ พร้อมทั้งสร้างแผนปรับปรุงเพื่อทำให้ Sprint ต่อไปได้ผลออกมาดีกว่าเดิม

สรุป

การทำงานด้วย Scrum ซึ่งเป็นวิธีการทำงานที่ให้ความโปร่งใส ตรวจสอบได้ และยืดหยุ่นต่อการเปลี่ยนแปลง ทำให้สามารถส่งมอบผลผลิตภัณฑ์ที่มีคุณค่ากับลูกค้าอย่างต่อเนื่องโดยทุกคนจะมีตำแหน่งใน Scrum ที่ชัดเจนและแต่ละตำแหน่งก็จะมีบทบาทในกิจกรรมที่แตกต่างกันออกไป และในตอนหน้าเราจะมาดูบทบาทขององค์กรและการนำ Scrum ไปประยุกต์ใช้กันครับ 😀

อ้างอิง

https://www.atlassian.com/agile/scrum/ceremonies
https://www.scrumguides.org/scrum-guide.html
https://medium.com/fastwork-engineering/scrum-คืออะไร-เริ่มใช้งานอย่างไร-2483e761a47e

Chainarong Tumapha

Senior Data Engineer Big Data Institute (Public Organization), BDI

© Big Data Institute | Privacy Notice