Monday 19 May 2008

การบริหารจัดการโครงการเบื้องต้น

มาต่อจากบทความที่แล้วครับ มาอธิบายถึงการมองโครงการอย่างคร่าวๆ ยังไม่ลงลึกถึงรายละเอียดของขั้นตอนต่างๆ lecture note เหมือนเดิม

Project Management Definitions

  • project (โครงการ)​​ ​​​​​​​คือสิ่งที่​​​​​​​​​​​เกิดขึ้นชั่วคราว​​​​​​​ ​​​​​​​มีกำ​​​​​​​​​​​หนดวันเริ่มต้น​​​​​​​​​​​และ​​​​​​​​​​​วันสิ้นสุดที่​​​​​​​​​​​แน่นอน (ad-hoc)​​​​​​​ ​​​​​​​แต่การ​​​​​​​ organization ​​​​​​​จะ​​​​​​​​​​​เกิด​​​​​​​​​​​และ​​​​​​​​​​​ไม่​​​​​​​​​​​มีวันจบ​​​​​​​ ​​​​​​​โครงการ​​​​​​​​​​​จะ​​​​​​​​​​​ต้อง​​​​​​​​​​​มี​​​​​​​ ​​​​​​​วัตถุประสงค์​​​​​​​ (objective) ​​​​​​​ซึ่ง​​​​​​​​​​​ต้อง​​​​​​​​​​​วัด​​​​​​​​​​​ได้​​​​​​​ ​​​​​​​ถ้า​​​​​​​​​​​วัด​​​​​​​​​​​ไม่​​​​​​​​​​​ได้​​​​​​​​​​​นั่นคือโครงการที่ผิดพลาด​​​​​​​ ​​​​​​
  • subproject ​​​​​​​เป็น​​​​​​​​​​​โครงการย่อยๆ​​​​​​​ ​​​​​​​ที่​​​​​​​​​​​อยู่​​​​​​​​​​​ใน​​​​​​​​​​​โครงการหลักอีกที
  • program ​​​​​​​คือหลายโครงการที่มี​​​​​​​​​​​ความ​​​​​​​​​​​สัมพันธ์ต่อ​​​​​​​​​​​กัน​​​​​​​ ​​​​​​​ที่ทำ​​​​​​​​​​​งานร่วม​​​​​​​​​​​กัน​​​​​​​ ​​​​​​​เช่น​​​​​​​ ERP ​​​​​​​ที่มีหลายโครงการ​​​​​​​​​​​อยู่​​​​​​​​​​​ภาย​​​​​​​​​​​ใน​​​​​​​ ​​​​​​​และ​​​​​​​​​​​สัมพันธ์​​​​​​​​​​​ซึ่ง​​​​​​​​​​​กัน​​​​​​​​​​​และ​​​​​​​​​​​กัน​​​​​​​​​​​อยู่
  • project management (การบริหารโครงการ​​​​​​​) ​​​​​​​คือการนำ​​​​​​​​​​​ความ​​​​​​​​​​​รู้​​​​​​​ ​​​​​​​เครื่องมือ​​​​​​​ ​​​​​​​เทคโนโลยีต่างๆ​​​​​​​ ​​​​​​​นำ​​​​​​​​​​​มา​​​​​​​​​​​ใช้​​​​​​​​​​​เพื่อ​​​​​​​​​​​ให้​​​​​​​​​​​โครงการสำ​​​​​​​​​​​เร็จ​​​​​​​ ​​​​​​​ตาม​​​​​​​​​​​ความ​​​​​​​​​​​ต้อง​​​​​​​​​​​การ​​​​​​​ (requirement)
  • Portfolio management ​​​​​​​เป็น​​​​​​​​​​​การรวบรวมข้อมูลต่างๆ​​​​​​​ ​​​​​​​ของโครงการ​​​​​​​ ​​​​​​​เพื่อเก็บ​​​​​​​​​​​ไว้​​​​​​​​​​​ใช้​​​​​​​​​​​ใน​​​​​​​​​​​โครงการถัดไป​​​​​​​ ​​​​​​​การเก็บข้อมูลต่างๆ​​​​​​​​​​​เอา​​​​​​​​​​​ไว้​​​​​​​​​​​ยัง​​​​​​​​​​​มีประ​​​​​​​​​​​โยชน์​​​​​​​​​​​ใน​​​​​​​​​​​กาทำ​​​​​​​​​​​มาตรฐาน​​​​​​​ CMMI ​​​​​​​ที่​​​​​​​​​​​จะ​​​​​​​​​​​ต้อง​​​​​​​​​​​มีข้อมูล​​​​​​​​​​​จาก​​​​​​​ project ​​​​​​​เก่าๆ​​​​​​​ ​​​​​​​ที่​​​​​​​​​​​เรา​​​​​​​​​​​เก็บข้อมูล​​​​​​​​​​​ไว้​​​​​​​ ​​​​​​​เช่น​​​​​​​​​​​จะ​​​​​​​​​​​สร้าง​​​​​​​ program ​​​​​​​แบบนี้ต้อ​​​​​​​​​​​ใช้​​​​​​​ module ​​​​​​​อะ​​​​​​​​​​​ไรเทคนิคไหน​​​​​​​ ​​​​​​​ซึ่ง​​​​​​​​​​​ถ้า​​​​​​​​​​​เรา​​​​​​​​​​​ใช้​​​​​​​ module ​​​​​​​ที่​​​​​​​​​​​เคยสร้าง​​​​​​​​​​​ไว้​​​​​​​​​​​แล้ว​​​​​​​​​​​ยัง​​​​​​​​​​​ช่วย​​​​​​​​​​​ให้​​​​​​​​​​​ลดเวลา​​​​​​​​​​​ใน​​​​​​​​​​​การพัฒนา​​​​​​​ (development) ​​​​​​​และ​​​​​​​​​​​ทดสอบ​​​​​​​ (Testing) ​​​​​​​หรือ​​​​​​​​​​​เรา​​​​​​​​​​​สามารถ​​​​​​​​​​​พัฒนา​​​​​​​​​​​เทคนิค​​​​​​​​​​​ให้​​​​​​​​​​​ดีขึ้นกว่า​​​​​​​​​​​เดิม​​​​​​​​​​​ได้​​ ​​เป็น​​​เหมือนองค์​​​ความ​​​รู้ขององค์กร
  • Portfolio ​​​​​​​เป็น​​​​​​​​​​​กลุ่มของโครงการ​​​​​​​​​​​หรือ​​​​​​​​​​​โปรแกรม​​​​​​​​​​​และ​​​​​​​​​​​งาน​​​​​​​​​​​อื่นๆ​​​​​​​ ​​​​​​​ที่​​​​​​​​​​​เกี่ยวข้อง​​​​​​​​​​​กับ​​​​​​​​​​​การบริหารโครงการ​​​​​​​ ​​​​​​​เพื่อสนับสนุนประสิทธิภาพการบริหารจัดการ​​​​​​​ ​​​​​​​ตามเป้าหมายของธุรกิจ​​​​​​​​​​​นั้นๆ
  • Progressive Elaboration ​​​​​​​เป็น​​​​​​​​​​​การพัฒนา​​​​​​​ software ​​​​​​​แบบวน​​​​​​​​​​​ซ้ำ​​​​​​​ (loop) ​​​​​​​ไปเรื่อยๆ​​​​​​​ ​​​​​​​เพื่อ​​​​​​​​​​​ให้​​​​​​​ software ​​​​​​​ที่​​​​​​​​​​​ได้​​​​​​​​​​​ประสิทธิ์ภาพ​​​​​​​ ​​​​​​​ความ​​​​​​​​​​​คืบหน้า​​​​​​​​​​​และ​​​​​​​​​​​ความ​​​​​​​​​​​ถูก​​​​​​​​​​​ต้อง​​​​​​​​​​​ดีขึ้น
  • Project Management Office (PMO) ​​​​​​​เป็น​​​​​​​​​​​การบอกว่าคนที่​​​​​​​​​​​เกี่ยวข้อง​​​​​​​​​​​กับ​​​​​​​​​​​โครงการ​​​​​​​​​​​นั้น​​​​​​​​​​​ใครทำ​​​​​​​​​​​หน้าที่อะ​​​​​​​​​​​ไรบ้างSponsor ​​​​​​​คือคนที่สนับสนุนด้านการต่างๆ​​​​​​​ ​​​​​​​เช่นการเงิน​​​​​​​​​​​ให้​​​​​​​​​​​กับ​​​​​​​​​​​โครงการของเรา​​​​​​​ ​​​​​​​ซึ่ง​​​​​​​​​​​ก็คือลูกค้า​​​​​​​​​​​เรา​​​​​​​​​​​นั้น​​​​​​​​​​​เอง
  • Stakeholder คือ​​​ผู้​​​มี​​​ส่วน​​​ได้​​​ส่วน​​​เสียต่อโครงการ​​ ​​ซึ่ง​​​​​​​​ที่มีผลต่อ​​​​​​​​​​​ความ​​​​​​​​​​​สำ​​​​​​​​​​​เร็จ​​​​​​​​​​​หรือ​​​​​​​​​​​ล้มเหลวของโครงการ
  • Estimate คือประมาณก่อนจะเริ่มทำยิ่งมีโครงการที่เคยทำมากเท่าไหร่ (Portfolio management) ก็จะประมาณได้ว่าโครงการใหม่จะพัฒนาอย่างไร
