It Project Management

(IT) Project Management

What Define a Project

โครงการ (Project) หมายถึง กระบวนการทำงานที่ประกอบไปด้วยกิจกรรมหลายๆกิจกรรม ซึ่งมีการทำโครงการเป็นไปตามลำดับ โดยการทำงานจะต้องเป็นไปตามวัตถุประสงค์ที่ตั้งไว้ เช่นการผลิตสินค้า หรือ ทำงานบริการ โดยจะมีการกำหนดระยะเวลาและงบประมาณที่จำกัด ในการดำเนินงานโครงการจะต้องมีผู้ที่มีหน้าที่รับผิดชอบต่อโครงการ มีหน้าที่ทำการบริหารงาน กิจกรรมต่างๆ ให้เป็นไปตามแผนงาน เหมาะสมกับเวลา และงบประมาณที่ตั้งไว้

flickr:9345240664

การบริหารโครงการ (Project Triangle) หมายถึง กระบวนการในการกำหนด วางแผน ชี้แนะ ติดตาม และควบคุมโครงการพัฒนาระบบให้สามารถดำเนินการได้ตามระยะเวลาและงบประมาณที่ กำหนดไว้ได้ โดยต้องมีการประยุกต์เครื่องมือต่างๆเพื่อนำไปใช้ คือ ความรู้(Knowledge), ทักษะ(Skills), เครื่องมือ(Tools) และความรู้ทางเทคนิค(Techniques)

The Importance of Project Management
สาเหตุหลักที่ใน Project Management มีความสำคัญ เนื่องจากพบว่าประมาณ 30% - 40% ของ IT project เกิดความล้มเหลว สาเหตุความล้มเหลวนั้น เกิดจากว่า มีการใช้เวลาที่นานเกินไป (Time) เพราะหลังจากที่ใช้เครื่องมือต่างๆแล้วไม่สามารถที่จะเป็นไปตามวัตถุประสงค์ ที่ตั้งไว้ เพราะวัตถุประสงค์ที่ตั้งไว้ยากเกินไป (Scope) หรือนอกจากนี้ อาจจะมีงบประมาณที่บานปลาย (Cost)

flickr:9342454419

การบริหารโครงการ Project Triangle

1. Time : เวลา
2. Cost : ต้นทุน
3. Scope : วัตถุประสงค์ของโครงการ
4. Quality : คุณภาพ

flickr:9342454287

Project Manager’s Role

ผู้บริหารโครงการ (Project Manager) คอยดูแล ให้คำแนะนำ ควบคุม และติดตามผลการดำเนินงานของโครงการ ให้เป็นไปตามแผนงานที่กำหนดขึ้นเพื่อบรรลุวัตถุประสงค์ในการพัฒนาระบบร่วม กัน

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

กำหนดขอบเขตของโครงการ

ผู้บริหารโครงการจะต้องสามารถกำหนดขอบเขตและข้อจำกัดของโครงการพัฒนาระบบที่รับผิดชอบ ซึ่งผู้บริหารโครงการจะต้องทราบรายละเอียดเบื้องต้นเกี่ยวกับโครงการ (Project Definition) ที่ตนจะต้องรับผิดชอบโดยสังเขป ซึ่งมี ดังต่อไปนี้

วางแผนและจัดตั้งทีมงาน

ผู้บริหารโครงการจะต้องมีความเข้าใจในความต้องการของระบบใหม่ที่ จะพัฒนาเป็นอย่างดี เนื่องจากผู้บริหารโครงการจะต้องวางแผนงานในการพัฒนาระบบจากขั้นตอนต่าง ๆ ของ Methodology ที่เลือกใช้ในการพัฒนาระบบ ให้บรรลุถึงเป้าหมายและตอบสนองความต้องการของผู้ใช้ได้อย่างตรงจุด

จัดตารางการดำเนินงาน

โดยผู้บริหารสามารถใช้ซอฟต์แวร์ช่วยในการจัดทำตารางการดำเนินงานได้ เช่น Microsoft Project Management เป็นต้น

กำกับและควบคุมโครงการ

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

ทักษะของผู้บริหารโครงการ

