Agile Sixty-Six Rotating Header Image

จุดตาย ของการพยายามรวม Agile และ CMMi

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

มาเริ่มจากดูกันก่อนว่า แนวคิดของ CMMi นั้นเป็นอย่างไร โดยดูจากนิยามของมัน

CMMI® (Capability Maturity Model® Integration) models are collections of best practices that help organizations to improve their processes.

ผมเน้นคำว่า best practices เพราะเป็นความเชื่ออย่างสูงสุดของค่าย CMMi ว่า ความสำเร็จนั้น copy ได้ คือถ้าเอาผู้เชี่ยวชาญสุดยอดมาเขียนวิธีการที่ละเอียดแล้ว ใครก็ตามก็สามารถทำตามได้ผลงานที่สุดยอดได้เช่นกัน แนวคิดนี้เริ่มมาจาก ศตวรรษ ที่ 18-19 มีการเกณฑ์แรงงานราคาถูกไร้ประสบการณ์จากโลกเก่า โดยเฉพาะจากแอฟริกา แรงงานเหล่านี้แม้แต่จะพูดกันยังลำบาก นับภาษาอะไรกับการคิด จึงได้มีการนำเสนอว่าการจะทำให้งานสำเร็จได้จะต้องมีคนที่มีความสามารถ พูดง่ายๆ คือมีการศักษา มาควบคุมการทำงาน เพื่อให้ได้ผลงานเป็นไปตามเป้าหมาย ซึ่งการที่จะร่วมงานของกลุ่มงานเหล่านี้ก็ต้องมีการบังคับบัญชาเป็นลำดับขั้น เรียกระบบงานแบบนี้ว่า Bureaucracy หรือ ระบบราชการ การทำงานแบบนี้ดี เพราะสามารถหาแรงงานไร้ฝีมือมาทดแทนได้ง่าย การทำงานอาศัยอ่านตามคู่มือ แล้วสั่งงานให้ถูกต้อง ก็จะได้ผลงานตามต้องการ ระบบงานแบบนี้ถูกใช้ในการพัฒนาโลกมานับร้อยร้อยปี ซึ่งก็เป็นเหตุให้โลกทุกวันนี้มีความเจริญขึ้นอย่างมากมาย

ลองมาดูทางอไจล์กันบ้าง

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

อไจล์นั้น เน้นที่ คน เป็นที่ตั้ง มองว่า คน และการปฏิสัมพันธ์ของคนกับคน นั้นสำคัญ กว่า ระเบียบวิธีหรือเครื่องมือ ใดๆ พูดง่ายๆ คือ อไจล์มองว่าไม่มี best practices นั่นเอง

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

อีกจุดหนึ่งที่แตกต่างกันคือ ในการพัฒนาซอฟแวร์นั้น คนที่ทำงานล้วนเป็นคนมีการศึกษา มีความคิด ส่วนใหญ่แล้ว (ถ้าไม่ใช่ทั้งหมด) จะจบระดับปรญญาตรีขึ้นไป เพราะฉะนั้นแล้ว การมีคนมานั่งคอยควบคุมไม่ได้เป็นการช่วยให้งานสำเร็จเลย หากแต่เป็นการถ่วงให้งานมี โอเวอร์เฮด โดยไม่จำเป็นต่างหาก นี่คือเหตุผลว่าทำไม อไจล์จึงพยายามกำจัดผู้บริหารระดับกลางออกไป เพราะไม่ช่วยแต่เป็นภาระในการทำงาน

อีกจุดหนึ่งที่แตกต่างกันคือ CMMi มีแนวคิดว่า เอางานเป็นที่ตั้ง แล้วจัดคนใส่งาน กล่าวคือ เริ่มจากการ initiate โปรเจ็คท์ แล้วจัดคน (resources) เข้าไปตามที่โปรเจ็คต้องการ เพราะฉะนั้น ในขณะใดขณะหนึ่ง คนคนหนึ่งจะต้องทำงานมากกว่าหนึ่งโปรเจ็คแน่นอน น้อยสุดคือสอง โปรเจ็คเก่าตามซับพอร์ต โปรเจ็คใหม่เริ่มต้น จึงต้องการการจัดการรีซอร์ซ ว่า จะให้กับโปรเจ็คใดเท่าใด จึงต้องมีคนมาจัดการเรื่องนี้ (Manager)

อไจล์นั้นมองเรื่องนี้ในทางตรงกันข้ามคือ ยึดคนเป็นที่ตั้ง คือ ทีมทีมหนึ่งจะทำงานด้วยกันตลอด เพื่อสร้างความสัมพันธ์ระยะยาว แล้วหางานมาป้อนให้ทีมทำ ตอนนี้มีงานจาก Product A ก็ส่งงานมาให้ทำ ถ้า Product B มีงาน ก็อาจจะส่งมาให้ทำพร้อมกันได้ หรือ ถ้า Product C ใหญ่มาก ก็อาจจะมี สองทีมทำงานกับโปรดักท์เดียวกันได้ แต่จะไม่มีการที่จะย้ายคนเข้าออกจากทีมเลย ตรงนี้จะมีปัญหากับการวัดผล ของ CMMi เพราะ ไม่สามารถวัดผลเป็นโปรเจ็คได้ เพราะไม่มีโปรเจ็คให้วัด

สิ่งที่ผมนำเสนอนั้นไม่จำเป้นต้องเชื่อนะครับ แต่อยากจะลองตั้งข้อสังเกตว่า จากประสบการณ์ที่ได้ยินได้ฟังมา บริษัทส่วนใหญ่ที่ได้รับ CMMi นั้น เมื่อได้แล้วคนที่ทำอยู่มักจะลาออกกันไป แล้วก็จะไม่สามารถรักษาการทำงานแบบตอนที่ได้ cert นั้นไว้ได้เลย ลองหาดูก็ได้ครับ ว่า บริษัทที่ได้ cert แล้ว ภายในหนึ่งปี เหลือคนที่เป็นคนทำงานเพื่อให้ได้ cert นั้นมากี่คน แล้วกระบวนการทำงานจริงเหมือนหรือแตกต่างกับตอนที่ได้ cert

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

Link

- http://www.sei.cmu.edu/library/abstracts/reports/10tr033.cfm

- http://en.wikipedia.org/wiki/Bureaucracy

- http://agilemanifesto.org/

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Plugin from the creators of Brindes :: More at Plulz Wordpress Plugins