อวิชชา, ไตรลักษณ์ และ ทำไมอไจล์จึงดีกว่า traditional process

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

Traditional process นั้นถูกสร้างขึ้นด้วยอวิชชาหรือความโง่ ที่ไม่รู้ว่า software project นี้ ความจริงแล้วก็ประกอบด้วยไตรลักษณ์เช่นเดียวกันกับสิ่งอื่น ๆ กล่าวคือ

1. project เป็น อนิจจตา – ส่วนประกอบต่าง ๆ ของ project อันได้แก่ Scope, Cost, และ Schedule (ดู Project management triangle) นั้นไม่เคยมีความนิ่งอยู่เลย ตลอดเวลาของ project จะต้องมีการปรับ scope อยู่ตลอดเวลา หาได้มีใครที่เคยสามารถ ล่วงรู้ scope ที่ถูกต้อง หรือบังคับให้ scope หยุดนิ่งได้ตามที่กำหนดไว้ในตอนต้นของ project ได้เลย เมื่อ scope มีความเปลี่ยนแปลงอยู่ตลอดแล้ว ย่อมจะส่งผลให้ cost และ schedule เปลี่ยนแปลงตามไปด้วย

2. project เป็น ทุกขตา – ไม่มี project ใดสามารถผลิตซอฟแวร์ที่ปราศจาก bug 100% ได้ ทุก ๆ project จึงมีความบกพร่องในตัวเอง ไม่สามารถเป็นที่พึงพอใจได้เต็มที่

3. project เป็น อนัตตา – เราไม่สามารถบังคับให้ project เป็นไปตามใจเราได้ สังเกตได้ว่า ไม่ว่าเราจะพยายาม กำหนด process หา best practices ว่ามีใครเคยทำสำเร็จ แล้วทำตามเพื่ออยากจะสำเร็จเช่นเดียวกันบ้าง โดยเฉพาะ การสร้าง Change Request Control เพื่อหวังว่า จะควบคุมให้เป็นไปตามใจต้องการ สุดท้าย ก็ไม่เคยมีใครทำสำเร็จได้

ซึ่งแตกต่างจากอไจล์ เพราะอไจล์นั้น ยอมรับในความเป็น ไตรลักษณ์ ของ project และมุ่งเน้นไปที่การสร้างความสมดุลของความต้องการและความเป็นจริง โดย

1. อนิจจตา – อไจล์ยอมรับว่าเราควบคุมให้ทั้งสามส่วนนิ่งไม่ได้ จึงเลือกที่จะควบเพียงสิ่งใดสิ่งหนึ่ง เช่น fix schedule ปล่อย cost และ scope vary (time-box) หรือ fix cost แล้วปล่อยให้ scope และ schedule vary (start-up) จะเห็นว่าเราไม่สามารถ fix scope ได้ เพราะเป็นสิ่งที่เราไม่มีทางทำได้ถูกต้องตั้งแต่ต้น

2. ทุกขตา – เพราะเราไม่สามารถทำให้ ซอฟแวร์ปราศจากข้อบกพร่องได้ อไจล์จึงเลือกที่จะสร้าง ซอฟแวร์ที่ให้คุณค่ากับลูกค้ามากที่สุด เพราะถ้าหากซอฟแวร์นั้นแก้ปัญหาให้ลูกค้าได้ พวกเขาจะใช้ซอฟแวร์นั้น ถึงแม้จะมีข้อบกพร่องบ้างก็ตาม

3. อนัตตา – เพราะเราไม่สามารถควบคุมทุกอย่างให้เป็นอย่างใจได้ อไจล์จึงสร้างกระบวนการทำงานให้มุ่งเน้นที่การ inspect & adapt จนกระทั่งเสร็จ(done)ถึงแม้ว่าจะไม่สมบูรณ์ แต่ถ้าหากมันสามารถแก้ปัญหาให้กับลูกค้าได้แล้วก็ถือว่าประสบความสำเร็จ ที่สำคัญอไจล์ไม่เคยมุ่งหา best practices แต่ยอมรับว่า มันไม่มีอยู่จริง และ ยอมให้มีความหลากหลายของกระบวนการของแต่ละทีมได้ เพราะเชื่อว่า สิ่งแวดล้อมและข้อแม้ของแต่ละทีมไม่เหมือนกัน จึงไม่สามารถจะกำหนดให้ทุกอย่างเหมือนกันไปหมดได้

Advertisements

ใส่ความเห็น

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s