Agile (อไจล์) คือ
จริงๆแล้ว "อไจล์" ไม่ใช่ขั้นตอนการทำงานหรือรูปแบบการทำงาน แต่เป็นแนวคิดในการทำงานสามารถใช้ได้ทุกสายงาน ไม่ได้เฉพาะเจาะจงกับงานในสายซอฟต์แวร์ (software) หรือสายงานเทคโนโลยีเท่านั้น
โดย Agile (อไจล์) เป็นกระบวนการส่งมอบงานและได้รับ Feedback อย่างต่อเนื่องในการทำผลิตภัณฑ์ (Product) หรือซอฟต์แวร์ (Software) และปรับเปลี่ยนเข้ากับการแข่งขันได้ตลอดเวลา และสิ่งสำคัญที่จะทำให้เกิด Agile (อไจล์) ได้ต้องมีการร่วมมือกันระหว่างผู้ต้องการที่อยากได้ผลิตภัณฑ์ (Product) หรือซอฟต์แวร์ (Software) และผู้ทำผลิตภัณฑ์ (Product) หรือซอฟต์แวร์ (Software) โดยใช้หลัก Agile (อไจล์) จะส่งเสริมให้ทั้งสองฝ่ายเข้าใจและใกล้กันมากที่สุด เพื่อได้ Feedback Loop มาอย่างรวดเร็ว ซึ่ง Feedback Loop จะได้มาจาก ผู้ต้องการ และนำส่งสู่ผู้ทำ เพื่อผู้ทำจะได้ปรับตัว วิธีการทำงาน และปรับเปลี่ยนผลิตภัณฑ์ (Product) หรือซอฟต์แวร์ (Software) ให้ตรงกับความต้องการของผู้ต้องการได้มากที่สุด ก่อนที่จะส่งมอบผลิตภัณฑ์ (Product) หรือซอฟแวร์ (Software) ให้กับผู้ต้องการและผู้ต้องการพึงพอใจในสิ่งที่ทางผู้พัฒนาทำให้ตามความต้องการ
Agile (อไจล์)
- Agile ให้ Value กับ 2 อย่างคือ Feedback และ Collaboration
- Agile เป็นเพียงแค่ Mindset บอกแค่ What กับ Why แต่ ส่วน Methodology ต่าง ๆ คือสิ่งที่บอก How
- Agile แตกต่างกับ Scrum อย่างไร
- Agile เป็น Mindset แต่ Scrum เป็นหนึ่งใน Agile Methodologies
- Agile Manifesto คือ แก่นของ Agile ที่จะทำอย่างไรไม่ให้ Methodology ของ Agile config กันเอง และแชร์ Value ต่อกันเพื่อพัฒนาต่อยอดได้
หัวใจสำคัญของ Agile (อไจล์)
- Collaboration ระหว่างทั้งสองฝ่าย อย่างสม่ำเสมอ
- ผู้ต้องการส่ง Feedback Loop เช่น สิ่งที่ต้องการคืออะไร ให้ทางผู้พัฒนาบ่อยสม่ำเสมอ
Agile Mindset คือ ?
เราต้องมาคุยกันก่อนว่าอะไร ? ที่ไม่ใช่ Mindset ของ Agile
ยกตัวอย่าง การทำงานที่ทั้งสองฝ่ายไม่ว่าจะเป็นผู้ต้องการและผู้ทำเป็นการทำงานอยู่ตัวเอง โดยไม่สนใจความต้องการจากภายนอก ไม่สนใจด้วยซ้ำว่า Feedback ที่ได้รับมาจะปรับปรุงอย่างไรและไม่ Collaboration กับภายนอก สนใจแต่จะทำงานในพาร์ทของตัวเอง พอถึงวันที่จะต้องส่งมอบผลิตภัณฑ์ (Product) หรือซอฟต์แวร์ (Software) กับกลายเป็นสิ่งที่ไม่ได้ตกลงกันตั้งแรกหรือไม่ได้ตรงตามความต้องการของผู้ใช้งาน การทำงานแบบแบบตัวอย่างข้างต้นจะทำให้เห็นว่าการทำงานแบบ Agile สำคัญต่อการพัฒนาผลิตภัณฑ์ (Product) หรือซอฟต์แวร์ (Software) เป็นอย่างมาก
แล้ว Agile Mindset ละคืออะไร?
- ทำให้คนในบริษัทเห็นประโยชน์ของ Feedback การทำงานในพาร์ทนั้น ๆ ว่าเราสามารถนำ Feedback มาปรับปรุงและเพิ่มการแข่งขันอะไรในองค์กรของเรา เพื่อให้ คนในบริษัท มีกำลังใจในการทำงานมากขึ้น
- ทำให้คนในบริษัทเห็น Value จริงๆ ขององค์กร เพื่อที่ป้องกันคนในบริษัททำงานตาม Save zone ของตัวเอง และพร้อมที่จะก้าวไปพร้อมๆกับองค์กร
Agile Scrum คือ
Agile (อไจล์) เป็น Principle ใหญ่ ๆ ที่ครอบคลุม Scrum , Extreme Programing , kanban , crystal และ DAD ซึ่งที่กล่าวมาเป็น Methodology อยู่ภายใต้ Agile (อไจล์) แล้วแต่ผู้ที่เจอปัญหาต้องการที่จะเลือก Methodology ใด ไปแก้ปัญหานั้น ๆ แต่ถ้าเลือกแล้วไม่ตอบโจทย์กับปัญหาที่องค์กรเจอ เราสามารถ Mix Methodology ที่อยู่ภายใต้ Agile (อไจล์) ได้อย่างหลากหลายเพราะมีแพทเทริน์ให้การใช้งานอยู่แล้ว แต่ต้องเข้าใจ Methodology อย่างชัดเจน เพื่อให้ตอบโจทย์และแก้ปัญหาขององค์กรได้
Agile (อไจล์) ไม่ใช่ Scrum , Extreme Programing , kanban , crystal และ DAD แต่เป็น
Principle ใหญ่ ๆ ที่ครอบคลุมที่กล่าวข้างต้น
Agile Manifesto คือ
เป็นแนวคิดเบื้องต้น ถ้าเรามี Methodology หลากๆอัน ที่อยู่ภายใต้ agile (อไจล์) เราจะทำอย่างไรให้ Methodology ไม่ขัดแย้งกันเอง โดยมีปัจจัยสำคัญคือ การลงมือทำ โดยมีวิธีการสนับสนุนดังนี้
Individuals and interactions over processes and tools :
ปัจจัยที่มีผลสูงสุดต่อการทำผลิตภัณฑ์ (Product) หรือซอฟแวร์ (software) คือ คน
ดังนั้น ควรให้ความสำคัญกับการทำงานเป็นทีม เน้นการสื่อสารและปฏิสัมพันธ์กันระหว่างคนในทีม มากกว่าต้องพึ่งเครื่องมื่อต่าง ๆ เพื่อจะได้พาคนในทีมไปยังจุดสูงสุดของเป้าหมาย และการสื่อสารของคนในทีมจะส่งผลให้องค์กรได้ทีมงานที่มีคุณภาพสูง
Working software over comprehensive documentation :
เน้นทำผลิตภัณฑ์ มากกว่าการทำเอกสาร ไม่จริง เราให้ความสำคัญของเอกสารเป็นลำดับที่ 2 หลังจาก ผ่านช่วงเเรกของการทำ ผลิตภัณฑ์ (Product) หรือซอฟแวร์ (software) และให้ความสำคัญกับ Feedback จาก Working software ก่อน หากเราได้ความเสถียรของการพัฒนาเรียบร้อยแล้ว เราจึงจะนำสิ่งเหล่านั้นมาไตร่ตรองเป็นเอกสารที่สำคัญสำหรับผลิตภัณฑ์ (Product) หรือซอฟแวร์ (software) เพื่อที่ดูแล ผลิตภัณฑ์ (Product) หรือซอฟแวร์ (software) ต่อไปได้อย่างยาวนาน
Collaboration over contract negotiation :
การคุยกับลูกค้าเป็นสิ่งสำคัญเพื่อรับ Feedback และนำมาปรังปรุง
ยกตัวอย่าง ถ้าเราการส่งมอบ ผลิตภัณฑ์ (Product) หรือซอฟต์แวร์ (Software) ที่มี Value ให้ Customer ได้บ่อย ๆ ส่งงานมอบทุก 2 สัปดาห์ เพื่อรอรับ Feedback ของงานนั้น ๆ พอถึงจุดที่ต้อง appreciate เราจะ negotiate ได้ง่ายมากกว่าการรอส่งครั้งเดียวตามสัญญา
Responding to change over following a plan :
เราต้องทำ Plan ใหญ่ของการทำงานที่จะพัฒนาผลิตภัณฑ์ (Product) หรือซอฟต์แวร์ (software) เพื่อขอ budget หาก budget ผ่านการ approve เรียบร้อยแล้ว เราจะนำ Plan ใหญ่ ของเราเก็บไว้ และสร้าง Plan รองเพื่อทำสิ่งสำคัญของโปรเจ็ค (Project) คือ Receiver ผลิตภัณฑ์ (Product) หรือซอฟแวร์ (software) บ่อยๆ และนำความเปลี่ยนแปลงตลาดหรือ requirement ที่เปลี่ยนแปลงอยู่ตลอด มาศึกษาและปรับตัวเราในเข้ากับความเปลี่ยนแปลงนั้นๆ ซึ่งบางครั้งความเปลี่ยนแปลงที่เกิดขึ้นอาจจะไม่เหมือนกับ Plan ใหญ่ ของเรา เพราะ ตลาด หรือ requirement เปลี่ยนไปแล้ว ซึ่งเราต้องให้ความสำคัญกับ ตลาด หรือ requirement ที่เปลี่ยน มากกว่า ที่จะ Follow up แผนใหญ่แต่ต้องอยู่ภายใต้ budget ของเรา
แต่ Manifesto ไม่ได้บอกว่าต้องทำยังไง แค่บอกแนวคิดกว้าง ๆ ถ้าอยากจะทำอย่างไรให้ไปสู่เป้าหมายให้ย้อนกลับไปดู Methodology
ที่มา : https://www.youtube.com/watch?app=desktop&v=4b1_yn2JPb4