เขียน Project Plan ด้วย Milestone
Easy to Draw, Easy to Update, New Way of Planning Your Project
The Way It Is
มีคำถามจากเพื่อน Project Manager มาบ่อยๆว่า “เราควรเขียน Project Plan ยังไงดีอะ?”
ผมถามกลับไปว่า “เขียนไปให้ใครอ่านครับ?”
เค้าบอกว่า “หัวหน้าอยากได้ แฮ่ๆๆ”
ผมก็ไม่แน่ใจว่าไอ้ “แฮ่ๆๆ” ที่มาพร้อมรอยยิ้มแห้งๆของเค้ามันแปลว่าเค้าไม่เห็นด้วยที่จะทำ Project Plan รึเปล่า … แต่ผมก็แชร์มุมมองของผมไปว่ายังไงก็ตามเราก็ควรมีนะ Project Plan เนี่ยะ เพียงแต่เราจะไม่ทำแบบเดิมๆ
The Way It Should Be
ก่อนจะลงมือเขียนหรืออัพเดท Project Plan จงนึกถึงประโยคนี้ไว้
หัวหน้าไม่สนใจวันเริ่ม เค้าสนใจแค่วันเสร็จ
ทุกโปรเจกต์มีการกำหนดวันเสร็จ (Deadline) ไว้หมดแล้ว สิ่งที่เปลี่ยนแปลงได้คือเราต้องทำอะไร (Scope) ให้เสร็จในช่วงเวลานั้นต่างหาก ยิ่งถ้าเราในฐานะ Project Manager เป็นส่วนหนึ่งของทีมที่พยายามประยุกต์ใช้ Agile Software Development การเปลี่ยนแปลง Scope เป็นเรื่องปกติที่เกิดขึ้นตลอดเวลา ไม่ว่าจะเปลี่ยน Feature ไปเลยหรือว่าแค่เปลี่ยนลำดับความสำคัญของมัน เมื่อเป็นเช่นนี้แล้วการเขียน Project Plan แบบละเอียดว่างานไหนจะเริ่มวันไหน-เสร็จวันไหน งานไหนทำก่อน-งานไหนทำหลัง หรืองานไหนมีความสัมพันธ์กับงานไหน (Dependency) ดูเหมือนจะเป็นการลงทุนที่ไม่คุ้มค่าเพราะเขียนเสร็จตอนเช้า ตอนเย็นก็ต้องเปลี่ยนอีกแล้ว … แบบนี้ทำไงดี?
ไหนๆเค้าก็สนใจแค่วันเสร็จอยู่แล้ว ผมคิดว่าเราก็จัดให้เค้าแบบนั้นซักหน่อยน่าจะดี … เมื่อพูดถึงวันเสร็จผมนึกถึงคำว่า Milestone หรือหลักชัยสำคัญในโปรเจกต์ของเรา ลองทำแบบนี้ดู
- เขียนเส้นยาวหนึ่งเส้น
- กำหนดวันเสร็จ (Deadline) ไว้ปลายเส้น
- แบ่งเส้นออกเป็นช่องตามจำนวนเวลาที่มี แบ่งเป็นเดือนก็ดี
- เริ่มกำหนดไปว่าในแต่ละ Milestone ต้องเสร็จวันไหนบ้าง
- สำหรับ Scrum Team เขียนกำหนดเลข Sprint ด้วยก็ได้
กับ Project Plan แบบนี้เวลาเราทำ Project Tracking เราก็จะ Track ไปที่ Milestone ไม่ใช่ Detailed Task อีกต่อไป ทำแบบนี้จะช่วยให้หัวหน้าหรือคนที่ต้องการข้อมูลเชิงสรุปผลจะเข้าใจความเป็นไปของโปรเจกต์เราได้ง่ายขึ้น
หมายเหตุ1: อย่าเข้าใจผิดว่า Milestone คือ Phase นะ ไม่เอาแบบว่า Milestone 1 = Code Completed, Milestone 2 = Test Completed … มันกว้างไป Track ยาก
หมายเหตุ2: ถ้าอยากรู้ว่าแต่ละ Sprint ทำอะไรบ้างก็ไปดูใน Sprint Backlog เอานะครับ
ผมเขียนบทความนี้เพราะอยากเปลี่ยนแปลงสิ่งที่เป็นอยู่ในอุตสาหกรรมการผลิตซอฟท์แวร์ให้ดีขึ้นตามความเชื่อและประสบการณ์ของผม ถ้าเพื่อนๆเชื่อในแนวทางเดียวกัน เรามาช่วยกันคนละไม้คนละมือทำให้สังคมของเราดีขึ้นครับ จะแชร์บทความนี้ผ่าน Social Network หรือจะแบ่งปันเรื่องราวนี้ให้คนที่นั่งข้างๆฟังบ้างก็ได้
The Future Has Arrived — It’s Just Not Evenly Distributed Yet, William Gibson
อนาคตอยู่ตรงนี้แล้ว เรามีหน้าที่ต้องถ่ายทอดมันออกไปให้คนอื่นได้สัมผัสสิ่งดีๆร่วมกันครับ