การนำ Scrum มาใช้บริหารโปรเจค

แนะนำโปรเจคของทีมเรากันก่อน BU Bus Tracker

ระบบ GPS ติดตามรถ โดยใช้บอร์ด LinkIt ONE ที่มีโมดูล GPS เชื่อมต่อผ่านเซิร์ฟเวอร์ ใช้เทคโนโลยี Internet of thing  แสดงค่าเป็นตำแหน่งพิกัดบน Google Map ผ่านทางเว็บไซต์ โดยผู้ใช้งานสามารถทราบตำแหน่งปัจจุบันของรถได้  ผู้จัดทำได้นำอุปกรณ์ไปติดตั้งกับรถโดยสารในมหาวิทยาลัย เพื่ออำนวยความสะดวกในการเดินทางให้ทราบพิกัดของรถโดยสารสามารถประเมินเวลาในการรอคอยได้

Scrum คืออะไร??

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

ที่มาของภาพ https://secmotic.com/blog/scrum-e-integracion-continua/

มาเริ่มกันเลย ก่อนอื่นต้องแบ่งหน้าที่กันให้ชัดเจน

1.Product Owner เป็นเจ้าของโปรเจค เป็นลูกค้าที่จ้างเราทำชิ้นงาน จะบอกสิ่งที่ต้องการ และรับมอบชิ้นงานที่สำเร็จแล้ว

2.Scrum Master เป็นผู้บริหารลูกทีม ให้ส่งมอบงานตามกำหนด คอยผู้ติดต่อประสานงาน

3.Scrum Team จะแบ่งหน้าที่การทำงานกันอย่างชัดเจน ว่าใครเป็นคนเขียนโปรแกรม ทำส่วนของฮาร์ดแวร์ หรือเซิร์ฟเวอร์

ยกตัวอย่างการแบ่งหน้าที่การทำงานในโปรเจคนี้

ตำแหน่งหน้าที่ของสมาชิกในทีม

ตัวอย่างการใช้งานของแต่ละขั้นตอน

การพัฒนาแบบ Scrum ผู้ใช้ระบบ จะต้องทำงานร่วมกับทีมพัฒนาอย่างใกล้ชิด เพื่อที่จะระบุและจัดลำดับความสำคัญก่อนหลังของหน้าที่ของระบบ
เก็บรวบรวมไว้ในรูปแบบที่เรียกว่า Product Backlog

1.Product Backlog >> ต้องสร้าง User Story ด้วยนะ

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

AS a …..Roles

ในฐานะที่ฉันเป็นผู้ใช้งานรถโดยสารสาธารณะในมหาวิทยาลัย

I want….Goals

ฉันต้องการทราบตำแหน่งพิกัดของรถโดยสาร บนแผนที่ว่ารถอยู่ไหนแล้ว ณ เวลานั้นๆ

So that….Benefit

ทำให้สามารถประเมินเวลาในการรอคอยรถโดยสารได้ มาขึ้นรถได้ทันเวลา

 

2.Sprint Planning Meeting เป็นการประชุมวางแผนSprint

What?    ส่งมอบอะไรให้ลูกค้า

How?      จะต้องทำอย่างไรบ้าง

อย่างน้อย 1 เดือนจะนำผลงานมาโชว์ครั้งหนึ่ง

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

 

3.Sprint Backlog  การทำงานจริง ที่แตกคำสั่งย่อยๆใส่รายละเอียดขั้นตอนการทำงาน

ยกตัวอย่างเช่น ลูกค้าจะอ่านค่าพิกัดของรถในสมาร์ทโฟน

คำสั่ง
-สร้าง UI ของเว็บไซต์
-นำค่าละติจูด ลองติจูด ที่อ่านได้จากอุปกรณ์มาพลอตบนGOOGLE MAP
-ใช้งานGOOGLE API
-ทดลองติดอุปกรณ์กับรถโดยสารเพื่ออ่านผลลัพธ์

บอกรายชื่อผู้รับผิดชอบ 

แต่ละงาน ต้องใช้เวลาทำงานกี่ชั่วโมง 

