มาร์ติน ฟาวเลอร์ ได้ตั้งสมมติฐานชื่อ "คนมีฝีมือถูกกว่า" (Cheaper Talent Hypothesis) เกี่ยวกับว่าค่าใช้จ่ายในการจ้างคนเก่งโดยรวมจะถูกกว่า เขาพูดถึงเรื่องดังกล่าวในบริบทของการพัฒนาซอฟต์แวร์ (และการให้คำปรึกษา --- ฟาวเลอร์ทำงานอยู่ที่บริษัท ThoughtWorks บริษัทที่ปรึกษาด้านการพัฒนาซอฟต์แวร์ที่มีชื่อเสียงบริษัทหนึ่ง)
อย่างไรก็ตาม, ฟาวเลอร์ยังเล่นกับแนวคิดจาก "The Mythical Man-Month" ด้วยการพิจารณากรณีที่มีการทำงานเป็นทีม โดยทั่วไปประสิทธิภาพโดยเฉลี่ยต่อคนของการทำงานเป็นทีมจะลดลงเมื่อมีการเพิ่มจำนวนสมาชิกขึ้น เพราะว่ามีค่าใช้จ่ายเกี่ยวกับการสื่อสารที่เพิ่มขึ้นมากกว่าอัตราส่วนของพลังที่เพิ่มขึ้น ถ้าใช้คนมีฝีมือปกติทำงาน อาจต้องเพิ่มจำนวนคนเป็นสองเท่า เมื่อเทียบกับทีมที่มีคนมีฝีมือ แต่เมื่อเพิ่มจำนวนคนแล้วกลับทำให้ overhead เพิ่มขึ้นอีกด้วย ทำให้ประสิทธิภาพของทีมขนาดใหญ่ลดลงไปอีก
อีกประเด็นที่ฟาวเลอร์พูดเกี่ยวกับความถูกกว่าก็คือ การใช้คนที่มีฝีมือทำให้งานเสร็จเร็วขึ้น มูลค่าของงานที่มีก็เพิ่มขึ้นด้วย
แน่นอนว่าฟาวเลอร์เขียนดังกล่าว โดยผ่านทางมุมมองของคนที่ทำงานที่ ThoughtWorks ที่เขาเขียนเองว่าดูจะคิดค่าที่ปรึกษา "แพงกว่า" แต่เขาให้เหตุผล ผ่านทางบทความดังกล่าวว่า เป็นไปได้ที่จะถูกกว่า (หรือคุ้มค่ากว่า)
ผมเองอ่านแล้วคล้อยตามไปไม่น้อยเหมือนกัน
แต่จริงหรือที่คนมีฝีมือจะไม่มี overhead อื่น ๆ ที่ฟาวเลอร์ไม่ได้เขียนถึง แน่นอน การจัดการ/ดูแล คนมีฝีมือนั้นยาก -- และท้าทาย (เขาพูดถึงเรื่องนี้นิดหน่อยตอนท้าย แต่ไม่ได้นำมาพิจารณาตอนคิดว่าถูกหรือแพง) ยิ่งไปกว่านั้นคนมีฝีมือ มักไม่ค่อยอยากทำอะไรที่ไม่อยากทำ
แล้วมีประเด็นอื่น ๆ ที่พอจะนึกออกอีกหรือเปล่าครับ?
นอกเรื่อง: จริง ๆ แล้ว เราสามารถเอาการวิเคราะห์คร่าว ๆ นี้ไปใช้ในบริบทอื่น ๆ นอกเหนือจากการพัฒนาซอฟต์แวร์ได้ไม่ยากนัก ลองพิจารณาถึงทีมงานต่าง ๆ หรือจะมองไกลไปถึงคณะรัฐมนตรีก็ได้
หมายเหตุ: จริง ๆ Talent แปลตรง ๆ ได้ว่าคนที่มีพรสวรรค์ แต่มันดูเหมือนจะให้ความสำคัญกับสิ่งที่ควบคุมไม่ได้ไปสักนิด จริง ๆ อาจใช้คำว่าเจ๋งก็ได้ แต่ผมเลือกใช้คำว่ามีฝีมือ จริง ๆ แล้วอาจได้ความหมายไม่ตรงสักเท่าใดโดยเขาให้เหตุผลรองรับสมมติฐานคร่าว ๆ ดังนี้ ขั้นแรก, เป็นที่ยอมรับว่าคนที่มีฝีมือย่อมทำงานได้มีประสิทธิผลมากกว่าคนทั่วไป ดังนั้น ถ้าใครสามารถจ้างคนที่มีฝีมือ 2 เท่าของคนทั่วไป ได้ในราคาไม่ถึง 2 เท่า ผลก็คือจะประหยัดกว่า
อย่างไรก็ตาม, ฟาวเลอร์ยังเล่นกับแนวคิดจาก "The Mythical Man-Month" ด้วยการพิจารณากรณีที่มีการทำงานเป็นทีม โดยทั่วไปประสิทธิภาพโดยเฉลี่ยต่อคนของการทำงานเป็นทีมจะลดลงเมื่อมีการเพิ่มจำนวนสมาชิกขึ้น เพราะว่ามีค่าใช้จ่ายเกี่ยวกับการสื่อสารที่เพิ่มขึ้นมากกว่าอัตราส่วนของพลังที่เพิ่มขึ้น ถ้าใช้คนมีฝีมือปกติทำงาน อาจต้องเพิ่มจำนวนคนเป็นสองเท่า เมื่อเทียบกับทีมที่มีคนมีฝีมือ แต่เมื่อเพิ่มจำนวนคนแล้วกลับทำให้ overhead เพิ่มขึ้นอีกด้วย ทำให้ประสิทธิภาพของทีมขนาดใหญ่ลดลงไปอีก
อีกประเด็นที่ฟาวเลอร์พูดเกี่ยวกับความถูกกว่าก็คือ การใช้คนที่มีฝีมือทำให้งานเสร็จเร็วขึ้น มูลค่าของงานที่มีก็เพิ่มขึ้นด้วย
แน่นอนว่าฟาวเลอร์เขียนดังกล่าว โดยผ่านทางมุมมองของคนที่ทำงานที่ ThoughtWorks ที่เขาเขียนเองว่าดูจะคิดค่าที่ปรึกษา "แพงกว่า" แต่เขาให้เหตุผล ผ่านทางบทความดังกล่าวว่า เป็นไปได้ที่จะถูกกว่า (หรือคุ้มค่ากว่า)
ผมเองอ่านแล้วคล้อยตามไปไม่น้อยเหมือนกัน
แต่จริงหรือที่คนมีฝีมือจะไม่มี overhead อื่น ๆ ที่ฟาวเลอร์ไม่ได้เขียนถึง แน่นอน การจัดการ/ดูแล คนมีฝีมือนั้นยาก -- และท้าทาย (เขาพูดถึงเรื่องนี้นิดหน่อยตอนท้าย แต่ไม่ได้นำมาพิจารณาตอนคิดว่าถูกหรือแพง) ยิ่งไปกว่านั้นคนมีฝีมือ มักไม่ค่อยอยากทำอะไรที่ไม่อยากทำ
แล้วมีประเด็นอื่น ๆ ที่พอจะนึกออกอีกหรือเปล่าครับ?
Tags: development, musing, software13 Comments

ถามเขาว่า หาคนเก่งได้อย่างไร
เขานิ่งไปสักครู่แล้วก็ตอบว่า 'ที่บริษัทไม่ต้องการคนเก่ง' ...
context ของเรื่องข้างบน ก็คือ
1.เจ้าตัวไม่ได้เก่ง technic
2.งาน sub contract เป็นสายงานของพวก oracle ซึ่งงานส่วนใหญ่จะใช้ tools พวก 4gl (ในสมัยนั้น)
สิ่งที่ผมอยากรู้ ก็คือ ปัจจุบันมุมมองต่อเรื่องนี้ในภาพรวมๆของเมืองไทยนี่เป็นอย่างไร, ยังคงมีมุมมองในลักษณะงานก่อสร้าง(ที่มอง programmer เทียบเท่ากับ คนงานก่อสร้าง) หรือยังมีมุมมองในแง่ factory ที่ programmer เป็นคนงานในสายการผลิต
#1 By pphetra (58.136.69.211) on 2008-02-10 10:57