ทำแล้วพังดีกว่าไม่ทำอะไรเลย


       วันนี้เป็นวัน Sprint Review ประจำสัปดาห์ครับ สิ่งที่ทีมผมทำก็ตามปกติคือรายงานความคืบหน้า ไปตามเท่าที่ทำ ให้ความหวังกับอนาคตและบอกข้อผิดพลาด จริงๆ ทีมเราก็ผ่าน Sprint Review มาเกือบจะ 30 ครั้งแล้วนับตั้งแต่เทอมหนึ่ง แต่สิ่งที่แตกต่างออกไปคือ เรื่องที่ผมจะเล่าต่อไปนี้ครับ

       วันนี้เพื่อนคนหนึ่งในทีมผมเริ่มกลับมาทำ Feature อีกครั้งหนึ่ง หลังจากไปง่วนอยู่กับการจัดการฐานข้อมูลกับงานอื่นๆ มาหลายสัปดาห์ ซึ่งทำให้เพื่อนผมคนนี้ไม่ได้เขียนโปรแกรมเลย สิ่งที่เกิดขึ้นคือ เพื่อนผมคนนี้เผลอกดลบ User ของเพื่อนในทีมอีกคนไปครับ (ซึ่งผมก็มารู้ทีหลังว่ามันเป็น Bug ที่เจ้าของ Feature ซึ่งก็คือ คนที่ถูกลบทิ้งไว้ยังไม่ได้แก้) นอกจากนั้นแล้ววันนี้เพื่อนผมคนนี้ยัง Commit งานผิด Branch ที่กำหนดไว้อีก
       ปัญหาเหล่านี้สำหรับทีมผมแล้วมีมาตรการในการเตรียมพร้อมสำหรับสิ่งเหล่านี้เสมอมาโดยตลอด เรา Backup ตัว Database ออกมาเป็นไฟล์ทุกเดือนทำให้แก้ปัญหาข้อหนึ่งไปได้ ปัญหาข้อที่สองเนื่องจากมันเป็น Version Control เพราะฉะนั้นผลกระทบมันจึงไม่ได้เกิดขึ้นในวงกว้างมากเพราะยังสามารถแก้ไขให้กลับไปเป็นสิ่งที่มันควรจะเป็นก่อนที่มันจะพังได้ ทางเทคนิคแล้วดูเหมือนจะเรียบร้อยดี แต่สิ่งที่ตามมาที่ผมไม่ได้คาดคิดคือ เพื่อนในทีมผมคนนี้รู้สึกผิดมากครับ เพื่อนผมมาสารภาพกับผมว่ารู้สึกเหมือน "ทำให้งานของทีมพัง" ซึ่งคำๆ นี้มันอิมแพคมากครับ เพราะไม่ใช่ว่าผมเคยเกือบจะทำทีมพังมาเหมือนกัน แต่เพราะเรื่องเล็กน้อยที่เกิดขึ้นมันไม่น่าจะทำให้ถึงขั้นทำ "งานของทีมพัง"

       ตลอดเวลาหลายเดือนที่ผ่านมา ผมพยายามมาโดยตลอดที่จะ Encourage ทีมให้เป็นทีมที่ Self-Organize ได้มากขึ้นเรื่อยๆ โดยไม่ต้องรอผม (ด้วยข้อเท็จจริงที่ว่าผมเขียนโปรแกรมได้ดีที่สุดในทีม) พยายามลดความเป็น Command & Control ด้วยการให้ตัดสินใจอะไรด้วยตัวเองมากขึ้น น่าเสียดายที่ถึงแม้ว่าผมพยายามจะทำมากแค่ไหน แต่วัฒนธรรมของทีมโดยพื้นฐานก็ยังไม่เปลี่ยนแปลง หลายๆ อย่างยังต้องรอการ Response จากตัวผมก่อนทั้งที่ในบางครั้งทีมสามารถที่จะตัดสินใจไปเองเลยก็ได้ ผมบอกทีมผมเสมอว่า ผมไม่ใช่หัวหน้า แต่ผมเป็นเพื่อนร่วมทีม ผมไม่ได้มีอะไรแตกต่างจากพวกคุณเลย แต่สิ่งที่คุณ "คิดว่า" ผมแตกต่างนั่นแหละคือสิ่งที่ผมแตกต่างจากคุณ
       ความล้มเหลวจากการสร้าง Self-Organize Team ทำให้สิ่งที่จะเกิดขึ้นต่อมาคือ Happiness Driven Development ซึ่งเป็นแนวคิดที่ผมได้เรียนรู้มาจากหนังสือ Delivering Happiness นั้นไม่เกิดขึ้น แนวคิดก็คือ ผมอยากให้ทีมทำงานอย่างมีความสุขตัดความเป็น Bureaucracy ในทีมออกไปให้ได้มากที่สุดแต่ไม่ถึงกับ Chaos ซึ่งผมเชื่อว่าจะช่วยให้ Productivity ของทีมนั้นเพิ่มขึ้นได้ แต่น่าเสียดายที่ในทีมหลายๆ คนรวมทั้งตัวผมเอง ยังคงหลงเหลือ Mindset ที่ส่งผลเสียกับทีมอยู่ แม้ว่าเราจะทำ Retrospective กันแทบจะทุก Sprint ก็ตามแต่ความเปลี่ยนแปลงที่เกิดขึ้นก็ยังคงน้อยเกินกว่าที่จะช่วยให้ทีมไปถึง Happiness driven ได้

       ตอนนี้ผมเหลือเวลาอีกแค่ 1 เดือนก่อนที่จะจบวิถีชีวิตกับ Project นี้ ผมก็ไม่รู้เหมือนกันว่าผมจะทำได้อีกแค่ไหนที่จะสร้าง Self-Organize Team แต่ผมบอกได้เลยว่าถึงเราจะไม่ไปถึง Happiness Driven ผมก็รู้สึกดีที่ได้ทำ Project นี้กับทีมนี้ ซึ่งทำให้ผมได้เรียนรู้อะไรหลายๆ อย่างมาตลอดหลายเดือนที่ทำงานร่วมกันมา และคงไม่ยอมถ้าหากมีคนเสนอให้ผมทำ Project เดียวกันนี้กับทีมที่มีประสิทธิภาพสูงกว่าเพื่อนร่วมทีม ที่ผมทำงานด้วยอยู่นี่ สุดท้ายถึงแม้เพื่อนผมในทีมจะทำอะไรพังแต่ถ้าเขาปรับตัวและเรียนรู้จากมัน แค่นั้นสำหรับผมเขาก็ไม่มีอะไรที่ต้องรู้สึกผิดอีกแล้ว

ภาพข้างบนจาก http://noahsdad.com/wp-content/uploads/2011/06/is-it-my-fault.jpg

Comments

Unknown said…
สู้ๆค่ะ หัวข้อได้ใจมาก เคยมีคนบอกเหมือนกันว่าให้เรียนรู้จากข้อผิดพลาดและตัวละครนึงใน DOTA2 ก็เคยพูดว่าความผิดพลาดถือเป็นความสำเร็จอย่างนึง ^^