หลัก​​​​​​​​​​​​​​​ใน​​​​​​​​​​​​​​​การบริหารโครงการคือ​​​​​​​​ ​​​​​​​​เวลา​​​​​​​​ (time) ​​​​​​​​เงิน​​​​​​​​ (cost) ​​​​​​​​คุณภาพ​​​​​​​​ (quality) ​​​​​​​​โดย​​​​​​​​​​​​​​​ทั้ง​​​​​​​​​​​​​​​หมดเรา​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​ควบคุม​​​​​​​​ (control) ​​​​​​​​และ​​​​​​​​​​​​​​​วัด​​​​​​​​ (monitor) ​​​​​​​​ได้​​​​​​​​ ​​​​​​​​เช่นถามว่า​​​​​​​​​​​​​​​จะ​​​​​​​​​​​​​​​วัด​​​​​​​​​​​​​​​ได้​​​​​​​​​​​​​​​อย่างไรว่า​​​​​​​​ software ​​​​​​​​เสร็จเมื่อไหร่​​​​​​​​ ? ​​​​​​​​คำ​​​​​​​​​​​​​​​ตอบ​​​​​​​​​​​​​​​นั้น​​​​​​​​​​​​​​​เรา​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​รู้ว่า​​​​​​​​ software ​​​​​​​​มีขนาด​​​​​​​​​​​​​​​เท่า​​​​​​​​​​​​​​​ไหร่​​​​​​​​ ​​​​​​​​ทำ​​​​​​​​​​​​​​​แค่​​​​​​​​​​​​​​​ไหน​​​​​​​​​​​​​​​และ​​​​​​​​​​​​​​​ทำ​​​​​​​​​​​​​​​ออกมา​​​​​​​​​​​​​​​เป็น​​​​​​​​​​​​​​​ตัววัด​​​​​​​​ ​​​​​​​​ยิ่ง​​​​​​​​ software ​​​​​​​​มี​​​​​​​​​​​​​​​ความ​​​​​​​​​​​​​​​ซับซ้อนมาก​​​​​​​​​​​​​​​เท่า​​​​​​​​​​​​​​​ไหร่​​​​​​​​ ​​​​​​​​เรายิ่ง​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​วัดมากยิ่งขึ้น

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ช่วงชีวิตของการบริหารโครงการ​​​​​​ (project life cycle) ​​​​​​กับ​​​​​การวรจรชิวิตการพัฒนาซอร์ฟแวร์​​​​​​ (software development life cycle) ​​​คือเรื่องเดียว​​​​​กัน​​​​​แต่คนละมุมมอง​​​!! project management ​​​เป็น​​​​​เรื่องของการบริหาร​​​​​และ​​​​​ควบคุมการพัฒนา​​​ software ​​​อีกที
​​​​​​​​
​​​​​​​การบริหารโครงการจำ​​​​​​​​​​​​​เป็น​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​สนใจว่ามี​​​​​​​ process ​​​​​​​อะ​​​​​​​​​​​​​ไรบ้าง​​​​​​​​​​​​​และ​​​​​​​ process ​​​​​​​เหล่า​​​​​​​​​​​​​นั้น​​​​​​​​​​​​​เกี่ยวข้อง​​​​​​​​​​​​​กัน​​​​​​​​​​​​​อย่างไร

