Agile คือรูปแบบการทำงานที่ใช้ในการบริหารจัดการทีมทำงาน โดยเน้นความรวดเร็ว ว่องไวและมีความยืดหยุ่น สมาชิกทำงานร่วมกันเป็นทีม ส่งมอบงานเป็นชิ้นย่อยๆเพื่อลดความเสี่ยง รับฟังและตอบสนองความต้องการของลูกค้า พร้อมปรับเปลี่ยนได้ตลอดเวลา
โดยทั่วไปแล้ว Product Owner จะให้ Requirement กับทีมเพื่อให้พัฒนาซอฟต์แวร์ จากนั้นซอฟต์แวร์ทั้งหมดจะถูกส่งมอบไปยังลูกค้าเพียงครั้งเดียว เรามักจะพบรูปแบบการทำงานนี้ในแบบ Waterfaull แต่รูปแบบการทำงานแบบ Agile นั้นจะส่งมอบให้กับลูกค้าเป็นส่วนๆไปเรื่อยๆจบครบตาม Requirement ทั้งหมด การส่งมอบเป็นส่วนๆนี้เองทำให้ลูกค้าสามารถบอกได้ว่าซอฟต์แวร์ที่ทำมานั้นตรงตามความต้องการหรือไม่ หรือลูกค้าอาจจะมีข้อเสนอแนะกลับมา ทำให้ซอต์แวร์มีประสิทธิภาพมากยิ่งขึ้น
ข้อเสอนแนะต่างที่ได้มาจากลูกค้า จะถูกสร้างเป็น Product Backlog หรือทั้งหมดที่มี โดยจะถูกหยิบเข้ามาแต่ละ Sprint (รอบของการพัฒนาซอฟต์แวร์) เมื่อจบ 1 Sprint ก็กลับไปหยิบงานใน Backlog จบหมด
Scrum Team จะพัฒนาซอฟต์แวร์ตาม Sprint ซึ่งโดยทั่วไปแล้ว 1 Sprint จะใช้เวลาประมาณ 2 สัปดาห์ แต่ระยะเวลาสามารถปรับเปลี่ยนได้ตามองค์กร ในการเริ่ม Sprint มีกิจกรรมหลักที่ Scrum Team จะทำได้แก่
Sprint Planning
เป็นการเริ่มวางแผนงานที่จะทำให้แต่ละ Sprint โดยเริ่มจาก Scurm Master เป็นคนจัด Meeting ซึ่งประกอบไปด้วย Product Owner และ Development Team งานที่จะทำจะสอดคล้องกับ Product Backlog ที่มีอยู่แล้ว โดยทีมจะเลือกจากลำดับความสำคัญสูงสุดมาก่อน
Daily Scrum
ในแต่ละวันทีมจะมี Meeting จะประมาณ 15 นาทีเพื่อนำเสนอความคืบหน้างานของแต่ละคน รวมถึงปัญหาที่พบและร้องขอความช่วยเหลือถ้าต้องการ ใน Daily Scrum นี้จะใช้ Scrum Board ควบคู่กันไปด้วยเพื่อแสดงให้เห็นความคืบหน้าในการทำงาน
Sprint Review
คือการนำเสนองานที่ทำมาทั้ง Sprint ให้กับผู้มีส่วนเกี่ยวข้อง
คือการนำเสนองานที่ทำมาทั้ง Sprint ให้กับผู้มีส่วนเกี่ยวข้อง
Sprint Retrospective
เป็นการพูดคุยถึงใน Sprint ที่ผ่านมาว่าเราทำอะไรได้ดี อะไรคือสิ่งที่เราสามารถพัฒนาขึ้นไปได้อีกเพื่อจะวางแผนพัฒนาใน Sprint ถัดๆไป