Front End Developer ใน True Digital Group ทำงานกันแบบไหน
ก่อนอื่นเลยต้องบอกว่า True Digital Group (TDG) นั้นเป็นบริษัทใหญ่และมีคนเยอะมาก แค่เฉพาะ Front End Developer ก็มีเกือบจะร้อยคนแล้ว จึงเป็นไปได้ยากที่จะใช้ทีมใหญ่ทีมเดียวในการทำงาน ดังนั้นเราจึงทำงานกันแบบ Squad Team และได้ใช้แนวคิดของ Agile คู่กับ Scrum Framework ซึ่งเราจะทำงานเป็น Sprint (2 สัปดาห์) พอมาถึงจุดนี้หลายคนคงสงสัยแล้วว่า Agile หรือ Scrum Framework คืออะไร แต่ว่าไม่ต้องกลัวไปเพราะว่าบทความนี้จะบอกให้ทุกอย่าง
เริ่มกันที่ Agile คืออะไร
มันคือแนวคิดที่จะช่วยให้ทำงานได้เร็วขึ้น โดยลดการทำงานที่เป็นขั้นตอนและงานด้านเอกสารลง และมุ่งเน้นเรื่องการสื่อสารกันในทีมให้มากขึ้น เพื่อร่วมกันพัฒนาผลิตภัณฑ์ให้เร็วขึ้น พร้อมนำมาทดสอบและเก็บผลตอบรับต่างๆ เพื่อกลับไปแก้ไขปรับปรุง ซึ่งจะทำให้สามารถพัฒนาผลิตภัณฑ์ได้รวดเร็วและตอบโจทย์ผู้ใช้งานมากขึ้น
มาต่อกันที่ Scrum Framework คืออะไร
มันคือวิธีการทำงานแบบ “ ทีมช่วยกันรุมทำงาน ” โดยทั่วไปจะมีตำแหน่งสำคัญอยู่ 3 ตำแหน่ง ได้แก่
- Product Owner (PO) : มีหน้าที่ประเมิน Values และจัด Priorities ของ Tasks ต่างๆ ให้กับทีม บางทีก็เป็นคนให้ Requirement
- Scrum Master : เป็นผู้ทำให้การทำงานเป็นไปอย่างลื่นไหล ซึ่งไม่ได้หมายถึงการเป็นผู้นำทีม แต่จะคอยกำจัดอุปสรรคที่ขัดขวางไม่ให้ทีมบรรลุเป้าหมาย (โดยทีมในอุดมคติจะไม่มีตำแหน่งนี้)
- Team : จะทำงานแบบ Self-Management ซึ่งในหนึ่งทีมจะประกอบด้วยคนประมาณ 3–9 คน และรวมทุกตำแหน่งทั้ง Programmer, Tester , System Analyst , Designer UX/UI
ทีนี้ TDG ของเราเป็นยังไงหล่ะ โดยผมขอเล่าจากภาพใหญ่ๆก่อนว่าใน 1 รอบการ Release เราทำอะไรกันบ้าง เริ่มด้วยเราจะมี PI Planning หรือการวางแผนร่วมกันของทุก Squad Team โดยการวางแผนนี้จะเป็นตัวระบุว่า Release นี้เราจะมี Feature อะไรถูก Deliver กันบ้าง โดย Release นึงใช้เวลา 2 Sprint ซึ่งแต่ละทีมจะได้ทำการแบ่ง Feature ที่เลือกมาเข้าไปใน Backlog (List ของสิ่งที่ต้องทำ) ของทีมตัวเองและวางแผนกันต่อไปว่าควรหยิบ Feature ไหนมาทำก่อนหรือหลัง
ในแต่ละ Sprint เราจะประกอบไปด้วย
- Pre-Planning หรือการเช็คของว่า Feature ที่เรากำลังจะหยิบมาทำนั้นมีของพร้อมสำหรับที่เราจะทำไหม ขาดอะไรรึเปล่า เช่น Design ครบทุกหน้าไหม Api พร้อมใช้รึเปล่า ต้องเตรียมอะไรเพิ่มไหม หลังจากจบการประชุมเราจะแยกกันไปหาคำตอบแล้วมาคุยกันใหม่ใน Planning
- Planning จะเกิดหลังจากที่เราไปหาคำตอบมาแล้วใน PrePlanning ซึ่งเราก็จะมาวางแผนกันว่า Feature แต่ละอันนี้ต้องทำอย่างไร ทำได้จริงรึเปล่า (โดยปกติถ้าของยังไม่พร้อม เราจะไม่เอามาทำ)
- Sprint Review อันนี้จะเป็นการโชว์ของว่า Sprint ที่ผ่านมาเราได้ทำอะไรกันไปบ้าง และแต่ละ Squad Team จะทำการ Demo Feature ที่ตนเองทำให้ทีมอื่นดู
- Retrospective คือการปรับปรุงทีมโดยการคุยกันในทีมว่า Sprint ที่ผ่านมาเกิดปัญหาอะไรขึ้นรึเปล่า แก้ไขอย่างไร มีวิธีไม่ให้เกิดขึ้นไหม แล้วนำไปปรับใช้กับทีมต่อไปในอนาคต
- Daily Scrum Meeting ในทุกๆเช้า เพื่อคุยกับทีมว่าเมื่อวานทำอะไรไปติดปัญหาอะไรรึเปล่า และวันนี้จะทำอะไร เพราะจะทำให้เราวางแผนได้ว่างานจะส่งทันกำหนดไหม หรือใครเคยเจอปัญหานี้แล้วแก้ยังไงได้บ้าง
โดยส่วนใหญ่แล้วเราก็ได้อ้างอิงตามหลักของ Scrum Framework แต่จะไม่บังคับว่า ทุก squad จะมี Process เช่นนี้ ขึ้นอยู่กับแต่ละ Squad Team ด้วย บางทีมอาจจะเพิ่ม Session Technical Meeting ขึ้นมาสำหรับ Developer คุยกันเรื่องเทคนิคอย่างเดียวก็ได้ ไม่มีรูปแบบตายตัว
และสำหรับใครที่อยากรู้ว่า เราเป็นใคร ทำอะไร หรือ ชีวิตการทำงานที่นี้เป็นอย่างไรลองอ่านบทความข้างล่างนี้ดูเพื่อเข้าเข้าใจที่มากยิ่งขึ้น