Project Life Cycle Model
​​​​​​​​​​​​​​​​​​​​​​​​​​​​วงรอบชีวิตของโครงการ​​​​​​​ ​​​​​​​ซึ่ง​​​​​​​​​​​​​แบ่งออก​​​​​​​​​​​​​ได้​​​​​​​ 4 ​​​​​​​ขั้นตอนแต่ละขั้นตอน​​​​​​​​​​​​​จะ​​​​​​​​​​​​​มีกิจกรรม​​​​​​​ (Activity) , ​​​​​​​ทรัพยากร​​​​​​​ (Resource) {เงิน​​​​​​​ , ​​​​​​​คน​​​​​​​, ​​​​​​​เวลา​​​​​​​, ​​​​​​​สถานที่} ​​​​​​​มากน้อยแตกต่าง​​​​​​​​​​​​​กัน​​​​​​​​​​​​​ดังรูป​​​


Typical Activities by Phase
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​กิจกรรมที่ต้องทำในแต่ละขั้นตอนของโครงการ (คร่าวๆนะ)

Concept
  • รวบรวมข้อมูลทุกอย่างที่​​​​​​​​​​​​​​​เกี่ยวข้อง​​​​​​​​​​​​​​​กับ​​​​​​​​​​​​​​​โครงการ
  • กำ​​​​​​​​​​​​​​​หนด​​​​​​​​​​​​​​​ความ​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​การของโครงการนี้
  • กำ​​​​​​​​​​​​​​​หนด​​​​​​​​:
    • เป้าหมาย​​​​​​​​, ​​​​​​​​วัตถุประสงค์​​​​​​​​ ​​​​​​​​ซึ่ง​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​วัดผล​​​​​​​​​​​​​​​ได้
    • เงิน​​​​​​​​ ​​​​​​​​ดูว่ามี​​​​​​​​​​​​​​​เงินพอไหมที่​​​​​​​​​​​​​​​จะ​​​​​​​​​​​​​​​ทำ​​​​​​​​​​​​​​​โครงการนี้
    • คนที่​​​​​​​​​​​​​​​เกี่ยวข้อง​​​​​​​​​​​​​​​กับ​​​​​​​​​​​​​​​โครงการนี้​​​​​​​​ ​​​​​​​​เช่น​​​​​​​​ programmer, user, project manager
    • ความ​​​​​​​​​​​​​​​เสี่ยงของโครงการ​​​​​​​​ ​​​​​​​​ซึ่ง​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​บอก​​​​​​​​​​​​​​​ได้​​​​​​​​​​​​​​​ว่า​​​​​​​​​​​​​​​อยู่​​​​​​​​​​​​​​​ใน​​​​​​​​​​​​​​​ระดับไหน​​​​​​​​​​​​​​​และ​​​​​​​​​​​​​​​อย่างไร​​​​​​​​ ​​​​​​​​ต้อง​​​​​​​​​​​​​​​มีการวางแผนสำ​​​​​​​​​​​​​​​รองแต่​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​คุ้ม​​​​​​​​​​​​​​​ด้วย​​​​​​​​ ​​​​​​​​เพราะ​​​​​​​​​​​​​​​ว่า​​​​​​​​​​​​​​​แผนสำ​​​​​​​​​​​​​​​รองที่​​​​​​​​​​​​​​​เตรียม​​​​​​​​​​​​​​​นั้น​​​​​​​​​​​​​​​มีค่า​​​​​​​​​​​​​​​ใช้​​​​​​​​​​​​​​​จ่ายที่​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​ใช้​​​​​​​​​​​​​​​อยู่​​​​​​​​​​​​​​​เช่น​​​​​​​​​​​​​​​กัน​​​​​​​​ ​​​​​​​​การวัดว่า​​​​​​​​​​​​​​​แผนสำ​​​​​​​​​​​​​​​รอง​​​​​​​​​​​​​​​นั้น​​​​​​​​​​​​​​​คุ้ม​​​​​​​​​​​​​​​หรือ​​​​​​​​​​​​​​​ไม่​​​​​​​​​​​​​​​ให้​​​​​​​​​​​​​​​ดูว่า​​​​​​​​​​​​​​​แผนสำ​​​​​​​​​​​​​​​รอง​​​​​​​​​​​​​​​นั้น​​​​​​​​​​​​​​​ลด​​​​​​​​​​​​​​​ความ​​​​​​​​​​​​​​​เสี่ยงลง​​​​​​​​​​​​​​​ได้​​​​​​​​​​​​​​​ถึง​​​​​​​​​​​​​​​จุดไหน
    • กลยุทธ์
    • วางทีม​​​​​​​​​​​​​​​ไว้​​​​​​​​​​​​​​​คร่าวๆ
  • ประ​​​​​​​​​​​​​​​เมินทรัพยากร​​​​​​​​ (เงิน​​​​​​​​ , ​​​​​​​​คน​​​​​​​​, ​​​​​​​​เวลา​​​​​​​​, ​​​​​​​​สถานที่) ​​​​​​​​ไว้​​​​​​​​​​​​​​​คร่าวๆ
  • วางแผนสำ​​​​​​​​​​​​​​​รอง​​​​​​​​ ​​​​​​​​ซึ่ง​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​มี​​​​​​​​​​​​​​​เสมอ
  • เตรียมนำ​​​​​​​​​​​​​​​เสนอ​​​​​​​​ ​​​​​​​​และ​​​​​​​​​​​​​​​รออนุมัติ​​​​​​​​​​​​​​​เพื่อไปขั้นตอนถัดไป
