การเปลี่ยนแปลงสู่ Agile ทีมด้วยวิถีทาง Agile Fluency

2 ปัจจัยหลัก ที่เราไม่สามารถควบคุมได้ อันเป็นเหตุผลสำคัญ ที่ทีมของท่านจะต้องเปลี่ยนแปลง (transition) สู่ทีม Agile (อ่านว่า แอจไจล) เพื่อยอมรับและสามารถปรับตัวได้เอง (adoption) ซึ่งมีความคล่องแคล่วว่องไวที่สุดเพื่อรับมือกับปัญหาต่างๆที่พวกเขาต้องเผชิญในอนาคต ประกอบด้วย

  • ลูกค้า (Customer) หรือ ผู้คน (People) ทั้งในองค์กรณ์ และในตลาดสินค้า ที่เปลี่ยนแปลงไป อันเกิดจากพฤติกรรมการใช้ชีวิต, การบริโภค, สินค้าใหม่ที่เข้าสู่ตลาด, สังคมแวดล้อมผู้คนเปลี่ยนแปลง ซึ่งส่งผลให้เกิดประสบการณ์ใหม่กับลูกค้าได้ตลอดเวลา การเปลี่ยนแปลงจึงเกิดขึ้น
  • เทคโนโลยี่ (Technology) อันเป็นเครื่องมือประกอบการพัฒนาสินค้า มีการพัฒณาทั้งประสิทธิภาพ และประสิทธิผลมากขึ้น ทำให้ต้นทุนถูกลง และ มีประโยชน์มากขึ้น ย่อมมีการเปลี่ยนแปลงต่อพฤติกรรมของผู้คนโดยรวม ซึ่งกระทบต่อกระบวนการทำงาน, การใช้ชีวิตของผู้คน ทำให้เกิดการเปลี่ยนแปลงตลอดเวลา

จาก 2 ปัจจับที่เราไม่สามารถ ควบคุมได้ แต่เราสามารถเตรียมตัวรับมือได้ เราในระดับบุคคล, ระดับองค์กรทังภาครัฐ หรือ เอกชน ในระดับประเทศ และระดับโลก ถ้าต้องการที่จะดำรงค์อยู่ให้ได้ยาวนาน อย่างยังยืน (Sustainable)  มันก็จำเป็นอย่างยิ่งที่จะต้อง ปรับตัวเองให้ตอบรับกับสถานะการณ์ทั้ง 2 ปัจจัยที่มีการเปลี่ยนแปลงอยู่ตลอดเวลานั้นให้ได้อย่างคล่องแคล่วว่องไว สิ่งนี้ก็คือคุณสมบัติที่เราเรียกว่า Agile

2 ปัจจัยหลักสำคัญนั้น ได้ถูกบรรจุเข้าไว้ใน 4 คุณค่าแห่ง Agile แล้ว  ดังนี้

คุณค่าที่ 1

ความเป็นปัจเจกบุคคล และ การมีปฏิสัมพันธ์ สำคัญกว่า กระบวนการ และ เครื่องมือ

คุณค่าข้อนี้ ทำให้เราตระหนักถึงความสำคัญของ การยอมรับใน ตัวบุคคลที่มีเอกลักษณ์เฉพาะตัว เช่น ความสามารถ ความหลงไหล ความรักในการทำงานที่เขาเชี่ยวชาญที่สุด และ มีปฏิสัมพันธ์ทำงานร่วมกันกับผู้อื่นได้อย่างดี ซึ่งทั้ง 2 คุณสมบัตินี้จะทำให้เกิดการยอมรับการเปลี่ยนแปลงได้ในระดับบุคคล แล้วส่งผลเชื่อมโยงกันไปได้ในระดับทีม, องค์กร, สังคม และ โลก ได้โดยผ่าน การมีปฏิสัมพันธ์ที่ดีนั่นเอง

คุณค่าข้อนี้ สนับสนุนการเปลี่ยนแปลง ทั้ง 2 ปัจจัย… ทีมทำงานเป็น “ทีมเวิร์ค”

คุณค่าที่  2

