อไจล์สไตล์ Outsource #4 – สิ่งที่ต้องเปลี่ยน

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

1. Contract & Payment Term

เรื่องนี้น่าจะเป็นสิ่งที่สำคัญที่สุดเลยทีเดียว เพราะ สัญญาและงวดงาน แบบดั้งเดิมนั้นจะอาศัยหลักการของ Project turn-key เป็นหลักคือ ฝ่าย outsourcee คือผู้รับความเสี่ยงทั้งหมด คือเอางานไป ประเมินราคามาเป็นแบบคงที่ และต้อง deliver ทั้งหมด (fix scope) ให้ได้ตามกำหนด (fix time) และ ถ้าหากมีข้อผิดพลาดจะต้องรับแก้ไขโดยไม่มีค่าใช้จ่ายเพิ่มเติม (hi queality) สิ่งที่เกิดขึ้นคือ เมื่อความเสี่ยงสูงมาก ฝ่าย outsourcee ก็ต้องป้องกันตัวด้วยการ เขียนสัญญาให้รัดกุม และมีการ sign-off ทุกขั้นตอน และไม่ยอมให้มีการเปลี่ยนแปลงใดๆ ระหว่างโครงการเพราะจะกระทบต่อต้นทุนที่ประเมินไว้ ทำให้ ทุกอย่างต้องได้รับการตกลงกันล่วงหน้าเป็นเวลานาน ส่งผลให้ฝ่าย business หรือ user ต้องตอบโต้ด้วยการ ใส่ทุกอย่างที่คิดได้ลงไปในสัญญา เพราะใส่ทีหลังเสียเงินเพิ่ม และ จะกลายเป็นแพะ ทำให้ scope บวมกว่าที่ควรจะเป็น และ เกิดการ delay เพราะ user จะไม่ยอมจบช่วงเก็บ requirement จนกว่าจะแน่ใจว่า ทุกอย่างสมบูรณ์ ซึ่งเป็นไปไม่ได้ใจการทำซอฟแวร์ปกติ

สักษณะของสัญญาจึงมีความจำเป็นต้องเปลี่ยนให้เข้ากันกับวิถีการทำงานแบบอไจล์ซึ่งยอมรับการเปลี่ยนแปลงได้ในทุกช่วงของการทำงาน ซึ่งก็มีหลายวิธีในการทำ ตัวอย่างวิธีการเช่น การเช่าเหมาทีม ซึ่งจะเป็นการที่ outsourcer เป็นผู้รับความเสี่ยงไว้เองเป็นส่วนใหญ่ แต่ก็มีข้อดีคือ มีอำนาจในการเปลี่ยนแปลงเต็ม ซึ่งการเช่าเหมาทีมนี้ถือว่าเป็นรูปแบบที่ดีที่สุดในการทำอไจล์ outsource อีกแบบที่ดีรองลงมาคือการคิดราคาเป็น epic (coarse grained story) หรือถ้าให้เข้าใจง่ายคือการคิดราคากันเป็น feature นั่นเอง ซึ่งจะมีการประเมินล่วงหน้าคร่าวๆ ของ feature ที่จะทำต่อไป และประเมินราคาไว้ หลวมๆ แล้วต่อรองราคากันเมื่องานเสร็จจริง ซึ่งการต่อรองนี้จะใช้ การประเมินแบบอไจล์เป็นหลัก (เช่น การใช้ story point หรือ engineering day เป็นต้น) ซึ่งถ้าหาก ในตอบจบของแต่ละ feature มี scope เปลี่ยนแปลงไปมาก ก็อาจมีการนำ storypoint สุดท้าย มาเทียบกับ story point แรกเริ่ม แล้วประเมินส่วนต่าง ซึ่งค่อนข้างซับซ้อนกว่าวิธีแรก แต่ก็เป็นการร่วมรับความเสี่ยงของทั้งสองฝ่ายอย่างเท่าเทียมกัน แต่ก็จะทำให้เสีย agility ไปบ้างในช่วงที่ต้องมีการ negotiate ตัว estimation แต่ก็ไม่มากเท่ากับการทำงานแบบดั้งเดิม หรืออีกแบบที่มีบางคนใช้คือ การใช้เครดิต กล่าวคือ มีการกำหนดราคา ต่อ story point ไว้ล่วงหน้า แล้ว ทำซอฟแวร์ ตาม เครดิตที่ซื้อไว้ล่วงหน้านั้น กล่าวคือลักษณะคล้ายกับการใช้โทรศัพท์แบบเดิมเงิน นั่นเอง คือ ซื้อ point ไว้ก่อน แล้วค่อยคิดว่า จะเอา point นั้นมาใช้พัฒนาตรงส่วนไหน ซึ่งอาจจะมีการกำหนด expiry date ของ point นั้น ด้วยก็ได้ ลักษณะนี้ถือว่ามีความเสี่ยงต่ำ แต่มีข้อเสียคือ การกะประมาณงบประมาณทำได้ยาก และ การอธิบายให้ฝ่ายจัดซื้อเข้าใจอาจจะไม่ค่อยง่ายนัก