เนื่องจากหน้าที่รับผิดชอบของ ผู้บริหารโครงการนั้นมีมากมาย ทั้งยังต้องเผชิญกับปัญหาต่าง ๆ ที่เกิดขึ้นในระหว่างการดำเนินงาน ดังนั้นผู้บริหารโครงการจะต้องมีทักษะ ดัง ต่อไปนี้ ความเป็นผู้นำ (Leadership) การจัดการ (Management) แก้ไขปัญหาต่าง ๆ ที่เกิดขึ้น บริหารทีมงาน การบริหารงานเมื่อเกิดการเปลี่ยนแปลงหรือในสภาวะที่มีความเสี่ยง

Project Elements

- Essential Components
องค์ประกอบของโครงการ ประกอบไปด้วย Project Team โดยใน Teamจะต้องมี Teamwork และสื่อสารกันรู้เรื่อง ซึ่งในแต่ละคนก็จะมีความชำนาญเฉพาะด้าน

- Project Cycle Plan
เป็นการวางแผนว่ากิจกรรมใดควรทำก่อน กิจกรรมใดสามารถทำพร้อมๆกันได้ และกิจกรรมใดควรทำทีหลัง

flickr:9342453977

Gantt Chart

เป็นตัวช่วยในการวางตารางงาน ทำให้ง่ายต่อการวางแผนโปรเจค เพื่อดูให้ง่ายขึ้นว่าเริ่มต้นเมื่อไหร่ ใช้เวลาแค่ไหน จะสำเร็จเมื่อใด และกิจกรรมใดที่สามารถทำควบคู่กันไปได้ ถือเป็นโปรแกรมพื้นฐานในการวางแผนงานให้โปรเจคต่างๆ

flickr:9345240152

PERT and CPM

PERT: program evaluation and review techniques

CPM: critical path method

โดยทั้งสองวิธีใช้สำหรับจัดการโปรเจคที่มีขนาดใหญ่

- จากการใช้ทั้งสองวิธีดังกล่าวจะสามารถได้มาซึ่ง การประมาณการว่าแต่ละโปรเจค ต้องใช้เวลานานเท่าไหร่
- ใช้สำหรับแสดงกิจกรรมของโปรเจค
- ดูในเรื่องตัวชี้วัดว่ากิจกรรมใดมีความเสี่ยงมากที่สุดต่อการไม่เสร็จตรงตามเวลาที่คาดการณ์ไว้
- ดูในเรื่องตัวชี้วัดทั้งหลายว่า กิจกรรมใดที่สามารถล้าช้าไปได้ โดยไม่มีผลกระทบต่อทั้งโปรเจค

IT Projects

คือโครงการที่มีความเฉพาะด้าน โดยมีความซับซ้อนมากกว่า ต้นทุนสูงกว่า และมีผลต่อองค์กรค่อนข้างมาก โดยการวัดขนาด Size IT Project มีหน่วยวัดคือ man-months คือ จำนวนคนกี่คนที่จะทำให้ project สำเร็จได้ภายในกี่เดือน โดยถ้า man-months สูงก็จะเป็น project ขนาดใหญ่ และถ้า man-months น้อยก็จะเป็น project ขนาดเล็ก

IT Project Development Methodologies

ผลกระทบจาก IT Project มีหลายรูปแบบ

1. Automation มีความเสี่ยงต่ำ ผลกระทบค่อนข้างต่ำ
- เป็นการนำเอา IT มาช่วยเสริมการทำงาน แต่กระบวนการทำธุรกิจเหมือนเดิม เช่น การนำ RFID มาใช้

2. Rationalization of procedures มีความเสี่ยงในการล้มเหลวปานกลาง ผลกระทบปานกลาง
- การเอา IT มาเปลี่ยนแปลงรูปแบบการดำเนินงานส่วนหนึ่งส่วนใดขององค์กร

3. Business process redesign มีความเสี่ยงสูง ผลกระทบสูง
- เอา IT เข้ามาเปลี่ยนแปลงการทำธุรกิจของทั้งองค์กร, ERP project ส่วนใหญ่อยู่ในรูปแบบ redesign

