Agile Planning

หากพูดถึง Planning หลายคนอาจคิดว่าไม่จำเป็นแล้วสำหรับ Agile นั่นเพราะหนึ่งใน Key Values ของ Agile คือ Responding to Change OVER Following a Plan คือให้เน้นความสำคัญเรื่องความยืดหยุ่นในการแก้ไขเปลี่ยนแปลงเป็นหลักมากกว่าการทำตามแผนที่วางไว้ ทำให้หลายคนคิดว่า Planning คงไม่จำเป็นสำหรับอีกต่อไป เพราะในเมื่อเราไม่จำเป็นต้องทำตามแผนแล้ว เราก็ไม่จำเป็นที่จะต้องเสียเวลาเปล่าไปกับการวางแผน แท้ที่จริงแล้ว Agile ไม่ได้บอกเราว่าอะไรต้องทำ อะไรไม่ต้องทำ แต่เป็นการชี้ให้เห็นถึงน้ำหนักความสำคัญและคุณค่าของสิ่งที่เราทำว่าอันไหนมีความสำคัญและมีคุณค่ากว่ากัน ต่างหาก ดังนั้นแผนการยังคงต้องมี ถึงแม้จะมีความสำคัญน้อยกว่าการตอบสนองต่อความเปลี่ยนแปลงก็ตาม

สำหรับ Agile Planning ประกอบไปด้วย 5 ส่วนสำคัญโดยมองจากมุมมองเป็นหลักโดยเน้นการมองจากมุมใหญ่สุดไปหาเล็กสุด (Outside in) ซึ่งประกอบไปด้วย

  1. Product Vision แน่นอนว่าเป็นสิ่งที่ใหญ่และสำคัญที่สุด เมื่อเราอยากจะสร้าง Product/Service แต่ยังไม่รู้ว่าวิสัยทัศน์ของสิ่งที่เราจะสร้างขึ้นมาคืออะไรก็คงเปรียบเหมือนคนสายตาสั้นไม่ใส่แว่นตา แล้วไปเดินในที่มืด ๆ นอกจากจะมองอะไรไม่เห็นแล้ว พอมองเห็นก็ดันเห็นไม่ชัดเจนอีก ดังนั้น Vision ที่ชัดเจนจึงเป็นส่วนสำคัญที่จะทำให้ Product/Service ประสบความสำเร็จ Product owner คือคนที่มีหน้าที่โดยตรงในการกำหนด Vision และสื่อสารให้ทุกคนในทีมรับรู้เแล้วเข้าใจในวิสัยทัศน์ของตัว Product มองเห็นภาพเดียวกันเห็นเป้าหมายเดียวกัน ถึงจะก้าวไปในทิศทางเดียวกันได้อย่างพร้อมเพียงกัน
  2. Product Road Map อันนี้ก็ถือว่าเป็น scope ที่ใหญ่ไม่แตกต่างไปจากข้อแรกและมีความสำคัญไม่แพ้กัน เพราะมันคือแนวทางในการทำให้ Product สำเร็จตามเป้าหมายที่กำหนด การทำแผนในส่วนนี้ส่วนใหญ่จะเป็นการกำหนด Features ต่าง ๆ ใน Product ตลอดจนถึงการลำดับความสำคัญของ Feature ต่าง ๆ ให้มีความสอดคล้องกัน
  3. Release Plan เป็นการกำหนดว่าควรจะมีกี่ Release โดยไม่ยึดติดกับ Feature หรือวันที่แต่กำหนดให้ขึ้นอยู่กับ scope งานที่จะแล้วเสร็จเป็นหลัก แผนในส่วนนี้จะเป็นตัวกระตุ้นให้ทีมงานมีความกระตือรือร้นที่จะทำงานให้เสร็จตาม spec ใน product version.
  4. Sprint Planning ส่วนนี้จะเป็นแผนการในส่วนของ Development team โดย Sprint Planning จะสัมพันธ์โดยตรงกับงานในมือของสมาชิกทุกคนทำให้ขั้นตอนนี้เกิดขึ้นบ่อยอาจจะเป็นวันต่อวันเพื่อให้การทำงานเป็นไปอย่างราบรื่น ถือเป็นการบริหาร Backlog Items ในมือให้เสร็จครบตามกำหนด
  5. Daily Planning นอกจากจะเป็นการอัพเดรตงานระหว่างสมาชิกในทีมแล้วยังเป็นการ Planning Event ด้วยตลอดจนถึงการกำหนดเป้าหมายในวันถัดไป การทำ Daily Planning ยังช่วยให้เรารู้ถึงความก้าวหน้าของ Sprint Plan รู้ว่าเราอยู่ห่างจาก Sprint Goal ไกลเท่าใหร่ เพื่อให้ทีมงานตระหนักรู้ว่าหากจะบรรลุเป้าหมายจะต้องทำอย่างไร

และทั้งหมดนี่คือ Planning ที่จำเป็นต้องมีใน Agile หากเปรียบไปแล้ว การสร้าง Product/Service ก็เหมือนกับการออกเดินทาง ต้องมี Vision คอยกำหนดทิศ Road map คอยกำหนดเส้นทาง Release Plan เป็นแผนการเดินทาง Sprint Plan เป็นแผนการเดินทางในแต่ละช่วง และ Daily Planning เป็นแผนการเดินทางในแต่ละวัน หากสามารถทำแผนเหล่านี้ออกมาได้อย่างมีประสิทธิภาพ เป้าหมายที่ดูเหมือนห่างไกล จะไม่ไกลเกินความสามารถเป็นที่แน่นอน

แหล่งอ้างอิง
  1. Agile Planning — The 5 Scopes
  2. Agile software development, steps to work with Requirements, Estimation and Planning.
  3. Five Levels of Agile Planning.