2. Ownership

การ outsource แบบดั้งเดิมนั้น ownership จะถูกถ่ายเปลี่ยน จาก outsourcer ไป outsourcee ในช่วงเก็บ requirement และ ถูกส่งกลับในช่วง UAT (User Acceptance Test) ซึ่งจะเห็นว่า กระบวนการทั้งสองนั้นจะกินเวลานามาก เพราะเป็นการถ่ายความรับผิดชอบขนาดใหญ่ทำให้ เกิด conflict of interest ตลอดเวลา การ outsource แบบอไจล์จะไม่มีการถ่ายโอนนี้ เป็นเพียงการเข้ามาร่วมรับผิดชอลงานร่วมกัน ระหว่าง outsourcer และ outsourcee จึงทำให้การทำงานทำได้รวดเร็วกว่า และมี conflict น้อยกว่า

3. Methodology

ค่อนข้างตรงตัวว่าทั้ง outsourcer และ outsourcee จะต้องใช้ รูปแบบการทำงาน หรือ methodology เดียวกัน จึงจะสามารถต่องานกันติดได้ หลายคงสงสัยก็ใช้อไจล์เหมือนกันแล้วนี่ ความจริงคือรูปแบบการทำงานแบบอไจล์นั้นเป็นลักษณะเป็น framework หรือ guideline เท่านั้น ทำให้ในแต่ละองค์กรมีลักษณะการทำงานในรายละเอียดแตกต่างกัน การทำทำ outsource ให้ประสบความสำเร็จได้นั้น รายละเอียดเหล่านั้นต้องเหมือนกัน หรือใกล้เคียงกันที่สุด เช่น ความยาว iteration การกำหนดวิธี estimate การจัดวาง testing platform เป็นต้น มิฉะนั้น แล้ว ก็จะเกิดความไม่ลื่นไหลในการทำงานได้

4. Success Indicators

ในโลกยุคเก่า จะมีลักษณะของ success indicator ต่างๆ ที่รู้จักในชื่อของ KPI ซึ่งจะขัดกันกับการทำงานแบบอไจล์อย่างสุดขั้ว เช่น โปรเจ็คต้องเสร็จตามกำหนด ไม่มี defect หรือ มีการเปลี่ยนแปลงมาก ถือว่าไม่ดี เป็นต้น สิ่งเหล่านี้ต้องปรับเปลี่ยนให้เข้ากับการทำงานแบบอไจล์ ซึ่งเน้นที่ซอฟแวร์ที่ทำงานได้จริง และเป็นที่พอใจของ ผู้ใช้และ stakeholders ซึ่งเป็นสิ่งที่วัดไม่ได้ง่ายนัก สิ่งที่สมควรถูกนำมาใช้จึงควรเป็น indecator ทางธุรกิจ เช่น ยอดขาย กำไร การตอบรับของตลาดเป็นต้น มากกว่า จะดูเฉพาะส่วนที่ output ของการทำงานเป็นส่วนเหมือนอดีต

5. Mindset

สุดท้าย เรื่อง mindset เป็นเรื่องที่สำคัญที่จะขาดไม่ได้ mindset ที่ว่านี้คือ mindset ของความเป็นทีมเวิร์ค ซึ่งทุกคนไม่ว่าจะมาจากตัว outsourcer หรือ outsourcee ต้องมีความรู้สึกร่วมกันถึงความสำเร็จของโปรเจ็ค ว่าเป็นความสำเร็จร่วมกัน มิฉะนั้นแล้วก็จะเกิดการแบ่งเขาแบ่งเรา เกิดเป็น silo ซึ่งเชื่อได้ว่า โปรเจ็คจะไม่สามารถเดินหน้าไปสู่จุดหมายได้เลย

เจอกัน ที่ Software Park วันที่ 21 ส.ค. 2014 นี้ เวลา 12.30น. นะครับ ผมจะนำเรื่องนี้ไปขึ้นจอ ถ้าใครมีคำถามจะได้เสวนากัน ที่สำคัญ งานนี้ Free ครับ

Advertisements

2 thoughts on “อไจล์สไตล์ Outsource #4 – สิ่งที่ต้องเปลี่ยน

  1. ก็มี term อีกอยากคือ Time & Material นี่ครับ outsourcer จ่าย outsourcee จริงตามเวลาเป็นชั่วโมงและค่าใช้จ่าย วิธีนี้ส่วนใหญ่ลูกค้าก็มักจะไม่ค่อยชอบเพราะว่ามันไม่มีหลักประกันว่าอีกฝ่ายจะอู้ เอาคนไม่มีคุณภาพมาลงรึเปล่า

    ข้อ 1 ใน blog อันนี้ตอบคำถามที่ผมเคยถามคุณไว้เมื่อนานมาแล้ว สุดท้ายได้คำตอบตรงๆ ซักที ขอบคุณครับ

ใส่ความเห็น

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