4. Paradigm shift มีความเสี่ยงสูงมาก แต่ผลตอบแทนก็สูงเช่นกัน
- เป็นการเปลี่ยนแปลงทั้ง business model ขององค์กร
- เช่น การนำ ERP เข้ามาใช้ มีความเสี่ยงสูงแต่ก็ได้ผลตอบแทนสูง

flickr:9345239806

Project Development Methodologies

ในส่วนของการพัฒนาระบบ IT ในองค์กรจะมีกระบวนการต่างๆ ที่เกี่ยวข้องอยู่หลากหลายแต่ก็จะมีวิธีการที่เป็นมาตรฐานในการสร้างระบบ IT ในองค์กรซึ่งมี 4 มาตรฐานในการจัดการ IT project

1. Systems Development Life Cycle (SDLC)

flickr:9342453513

SDLC จะเป็นวิธีการที่ถูกนำมาใช้เป็นมาตรฐานมากที่สุดในการสร้างระบบ IT ในองค์กร จะมีอยู่6 กระบวนการ

1. System Analysis กระบวนการวิเคราะห์ปัญหาปัจจุบันในองค์กรโดยต้องรู้ว่าอะไรคือปัญหาในองค์กรก่อน

2. System Design การออกแบบระบบใหม่ที่จะเข้ามาแก้ ปัญหาหรือมาสร้างระบบใหม่ใหม่ให้กับองค์กร

3. Programming กระบวนการที่นำเอา Design มาพัฒนาให้เป็นระบบ

4. Testing กระบวนการทดสอบว่าระบบสามารถตอบสนองกับวัตถุประสงค์หรือไม่

5. Conversion การเปลี่ยนระบบเก่าไปสู่ระบบใหม่

6. Production and Maintenance เป็นกระบวนการที่หลังจากนำระบบนั้นมาใช้ในองค์กรก็จะมีกระบวนการบำรุงรักษากระบวนการ update ต่างๆ
Critical Success Factors Methodology
การสร้างระบบใหม่ขึ้นมาก็จะต้องมีการเก็บข้อมูลว่า ปัจจัยอะไรบ้างที่จะนำไปสู่ความสำเร็จของระบบใหม่โดยส่วนใหญ่จะใช้ผ่านทาง การทำFocus Group และ Team Developer

Joint Application Design

คือ การทำ Focus Groupโดยการน า Stakeholder และ End User ที่เกี่ยวข้อง มาพูดคุยกับผู้ที่จะพัฒนาระบบ

System design

เป็นการตอบคำถามเกี่ยวกับ How ว่า ในการที่จะสร้างระบบใหม่ขึ้นนาต้องมีวิธีการอย่างไรโดยจะเป็นวิธีการเกี่ยวกับการออกแบบระบบ

flickr:9345239362flickr:9342453143

การออกแบบ ทีมพัฒนาต้องมีความเกี่ยวข้องกับผู้ใช้ค่อนข้างมาก

Completing the Systems Development

คือ ขั้นตอนต่อไปจะนำ เอาผลผลิตที่มาจากส่วนของ System Design ไปสู่ขั้นตอนในการเปลี่ยนแปลงให้เป็นระบบ Hardware หรือ Software

- Programming คือ การ Translate ผลผลิตที่ได้ให้เป็นรูปแบบของระบบหรือ Software ปัจจุบัน ในหลายครั้งProgramming อาจจะไม่ได้เป็นการจ้าง programmer เข้ามาเขียนโปรแกรม

- Testing คือ การทดสอบระบบ โดยตรวจสอบว่าระบบที่พัฒนาขึ้นมาตรงตามกับวัตถุประสงค์ที่ตั้งไว้หรือไม่

SDLC-Programming and Testing

หลังจากที่ได้ระบบมาแล้ว ควรจะมีการ Testing ว่าทำงานได้ตรงตามกับที่เราต้องการหรือไม่ โดยการ Test ระบบในปัจจุบัน มีอยู่ 4 ประเภท

1. Unit Testing คือการ Test แต่ละฟังค์ชันของโปรแกรมหรือSoftware ว่าทำ งานได้ตรงตามที่ต้องการหรือไม่

2. System Testing คือการ Test กระบวนการทา งานทั้งระบบ

