An Agile Approach to Planning — การวางแผนแบบหัวหอม ตอนที่ 1

Suthasinee Lieopairoj
Siam Chamnankit Family
2 min readJul 12, 2021

--

การวางแผนในระดับต่างๆ สิ่งที่ต้องเตรียม ในการประชุมวางแผนระดับโครงการ

บันทึกเนื้อหาจากคลาส Agile Project Management in Practice ของพี่หนุ่มนะคะ
จากที่เรียนมาหลายรอบ เลยเอามาเขย่าๆ รวมกันว่าตัวเองเข้าใจแบบนี้ค่ะ…

การวางแผนและกำหนดเป้าหมายเป็นเรื่องหลักที่ “สำคัญและจำเป็นต้องทำ” สำหรับทั้งธุรกิจและการบริหารโครงการและจำเป็นต้องทำในทุกระดับชั้น จากรูปด้านบน ภายใต้การวางแผนหลากหลายระดับ สามารถแบ่งได้เป็น 2 ระดับใหญ่ ๆ คือ

1. แผนในเชิงธุรกิจ (Business Plan) คือ แผนที่คนทำธุรกิจ (Stakeholders) ต้องเป็นผู้วางเอง ในระดับธุรกิจจะประกอบด้วยแผนระดับรอง 3 ระดับ ได้แก่…

  • แผนระดับกลยุทธ์ (Strategy)
  • แผนระดับกลุ่มสินค้า (Portfolio)
  • แผนระดับตัวสินค้า (Product)

2. แผนในเชิงโครงการ (Project Plan) คือ แผนที่ผู้รับผิดชอบโครงการและทีมผู้พัฒนาซอฟต์แวร์ ต้องเป็นผู้วางร่วมกัน โดยภายใต้โครงการจะประกอบด้วยแผนระดับรอง ได้แก่…

  • แผนระดับรอบการส่งมอบงาน (Release): เป็นแผนที่ผู้รับผิดชอบโครงการและทีมพัฒนาซอฟต์แวร์ตกลงร่วมกัน
  • แผนระดับรอบการทำงาน (Iteration): เป็นแผนของทีมพัฒนาซอฟต์แวร์ในระดับรอบการทำงานตามแต่กำหนดตกลงกันในทีม เช่น รอบการทำงานในระดับ 7, 10, หรือ 14 วัน
  • แผนระดับวัน (Day): เป็นแผนของทีมพัฒนาซอฟต์แวร์ในระดับวัน ว่าในแต่ละวันต้องทำอะไรบ้าง
  • แผนระดับชิ้นงาน (Task): เป็นแผนของทีมพัฒนาซอฟต์แวร์ในระดับชิ้นงาน

ในระดับที่เกี่ยวข้องกับการปฏิบัติการทางซอฟต์แวร์ อย่างแผนในเชิงโครงการ ก่อนที่มีการประชุมเพื่อเริ่มต้นโครงการ (หรือที่เรียกว่าช่วง Pre-Game) ผู้ว่าจ้างทางฝ่ายธุรกิจควรเตรียมข้อมูลต่างๆ ให้พร้อม มีหลักๆ ตามด้านล่างค่ะ

1. เป้าหมายทางธุรกิจ (Business Goal)

2. ขอบเขตการทำงาน (Scope) หรือ เอกสารกำหนดขอบเขตของงาน (Term of Reference: TOR)

3. ช่วงเวลาของโครงการ (Duration)

4. วันที่ต้องส่งมอบงานในตลอดช่วงโครงการ (Release Date)

5. ค่าใช้จ่ายระหว่างโครงการ (Cost)

6. สิ่งที่ต้องส่งมอบให้ผู้ว่าจ้าง (Deliverable)

Project Plan (ช่วงต่างๆ ในระดับโครงการ)

หลังจากข้อมูลพร้อมแล้ว ในวันที่ประชุมเพื่อเริ่มต้นโครงการ (Kick-off Project Meeting) หัวข้อหลัก ๆ ที่โต๊ะประชุมจำเป็นต้องพูดคุยกันเพื่อวางแผนก่อนที่จะเริ่มโครงการ และต้องระบุข้อมูลที่พูดคุยลงใน Product Backlog ด้วย เช่นเรื่องหลักๆ ดังต่อไปนี้ค่ะ

1. ปัญหาธุรกิจ (Business Problems)​ เช่น โครงการนี้เกิดขึ้นเนื่องจากปัญหาทางธุรกิจอะไร? และจะแก้ปัญหาอะไรให้กับธุรกิจได้?

2. ความท้าทายทางเทคนิคและการจัดการความเสี่ยงที่อาจเกิดขึ้น (Technical Challenge & Risk Management) เช่น เรื่องทางด้านสถาปัตยกรรม เซิร์ฟเวอร์ บุคลากรที่เหมาะสมที่จะทำงาน ภาษาทางซอฟต์แวร์ที่ใช้ และการทดสอบแบบอัตโนมัติ เป็นต้น

3. กิจกรรมที่ต้องทำเพื่อการส่งมอบสินค้า (Release Activities) เช่น การแพคซอตโค้ดและไลบรารี่ต่าง ๆ รวมถึงวิธีการส่งมอบชิ้นงานไปถึงมือลูกค้า

4. ผู้ที่ต้องเข้ามาช่วย (Expertise) เช่น การกำหนดตัวผู้เชี่ยวชาญและช่วงเวลาที่ต้องการให้เข้ามาช่วยเหลือระหว่างโครงการ โดยต้องมีการวางกำหนดเป็นแผนงาน ทั้งนี้ยังรวมถึงการกำหนดแผนการจัดฝึกอบรม (Training) ด้วย

5. เอกสารชี้แจงการสาธิตและทดสอบ (Proof of Concept: POC) และ/หรือ งานวิจัย (Research Technology) ต่างๆ เช่น จำเป็นต้องมีเอกสารอ้างอิงใดที่จำเป็นต้องใช้ก่อนเริ่มต้นโครงการหรือไม่?

6. รายงานความคืบหน้าโครงการและเอกสาร (Progress Report & Documents) เช่น พูดคุยเกี่ยวกับการรายงานความคืบหน้าการโครงการว่าต้องบ่อยแค่ไหน? และช่วงใดบ้าง? รวมถึงเอกสารควบคุมหรือต้องส่งมอบต่าง ๆ ที่ต้องทำส่งตลอดระยะเวลาโครงการ

จากรูปรายละเอียดโครงการด้านบน คือรายละเอียดในช่วงเฟส Pre-Game หรือช่วงก่อนเริ่มต้นโครงการนะคะ

เดวบล็อกหน้าจะเขียนเกี่ยวกับการวางแผนในระดับย่อยลงมา นั่นก็คือ แผนระดับรอบการส่งมอบงาน (Release) แผนระดับรอบการทำงาน (Iteration) และแผนในระดับวัน (Day)

เขียนรวมกันแล้วกลัวมันจะยาวเกิ๊นน

ขอบคุณค่ะ :)

#siamchamnankit #agile #เรียนเเล้วต้องเล่า #Projectmanagement #personaldevelopment

--

--