⛵️Story#11 Self Organizing Team ในการแข่งเรือใบ
Visit: https://codingugly.com/?p=105
ทีมพัฒนาซอฟท์แวร์บ่อยครั้งมักจะมีการเปรียบเทียบกับทีมในการแข่งขันกีฬาที่ต้องใช้ทีมเวิร์คสูง หนึ่งในนั้นคือกีฬาเรือใบ
ที่เห็นในรูป คือการแข่ง SailGP ที่ เป็นการแข่งขันเรือใบชิงแชมป์ประจำปี ที่ประกอบด้วยเทคโนโลยีล้ำสมัย รวมถึงความเชี่ยวชาญและศักยภาพอันเป็นเลิศของผู้เข้าแข่งขัน
การแข่งเรือที่มีใบเช่นนี้ จำเป็นจะต้องอาศัยการปรับตัวไปกับการเปลี่ยนแปลงของทิศทางลมและคลื่น ที่เกิดขึ้นอยู่ตลอดเวลา เปรียบได้กับการทำซอฟท์แวร์ ที่ต้องปรับตัวตาม requirement เทคโนโลยีและกระบวนการทำงาน ที่สามารถปรับเปลี่ยนได้ตลอดเวลา
ยิ่งถ้าได้ดูการแข่งขันกีฬาอย่าง SailGP ใน Youtube แล้ว ยิ่งทำให้เห็นภาพมากขึ้น ว่าในการแข่งเรือใบ กรังปรี สมัยใหม่นี้จะต้องอาศัยเทคโนโลยีและเครื่องมือที่ทันสมัยมากๆ ผู้เข้าแข่งขันต้องร่วมกันทำงานเป็นทีมเวิร์คอย่างสูง และ Goal ในแต่ละ race ก็ชัดเจนคือต้องเข้าเส้นชัยเป็นที่หนึ่ง เปรียบได้กับทีมซอฟต์แวร์ที่แต่ละ sprint จะมี sprint goals เป็นจุดหมาย
SailGP จะมีผู้เล่นในทีมบนเรือ 5 คน ประกอบด้วย helm หรือคนคุมหางเสือ 1 คน wing trimmer 1 คน คอยปรับ aerodynamics ของเรือ และทำงานกับ flight controller 1 คน ที่คุมการควบคุมต่างที่เป็นเทคโนโลยีของเรือ และ grinder 2 คน ที่เป็นเหมือนผู้ให้พลังงานส่งไปยังส่วนต่างๆของเรือ ตลอดการแข่งขันจะเห็นว่าแต่ละคนในเรือจะวิ่งไปมาระหว่าง 2 ด้านของกาบเรือ บางครั้งสลับบทบาทกันก็มี ถึงแม้ในการจัดทีม จะมี role หลักๆอยู่ 1 คนคือ helmsman หรือคนคุมหางเสือ เหมือนกับ product owner ในทีมซอฟท์แวร์ แต่ก็นั่นแหละ บางครั้งเค้าก็วิ่งไปชักใบเรือเช่นกัน
จะเห็นว่า ไม่ว่าจะเป็นการแข่งเรือหรือทำซอฟท์แวร์ mindset ของความเป็น self organizing team ในแต่ละคนจะต้องสูง กล่าวคือเมื่อคุณกระโดดลงเรือที่อยู่ในน่านน้ำแล้ว คุณคงหันหลังกลับไม่ได้ คุณจะต้องเป็นส่วนหนึ่งของทีมให้ได้ และเพื่อให้บรรลุเป้าหมายของ self organizing team สิ่งที่จะเกิดขึ้นอยู่ตลอดเวลาคือการปรับตัวกับความเปลี่ยนแปลงที่มีอยู่เสมอ
แล้วทีมที่มี self organizing mindset เป็นอย่างไร ใน Project Management Body of Knowledge หากใครเคยอ่านสอบ PMP certified เค้าจะกล่าวถึง Bruce Tuckman’s staging or group development ว่าการฟอร์มทีมจะต้องผ่านบันได 4 ขั้นดังนี้
* Stage 1 – Forming (Coordinating) แต่ละคนแยกกันทำ แล้วนำมารวมกัน อาจลำดับความสำคัญของงานแตกต่างกัน
* Stage 2 – Storming (Cooperation) เริ่มช่วยเหลือกันมากขึ้นหากติดปัญหาหรือมีการร้องขอ แต่ก็ยังแยกกันทำงานและลำดับความสำคัญของงานแตกต่างกัน
* Stage 3 – Norming (Collaborating) เริ่มทำงานด้วยกัน ไปสู่เป้าหมายเดียวกัน งานแต่ละงานจะเป็นรูปแบบของการทำร่วมกันมากขึ้น
* Stage 4 – Performing (all of the above Consistently) เริ่มให้ความสำคัญของ progress และ output มากกว่า role หรือตำแหน่งในทีม ทักษะเริ่มมีการแลกเปลี่ยนหมุนเวียนเพื่อให้บรรลุเป้าหมาย การทำงานในรูปแบบ cross functional จะทำให้เกิดประสิทธิภาพสูงสุด
ดังนั้นในการสร้างทีมพัฒนาซอฟท์แวร์ให้มี self organizing mindset จึงต้องตระหนักถึงบันได 4 ขั้นนี้
สรุป
ไอเดียในการทำซอฟต์แวร์ด้วย mindset ที่เป็น self organizing team มีมาพร้อมๆกับการล่มสลายของการทำซอฟท์แวร์แบบ water fall กล่าวคือความเป็นส่วนหนึ่งของทีม ทำให้บทบาทหรือ role ของ individual มีความสำคัญน้อยกว่าการที่ทุกคนในทีมพยายามทำงานร่วมกันเพื่อไปให้ถึงเป้าหมาย แต่หลายๆทีมก็ไม่สามารถที่จะออกจากวังวนของ role ในรูปแบบ hierarchical ได้ อยากให้ทุกคนในทีมลองนึกภาพที่กล่าวไว้ก่อนหน้า ถ้าจับทุกคนโยนลงไปบนเรือลำเดียวกันแล้ว เป้าหมายคือเส้นชัยเท่านั้น และเมื่อนั้นบทบาทของแต่ละคนในทีมจะเปลี่ยนไปทันที ในการทำซอฟท์แวร์ เส้นชัยคือการได้มาซึ่ง workable software และเมื่อทุกคนตระหนักถึงบันได 4 ขั้น ทุกคนจะพยายามปรับตัวไปสู่ Self Organizing Team
Related Post