Develop
  • กำ​​​​​​​​​​​​​​​หนดคนที่สำ​​​​​​​​​​​​​​​คัญต่อโครงการ​​​​​​​​ ​​​​​​​​ใครสำ​​​​​​​​​​​​​​​คัญต่อโครงการ​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​บอก​​​​​​​​​​​​​​​ให้​​​​​​​​​​​​​​​รู้ตัวเสมอ​​​​​​​​ ​​​​​​​​เพื่อ​​​​​​​​​​​​​​​ให้​​​​​​​​​​​​​​​รู้ตัว​​​​​​​​​​​​​​​อยู่​​​​​​​​​​​​​​​เสมอว่าตัวเองคือ​​​​​​​​​​​​​​​ความ​​​​​​​​​​​​​​​เสี่ยง​​​​​​​​​​​​​​​เป็น​​​​​​​​​​​​​​​ปัจจัยต่อ​​​​​​​​​​​​​​​ความ​​​​​​​​​​​​​​​สำ​​​​​​​​​​​​​​​เร็จของโครงการ​​​​​​​​ ​​​​​​​​และ​​​​​​​​​​​​​​​เพื่อ​​​​​​​​​​​​​​​ให้​​​​​​​​​​​​​​​เรารู้ว่า​​​​​​​​​​​​​​​ความ​​​​​​​​​​​​​​​เสี่ยงคืออะ​​​​​​​​​​​​​​​ไรเช่น​​​​​​​​ programmer ​​​​​​​​คนไหนทำ​​​​​​​​​​​​​​​งาน​​​​​​​​​​​​​​​ไม่​​​​​​​​​​​​​​​ได้​​​​​​​​​​​​​​​ตามที่สั่งงาน​​​​​​​​​​​​​​​ให้​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​รีบบอก​​​​​​​​ ​​​​​​​​อย่าบอกวันสุดท้าย
  • เริ่มเรียนรู้ระบบ
  • กำ​​​​​​​​​​​​​​​หนด​​​​​​​​ baseline:
    • จุดสิ้นสุดของ​​​​​​​​ product
    • มาตราฐาน
    • ทรัยากร​​​​​​​​ (เงิน​​​​​​​​ , ​​​​​​​​คน​​​​​​​​, ​​​​​​​​เวลา​​​​​​​​, ​​​​​​​​สถานที่)
    • กิจกรรมที่​​​​​​​​​​​​​​​จะ​​​​​​​​​​​​​​​เกิดขึ้น​​​​​​​​ ​​​​​​​​เริ่มลงลึก​​​​​​​​​​​​​​​ถึง​​​​​​​​​​​​​​​รายละ​​​​​​​​​​​​​​​เอียด
  • กำ​​​​​​​​​​​​​​​หนด​​​​​​​​:
    • วิ​​​​​​​​​​​​​​​เคราะห์การเงินเช่นเรา​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​รู้ว่า​​​​​​​​​​​​​​​เมื่อทำ​​​​​​​​​​​​​​​โครงการนี้​​​​​​​​​​​​​​​เสร็จคุ้มไหม​​​​​​​​​​​​​​​ได้​​​​​​​​​​​​​​​เงิน​​​​​​​​​​​​​​​เท่า​​​​​​​​​​​​​​​ไหร่​​​​​​​​ ​​​​​​​​ถ้า​​​​​​​​​​​​​​​ให้​​​​​​​​​​​​​​​ดีน่า​​​​​​​​​​​​​​​จะ​​​​​​​​​​​​​​​บอก​​​​​​​​​​​​​​​ได้​​​​​​​​​​​​​​​ว่าจุดคุ้มทุน​​​​​​​​​​​​​​​อยู่​​​​​​​​​​​​​​​ที่ตรงไหน
    • ใน​​​​​​​​​​​​​​​โครงการ​​​​​​​​​​​​​​​จะ​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​มี​​​​​​​​ work / task / activity ​​​​​​​​อะ​​​​​​​​​​​​​​​ไรบ้าง​​​​​​​​ (งานที่​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​ทำ​​​​​​​​​​​​​​​ทั้ง​​​​​​​​​​​​​​​หมด)
    • นโยบาย
  • ต้อง​​​​​​​​​​​​​​​ทำ​​​​​​​​​​​​​​​ให้​​​​​​​​​​​​​​​ทุกคน​​​​​​​​​​​​​​​ใน​​​​​​​​​​​​​​​ทีม​​​​​​​​ ​​​​​​​​มองไป​​​​​​​​​​​​​​​ใน​​​​​​​​​​​​​​​ทิศทางเดียว​​​​​​​​​​​​​​​กัน
  • ต้อง​​​​​​​​​​​​​​​บอก​​​​​​​​​​​​​​​ได้​​​​​​​​​​​​​​​ว่า​​​​​​​​​​​​​​​เสร็จเมื่อไหร่​​​​​​​​ ​​​​​​​​และ​​​​​​​​​​​​​​​อย่างไร​​​​​​​​​​​​​​​ถึง​​​​​​​​​​​​​​​เรียกว่า​​​​​​​​​​​​​​​เสร็จ
