บอกเล่าการ WFH มา 2 ปี ชั้นอยู่มาได้ยังไง

KakyKad
2 min readMay 18, 2023

--

ห่างหายไปนานจากการเขียน blog วันนี้นึกครึ้มอยากเล่าเรื่องการ work from home ตลอด 2 ปี และกำลังจะเข้าสู่ปีที่ 3 ว่ามีการปรับการทำงานไปในรูปแบบไหน ใช้เครื่องมืออะไรบ้างในการทำงาน

ต้องบอกก่อนว่า วิธีนี้เป็นการใช้งานในทีมของตัวเอง ทางกาดก็มีการปรับเปลี่ยนกันมาเรื่อยๆ เพื่อให้เข้ากับทีม ไม่มีได้การใช้หลักการอะไรที่ชัดเจน

เนื่องจากทีมของกาดค่อนข้างจะใหญ่เป็น แผนก IT ที่จะย่อยทีมเล็กๆลงไป เครื่องมือที่เราเอาเข้ามาใช้ในการ tracking งานคือ Jira

โดยเราจะสร้าง Project มาอันนึง โดยยึดว่าถ้าเป็นเรื่อง Requirement จะให้เป็น Lv2 จากนั้น Project แต่ละทีมย่อยๆจะสร้างขึ้นมาเองโดยจะให้เป็น Lv1

อ้างอิงคำ Project มาจากใน Jira

และมีการตกลงร่วมกันว่าการ์ดที่เป็น Requirement จะถือว่าใหญ่ที่สุด (การ์ดงานหลัก) นอกจากนี้ยังมีส่วนที่เป็นงานฝั่ง Defect และ Production Issue ที่จะถือว่าให้เป็น Lv2 ด้วยเช่นกัน

example
  • Lv2 PO เป็นคนคอยจัดการเรื่อง Requirement โดยในบอร์ดก็จะเป็นงานตาม Feature ที่จะทำ ถ้า Feature ไหนใหญ่ไปก็จะย่อยเป็น Sub Feature ลงไป โดยสร้างการ์ดใน Jira ขึ้นมา จะมี Epic link กำหนดว่างานของเรื่องอะไร ถ้ามี Sub Feature ก็แบบทำเดียวกัน โดยจะให้มา Link การ์ดกับการ์ดที่เป็น Feature
  • Lv1 Team working จะได้รับ Feature/Story/Task มาจาก PO และในทีมนั้นจะดำเนินการต่อยังไงต่ออยู่ที่ทีมนั้นๆ เช่น ทีม A สร้าง Sub-task ภายใต้การ์ดที่ได้รับจาก PO ว่าตัวเองมีงานอะไรบ้าง รายละเอียดในงานนั้นมีอะไรใครเป็นคนรับผิดชอบ เมื่อทำเสร็จจะต้องมาปิดการ์ดงานของตัวเอง

และเมื่อถึงรอบที่จะเริ่มงานใน Feature นี้ ทาง PO/PM รวมถึง Business จะมาชี้แจงในเรื่อง Requirement ว่ามีงานอะไรบ้าง รวมถึงแผนระยะเวลาในการทำจนถึง Release และส่งให้ทีม Develop รับไปจัดการต่อ

โดยสิ่งที่เกิดขึ้น ทาง PO/PM จะทำการ clone การ์ดงานใน Jira ของในบอร์ด PO/PM ส่งให้แต่ละทีมไปโดยให้ Link กับการ์ดของ PO/PM (ถือว่าการ์ดงาน PO/PM คือ แม่ และการ์ดที่ Clone ไปถือว่าเป็น ลูก)

ที่ทำแบบนี้ เพื่อให้ทาง PO สามารถ tracking งานได้ต่อว่า อันไหนที่เสร็จแล้วบ้าง พวก Feature หรือ Sub-Feature เสร็จครบที่ commitment หรือไม่ (ซึ่งงานของในทีมจะรวมถึงการเทสที่เรียบร้อยแล้ว ถึงจะปิดการ์ดแจ้ง PO เพื่อดำเนินการส่งมอบให้ Business หรือ User ทำการทดสอบต่อไป) และรวมไปถึงการ Deploy งานด้วย เพราะจะได้สามารถย้อนกลับมาดูได้

Jira-xx => แทนชื่อ key ของใน jira ที่เมื่อสร้าง project แล้วจะมี key ตัวย่อให้ เช่น KM, SJ

ในหัวข้อ Summary ของการ์ดนั้นๆจะมีการกำหนด naming การตั้งชื่อกันอยู่ เช่น [ชื่อทีม/ทีม/ทีม] Summary requirement เพื่อให้รู้ว่ามีใครที่รับผิดชอบงานนี้บ้าง

