Team Size (ขนาดทีม)
ลองถามนักพัฒนาคนไหนก็ได้ว่าทีมควรมีขนาดใหญ่แค่ไหน แม้จะได้คำตอบที่แตกต่างกันไป แต่จะมีความเห็นตรงกันในระดับหนึ่งว่ายิ่งเล็กยิ่งดี ถ้าคุณกดดันให้พวกเขาบอกตัวเลข "ขนาดที่เหมาะสม" ของทีม ส่วนใหญ่ก็จะได้คำตอบอยู่ในช่วง 5 ถึง 10 คน
ผมได้ทำการค้นคว้าเกี่ยวกับขนาดทีมที่ดีที่สุดสำหรับการพัฒนาซอฟต์แวร์ ผมพบงานวิจัยหลายชิ้น แต่หลายชิ้นก็มีข้อบกพร่องจนยากที่จะสรุปผลสำหรับวงการพัฒนาซอฟต์แวร์ในภาพกว้าง งานวิจัยที่ดีที่สุดที่ผมพบคือ "Empirical Findings on Team Size and Productivity in Software Development," 5 ซึ่งอย่างน้อยก็สามารถดึงข้อมูลจากชุดข้อมูลขนาดใหญ่ได้ แม้จะไม่จำเป็นต้องเป็นตัวแทนของการพัฒนาซอฟต์แวร์โดยรวมก็ตาม ผลการวิจัยของนักวิจัยระบุว่า "ตามที่คาดไว้จากงานวิจัยที่ผ่านมา ประสิทธิภาพการทำงานแย่ที่สุดสำหรับโปรเจกต์ที่มี (ขนาดทีมเฉลี่ย) มากกว่าหรือเท่ากับ 9 คน" งานวิจัยนี้อย่างน้อยก็ดูจะสนับสนุนประสบการณ์ส่วนตัวของผมเอง
เราชอบทำงานในทีมเล็กๆ และก็ไม่ยากที่จะเข้าใจว่าทำไม เมื่อมีคนกลุ่มเล็กที่โฟกัสไปที่เป้าหมายเดียวกัน มันง่ายกว่าที่จะรักษาความสอดคล้องกันและง่ายกว่าที่จะประสานงาน ผมมีสมมติฐาน (ที่ยังไม่ได้ทดสอบ) ว่าการที่สมาชิกทีมกระจายตัวทางภูมิศาสตร์หรือมีความต่างของโซนเวลามาก จะสร้างความท้าทายที่อาจจำกัดขนาดทีมที่เหมาะสมลงไปอีก แต่เรื่องนั้นน่าจะให้คนอื่นที่ไม่ใช่ผมเป็นคนสำรวจต่อดีกว่า
ดังนั้นทีมเล็กดี ทีมใหญ่ไม่ดี ฟังดูตรงไปตรงมา ทีนี้ ถ้าคุณสามารถทำงานทั้งหมดที่ต้องทำได้ด้วยทีมเดียว ก็เยี่ยมเลย! โลกของคุณเรียบง่าย และคุณอาจข้ามเนื้อหาส่วนใหญ่ของบทนี้ไปได้เลย แต่ถ้าคุณมีงานมากกว่าเวลาที่มีล่ะ? ปฏิกิริยาที่เห็นได้ชัดคือการเพิ่มคน แต่อย่างที่เรารู้กัน การเพิ่มคนอาจไม่ได้ช่วยให้งานเสร็จมากขึ้นเสมอไป