​Execute
  • ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ ลงรายละ​​​​​​​​​​​​​เอียดการประชุม​​​​​​​, ​​​​​​​ประชุมครั้งที่​​​​​​​​​​​​​เท่า​​​​​​​​​​​​​ไหร่​​​​​​​, ​​​​​​​หัวข้อที่ประชุม​​​​​​​ ​​​​​​​ฯลฯ
  • ต้อง​​​​​​​​​​​​​มีการประ​​​​​​​​​​​​​เมินเวลา​​​​​​​ ​​​​​​​รู้ว่าตอนนี้​​​​​​​​​​​​​โครงการ​​​​​​​​​​​​​อยู่​​​​​​​ ​​​​​​​ณ​​​​​​​ ​​​​​​​จุดไหน​​​​​​​, delay ​​​​​​​ได้​​​​​​​​​​​​​แค่​​​​​​​​​​​​​ไหน​​​​​​​, ​​​​​​​จำ​​​​​​​​​​​​​เป็น​​​​​​​​​​​​​หรือ​​​​​​​​​​​​​ไม่​​​​​​​​​​​​​ที่​​​​​​​​​​​​​จะ​​​​​​​​​​​​​ต้อง​​​​​​​ delay (บางครั้งอาจประ​​​​​​​​​​​​​เมินเวลามากเกินไป​​​​​​​ ​​​​​​​และ​​​​​​​​​​​​​คนที่​​​​​​​​​​​​​เสียหายคือลูกค้า​​​​​​​​​​​​​เพราะ​​​​​​​​​​​​​งานทำ​​​​​​​​​​​​​เสร็จ​​​​​​​​​​​​​เร็ว​​​​​​​​​​​​​กว่า​​​​​​​​​​​​​เวลาที่กำ​​​​​​​​​​​​​หนด)
  • มีการลงรายละ​​​​​​​​​​​​​เอียดด้าน​​​​​​​ technology ​​​​​​​ที่​​​​​​​​​​​​​จะ​​​​​​​​​​​​​ใช้
  • ลงมือทำ
  • สั่งการ​​​​​​​ / ​​​​​​​ดู​​​​​​​​​​​​​แล​​​​​​​ / ​​​​​​​คาดการณ์​​​​​​​ / ​​​​​​​ควบคุม​​​​​​​:
    • ​​​​​​​​​​​​​​​​​​​​​ขอบเขต​​​​​​​​​​​​​ทั้ง​​​​​​​​​​​​​หมด​​​​​​​ (ห้ามเกิน​​​​​​​ ​​​​​​​ห้ามขาด)
    • คุณภาพ
    • เวลา
    • งบประมาณ
  • ​​​​แก้ปัญหาที่​​​​​​​​​​​​​เกิดขึ้น​​​​​​​​​​​​​ได้
Finish
  • ​ Review software ​​​​​​​ที่พัฒนาขึ้น
  • ส่งมอบระบบ​​​​​​​​​​​​​ให้​​​​​​​​​​​​​แก่ลูกค้า
  • ประ​​​​​​​​​​​​​เมินโครงการ
  • ส่งมอบเอกสาร
  • คืนทรัพยากร​​​​​​​ (คน) ​​​​​​​ที่ดึงมา​​​​​​​​​​​​​ใช้​​​​​​​ ​​​​​​​กลับไป
  • เตรียมรับงานโครงการ​​​​​​​​​​​​​ใหม่

