Agile Methodology
Published in
1 min readJul 7, 2021
Agile ไม่ใช่วิธีการทำงานหรือระบบแต่อย่างใด แต่มันคือแนวคิดในการทำงานเพื่อการทำงานร่วมกับคนอื่นและสามารถประยุกต์ใช้ได้กับการทำงานอย่างอื่นนอกเหนือจากสายการทำงานเกี่ยวกับ Software system ได้เช่นเดียวกัน
การทำ Agile เริ่มจากการเเบ่งงานให้เล็กและชี้เเจงงานให้ละเอียด เพื่อการที่ให้คนที่ต้องการนำไปดู ศึกษา หรือนำไปทำต่อจะได้สะดวกและรวดเร็วมากยิ่งขึ้น เเละยังลดโอกาสที่จะมีบางส่วนของชิ้นงานไม่มีคนทำหรือคนดูแลเนื่องจากเป็นส่วนที่คาบเกี่ยวระหว่างกัน
สิ่งที่สำคัญในการใช้ Agile
- เราต้องรู้ตัวเองว่าเราต้องทำอะไร การที่เราทำงานส่วนของตนเองเสร็จสมบูรณ์เป็นที่เรียบร้อยเเล้วก็ไม่ได้หมายความว่าชิ้นงานนั้นๆจะเสร็จสมบูรณ์เป็นที่เรียบร้อยเเล้ว การใช้ Agile เราต้องมองงานเป็นทีม ถ้าทีมเราไม่เสร็จถือว่าเราไม่เสร็จด้วยเช่นกัน เพราะสุดท้ายชิ้นงานก็ต้องประกอบด้วยส่วนประกอบจากทุกๆคนในทีม
- เราต้องสนใจจิตใจของคนในทีม สภาพจิตใจเป็นสิ่งที่สามารถส่งผลต่องานไม่ว่าจะมากหรือน้อยก็ตาม การที่จิตใจของคนๆนึงในทีมมีปัญหาก็สามารถนำปัญหามาสู่คนที่เหลือในทีมจนถึงคนทั้งทีมได้ เเละถ้าทีมมีปัญหาซึ่งแน่นอนว่าผลกระทบตามมาก็คือปัญหาของชิ้นงาน
- การมองงานแยกกับเรื่องส่วนตัว ข้อนี้คนส่วนมากจะทำได้ยาก ถึงจะบอกว่ามาสามารถทำได้แต่สุดท้ายก็ยังไม่สามารถแบ่งแยกได้อย่างชัดเจนว่าเรื่องไหนเป็นเรื่องส่วนตัวและเรื่องไหนเป็นงาน
กิจกรรมของ Agile
- Daily standup: แน่นอนว่าการทำงานกันเป็นทีมในทุกรูปแบบต้องมีการประชุมเพื่อพูดคุยเรื่องปัญหาเเละอัพเดทความคืบหน้าของชิ้นงานนั้นๆอย่างสม่ำเสมอ Agile ก็เช่นเดียวกัน Agile จะมีการประชุมในทุกๆวัน แต่ต่างกันตรงที่ว่าจะเป็นการยืนแทนการนั่ง เเละเวลาส่วนมากจะไม่เกิน 5 ถึง 10 นาที การที่เรายืนจะทำให้เราเมื่อยเเละทุกคนก็อยากอยากรีบพูดให้เสร็จไป เเต่จะพูดส่งๆไปก็ไม่ได้เนื่องจากงานจะไม่คืบหน้าต่อไป ดังนั้นทุกคนในทีมต้องรวบรัด โดยเนื้อหาส่วนมากที่จะพูดกันในขั้นตอนนี้จะมี เมื่อวานทำอะไร, วันนี้จะทำอะไร, อะไรที่เสร็จเเล้ว, ติดปัญหาอะไร, แก้ได้หรือไม่, แก้อย่างไร, ต้องการคนช่วยเหลือหรือไม่
- Refinement: การทำงานเราจะแบ่งงานเป็น sprint เพื่อที่จะสามารถ อัพเดทงานได้ง่ายเเละเพื่อให้งานเสร็จตรงตามเวลาที่กำหนดมากที่สุด โดย sprint นึงจะใช้เวลาประมาณ 2 สัปดาห์ ใน sprint เราจะใส่งานลงไปเป็น Story card ซึ่งใน Story card นั้นจะประกอบไปด้วย โครงสร้างงานต่างๆ รายละเอียดของงาน ชื่องาน เเละคะแนนของแต่ละ card โดยที่แต่ละ card จะให้คะแนนความยากของตัว card เอง โดยให้คะแนนความยากเป็นเลข Fibonacci
- Sprint Planning: คือการชี้เเจงงานในแต่ละ sprint ว่าต้องทำอะไรบ้างและมีระยะเวลาเป็นเท่าไหร่ โดยเราจะให้คะแนนความยากของ sprint ด้วยเช่นกัน อย่างเช่น sprint นี้ให้ไว้ที่ 30 คะแนน ต่อไปเราต้องนำ Story card ที่เราเขียนมารวมคะแนนให้ได้ 30 หรือใกล้เคียง 30 มากที่สุด เเละแต่ละ card ที่นำไปใส่ไว้ใน sprint นั้นๆก็คืองานที่ต้องทำใน sprint นั้นๆ
- Sprint review: นอกจาก Daily standup เเล้วเราจะมีการอัพเดทงานอีกรอบนึงซึ่งจะคล้ายๆกับ Daily standup แต่แตกต่างกันตรงที่ว่าจะไม่จำเป็นต้องทำทุกวัน เพราะจะทำ Sprint review ต่อเมื่อจบ sprint นั้นๆเเล้วว่างานทำเสร็จหรือไม่, มีงานที่ทำไม่เสร็จหรือไม่, งานที่ไม่เสร็จคืออะไร, ติดปัญหาอะไรหรือไม่ โดยส่วนมากเนื้อหาการประชุมจะใกล้เคียงกับ Daily standup แต่จะมีการคุยกับ Product Owner หรือ Team Leader ด้วยเพื่ออัพเดทผลงานในแต่ละ sprint
- Retrospective: การพัฒนาทีม การที่เราจะทำงานได้ดียิ่งขึ้นย่อมต้องมีการพัฒนาไม่ว่าจะมากหรือน้อยก็ตาม ส่วนมากถ้างานมีปัญหาเราจะช่วยกันหา solution เพื่อแก้ปัญหาและเป็นการสร้าง teamwork ไปในตัว หรือถ้างานทุกอย่างเสร็จไปได้ด้วยดีเราดูสิ่งที่สำคัญอีกอย่างซึ่งนั่นก็คือจิตใจของคนในทีม ผลงานที่ออกมาอาจจะไม่ได้มีปัญหาถึงขั้นสามารถสังเกตได้ง่ายเเต่อาจจะมีการกระทบกระทั่งกันในระหว่างการทำงาน ดังนั้นในการพัฒนาหรือแก้ปัญหา จะมีหลายวิธีการ ตัวอย่างเช่นการให้วาดรูปที่สะท้อนตัวเองออกมาว่าเป็นสิ่งของหรือเป็นอะไรสำหรับทีม
Touch Technologies
“ เราไม่ได้ถูกต้องที่สุด แต่เราแสดงสิ่งที่เราทำ ”