“Solver Team” คำตอบของการสร้างทีมพัฒนาซอฟท์แวร์ในยุคดิจิตอล
08-ก.ย.-17
คัมภีร์เทพ IT
เรื่องนี้เป็นบทความจากคุณ Ajay Shrivastava ซึ่งเป็น CTO ที่ Knowlarity (ธุรกิจโทรคมนาคมที่ใช้เทคโนโลยี Cloud ขับเคลื่อน) และอดีต CTO ที่ OYO (แหล่งรวมข้อมูลห้องพักโรงแรม) ซึ่งได้เขียนไว้ตั้งแต่ช่วงปี 2015 ตอนที่เขาทำงานที่ OYO ได้เคยลองสร้าง Model ของทีมงาน Software Development ขึ้นมาเรียกว่า “Solver Teams (STs)” หลังจากผ่านไป 1 ปี พบว่าการใช้ Model นี้ช่วยส่งเสริมให้งานเกิดประสิทธิภาพและประสิทธิผลมากขึ้น แถมยังเป็นการส่งเสริมทางบวกในการทำงาน และเกิดความสนิทสนมกันระหว่างทีมงานส่วนต่างๆ ได้แก่ ทีม Business, Product, Design, และ Technology
Model ของ Software Development ที่พบกันโดยทั่วไป
จาก Model ดังกล่าว เราจะเห็นว่า งานจะถูกดำเนินการจากทีม Business ไปจนถึงทีม Testing ซึ่งแต่ละทีมก็ทำงานของตนเองไปแต่ละ Stage และทุกอย่างก็ถูกกำหนดในเอกสารไว้ตั้งแต่ต้นแล้วว่าต้องทำอะไรและอย่างไรบ้าง ซึ่งวิธีนี้หากมีการเปลี่ยนแปลงเกิดขึ้น ก็จะส่งผลกระทบต่องานในทุก Stage เช่นกัน อาจทำให้ทีมงานที่เกี่ยวข้องเกิดความเหนื่อยหน่ายที่ต้องแก้ไขงาน
ปัญหาที่พบจาก Model ทั่วไป
- ขาด Team Spirit ในการทำงาน
หากมีการเปลี่ยนแปลง คนเขียนเอกสารก็ถูกมองว่าผิด พองานเสร็จช้าทีมต้นทางก็จะมองทีมปลายทางว่า ทำไมถึงเสร็จช้า ซึ่งทำให้เกิดการโทษกันไปโทษกันมา
- เกิดกลไกป้องกันตนเองระหว่างทีมงาน
แน่นอนว่าพอทำงานแยกกัน แต่ละส่วนก็จะเหมือนคอยโทษส่วนงานอื่น ทำให้แต่ละฝ่ายทำงานด้วยความกลัวถูกจับผิด เลยทำให้ไม่สนุกในการทำงานไปด้วย
- เสียโอกาสในการได้ทดลองทำ
เหตุการณ์นี้มักเกิดขึ้นเมื่อใช้เวลาทำงานในแต่ละ Stage นานๆ อาจมีช่วงที่จำเป็นต้องใช้การทดลองสั้นๆ (2-3 วัน) แต่เวลานั้นกลับสูญไปจากการประชุม การ Present เป็นเวลานานหลายสัปดาห์แทน
- ทำงานแค่ให้ตรงกับเอกสารที่กำหนดไว้
ในเมื่อมีการกำหนดงานไว้แล้ว แต่ละส่วนก็มักทำให้ตรงกับที่กำหนดไว้เท่านั้น ขาดการพัฒนาหรือปรับปรุงให้ดีขึ้น
- ไม่ใส่ใจในงานของคนอื่น
พอทำงานแยกกัน การสื่อสารระหว่างทีมก็น้อยลงหรือห่างขึ้น เช่น ผ่านอีเมล์ ทำให้ขาดการมีปฏิสัมพันธ์กัน ส่งผลให้แต่ละทีมโฟกัสแต่ส่วนของตนเองเท่านั้น
- ขาดการมีส่วนร่วมกับคนอื่น
การมีปฏิสัมพันธ์ที่ไม่ดีระหว่างคนในองค์กรทำให้ประสิทธิผลของงานลดลง ผู้บริหารต้องเสียโอกาสในการสร้าง Value added เพราะต้องมาจัดการเรื่องที่ว่า จะทำยังไงให้พนักงานทำงานด้วยกันได้
- การทำงานแบบ Agile ส่งผลให้เกิดปัญหาอื่นๆ ซ้ำซาก
ด้วยปัญหาต่างๆ ที่เกิดข้างต้น ยิ่งทำงานแบบ Agile Method ก็ยิ่งทำให้ปัญหาต่างๆ เกิดซ้ำๆ
- เพื่อนร่วมงานเป็นแพะรับบาป
เวลาทำงานลักษณะนี้ แต่ละฝ่ายมักจะโทษว่าปัญหามาจากฝ่ายอื่นเสมอ
- บริษัทสูญเสียความสามารถในการแข่งขัน
นวัตกรรมสำคัญๆ ที่เกิดในบริษัทที่เริ่มเติบโตจากการที่เขาสามารถจ้างคนเก่งๆ ได้ เมื่อถึงจุดหนึ่งพวกเขาจะทำให้มันแย่ลงซะเอง หากวันหนึ่งบริษัทมีขนาดเล็กลง หรือถูก Take over จากนั้นบริษัทจะหันไปโฟกัสเรื่องอื่นอย่างการเจรจาด้านต่างๆ เพื่อให้บริษัทอยู่รอด แทนที่จะปรับปรุงและพัฒนาทีม
Solver Team เปรียบเหมือนคนที่นั่งเรือลำเดียวกัน
แนวคิดของการตั้ง Solver Team ขึ้นมาเปรียบเหมือนการที่นำทุกฝ่ายที่เกี่ยวข้องกันจับมานั่งในเรือลำเดียวกัน เวลาไปไหนก็ไปด้วยกัน หากเรือจะจมก็จมด้วยกัน สำหรับ Solver Team เวลาทำงาน แต่ละฝ่ายจะมีส่วนร่วมกันคิดร่วมกันรับผิดชอบงานในทุก Stage ซึ่งแตกต่างกับ Model เดิมที่แต่ละฝ่ายก็แยกทำงานเฉพาะที่เกี่ยวข้องกับ Stage ของตัวเองเท่านั้น ส่วนคนในส่วนอื่นก็เปรียบเหมือนลูกค้าที่คอยจับผิดว่ามีอะไรผิดบ้าง Solver Team แตกต่างกับ Features Team เพราะ เป้าหมายเพื่อแก้ไขปัญหาต่างๆ ไม่ใช่แค่สร้าง Feature ต่างๆ ซึ่งเป็นไปได้ว่า ปัญหาต่างๆ จะถูกแก้จากการเปลี่ยนแปลง Process มากกว่าการสร้างแค่ Feature ต่างๆ นั่นเป็นเหตุผลที่ว่า ทำไมถึงมีทีมงานฝ่าย Business เป็นส่วนหนึ่งของ Solver Team ด้วย
- Solver Team = Business team + Product team + Design team + Tech members เป็นกลุ่มผู้เชี่ยวชาญเฉพาะทางจากหลายๆ ส่วน มาร่วมทำงานกันเพื่อแก้ไขปัญหาต่างๆ
- สมาชิกใน Solver Team มีส่วนร่วมกันความรับผิดชอบ ตั้งแต่เริ่มต้น, release ออกไป, ดูผลกระทบต่างๆ ไปจนถึงการแก้ไขงานใหม่จนกว่าจะสำเร็จ หาก Project ไม่สามารถได้ผลตามที่ต้องการ ทุกคนในทีมก็ถือว่าล้มเหลว
- Solver Team ข้ามผ่านทีละ Stage จาก BRD, PRD, กำหนด Spec. การ Design จนถึง Stage ที่เกี่ยวข้องกับ Technology
- ผู้เชี่ยวชาญในแต่ละ Function งานใน Solver Team จะเป็นผู้รับผิดชอบหลักในงานส่วนของตนเอง ทำงานจนเสร็จและถูกต้องใน Stage ที่รับผิดชอบ แต่ในภาพรวม Solver Team ทุกคนมีโอกาสเท่าเทียมกันในการปรึกษาหารือ เสนอแนะ หรือ เปลี่ยนแปลงอะไรบางอย่างได้ สมาชิกในทีมสามารถที่จะไม่เห็นด้วยและรับผิดชอบในกรณีที่จำเป็น
- Solver Team สามารถสื่อสารกันได้แบบ Real Time ทั้งแบบเห็นหน้า หรือผ่านทางโทรศัพท์ หรืออีเมล์ นอกจากนี้ พวกเขายังสามารถตั้งกลุ่ม Chatใน WhatsApp หรือ Slack เพื่อให้สามารถติดต่อกันได้ตลอด
ข้อดีของ Solver Team
- มีความเข้าใจลึกซึ้งในทุกขั้นตอนตั้งแต่ Business, Product, Design และ Engineering
- การดำเนินงานต่างๆ ทำได้รวดเร็ว การตัดสินใจต่างๆ ก็ทำได้เลย ไม่ต้องผ่านขั้นตอนมากมาย
- มีความรู้สึกถึงความเป็นเจ้าของที่ชัดเจน ทุกการตัดสินใจล้วนมาจากคนในทีมทุกคน
- โฟกัสไปที่เป้าหมายและเตรียมพร้อมรับในการเปลี่ยนแปลงแผนงานที่ถูกต้อง ถ้ามันจะช่วยแก้ปัญหาให้ดีขึ้นได้
- เสริมพลังงานที่เป็นบวกและมีทัศนคติ "ทำทุกอย่างให้เสร็จ" เพื่อให้การตัดสินใจที่ถูกต้อง
- มีความเข้าใจลึกซึ้งและมีความเข้าใจความรู้สึกของเพื่อนร่วมงานมากขึ้น
- ถือเป็นโอกาสที่ดีในการผลักดันมุมมองความคิดที่หลากหลาย ช่วยส่งเสริมให้ทุกคนในทีมมีความเชี่ยวชาญทั้งเชิงลึกและกว้างขึ้น เพราะทุกคนจะรู้รายละเอียดในส่วนงานอื่นๆ ด้วย ทำให้รู้รอบด้านครบครันในการดำเนินธุรกิจแบบครบวงจร
ด้วย Model การสร้างทีมแบบใหม่นี้ จำเป็นต้องใช้ความทุ่มเทและการทำซ้ำๆ อย่างต่อเนื่อง เพื่อให้แน่ใจว่า สมาชิกในทีมจะไม่กลับไปทำงานแบบ Model เดิมๆ อีก และมั่นใจว่า Model นี้มัน Work มาก แม้ว่าจะเริ่มต้นใช้ Model นี้ด้วยความยากเย็นเมื่อ 2 ปีก่อน แต่ตอนนี้มันกลับช่วยให้การทำงานดีขึ้นมาก สำหรับ Model นี้สามารถประยุกต์ใช้ได้ทุกสถานการณ์ ไม่ใช่แค่เฉพาะงาน Software Development เพียงเท่านั้น
ที่มา: techinasia.com
อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ
|
บทความที่เกี่ยวข้อง