EP.1 ทำไม Project Management จึงสำคัญถึงสำคัญมากในการพัฒนา Software !!!

J_Reborn
2 min readJan 3, 2021

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

Image: iStock/NicoElNino

Project Management คืออะไร แปลง่ายๆ ก็คือการบริการจัดการโครงการทั้งการทำ waterfall model (สมัยใหม่ waterfall จะย้อนกลับได้ไม่ได้ไหลลงเป็นทางเดียวแบบสมัยก่อน) หรือสมัยนี้ก็ฮิตการทำ Agile, Scrum (ความเห็นส่วนตัว Agile, Scrum ผมว่าไม่เหมาะต่อการทำงานแบบ Project ที่มีค่าใช้จ่ายคุมเหมาะแก่การพัฒนา Product มากกว่า)แล้วทำไมเราต้องให้ความสำคัญกับการทำ Project Management ละ เพราะในการพัฒนา Software นั้นมีทั้งต้นทุน มีทั้งระยะเวลาที่จำกัด แถม Requirement ที่พร้อมจะเปลี่ยนไปตลอดเวลาของลูกค้าหรือเจ้าของโครงการเอง ทุกอย่างจึงต้องมีการเตรียมการ วางแผนจัดการให้โครงการอยู่ในระยะเวลาและงบประมาณที่กำหนด วันนี้ผมจะแชร์หัวข้อกว้างๆ ในการทำ Project Management ว่าประกอบไปด้วยอะไรบ้างงง

กระบวนการและขั้นตอนการบริหารโครงการ

  1. การเริ่มต้น (Initiating) เริ่มแรกของการบริหารโครงการก็คือขั้นตอนการ setup ต่างๆ ไม่ว่าจะเป็นงบประมาณ ทรัพยากรบุลคลที่จะต้องเข้ามาทำงานในโครงการนี้โดยใช้ Requirement และระยะเวลาดำเนินการพัฒนาเป็นตัวตั้งว่าทรัพยากรที่เรามีอยู่นั้นเพียงพอต่อความต้องการของเจ้าของโครงการไหมและถ้าไม่เพียงพอจะทำยังไงต่อ ?
  2. การวางแผน (Planning) เมื่อได้ข้อมูลในการ setup project แล้วเราก็จะต้องเอามาลงรายละเอียดเพื่อแจกแจ้งให้เจ้าของโครงการหรือเจ้าของเงินมั่นใจได้ว่ากิจกรรมทั้งหมดที่จะเกิดขึ้นต่อไปในโครงการจะอยู่ในเวลาที่กำหนดและตามงบประมาณที่กำหนดไว้ อีกทั้งได้ Software ที่มีคุณภาพ โดยในขั้นตอนนี้จะได้แผนงานและกำหนดการในแต่ละ Task ออกมาว่าใครจะต้องทำอะไรเมื่อไหร่อย่างไรและตัวละครที่มาประกอบร่างกันเป็น 1 โครงการประกอบไปด้วยใครมังละทีนี้ มาดูกัน

1. Project Manager ควบคุม ติดตาม แก้ปัญหาและบริหารจัดการโครงการให้เป็นไป ตามแผนงานที่กำหนด

2. Project coordinator ประสานงานต่างๆ ในโครงการ

3. System analysis นำ Requirement มาออกแบบระบบเป็นเอกสารเทคนิคอลก่อน ส่งต่อให้ Programmer เขียน Code

4. Designer ออกแบบหน้าตาของระบบ UX/UI

5. Programmer เขียน Code และ define กับ SA ว่าแนวทาง โครงสร้างของระบบจะเป็นยังไงก่อนที่จะลงมือเขียน Code

6. Tester & QA ออก test script , UAT script เพื่อทดสอบและควบคุมคุณภาพงานก่อนที่จะส่งให้ลูกค้าหรือเจ้าของโครงการ

จะเห็นว่าแต่ละตำแหน่งมีหน้าที่ของตัวเองทำให้แบ่งงานกันทำได้ แต่ในหลายๆ ที่ก็เลือกจะตัด Project Manager, Project coordinator ออกเพื่อประหยัดค่าใช้จ่ายแต่จากประสบการณ์ส่วนตัว scope งานมักจะบานปลายเสมอ ฮาาา

3. การดำเนินการ (Executing) เมื่อได้แผนงานและ Task งานที่กำหนดตัวบุลคลเข้ามาแล้วตัวผู้คุมโครงการ ก็จะแจกจ่ายงานและชี้แจ้งแนวทางทั้งหมดให้กับทีมงานเพื่อแยกย้ายกันไปทำหน้าที่ของแต่ละคน

4. การตรวจสอบและควบคุม (Monitoring and Controlling) เมื่อมีแผนงานแล้วใช่ว่าทุกคนจะรู้หน้าของตัวเองเสมอไป(อันนี้ตามประสบการณ์ของผู้เขียนเอง ฮาๆๆๆๆ ) ก็มักจะเกิดปัญหาตามมาเมื่อใกล้ๆ ถึงเวลาส่งงานละก็ไฟลนก้นมารุมๆ ทำงานส่งแบบผักชีโรยหน้ากันไป เพราะฉะนั้นจึงต้องมี Tools เข้ามาช่วยจัดการส่วนนี้ไม่ว่าจะเป็น stand up meeting, weekly meeting หรืออื่นๆ ก็แล้วแต่ความถนัดของผู้ควบคุมโครงการ

5. การปิดโครงการ (Closing) เมื่อมาถึงปลายโครงการการปิดโครงการก็ต้องมีการกำหนดกระบวนการการส่งมอบว่าจะต้องทำอะไรมัง UAT(User Acceptance Test), การทำเอกสารส่งมอบ เอกสารเทคนิคอล transfer บลาๆ แล้วแต่ที่ลูกค้าจะกำหนด

ทั้งนี้ Project management Tool ในปัจจุบันนั้นก็มีหลากหลายแบบแล้วแต่ความถนัดไม่ว่าจะเป็น jira, trello, Asana หรืออื่นๆ อีกมากมายทั้งฟรีทั้งเสียเงิน แต่การจะนำ Project management มาใช้งานได้จริงอย่างมีประสิทธิภาพยังต้องมีอีกหลายองค์ประกอบทั้งตัวบุลคลที่จะเข้ามาเป็นทีม ทั้งเงื่อนไขปัจจัยต่างๆ ที่พร้อมเปลี่ยนแปลงตลอดเวลา โดยสมัยนี้ก็จะเห็นคนออกมาทำ software house software service หรือ plat from ต่างๆ เยอะ สายงาน Software จึงมีแต่เติบโตขึ้นเรื่อยๆ แต่ถ้ามีความรู้ด้านนี้ติดตัวไว้ก็ไม่น่าจะเสียหลายจะทำให้เราทำงานได้อย่างมีประสิทธิภาพมากยิ่งขึ้นนนน…

--

--