ปัจจัยหนึ่งที่ทำให้ปัญหา Developer หนักขึ้นคือหลายคนเข้าใจแต่การ Scale quantity ของทีมงานเพื่อแก้ปัญหางานเยอะ
Whatsapp - ทีม 30 คน ดูแล 900M Users
Gojek - ทีม 12 คน ดูแล 1 ล้านคนขับ (ไม่ใช่ Users ด้วยนะ ตัว Users เยอะกว่านั้นอีกแน่ๆ)
แล้วผมก็เห็นข่าวทีมงาน 100+ คนทำแอพพลิเคชั่นที่ผมคิดว่า 2-3 คนทำน่าจะได้ คนพัฒนาก็ตีซะใหญ่โตว่าแบบลงทุนเยอะเจ๋งมาก
ผมก็นั่งคิดในใจว่า โครงการนี้ คงใช้เวลา น่าจะใช้เวลา 7-9 เดือน นั่งวางโครงสร้างและ Process ให้ 100+ คนทำงานร่วมกันได้โดยไม่ตีกัน ตอนเขียนจริงอาจจะ 2 สัปดาห์
====================
ธรรมชาติงานพัฒนาซอฟต์แวร์ พอคนมันเยอะเกินจุดที่มันเหมาะสม ยิ่งมีคนเยอะก็ยิ่งช้าลง
ปัญหาใหญ่สุดๆ เลย คือ จะมีซักกี่คนที่เก๋าและมั่นใจพอที่จะตอบคำถามว่า "เห้ย งานมันเลทแล้วเนี่ย เร็วๆ หน่อยเนี่ย จะไม่ทันแล้ว เอาคนเพิ่มมั้ย" แล้วมั่นใจตอบว่า "ไม่ต้องเพิ่ม เพิ่มคนไม่ช่วยครับ"
(ส่วนตัวผมเคยบอกเจ้านายหลายครั้งใน Career เลยนะว่า Allocate คนมาเพิ่มไม่ช่วย เอามาก็เหยียบเท้ากันตีกันเปล่าๆ โครงสร้างมันไมไ่ด้รองรับให้คน x คนทำงานด้วยกัน รื้อโครงสร้างให้รองรับก็ยิ่งเลทกว่าเดิม)
ถ้าไม่ได้เจ็บมาจนมั่นใจว่าเรื่องนี้เป็นความจริงแน่นอน ซักกี่คนจะกล้าตอบเวลาลูกค้าหรือเจ้านายเร่งงานแบบนี้ ส่วนมากก็จะตอบว่าก็ลองเพิ่มคนดูก็ได้ครับ เผื่อจะเร็วขึ้น
และพอไม่กล้าพอที่จะตอบแบบนี้ ผู้บริหารก็จะเข้าใจผิดไปว่าคนมันไม่พอ แล้วก็เพิ่มไปถึงจุดที่ยิ่งเพิ่มยิ่งช้า แล้วพอช้าก็พยายามเพิ่มคนอีก ข้อสรุปที่ได้คือคนไม่พอ (ตลอดเวลา) ซึ่ง อาจจะไม่ใช่ก็ได้
ผมชวนให้หลายบริษัทลองสังเกตดูว่าทำไมบางโปรเจ๊กต์ เพิ่มคนเท่าไหร่ก็ดูจะไม่พอ แล้วเชิญชวนให้คิดว่า ถึงจุดไหนที่เราจะมองว่าสมมติฐานที่ว่า "คนไม่พอ" ไม่ใช่เรื่องจริง ปัญหาไม่ใช่ไม่พอแต่อยู่ที่อื่น
เราต้องการจำนวนโปรแกรมเมอร์เยอะขึ้นหรือเปล่านะในตลาด ต่อให้เยอะขึ้น ต้องการเยอะขึ้นเท่าไหร่กันแน่