Project Management Processes
​​​​​​​โครงการจริงๆ​​​​​​​ ​​​​​​​แล้ว​​​​​​​​​​​​​คือการรวมหลายๆ​​​​​​​ process ​​​​​​​การ​​​​​​​​​​​​​จะ​​​​​​​​​​​​​ให้​​​​​​​​​​​​​ได้​​​​​​​ process ​​​​​​​มา​​​​​​​​​​​​​เรา​​​​​​​​​​​​​จะ​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​รู้ว่า​​​​​​​​​​​​​จะ​​​​​​​​​​​​​ทำ​​​​​​​​​​​​​อะ​​​​​​​​​​​​​ไร​​​​​​​ ​​​​​​​เพื่อ​​​​​​​​​​​​​ให้​​​​​​​​​​​​​ได้​​​​​​​ output ​​​​​​​อะ​​​​​​​​​​​​​ไรออกมา​​​​​​​​​​​​​แล้ว​​​​​​​​​​​​​ให้​​​​​​​​​​​​​ย้อนนึกกลับไปเรื่อยๆ​​​​​​​ ​​​​​​​ก็​​​​​​​​​​​​​จะ​​​​​​​​​​​​​ได้​​​​​​​​​​​​​กระบรวนการพัฒนา​​​​​​​​​​​​​ทั้ง​​​​​​​​​​​​​ระบบ​​​​​​​ ​​​​​​​เช่นสเต็ก​​​​​​​​​​​​​จะ​​​​​​​​​​​​​ได้​​​​​​​​​​​​​ก็ต่อเมื่อ​​​​​​​ ​​​​​​​มี​​​​​​​​​​​​​เนื้อ​​​​​​​, ​​​​​​​ซอส​​​​​​​ ​​​​​​​จะ​​​​​​​​​​​​​มี​​​​​​​​​​​​​เนื้อ​​​​​​​​​​​​​ได้​​​​​​​​​​​​​ก็​​​​​​​​​​​​​ต้อง​​​​​​​… ​​​​​​​คือการคิดย้อนกลับไปเรื่อยๆ​​​​​​​
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
​​​​​​​​​​​​​​​​​​​​​​​​​​การพัฒนา​​​​​​​ software ​​​​​​​จะ​​​​​​​​​​​​​เกี่ยวข้อง​​​​​​​​​​​​​กับ​​​​​​​ 3 ​​​​​​​อย่างดังนี้
  • คน​​​​​​ ​​​​​​เป็น​​​​​​​​​​​สิ่งที่ควบคุม​​​​​​​​​​​ไม่​​​​​​​​​​​ได้​​​​​​ (การดึงตัว​​​​​​​ ​​​​​​​ลาออก​​​​​​​ ​​​​​​​อุบัติ​​​​​​​​​​​​​เหตุ​​​​​​​ ​​​​​​​ความ​​​​​​​​​​​​​ขัดแย้งภาย​​​​​​​​​​​​​ใน​​​​​​​​​​​​​ต่างๆ​​​​​​​)
  • เทคโนโลยี​​ ​​เป็น​​​สิ่งที่ควบคุม​​​ไม่​​​ได้​​ ​​เพราะ​​​มีสิ่ง​​​ใหม่ๆ​​ ​​เกิดขึ้นตลอดเวลา​​ ​​​​​​​​​ไม่​​​​​​​​​​​​​​​​​มี​​​​​​​​​​​​​​​​​ไครู้ว่า​​​​​​​​​​​​​​​​​จะ​​​​​​​​​​​​​​​​​มี​​​​​​​​​ technology ​​​​​​​​​อะ​​​​​​​​​​​​​​​​​ไร​​​​​​​​​​​​​​​​​ใหม่ๆ​​​​​​​​​ ​​​​​​​​​ออกมา​​​​​​​​​​​​​​​​​หรือ​​​​​​​​​​​​​​​​​ไม่​​​ทำ​​​ได้​​​แค่การคาดเดา​​​เหตุการณ์
  • Process ​​​​​​​เป็น​​​สิ่งที่ควบคุม​​​ได้​​ ​​เป็น​​​​​​​​​​​​​ตัวกำ​​​​​​​​​​​​​หนดกระบรวนการพัฒนา​​​​​​​ software ​​​​​​​ต้อง​​​​​​​​​​​​​มีการเก็บ​​​​​​​ record ​​​​​​​ไว้​​​​​​​​​​​​​ตลอดเลา​​​​​​​​​​​​​เพื่อว่า​​​​​​​​​​​​​เมื่อมีคน​​​​​​​​​​​​​เข้า​​​​​​​​​​​​​มา​​​​​​​​​​​​​ช่วย​​​​​​​​​​​​​พัฒนา​​​​​​​ software ​​​​​​​ต่อ​​​​​​​​​​​​​จาก​​​​​​​​​​​​​คนเก่า​​​​​​​​​​​​​จะ​​​​​​​​​​​​​ได้​​​​​​​​​​​​​ทำ​​​​​​​​​​​​​ต่อ​​​​​​​​​​​​​ได้​​​​​​​​​​​​​เลย​​​​​​​ ​​​​​​​ใน​​​​​​​ CMMI ​​​​​​​มองที่​​​​​​​ process ​​​​​​​เป็น​​​​​​​​​​​​​หลัก​​​​​​​​​​​​​ด้วย​​​​​​​​​​​​​ความ​​​​​​​​​​​​​คิดที่ว่า​​​​​​​​​​​​​ถ้า​​​​​​​ process ​​​​​​​ดี​​​​​​​ software ​​​​​​​ย่อมดี​​​​​​​​​​​​​ด้วย​​