3. Usability Testing คือการนำเอาผู้ใช้เข้ามาใช้งานในระบบ แล้ว Test ความพึงพอใจของผู้ใช้โดยขั้นตอนนี้ระบบยังมีการเปลี่ยนแปลงได้

4. Acceptance Testing คือการ Test ระบบว่า สามารถตอบสนองความต้องการที่ระบุไวในส่วนของ System Analysis และ System Design ได้หรือไม่

Conversion

คือการแปลงระบบเก่าไปสู่ระบบใหม่ โดยในระบบปัจจุบัน มีอยู่4 ประเภท

1. Parallel การที่ระบบใหม่ที่แทนที่ระบบเก่า โดยการให้ระบบใหม่กับระบบเก่าทา งานไปพร้อมๆกัน เมื่อระบบใหม่ไม่มีปัญหากับระบบใหม่ ก็จะเอาระบบเก่าออก ซึ่งแบบ Parallel นี้มีข้อดีคือมีความปลอดภัยเพราะเมื่อเกิดอะไรขึ้นกับระบบใหม่ก็สามารถดึง ระบบเก่ามาใช้ได้ แต่ก็มีข้อเสียเช่นเดียวกันคือ ค่าใช้จ่ายสูงเพราะต้องดูแลทั้งสองระบบ และเกิดความสับสนกับตัวผู้ใช้เองด้วย

2. Direct Cutover Strategy คือการนำระบบใหม่แทนที่ระบบเก่าทั้งหมด ซึ่งข้อดีคือ ต้นทุนถูก แต่ก็มีข้อเสียคือ ถ้าเกิดอะไรขึ้นกับระบบใหม่ จะไม่มีระบบสำรองใช้

3. Pilot Study Strategy คือระบบใหม่ที่แทนที่ระบบเก่าทีละฟังค์ชั่น โดยถ้าแผนกหรือส่วนนั้นขององค์กรประสบความสำเร็จหรือไม่มีปัญหา ก็จะนำระบบใหม่เข้ามาแทนที่ทั้งระบบขององค์กร

4. Phase Approach Strategy เปลี่ยนแปลงระบบโดยการนา ระบบใหม่เข้ามาแทนที่ระบบเก่าในแต่ละ unit ถ้าไม่มีปัญหา ก็จะนำระบบใหม่เข้ามาแทนที่ทั้งระบบขององค์กร

flickr:9345238854

Production and Maintain

หลังจากที่นำ ระบบใหม่แทนที่ระบบเก่าแล้ว ในขั้น ตอนนี้ก็จะมีขบวนการในการฝึกอบรม ขบวนการในการแก้ไขเช่น แกไข Bugs ขบวนการในการ Update ระบบ รวมไปถึง Maintain ต่างๆ เช่น การ Correct Error ต่างๆ

System development teams บุคคลที่เกี่ยวข้องในระบบ IT คือ
- ผู้ใช้
- นักวิเคราะห์ระบบ (System Analyst) จะเป็นคนที่แปลงความต้องการของระบบ IT ในองค์กรให้กับทางทาง Technician, Programmer
- Programmer

SDLC (Waterfall)

สาเหตุที่เรียก Waterfall เนื่องจากว่าก่อนที่จะเริ่มกระบวนการถัดไป กระบวนการก่อนหน้านั้นต้องเสร็จสิ้นก่อน เช่นว่า ก่อนที่จะเริ่ม System Design จะต้องเสร็จสิ้น System Analysis

Limitation of SDLC

ข้อดี คือควบคุมได้ง่ายต่อการตรวจจับความผิดพลาด
ข้อเสีย ความยืดหยุ่นน้อย ถ้ากรณีที่ผู้ใช้เปลี่ยน requirement practice ทั้งกระบวนการต้องเปลี่ยน และไม่เหมาะกับโครงการที่ต้องการพัฒนาในช่วงระยะเวลาสั้นๆ หรือยังไม่แน่ใจว่า requirement คืออะไร

Prototyping

รูปแบบการพัฒนา IT ที่นิยม ในโครงการที่เกี่ยวข้องกับ user ค่อนข้างเยอะ

1. ระบุความต้องการของระบบ
2. สร้าง Prototype
3. นำเอา prototype ไปทดลองกับผู้ใช้
4. เอา feedback ไปปรับปรุงจนดี
5. นำเอา feedback ที่ดีแล้วไปใช้ในระบบ
เหมาะกับโครงการที่ยังไม่รู้ความต้องการที่แท้จริงของผู้ใช้ จึงต้องใช้ feedback มาปรับปรุงระบบไปเรื่อยๆ เช่น การพัฒนา website

ข้อดี
1. ใช้เวลาสั้น
2. ตอบสนองความต้องการของผู้ใช้ได้โดยตรง
3. ผู้ใช้มีส่วนร่วมในการพัฒนา

ข้อเสีย
1. Feedback ของ user อาจมองข้ามปัญหาบางอย่าง ทำให้ identify ปัญหาได้ยาก

RAD

การพัฒนาระบบ IT ในระยะสั้น โดยให้ผู้ใช้มีส่วนร่วม

Agile Development

เป็นระบบเหมือน SDLC แต่ความต้องการของผู้ใช้สามารถเปลี่ยนแปลงได้ตลอด

Cost and Benefit แบ่งออกได้เป็น 2 ประเภท

- Tangible สามารถคำนวณเป็นตัวเงินได้
- Intangible ไม่สามารถคำนวณเป็นตัวเงินได้เช่นในหลาย Project ผู้บริหารโดยส่วนใหญ่ จะให้ความสนใจใน Tangible Benefit เพราะสามารถจับต้องเป็นตัวเงินได้

Managing Project Risk Level

- Complexity Project ที่มีความซับซ้อนมาก ก็จะส่งผลให้เกิดความเสี่ยงที่มากตามไปด้วย โดยความซับซ้อนที่มากนั้นสามารถวัดได้จากเป็นเทคโนโลโยใหม่ และมีผลกระทบสูงต่อองค์กร

- Clarity Project ที่มีความชัดเจนสูงในเรื่องที่ผู้ใช้ หรือ คนในองค์กรรู้ว่าความต้องการคืออะไร โดยระบบที่มีความชัดเจนต่ำจะมีความเสี่ยงที่สูง ระบบที่มีความชัดเจนสูงจะมีความเสี่ยงที่ต่ำ

- Size Project ที่มีขนาดใหญ่ ความเสี่ยงจะสูง Project แต่ Project ที่ขนาดเล็กก็จะมีความเสี่ยงต่ำ โดยขนาดของ Project จะวัดจาก Budget (งบประมาณ) ว่าสูงหรือต่ำ งบประมาณที่สูง Project จะเป็น Project ที่มีขนาดใหญ่ หรือจำนวนคนที่เกี่ยวข้องมีจำนวนมาก หรือจำนวนแผนกขององค์กรที่ได้รับผลกระทบจาก Project นั้นๆ

Managing the Complexity Aspects of Project Risk

1. แน่ใจว่ามีความชำนาญในการพัฒนา
2. ใช้ที่ปรึกษาที่เคยมีประสบการณ์ในการพัฒนามาก่อน
3. ควรนำ user เข้ามามีส่วนร่วมในการพัฒนา
4. ควรให้มี management support

Strategies to overcome user resistance

วิธีลดความเสี่ยงของ projectหัวใจสำคัญคือคนใช้ เช่น ถ้าคนใช้ไม่ใช้ หรือ ต่อต้านการใช้ project ที่ทำมา ก็ไม่ความหมายในการพัฒนา project นั้นๆ ดังนั้นจึงต้องหาวิธีแก้ไข

1. เอาผู้ใช้มามีส่วนร่วมตั้งแต่เริ่มต้น
2. การฝึกอบรม จำเป็นอย่างมา เพราะสามารถทำให้เห็นถึงประโยชน์
3. นโยบายขององค์กรต้องมีการยอมรับ อาจต้องมีการให้ incentive ในระบบใหม่
4. พัฒนา interface ให้ง่ายกับผู้ใช้
5. เข้าไปเรียนรู้วัฒนธรรมองค์กร

Pulling the plug

การใช้งบประมาณสูงเกินไป ใช้เวลานานเกินควร อาจมีการตัดสินใจที่จะยกเลิกโครงการเพื่อลดความเสี่ยงที่อาจเกิดมากขึ้น

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License