Skip to main content

Framework การพัฒนา

เพื่อให้การทำงานนั้นเป็นไปได้อย่างราบรื่นมากขื้นนั้น ทีมของเราจึงจำเป็นที่จะต้องใช้หลักการต่างๆ ที่เป็น Best Practice ของนักพัฒนา ซึ่งหนึ่งในนั้นคือการใช้เฟรมเวิร์ค Scrum (Scrum Development Framework) ซึ่งจะทำให้เราสามารถส่งมอบเกมได้อย่างต่อเนื่องและเร็วขึ้น

Scrum

Scrum เป็นหลักการพัฒนาซอฟท์แวร์ประเภทหนึ่ง ที่ใช้หลักการ Agile แต่ถูกสร้างมาเพื่อกลุ่มการพัฒนาขนาดเล็ก

Scrum จะทำการแจกจ่ายภาระงานให้แก่ผู้ร่วมพัฒนาทุกงาน โดยมีกรอบเวลาที่จะต้องส่งมอบที่จำกัด ทำให้ผู้พัฒนาจำเป็นที่จะต้องจำกัดทรัพยากรที่มีอยู่ให้มีประสิทธิภาพมากที่สุดและมีการสื่อสารอย่างต่อเนื่อง

ประวัติของ Scrum

Scrum นั้นเกิดขื้นจาก คุณ Hirotaka Takeuchi และ Ikujiro Nonaka โดยเปิดตัว การทำงานแบบ Scrum ไว้ในบนความของ “Harvard Business Review” ไว้ในปี 1986 โดย ต้องการให้การท างานแบบ Scrum นั้นถูกใช้ไปสร้างองค์กร ให้เป็นองค์กรแห่งการเรียนรู้ เพื่อสร้าง นวัตกรรมสี่งใหม่และพัฒนาอย่างต่อเนื่อง

Agile Development Cycle

  • Requirement (การแจกแจงความต้องการ)
    • คือ กำหนดความต้องการของเรา หรือ ลูกค้าว่าต้องการอะไรในเกม
  • Planning (การจัดหาทรัพยากร)
    • คือการวางแผนการทำงานต่างๆ
      • หาข้อมูลจาก Internet วิธีการใช้งาน Library นั้น โดยส่วนใหญ่นั้นอยู่บน อินเตอร์เน็ต การใช้เทคโนโลยีอินเตอร์เน็ตนั้นเปิดโอกาสให้เราถามคำ ถามหรือคำตอบในปัญหาที่ เรากำลังมีปัญหาอยู่ก็ได้
      • จากเพื่อนๆในทีม ในบางเหตุการณ์ เพื่อนร่วมงานของเราอาจ เกิดปัญหา หากว่าทีมรู้ถึงคำตอบหรือ แนวทางการหาคำตอบให้กับ เพื่อนได้
      • จากเพื่อนๆที่เคยทำ เนื่องจากการทำงานของเรานั้นเหมือนกับเพื่อนอีกกลุ่มที่ต้องพัฒนาเกมเหมือนกัน ดังนั้นเราสามารถขอคำแนะนำในการทำได้ และอาจจะได้ความรู้ใหม่เพื่อนำไปใช้กับงานของเราเองได้ด้วย
  • Designing (การแจกแจงงาน + ระบุงาน)
    • โดยการระบุงานและแจกงานนั้น เป็นหน้าที่ของนักพัฒนาเองที่จะเลือกส่วนของงานไปทำ โดยยึดจากความถนัดและ ความต้องการส่วนตัว
  • Develop (การสร้างผลงาน)
    • หลังจากการเลือกชี้นงานที่จะทำเรียบร้อยแล้ว นักพัฒนาแต่ละคนก็จะทำงานของตนเองให้เสร็จสั้น โดยระหว่างการผลิตนั้น อาจจะมีการเปลี่ยนแปลงด้านความต้องการ หรือ นักพัฒนาไม่สามารถทำงานได้ ดังนั้นการทำ Scrum แต่ละรอบ (Cycle) จะมีการประชุมหารือเพื่อแก้ไข หรือ ระบุปัญหาการทำงานอยู่เรื่อยๆ
  • Release (การส่งต่อ และ การส่งมอบ)
    • การจัดเก็บโปรเจ็คและทำ Documentation
    • การเปิดโปรเจ็คเป็นแบบ Open Source
    • เขียน Blog ถึงเรื่องระหว่างการทำโปรเจ็ค
    • ส่งต่อให้กับรุ่นน้องที่ต้องทำโปรเจ็คคล้ายๆกัน
  • Track and Monitor (การจัดเก็บ และ การดูแลรักษา)
    • การจัดเก็บโค้ดเพื่อคนในทีม
    • การเตรียมพร้อมเปิด Sprint ใหม่