CMMI ​​​​​​​​​คือมาตรฐาน​​​ใน​​​การพัฒนา​​​​​​​​​ software ​​​​​​​​​ก้​​​เหมือนๆ​​​​​​​​​ ​​​​​​​​​กับ​​​​​​​​​ iso ​​​​​​​​​ตรงที่​​​​​​​​​ iso ​​​​​​​​​สนใจว่า​​​ใครทำ​​​อะ​​​ไรหน้าที่อะ​​​ไร​​​​​​​​​ ​​​​​​​​​แต่​​​ไม่​​​สนหรอกว่าทำ​​​ออกมา​​​แล้ว​​​จะ​​​ดี​​​หรือ​​​ไม่​​​​​​​​​ (สนใจที่​​​​​​​​​ process) cmmi ​​​​​​​​​ก็​​​เหมือน​​​กัน​​​ที่​​​เรา​​​จะ​​​ใช้​​​เอกสารต่างๆ​​​​​​​​​ ​​​​​​​​​เพื่อบอกรายละ​​​เอียดขั้นตอนต่างๆ​​​​​​​​​ ​​​​​​​​​เขียนถูก​​​หรือ​​​เปล่าก็​​​ไม่​​​รู้​​​แต่ว่า​​​ต้อง​​​มี​​​​​​​​​ CMMI ​​​​​​​​​บางทีก็ทำ​​​ให้​​​เรา​​​เข้า​​​ใจ​​​ได้​​​ว่า​​​เมื่อเราพัฒนา​​​​​​​​​ software ​​​​​​​​​ตามมาตรฐานแบบนี้​​​​​​​​​ ​​​​​​​​​ผลลัพธ์ที่​​​ได้​​​ก็​​​จะ​​​เป็น​​​แบบเดิมอย่างนี้ตลอดไป​​​ไม่​​​ว่า​​​จะ​​​เวอร์ชั่นไหน​​​​​​​​​ ​​​​​​​​​หรือ​​​​​​​​​ software ​​​​​​​​​อะ​​​ไร​​​​​​​​​ ​​​​​​​​​มาตรฐานที่​​​ใช้​​​บริหารต่างๆ​​​จะ​​​มอง​​​กัน​​​ที่​​​​​​​​​ process ​​​​​​​​​เป็น​​​หลัก
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
​เรื่องของการบริหารโครงการคือเรื่องของคน​ ​ไม่มีใครบอกได้ว่าเราจะใช้คนให้เหมาะกับงานได้อย่างไร​ ​ขึ้นอยู่กับเราอ่านคนออกแบบไหน​ ​ก็มีหลายทฤษฏีพูดถึงเรื่องของการใช้คนไว้ว่า​ ​คนทุกคนล้วนมีความต้องการ​​ ​​การจะใช้คนเราจำต้องตอบสนองความต้องการของเค้าให้ได้​​ ​​แต่เมื่อคนได้ถึงความต้องการ​​ ​​ณ​​ ​​จุดหนึ่งก็ต้องมีความต้องการของตัวเองสูงขึ้น​​ ​​เช่นต้องการการยอมรับ​​ ​​ต้องการความเข้าใจ​ ​​ผู้บริหารต้องมองความต้องการของแต่ละคน​ ​และให้ในสิ่งที่เค้าต้องการในจุดที่เหมาะสม​​ ​​เช่นตำแหน่งหน้าที่​​ ​​ความมีเกียรติ​​ ​​และสุดท้ายคือให้ทำในสิ่งที่เค้าต้องการอยากจะทำ​​ ​​หรือให้เค้าเข้ามาเป็นส่วนหนึ่งของบริษัท​ ​เช่นแกรมมี่​

อีกทฤษฏีนึงบอก​​​​​​​ถึง​​​​​​​ความ​​​​​​​ต้อง​​​​​​​การของคน​​​​ ​​​​มี​​​​ 3 ​​​​อย่าง
  • achieve คือทำ​​​​​​​งานใฝ่สัมฤทธิ​ ​​​ทำ​​​​​​​งาน​​​​​​​ให้​​​​​​​มีผลงาน​​​​ ​​​​ทำ​​​​​​​งาน​​​​​​​แล้ว​​​​​​​มีคนยกย่องงานที่ทำ
  • power ​​​​คือทำ​​​​​​​งาน​​​​​​​แล้ว​​​​​​​อยาก​​​​​​​ได้​​​​​​​อำ​​​​​​​นาจ
  • affection ​​​​คือทำ​​​​​​​งาน​​​​​​​แล้ว​​​​​​​อยาก​​​​​​​ได้​​​​​​​ความ​​​​​​​รัก​​​​ ​​​​ความ​​​​​​​เข้า​​​​​​​ใจ​​​​ ​​​​จาก​​​​​​​เพื่อนร่วมงาน
ยัง​​​​​​​มีอีกหลายทฤษฏีที่บอก​​​​​​​ถึง​​​​​​​การ​​​​​​​ใช้​​​​​​​คน​​​​ ​​​​ดัง​​​​​​​นั้น​​​​​​​เป็น​​​​​​​เรื่องสำ​​​​​​​คัญที่​​​​​​​ต้อง​​​​​​​มองคน​​​​​​​ให้​​​​​​​ออก​​​​ ​​​​เพื่อ​​​​​​​ใช้​​​​​​​คน​​​​​​​ให้​​​​​​​เป็น​​​​​​​ให้​​​​​​​เหมาะ​​​​​​​กับ​​​​​​​แต่ละบุคคล​​​​ ​​

Plan – Do – Check – Act Cycle
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​วางแผน ​​​​​​ – ​​​​​​ทำ​​​​​​ – ​​​​​​ตรวจสอบ​​​​​​ – ​​​​​​แก้สิ่งที่ผิดแล้วเริ่มวางแผนใหม่เป็นวนซ้ำไปเรื่อยๆ เพื่อให้ปรับปรุงแผนงานไปเรื่อยๆ เพื่อความถูกต้องที่มากขึ้น (ใช้เวลาสั้นลง)


