ช่วงนี้กำลังปรับทีมให้ทำงานเป็นรอบการทำงาน โดยนำเอาแนวคิดเรื่อง Agile Software Development ที่พี่หนุ่ม (Siamchamnankit) สอนมาปรับใช้

หลังจากที่ผ่านมา 3 Sprint แล้ว เริ่มเห็นความเป็นรูปเป็นร่างแล้ว ผมตื่นเต้นเลยเอามาเขียนเป็นบทความก่อน

เนื่องจากทีมยังอยู่ในการพัฒนานาแบบ Waterfall อยู่ และยังไม่เคยเขียนพวก Automation Test ผมเลยเริ่มจาก ให้ทีมสัมผัสกับการทำงานเป็นรอบๆ ก่อน โดยอยู่ในรูปแบบของ Mini Waterfall ก่อน แล้วค่อยปรับให้เป็น Scrum Process เป็นที่สมบูรณ์ในครั้งถัดไป

โดยผมมีขั้นตอน คือ การให้ความรู้ และลงมือทำ พาไปเจอปัญหา ลองผิดลองถูก (ส่วนใหญ่อยู่ในกรอบที่ผมประเมินแล้วว่าไม่ส่งผลเสียมากเท่าไหร่) และถามความคิดเห็นของทีม แล้วนำมาปรับแก้ ทำซ้ำจนเข้าที่เข้าทาง

ผมเริ่มต้นใช้โปรเจค In House นี้ เป็นการ Migrate จากระบบเก่ามาระบบใหม่ ที่มีความ Legacy และ ไม่มี Flow และ Design เลย

พาไปทำกับงานที่ไม่พร้อมแบบนี้แหละ เห็นภาพสุด และให้ทีมปรับตัวไปด้วยในตัว

ทำให้ต้องมีการคุยกันเยอะมาก ตั้งแต่นั่งไล่ Flow คุยเรื่อง APIs ที่ต้องทำ Condition และ Field ต่างๆ ที่จำเป็นต้องมีหรือตัดทิ้ง Test Case, Dataset และข้อตกลงอื่นๆ

ทำให้น้องๆ เห็นปัญหาว่า
1. การไม่มี(หรือมีแต่ไม่ชัดเจน) User journey และ User Story มันทำให้งานล่าช้ายังไง และทำให้เกิดปัญหาอะไร
2. การคุยกันไม่จบ ไม่เคลีย ก่อนเริ่ม Sprint ทำให้เกิดอะไร
3. การที่ Breakdown Task ไม่ละเอียดพอ จะทำให้เกิดปัญหาอะไร
4. ถ้ามีกับไม่มี Test Case ก่อนทำงานเป็นยังไง
5. Standard นั้นสำคัญไฉน
6. การ Estimate คือ การเดา และการเดาอย่างมีหลักการ(มั้ง) ต้องทำยังไง (แต่สุดท้ายก็ยังเดาอยู่ดี 555+)
7. การ Improve ทีมและงานทำกันยังไง

และปัญหาอื่นๆ ยิบย่อย ที่พบเจอ และนำมาปรับปรุงในรอบถัดๆ ไป

ผลที่ออกมาก็ดีขึ้นเป็นลำดับ ภาพการทำงานค่อยๆ ชัดขึ้น น้องๆ มีส่วนร่วมในการปรับปรุงจนเป็นรูปเป็นร่าง มาถึงจุดนี้แม้ว่าพึ่งจะผ่านไปแค่ 3 Sprint
ในระยะเวลา 4 Week
Sprint 1 ให้ 10 วัน (ลองทำกันครั้งแรก)
Sprint 3 และ 4 วางไว้ Sprint ละ 5 วัน
คาดไว้ว่า Sprint ที่ 4 จะเป็น Sprint ที่สมบูรณ์มากขึ้น

Sprint 1
เป็นการทดลอง และเรียนรู้การทำงาน ช่วงแรกเอางานเข้าน้อย ทำให้ช่วงกลาง Sprint ต้องเอางานเข้าเพิ่ม

Sprint 1

Sprint 2
เริ่มเอางานเข้ามาได้ดีขึ้น แต่พบปัญหาว่า Breakdown งาน ไม่ละเอียดพอ และเกิดการ Block ของงาน ช่วงกลาง Sprint มีการเพิ่มงานและคนเข้ามา

Sprint 2

Sprint 3
ปัจจุบันเริ่มเป็นรูปเป็นร่างมากขึ้น เริ่มแตก Task งานละเอียดมากขึ้น แต่มีปัญหาที่ต้องปรับแก้อยู่ในรอบถัดไป

Sprint 3

สังเกตได้ว่าทีมเริ่มเข้าที่เข้าทางแล้ว แม้ว่ายังมีส่วนที่ต้องปรับปรุงกันต่อไปในในหลายๆ เรื่อง

ผมคิดว่า หลังจากนี้น้องๆ ในทีมพร้อมที่จะไปยัง Step ถัดไปแล้ว คือ การทำงานที่ดี ที่ควรจะเป็น มันยังไง กับโปรเจคใหม่ที่ทุกอย่างถูกเตรียมพร้อมก่อนเอาเข้ากระบวนการพัฒนา

สุดท้าย
ผมเป็นคนที่ชอบให้ทีมเรียนรู้ไปพร้อมๆ กัน ชอบให้น้องๆ ในทีมจะได้เรียนรู้ว่าเหตุผลในการทำแต่ละอย่างคืออะไร

จริงๆ บอกให้ทำเลยก็ได้ ตั้งแต่ต้นจนจบว่าต้องทำอะไรบ้าง แต่ผมคิดว่าแบบนี้มันดีกว่า (ถ้ามีเวลาในการ Build Team นะ) เพราะมันจะเป็นฐานที่มั่นคงให้แก่ทีมและบริษัท

“ช้าไม่เป็น ก็เร็วไม่ได้”