ซอฟแวร์ที่ใช้ประโยชน์ได้จริง สำคัญกว่า เอกสารที่ครบถ้วนสมบูรณ์

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

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

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

คุณค่าข้อนี้ สนับสนุนการเปลี่ยนแปลงปัจจัย ลูกค้า (เน้นที่ How, What)… ทีมมีความเป็นเลิศในการพัฒนาซอฟแวร์หรือผลิตภัณฑ์

คุณค่าที่ 3

การทำงานร่วมกับลูกค้าในปัจจุบัน สำคัญกว่า สัญญาที่เคยตกลงร่วมกันไว้

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

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

คุณค่าข้อนี้ สนับสนุนการเปลี่ยนแปลง ปัจจัย ลูกค้า (เน้นที่ Why, What)… ทีมมีความเข้าใจการแข่งขันและการดำรงค์อยู่ของธุรกิจลูกค้า

คุณค่าที่ 4

การตอบรับการเปลี่ยนแปลง สำคัญกว่า การทำตามแผนที่เราวางไว้

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

คุณค่าข้อนี้ สนับสนุนการเปลี่ยนแปลงปัจจัย เทคโนโลยี่ (เช่น ความรู้. ทฤษฏี, กระบวนการทำงาน, เทคนิค, ซอฟแวร์, ฮาดแวร์, อื่นๆ ใหม่ ทีมต้องรู้ทั่วถึงหมดทุกสิ่งอย่างที่มีการเปลี่ยนแปลงไป (awareness) )… ทีมสร้างสรรค์ผลงานระดับนวัตกรรม

แผนที่ระดับการเปลี่ยนแปลงทีมไปเป็น Agile ด้วยวิถีทาง Agile Fluency  แสดงดังภาพนี้

Agile Fluency

ต่อไปผมขอนำเสนอ เส้นทางของการเป็น Agile ทีม ด้วยแผนที่ Agile Fluency และ เทคนิควิธีการในแต่ละขั้นตอน ที่จำเป็นต่อการเดินทางไปอยู่ในระดับนั้น ตามลำดับไป ทีมจะต้องเดินทางผ่าน 4 ที่หมาย ดังนี้

1 ดาว “Focus on Value”

ทีมมีความสามารถ

Leadership

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

แบบแผนการทำงานที่สนับสนุนคุณค่านี้ได้แก่ Scrum และ Kanban เราต้องสอน  และเริ่มต้นต้องทำให้ทีมปรับใช้แบบแผนการทำงาน อย่างใดอย่าหนึ่งนี้ให้ได้ก่อน

* ระดับนี้ต้องใช้ระยะเวลา 2-6 เดือน, ความสำเร็จ 45%

2 ดาว “Deliver Value”

ทีมมีความสามารถ

Craftsmanship

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

เทคนิคการพัฒนาที่สนับสนุนคุณค่านี้ ผมแนะนำ eXtreme Programming (XP) เช่น Pair Programming, Test-Driven Development, Continuous Integration, Collective Code Ownership, Coding Standard เป็นต้น

* ระดับนี้ต้องใช้ระยะเวลา 3-24 เดือน, ความสำเร็จ 35%

3 ดาว “Optimize Value”

ทีมมีความสามารถ

Entrepreneurship

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

การที่ทีม จะมาถึงขั้นนี้ได้ จะต้องสอนพวกเขา ผมแบ่งเป็น 2 ส่วน ได้แก่

ส่วนแรกคือ ทีมต้องรู้อะไร (What) เพื่อให้ทีมเข้าใจธุรกิจขององค์กรณ์, เข้าใจตลาด, เข้าใจการแข่งขันของลูกค้า, เข้าใจให้ได้ว่าทำไมการดำรงค์อยู่ของลูกค้าจึงมีความสำคัญยิ่ง และทีมจะทำอย่างไรเพื่อช่วยเหลือลูกค้าของพวกเขาให้ถึงเป้าหมายไปด้วยกัน หรือก็คือ ทำให้ทีมเข้าใจแบบจำลองธุรกิจ (Business Model) ของลูกค้าให้ได้ก่อน