Project Management Process Groups
จริงๆ​​​​​​​​ ​​​​​​​​แล้ว​​​​​​​​​​​​​​​การบริหารจัดการ​​​​​​​​ process ​​​​​​​​ของโครงการก็​​​​​​​​​​​​​​​เหมือนๆ​​​​​​​​ ​​​​​​​​กัน​​​​​​​​​​​​​​​ที่​​​​​​​​​​​​​​​ต้อง​​​​​​​​​​​​​​​เริ่มต้นก่อนว่า​​​​​​​​​​​​​​​จะ​​​​​​​​​​​​​​​ให้​​​​​​​​​​​​​​​ได้​​​​​​​​ output ​​​​​​​​อะ​​​​​​​​​​​​​​​ไรออกมา​​​​​​​​ ​​​​​​​​จาก​​​​​​​​​​​​​​​นั้น​​​​​​​​​​​​​​​วางแผนก่อนที่​​​​​​​​ ​​​​​​​​ลงมือทำ​​​​​​​​ ​​​​​​​​ตรงนี้​​​​​​​​​​​​​​​จะ​​​​​​​​​​​​​​​วน​​​​​​​​​​​​​​​ซ้ำ​​​​​​​​​​​​​​​ไปเรื่อยๆ​​​​​​​​ ​​​​​​​​เพื่อ​​​​​​​​​​​​​​​ให้​​​​​​​​​​​​​​​ได้​​​​​​​​​​​​​​​ผลลัพธ์ที่ดีที่สุดออกมา

Process Groups Interact in a Project

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​แต่ละช่วงของ​​​​​​ process ​​​​​​ก็​​​​​​​จะ​​​​​​​มีงาน​​​​​​ ​​​​​​และ​​​​​​​เวลาที่​​​​​​​แตกต่าง​​​​​​​กัน​​​​​​ ​​​​​​ตามรูป​​​​​


Key Competencies of a Successful Project Manager
​​​​​​​​​​​​​​​​​​โครงการ​​​​​​​​​​​​​จะ​​​​​​​​​​​​​ประสบ​​​​​​​​​​​​​ความ​​​​​​​​​​​​​สำ​​​​​​​​​​​​​เร็จ​​​​​​​​​​​​​ได้​​​​​​​​​​​​​นั้น​​​​​​​​​​​​​ PM ควรจะมีคุณสมบัติดังนี้
  • ​ มองการณ์​​​​​​​​​​​​​ไกล
  • ​เผชิญหน้า​​​​​​​​​​​​​กับ​​​​​​​​​​​​​อุปสรรค​​​​​​​ ​​​​​​​ซึ่ง​​​​​​​​​​​​​อาจ​​​​​​​​​​​​​เป็น​​​​​​​​​​​​​สิ่งที่​​​​​​​​​​​​​ไม่​​​​​​​​​​​​​
  • ​เคยเกิดขึ้นมาก่อน​​​​​​​ ​​​​​​​หรือ​​​​​​​​​​​​​เรื่องที่​​​​​​​​​​​​​ไม่​​​​​​​​​​​​​คาดคิดมาก่อน
  • ​ ระบุ​​​​​​​​​​​​​เป้าหมาย​​​​​​​​​​​​​ให้​​​​​​​​​​​​​ชัดเจน​​​​​​​!!
  • ​ คิดสิ่ง​​​​​​​​​​​​​ใหม่ๆ​​​​​​​ ​​​​​​​และ​​​​​​​​​​​​​สร้างสรรค์
  • ​ ต้อง​​​​​​​​​​​​​แก้ปัญหาที่​​​​​​​​​​​​​เจอ​​​​​​​​​​​​​ได้
  • ​ คิดอย่าง​​​​​​​​​​​​​เป็น​​​​​​​​​​​​​ระบบ​​​​​​​ ​​​​​​​และ​​​​​​​​​​​​​วางแผนจัดการทีม​​​​​​​​​​​​​ได้
  • ​พัฒนาทีม​​​​​​​​​​​​​ได้
  • ทำ​​​​​​​​​​​​​ให้​​​​​​​​​​​​​เป็น​​​​​​​​​​​​​ไปตามเป้าหมายที่วาง​​​​​​​​​​​​​ไว้​​​​​​​​​​​​​เพื่อ​​​​​​​​​​​​​ให้​​​​​​​​​​​​​ไม่​​​​​​​​​​​​​หลง
  • ​ มีมาตราฐาน
  • ​ รู้ว่า​​​​​​​​​​​​​ใครทำ​​​​​​​​​​​​​อะ​​​​​​​​​​​​​ไร​​​​​​​ ​​​​​​​แจกจ่ายงาน​​​​​​​​​​​​​ได้​​​​​​​​​​​​​ถูกคนถูกงาน
  • ​ เข้า​​​​​​​​​​​​​ใจสมาชิก​​​​​​​​​​​​​ใน​​​​​​​​​​​​​ทีมมี​​​​​​​​​​​​​ความ​​​​​​​​​​​​​สามารถ​​​​​​​​​​​​​แค่​​​​​​​​​​​​​ไหน
Proverb สุภาษิต
  • ​​​​​​​​​​ การเพิ่มคน​​​​​​​​​​​​​เข้า​​​​​​​​​​​​​ไป​​​​​​​​​​​​​ใน​​​​​​​ project ​​​​​​​ที่ช้า​​​​​​​​​​​​​ไม่​​​​​​​​​​​​​ทำ​​​​​​​​​​​​​ให้​​​​​​​​​​​​​เร็ว​​​​​​​​​​​​​ขึ้น (เพราะต้องเสียเวลา train งานให้พนักงานใหม่อีก)
  • เงิน​​​​​​​​​​​​​ไม่​​​​​​​​​​​​​ได้​​​​​​​​​​​​​แก้ปัญหาทุกอย่าง
  • ​​​​​​​เข้า​​​​​​​​​​​​​ใจกระบรวนการของ​​​​​​​ project ​​​​​​​รู้ว่าปัญหา​​​​​​​​​​​​​อยู่​​​​​​​​​​​​​ที่​​​​​​​ process ​​​​​​​ไหน
ของแถมๆ
Web application project management ลองเล่นกันดูนะเผื่อชอบ ใช้แล้วเป็นไงมาบอกกันบ้างนะ

No comments: