Development Approach หรือ "แนวทางในการพัฒนาโครงการ" เป็นกระบวนการหรือวิธีการที่เราใช้ในการสร้างสิ่งที่โครงการส่งมอบ (Project Deliverables) ให้เกิดขึ้น ซึ่งวิธีการทำโครงการดังกล่าวมีด้วยกันหลายรูปแบบ โดยเราอาจจะสรุปเป็นประเภทใหญ่ ๆ ได้ 3 แบบ ได้แก่ Predictive Approach (แบบที่คาดการณ์ได้) Adaptive Approach (แบบที่ต้องปรับเปลี่ยนไปเรื่อย ๆ) และ Hybrid Approach (แบบผสมผสาน)
1. Predictive Approach
แนวทางในการพัฒนาโครงการแบบนี้เหมาะสำหรับโครงการที่เราสามารถวางแผนอะไรต่างๆ ได้ตั้งแต่ต้น บางครั้งแนวทางในการพัฒนาโครงการประเภทนี้จะถูกเรียกว่า “Waterfall” ซึ่งเป็นการเปรียบเทียบกับน้ำตกที่ไหลจากชั้นบนไปยังชั้นล่างและเมื่อไหลลงมาแล้วจะไม่ย้อนกลับขึ้นไปอีก การทำโครงการโดยใช้วิธีการแบบนี้ก็เช่นกันเมื่อเราวางแผนไปแล้วเราก็จะทำตามแผนไปเรื่อย ๆและไม่ค่อยที่จะย้อนกลับไปทำสิ่งเดิมใหม่ที่เสร็จสิ้นไปแล้ว ยกตัวอย่างเช่นถ้าเราสร้างบ้าน เราจะทำแบบบ้านขึ้นมาก่อน หลังจากนั้นเราก็จะเริ่มก่อสร้างฐานรากก่อผนัง ทำหลังคา ตามแบบที่วางไว้ แล้วจึงค่อยมาวางระบบงานท่อ งานไฟฟ้าต่าง ๆซึ่งเมื่อไหร่ที่เราก่อนผนังไปแล้วก็เป็นการยากที่เราจะกลับไปแก้ไขฐานรากใหม่พูดง่าย ๆ ก็คือในแนวทางการทำโครงการแบบนี้เราจะไม่ประสงค์การปรับแก้งานใด ๆเมื่อทำเสร็จไปแล้วซึ่งเหตุที่เราไม่ต้องการแก้ไขก็เพราะว่าค่าใช้จ่ายที่เกิดขึ้นในการปรับแก้นั้นมีมูลค่าสูงมากจนอาจทำให้โครงการนั้นล่มไปเลยก็ได้
เมื่อไหร่ที่เราเลือกทำโครงการแบบนี้เราจะพยายามวางแผนในช่วงแรกให้ละเอียดที่สุดเท่าที่เราจะทำได้ และเมื่อเราวางแผนเสร็จสิ้นแล้วเราก็จะทำโครงการให้ได้ตรงตามแผนมากที่สุด พยายามหลีกเลี่ยงการแก้ไขอะไรออกไปจากแผนเดิมที่เรามีในทุกกรณีเมื่อไหร่ที่มีความจำเป็นที่จะต้องปรับแก้เราจะมีกระบวนการในการควบคุมการแก้ไขที่ต้องทำอย่างรัดกุม
2. Adaptive Approach
แนวทางในการพัฒนาโครงการประเภทนี้เหมาะสำหรับโครงการที่ยากที่จะวางแผนโดยละเอียดตั้งแต่ต้นเนื่องจากเรายังไม่มีความชัดเจนถึงหน้าตาของผลลัพธ์สุดท้ายที่เรากำลังจะสร้างขึ้นมาพูดง่าย ๆ ก็คือเราอาจจะต้องคิดไปในระหว่างที่เราเริ่มลองทำดู ไอเดียใหม่ๆอาจจะผุดขึ้นในระหว่างที่เราทำ ๆ ไปซึ่งสุดท้ายแล้วอาจจะนำไปสู่ผลลัพธ์ที่ตรงตามความต้องการของเรามากที่สุด
ในโครงการแบบนี้เราจะไม่พยายามวางแผนทั้งโครงการตั้งแต่ต้นจนจบอย่างละเอียดตั้งแต่แรกเพราะว่าต่อให้เราวางแผนละเอียดไปเดี๋ยวพอทำ ๆ ไปมันก็จะโดนแก้อยู่ดีแต่ไม่ได้แปลว่าเราไม่วางแผนนะ คือยังไงเราก็ต้องมีกรอบว่าภาพใหญ่ ๆเราจะเดินไปยังไง แต่ภาพละเอียดในแต่ละช่วงของการเดินเราจะค่อย ๆ คิดเมื่อถึงเวลา
ในการทำโครงการประเภทนี้เริ่มแรกเราจะมาวางวิสัยทัศน์ที่เราต้องการที่จะบรรลุเมื่อจบโครงการนี้กันก่อนซึ่งแน่นอนว่าเนื่องจากมันอาจจะยังไม่ชัดเจน วิสัยทัศน์ของเราจึงอาจจะกว้าง ๆแต่จำเป็นที่เราต้องกำหนดวิสัยทัศน์นั้นก่อน เพื่อให้เรามีเป้าหมายปลายทางไว้ หลังจากนั้นเราจะพยายามเขียนรายการความต้องการที่เราทราบออกมาเท่าที่พอจะทำได้ในช่วงแรกเมื่อเราทำโครงการไปเราก็จะพยายามทำให้เกิดความชัดเจนมากขึ้นในความต้องการต่าง ๆซึ่งบางครั้งเราจะพบว่าความต้องการที่เราเขียนขึ้นมาตั้งแต่แรกนั้นเปลี่ยนแปลงไปในระหว่างที่เราทำโครงการ
การทำโครงการแบบนี้บางครั้งเราจะรู้จักกันในนาม“Agile”
หัวใจสำคัญของการทำโครงการประเภทนี้ก็คือการวนมาทบทวนสิ่งที่เราทำบ่อยๆ การ Feedbacks หรือให้ความเห็นป้อนกลับก็เป็นอีกสิ่งนึ่งที่สำคัญในแนวทางการทำโครงการแบบนี้
Adaptive มีอยู่ 2 ประเภทย่อย ได้แก่ Iterativeและ Incremental
- Iterative คือการที่เรามองหาหลาย ๆ ความเป็นไปได้ และลองดูว่าในแต่ละความเป็นไปได้นั้นแบบไหนที่น่าจะเหมาะสมที่สุดประเภทนี้จะหมายถึงการที่เราจะต้องยึดในใจว่าเสมอว่าสิ่งที่เรากำลังทำวันนี้นั้นอาจจะถูกทิ้งไปถ้าเราดูแล้วเห็นว่ามีวิธีอื่นที่เหมาะสมกว่า
- Incrementalจะไม่ใช่การที่เราลองทำหลายๆ ทางเลือก แต่เป็นการที่เราค่อย ๆ ต่อยอดสิ่งที่เราทำให้สมบูรณ์ขึ้นไปเรื่อย ๆแบบนี้จะไม่ใช่การที่เราทิ้งสิ่งที่เราอยู่แล้วมองหาสิ่งที่เหมาะสมกว่าไปเรื่อย ๆแต่จะเป็นการที่เราพยายามทำสิ่งที่เราทำอยู่ให้สมบูรณ์มากยิ่งขึ้น
3. Hybrid Approach
HybridApproach: แนวทางนี้เป็นลูกผสมระหว่างAdaptive และ Iterative แนวทางนี้เหมาะกับโครงการที่สามารถแยกส่วนย่อย ๆได้ โดยแต่ละส่วนอาจจะเกี่ยวข้องกับคนละทีมงานเลยจึงสามารถใช้วิธีการทำงานที่แตกต่างกันได้
ปัญหาที่สำคัญของโครงการแบบบHybrid ก็คือความสับสนในกระบวนการและเทคนิคต่างๆ รวมถึงเอกสารในการทำโครงการ ดังนั้น เราจะต้องขีดเส้นแบ่งให้ชัดเจนว่าส่วนไหนที่เราใช้Adaptive ส่วนไหนที่เราจะใช้ Predictive
ใช้ Development Approach ผิดชีวิตเปลี่ยน...