ส่วนแรกนี้ เราสามารถสอนให้ทีม ใช้เทคนิค Business Model Canvas (BMC) ร่วมกัน ซึ่งจะทำให้ทีม เข้าใจลูกค้า เข้าใจธุรกิจ ซึ่งนำมาสู่การวางแผนว่าจะต้องสนใจปรับปรุงคุณสมบัติอะไรบ้างของซอฟแวร์ ที่ทำให้ซอฟแวร์ของพวกเขามีคุณค่าสูงที่สุด

ส่วนสองคือ ทีมต้องรู้ทำไม (Why)  เมื่อทีมเข้าใจว่าอะไรสำคัญเป็นสิ่งที่จะทำดีแล้ว ระดับนี้จะต้องทำให้ทีมเข้าใจด้วยว่า สิ่งที่พวกเขากำลังจะปรับปรุงให้ดีขึ้นนั้น ทำไปทำไมแล้วมันจะส่งผลอะไรบ้าง (impact) ต่อประสบการณ์ของผู้ใช้, มันช่วยผู้ใช้แก้ปัญหาอะไร, มันช่วยทำให้ผู้ใช้มีชีวิตการทำงานมีประสิทธิภาพ และ ประสิทธิผลเพิ่มขึ้นได้อย่างไร ทำให้ลูกค้าได้เปลียบคู่แข่งในเชิงการตลาดของเขาได้อย่างไร

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

ส่วนสองนี้ ผมแนะนำให้สอน และนำทีมให้ปรับใช้หลักการ Lean Startup

* ระดับนี้ต้องใช้ระยะเวลา 1-5 ปี, ความสำเร็จ 5%

4 ดาว “Optimize for Systems”

ทีมมีความสามารถ

 Innovation

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

ในระดับนี้พวกเขาจะต้องเข้าใจในหลักการของ Lean Software Development อย่างลึกซึ้ง แนวคิดหลักคือ พยายามกำจัดความสูญเปล่า (waste) หรือกิจกรรมที่สร้างสิ่งที่ไม่ทำให้เกิดคุณค่าแก่ลูกค้า และ  การปรับปรุงการไหลของกระบวนการพัฒนาซอฟแวร์ (flow) ให้ดีขึ้นทั้งระบบ หรือ ก็คือทีมและองค์กร จะกลับไปตรวจสอบ (inspection) และ ปรับตัว (adaptation) ในพื้นที่ 1 ดาว, 2 ดาว และ 3 ดาว อยู่ตลอดเวลานั่นเอง

* ระดับนี้ต้องใช้ระยะเวลา ไม่รู้, ความสำเร็จ น้อยมากๆ

 

แต่ละระดับ ทีมจะต้องเดินผ่านระดับก่อนหน้าเสมอ

เมื่อทีมอยู่ในระดับ 4 ดาวแล้ว เราจะเรียกได้ว่า พวกเขามีการปรับตัวได้อย่างคล่องแคล่วว่องไว หรือเรียกสั้นๆว่า “ทีม Agile”

ในบทความ Agile Fluency แนะนำให้เราพยายามนำทีมไปให้ถึงระดับ 2 ดาวก็เพียงพอแล้วในการพัฒนาซอฟแวร์เพื่อแก้ปัญหาให้ลูกค้าได้อย่างมีประสิทธิผล และประสิทธิภาพสูงที่สุด ภายใต้การลงทุนเพื่อการเปลี่ยนแปลงเป็น Agile น้อยที่สุด

จะเห็นว่า เส้นทางของการเป็น Agile นั้นยากนัก ผมก็หวังว่า Agile Fluency จะเป็นแนวทางให้ท่านพาทีมของท่านเดินทางไปสู่ความเป็น Agile หรือ ความคล่องแคล่วว่องไว  โดยมีลำดับขั้นตอน มีวิธีการให้ สามารถปฏิบัติได้, ฝึกได้, จับต้องวัดผลได้, มีความชัดเจน, และเข้าถึงได้ในทุกๆระดับนะครับ

ขอบคุณครับ

#:P

 

อ้างอิง

Advertisements