รวมเวลาชั่วโมงทั้งหมด

นำค่าที่ได้มาพลอตกราฟBurndown Chart  จะเป็นความสัมพันธ์ระหว่างชั่วโมงในการทำงาน และวันที่ทำ

กราฟจะบอกให้ทราบว่างานสำเร็จไปเท่าใด ยังเหลืออีกเท่าใด เพื่อให้ส่งงานได้ทันตามกำหนด

กราฟรายเดือนตั้งแต่เดือนสิงหาคม-เมษายน จำนวน 10 เดิอน (ปัจจุบันถึงเดือนที่6 มกราคม)

คลิ๊กเพื่อดูตัวอย่างการทำ Burndown Chart Template

 

4.Daily Scrum Meeting สมาชิกในทีมประชุมกันทุกวัน อย่างไม่เป็นทางการ เพื่ออัพเดทงาน

มี 3 คำถาม

  • จากการประชุมครั้งก่อน มีอะไรเสร็จไปแล้วบ้าง
  • คาดว่าจะทำอะไรให้เสร็จก่อนถึงการประชุมพรุ่งนี้
  • ปัญหาอะไรที่ยังแก้ไขไม่ได้

 

ที่มา https://manifesto.co.uk/agile-concepts-scrum-task-board
ตัวอย่างการสร้างตารางบันทึกการประชุม หากไม่มีเวลามาเจอกันทุกวัน แนะนำให้คุยกันผ่าน Chat Group Facebook

 

5.Sprint Review ให้ลูกค้าประเมินผล ว่าได้ชิ้นงานตรงตามความต้องการหรือไม่
มีการตรวจสอบและปรับเพื่อให้ได้สิ่งที่สมบูรณ์ที่สุด

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

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

6.Sprint Restrospective  >>ขั้นสุดท้าย พิจารณาว่า Sprint ที่ผ่านมาเป็นอย่างไรบ้าง

นำผลงานในขั้นสุดท้ายมาให้ลูกค้าได้ดู หากยังต้องปรับปรุงแก้ไข Product Backlog ก็จะทำซ้ำขั้นตอนต่างๆใหม่ตั้งแต่เริ่มต้น มีการประชุม สรุปผลตอบรับ และแก้ไขงาน ประเมินไปจนกว่าจะผ่านตามความต้องการของลูกค้า

 

สรุปข้อดีข้อด้อยของวิธีScrum

เหตุผลดีๆที่ควรเลือกใช้ Scrum

  • โปรเจคขนาดใหญ่สามารถมีการจัดการได้ง่าย
  • มีการพัฒนาและทดสอบอยู่ตลอด
  • ทำงานได้อย่างมีประสิทธิภาพทำให้โปรเจคพัฒนาเสร็จไว
  • ทีมจะมองเห็นภาพงานชัดเจนเพราะมีการประชุมอย่างสม่ำเสมอ
  • มีการรับความคิดเห็นของลูกค้าอย่างสม่ำเสมอ
  • เมื่อรับความคิดเห็นสามารถปรับเปลี่ยนโปรเจคได้ในระยะสั้น
  • สมาชิกภายในทีมสามารถมองเห็นภาพงานได้โดยการประชุมทุกวัน (daily scrum meetings)

 

ข้อด้อยที่ไม่ควรมองข้าม

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

แหล่งข้อมูลอ้างอิง

https://www.simplilearn.com/scrum-project-management-article

http://epf.eclipse.org/wikis/scrum/Scrum/guidances/templates/burndown_chart_D182CF23.html

 

สมาชิกในกลุ่ม  Bu Bus Tracker

1.ชุติกาญจน์ ศิริวิมลวรรณ 1560900373
2.พีรวัฒน์ จิ้นสุริวงษ์ 1560900209
3.วีรวัฒน์ วงศ์รุจินันท์ 1560900621
4.สฤษฏ์รัฐ สวัสดิ์ภักดี 1560900795
5.จักรพรรดิ์ ธรรมบุญเรือง 1560900803

BU Bus Tracker
at GlurGeek.Com

Leave a Reply

© 2022 GlurGeek.Com