วัฒนธรรมองค์กรที่แข็งแรงตั้งอยู่บนหกเรื่อง คือ ทำให้คุณค่าของบริษัทเห็นได้ในงานจริง พัฒนาพนักงาน สื่อสารอย่างเปิดเผย ดูแลสมดุลชีวิตกับงาน ยอมรับความสำเร็จ และส่งเสริมความสัมพันธ์นอกรอบ ทั้งหมดนี้โยงกลับไปที่ขวัญกำลังใจของทีม ซึ่งส่งผลต่องานโดยตรง เมื่อพนักงานรู้สึกว่ามีคนเห็นคุณค่าและมีแรงจูงใจ การ
Agile Manifesto คืออะไร?ค่านิยมหลักและหลักการอธิบาย
ในปี 2001 Agile Manifesto เปลี่ยนวิธีที่ทีมมองการส่งมอบซอฟต์แวร์ แทนที่จะล็อกทุกอย่างไว้ในแผนระยะยาว แถลงการณ์นี้เสนอแนวคิดที่ง่ายกว่า: ความต้องการย่อมเปลี่ยน การส่งมอบจึงต้องยืดหยุ่นไว้ สิ่งที่วัดกันคือซอฟต์แวร์ใช้งานได้หรือไม่ ส่วนเอกสารจะดูเรียบร้อยแค่ไหนเป็นเรื่องรอง
ประเด็นสำคัญ
Agile Manifesto วางคุณค่าไว้สี่ข้อ ซึ่งดึงความสนใจจากการควบคุมกระบวนการมาสู่การร่วมมือกันจริง ๆ เมื่อคนในทีมคุยกันตรง ๆ และคุยบ่อย ปัญหาก็โผล่เร็วขึ้น การตัดสินใจก็เร็วขึ้นตาม
หลักการของแถลงการณ์สนับสนุนให้ทำงานเป็นชิ้นเล็กลงและปล่อยงานบ่อยขึ้น พอรอบงานสั้น การเปลี่ยนแปลงก็ไม่รู้สึกเหมือนวิกฤตอีกต่อไป
ในการพัฒนาแบบทำซ้ำ ทุกรอบต้องได้ของที่จับต้องได้ รายงานหรือแผนไม่นับ ต้องเป็นส่วนเพิ่มที่ใช้งานได้จริง เอาไปสาธิตและทดสอบได้
ประวัติและจุดประสงค์ของ Agile Manifesto
เอกสารนี้เขียนขึ้นเมื่อเดือนกุมภาพันธ์ 2001 โดยคนทำงานด้านซอฟต์แวร์ 17 คนที่รัฐยูทาห์ พวกเขาเห็นมาแล้วว่าโมเดลแบบทำทีละขั้นตามลำดับล้มเหลวอย่างไรในสภาพแวดล้อมที่เปลี่ยนเร็ว ช่วงวางแผนที่ยืดยาวทำให้งานล่าช้า และกว่าจะได้ฟีดแบ็กก็สายเกินกว่าจะเปลี่ยนทิศทางได้โดยไม่เสียเงินก้อนใหญ่
เป้าหมายของพวกเขาเป็นเรื่องปฏิบัติล้วน ๆ คือทำให้การพัฒนาปรับตัวได้และยึดการส่งมอบเป็นหลัก ต่อมาความคิดนี้หล่อหลอมกรอบงานอย่าง Scrum และ Kanban ซึ่งทำให้รอบงานสั้น backlog ที่ทุกคนมองเห็น และจุดทบทวนเป็นประจำ กลายเป็นแบบแผนที่ใช้กันอย่างเป็นทางการ ข้อมูลเพิ่มเติม: กระดานคัมบัง
คุณค่าหลักของ Agile Manifesto
คุณค่าทั้งสี่ข้อสวนทางกับตรรกะของการบริหารโครงการแบบดั้งเดิมโดยตรง:
- บุคคลและการสื่อสารเหนือกระบวนการและเครื่องมือ. การสื่อสารที่ชัดช่วยลดสมมติฐานที่ซ่อนอยู่ ทีมที่คุยกันตรง ๆ จะเห็นปัญหาเร็วกว่าทีมที่พึ่งเอกสารอย่างเดียว
- ซอฟต์แวร์ที่ทำงานได้เหนือเอกสารที่ครอบคลุม. ถ้าผู้ใช้จริงลองใช้ฟีเจอร์ได้ นั่นคือความก้าวหน้า เอกสารอย่างเดียวพิสูจน์ไม่ได้ว่าอะไรใช้งานได้
- การร่วมมือกับลูกค้าเหนือการเจรจาสัญญา. ฟีดแบ็กที่ได้อย่างสม่ำเสมอบอกตั้งแต่เนิ่น ๆ ว่าฟีเจอร์แก้ปัญหาได้จริง หรือแค่ดูสมเหตุสมผลในข้อกำหนด
- การตอบสนองต่อการเปลี่ยนแปลงเหนือการทำตามแผน. แผนยังมีอยู่ แต่ถูกทบทวนบ่อย ลำดับความสำคัญเปลี่ยนได้โดยไม่ต้องรื้อโครงการเริ่มใหม่ทั้งหมด
หลักการของ Agile Manifesto
หลักการ 12 ข้อแปลงคุณค่าเหล่านี้ให้เป็นงานประจำวัน โดยแก่นแล้ว หลักการเหล่านี้วนอยู่รอบรอบงานที่สั้นลงและฟีดแบ็กที่มาอย่างสม่ำเสมอ:
- ความพึงพอใจของลูกค้า. ส่งมอบฟังก์ชันที่ใช้งานได้ตั้งแต่เนิ่น ๆ แล้วพัฒนาต่อ ฟีดแบ็กหลังปล่อยแต่ละครั้งบอกว่ามาถูกทางหรือไม่
- โอบรับการเปลี่ยนแปลง. ขอบเขตงานเปลี่ยนได้เสมอ ทีมรับมือด้วยการปรับ backlog ไม่ต้องรื้อออกแบบใหม่แบบฉุกเฉิน
- การส่งมอบบ่อยครั้ง. การปล่อยงานทีละชิ้นเล็ก ๆ ทำให้เห็นข้อผิดพลาดตั้งแต่ตอนที่ยังแก้ได้ไม่แพง
- การร่วมมืออย่างใกล้ชิด. ฝ่ายธุรกิจกับทีมพัฒนาทำงานเคียงข้างกัน โอกาสตีความข้อกำหนดผิดจึงน้อยลง
- ทีมที่จัดระบบตนเอง. ทีมตัดสินใจเองว่าจะแบ่งงานกันอย่างไร สายการอนุมัติจึงสั้นลงและงานเดินเร็วขึ้น
ถ้างานถูกส่งมอบแค่ตอนปลายรอบที่ยาว ความเสี่ยงก็ซ่อนอยู่ได้นาน การทำงานเป็นรอบ ๆ ช่วยลดช่องโหว่ตรงนั้น
ผลกระทบของ Agile ต่อการพัฒนาซอฟต์แวร์
Agile ทำให้ทีมทดสอบไอเดียได้เร็ว ไม่ต้องรอปล่อยของเต็มรูปแบบ แทนที่จะรอหลายเดือนกว่าจะเห็นผล ทีมจะปล่อยส่วนเพิ่มเล็ก ๆ ออกไปก่อน แล้วทดสอบสมมติฐานกับสถานการณ์จริง กรอบงานอย่าง Scrum และ Kanban รองรับแนวทางนี้ด้วยการจัดงานเป็นรอบสั้นหรือเป็นการไหลต่อเนื่อง ซึ่งทำให้มองเห็นคอขวดได้
ทำงานเป็นชิ้นเล็กลง ตรวจผลให้บ่อยขึ้น และปรับลำดับความสำคัญเมื่อมีข้อมูลใหม่เข้ามา
การประยุกต์ใช้หลัก Agile ในอุตสาหกรรมอื่น
ทีมการตลาดทดลองแคมเปญเล็ก ๆ ก่อนจะเพิ่มงบ ถ้าข้อความไม่เวิร์ก ความเสียหายก็อยู่ในวงจำกัด ในงานบุคคลหรืองานราชการ บอร์ดงานที่ทุกคนมองเห็นและการวางแผนทีละขั้นช่วยให้รู้ชัดว่าใครรับผิดชอบอะไร และการประสานงานก็ราบรื่นขึ้น
ข้อเท็จจริงน่าสนใจ
Agile Manifesto ร่างเสร็จภายในสองวัน ผู้เขียนหลายคนอยู่เบื้องหลังกรอบงานภาคปฏิบัติอย่าง Scrum ซึ่งเปลี่ยนแนวคิดหลักให้เป็นวิธีส่งมอบงานที่ทำซ้ำได้
ถ้าอยากเข้าใจว่า Agile ใช้ในงานจริงอย่างไร ลองดู เวิร์กโฟลว์การบริหารโครงการ ซึ่งแสดงให้เห็นว่าขั้นตอนที่มีโครงสร้างอยู่ร่วมกับการทำงานเป็นรอบได้อย่างไร ถ้ากำลังเลือกระหว่างแนวทาง ดู Scrum หรือ Kanban เพื่อเทียบว่าจังหวะงานและการมองเห็นเวิร์กโฟลว์ต่างกันตรงไหน ส่วนการแบ่งบทบาทในทีม ดูได้ที่ โครงสร้างทีม Agile
หนังสือแนะนำ
"Agile Project Management"
คู่มือภาคปฏิบัติสำหรับการบริหารโครงการแบบ Agile ให้ประสบผล
"Scrum: The Art of Doing Twice the Work in Half the Time" by Jeff Sutherland
เจาะลึก Scrum หนึ่งในกรอบงาน Agile ที่ใช้กันแพร่หลายที่สุด
"Agile Principles, Patterns, and Practices in C#"
คู่มือเชิงเทคนิคสำหรับการนำ Agile มาใช้ในการพัฒนาด้วย C#
"The Lean Startup" by Eric Ries
หนังสือเกี่ยวกับการนำหลักการทำซ้ำมาใช้กับการพัฒนาผลิตภัณฑ์ อ่านเพิ่มเติม: ซอฟต์แวร์บริหารโครงการสำหรับทีม
บทสรุป
Agile Manifesto จัดวางการพัฒนาซอฟต์แวร์ใหม่ โดยให้ความสามารถในการปรับตัวและการส่งมอบที่สม่ำเสมอเป็นแกน รอบงานที่เล็กลงทำให้เห็นปัญหาเร็วขึ้นและเปลี่ยนเส้นทางได้ถูกลง ถ้าละเลยเรื่องนี้ ทีมมักเจอปัญหาช้าไป ตอนที่การแก้มีราคาแพงแล้ว Agile จะได้ผลก็ต่อเมื่อปล่อยงานเป็นจังหวะสม่ำเสมอ ทุกคนเห็นว่ากำลังทำอะไรอยู่ และไม่มีใครข้ามการทบทวน