ของ Defect ก็มีเหมือนกันนะ เช่น [Env][Feature or SubFeature] Summary topic

ซึ่งสิ่งเหล่านี้ล้วนอยู่ที่ทุกคนตกลงร่วมกันว่าจะกำหนด Pattern ตั้งชื่อยังไงให้สามารถอ่านแล้วรู้เรื่องได้ว่างานเกี่ยวกับอะไร ใครต้องรับผิดชอบบ้าง และถ้าอยากรู้เนื้องานมากกว่านี้ก็เข้าไปอ่าน Description ที่เขียนเอาไว้

ส่วนเรื่อง status ในแต่ละ project ที่ทีมถือกันอยู่จะใช้ status เพิ่มอะไรก็ได้ แต่มีข้อตกลงคือ ต้องมี status : wait to deploy, tested, ready to env ไว้เสมอ เพื่อเป็นการให้ PO เอาไว้แจ้งให้ทีมอื่นๆที่ต้องรับไม้ต่อดำเนินการต่อได้

ถ้าลงรายละเอียดของทีม Develop ในเรื่องการจัดการงานที่เข้ามาอันนี้แล้วแต่ lead แต่ละทีมที่ทำเลย แต่ส่วนใหญ่ที่เห็นทำกันคือเวลาได้งานมา จะมีการแตก branch ตามเลข jira นั้นๆ เมื่อทำเสร็จเทสผ่านจะส่ง deploy ก็จะมีการ merge branch เลข jira นั้นเข้าไป

ในของฝั่ง QA ก็จะมีย่อย Sub-Task นั้นออกเป็น Test case ของ Feature/Sub-Feature นั้นๆ เมื่อทำการทดสอบก็จะแนบผลใส่ในการ์ดนั้นๆ ผลที่แนบก็จะมีทั้ง manual และ report result ของ automate

ถ้ามี Test case เยอะมากๆ จะสร้างการ์ด Jira ยังไงไหว? อันนี้ทางฝั่ง QA ใช้ประโยชน์ของ Jira โดยทาง Jira เขามี API ให้เราสามารถใช้งานได้ ซึ่งทาง QA ใช้ API ในการ Upload test case เข้าไปในการ์ด Jira นั้นๆ ในส่วนนี้เดี๋ยวจะมาเขียนแยกเพิ่มเติมให้อีก blog นึง

แต่สุดท้ายนี้ วิธีที่ทำกันตอนนี้ยังเวิร์คไหม จริงๆก็ยังมีข้อเสียอยู่บ้าง ที่เห็นกันบ่อย คือ ทีม Develop หรือ QA มักจะลืมมาอัปเดตสถานะงานใน Jira ทำให้ PO เข้าใจว่ายังไม่เสร็จ ก็จะมีการถามตามงานกันอยู่บ้าง

แต่การใช้วิธีนี้ก็ไม่ได้จะไม่มีการคุยกันเลย เรายังมีการพูดคุย แจ้งปัญหาต่างๆกันอยู่เรื่อยๆ ในทีมจะรู้ target date กันอยู่แล้ว ทุกคนก็จะช่วยๆกันแวะดูการ์ดงานกัน มีเตือนกัน

เราใช้หลักการ Agile, Scrum, Kanban อะไรไหม เรามีหยิบเรื่อง Flight Levels เข้ามาช่วยในการบริหารจัดการงานที่เข้ามา แต่ไม่ได้เอามาทั้งหมด เอามาแค่กรอบนอกและปรับให้เข้ากับทีมของเรา เพื่อให้ในทีมไม่รู้สึกยุ่งยากเกินไป

การที่เอา Jira เข้ามาและต้องคอยอัปเดตสถานะใน Jira ก็เพื่อเก็บเป็นหลักฐานของงานที่ทำกันมา รวมถึง Jira มีการเก็บประวัติในการแก้ไขเอาไว้ทำให้เราย้อนดูเพื่อระลึกอดีตได้

อยากบอกว่าวิธีทำงานแต่ละที่ไม่เหมือนกัน วิธีที่เราทำไม่ได้เป็นวิธีที่ดีที่สุด แต่เราปรับใช้ให้มันเข้ากับทีมเลยอยากมาบอกเล่าประสบการณ์

สุดท้ายนี้ขึ้นอยู่กับทีมแล้วว่าอยากทำแบบไหนกัน :)

เครื่องมือที่ใช้งาน

  • Jira
  • Confluence
  • Sharepoint
  • Discord => สำหรับสื่อสารกับแผนก IT
  • MS Team => สำหรับสื่อสารกับทีม Business

--

--