4 ปี กับ agile-scrum methodology ที่ ascend group

Updated: Apr 18, 2019

ณ ตอนนี้ในวงการอุตสาหกรรมพัฒนาซอฟแวร์บ้านเรา หันไปทางไหน ก็มักจะได้เจอกับคำว่า Agile ซึ่งอันที่จริง Agile มันไม่ได้ตายตัวว่า จะต้องนำมันมาใช้กับการทำ Software development เท่านั้น.. ตัวมันเป็น Methodology หนึ่งที่สามารถ Applied ไปใช้กับอุตสาหกรรมอย่างอื่นได้ โดยที่เราก็มักจะได้ยินว่าใช้ Agile กับ Scrum แล้วก็คิดว่ามันคือสิ่งเดียวกัน จริง ๆ แล้วไม่ใช่อย่างนั้นนะครับ Agile เป็น Methodolody ส่วน Scrum เป็น Framework แล้วใน Agile เองก็ยังมีอีกหลาย Framework ที่เป็นที่นิยม เช่น kanban, extreme programming เกริ่นซะยาวขอจบเอาไว้เพียงเท่านี้…

Manifesto for Agile Software Development

agile manifesto ให้ความสำคัญกับสิ่งต่าง ๆ เหล่านี้

Individuals and interactions over processes and tools: ให้ความใส่ใจกับการมีปฏิสัมพันธ์กับผู้คน มากกว่าการทำตามคู่มือ และ ทูลWorking software over comprehensive documentation: ซอฟแวร์ที่ใช้งานได้จริง มากกว่าเอกสารที่ครบถ้วนสมบูรณCustomer collaboration over contract negotiation: ร่วมมือกันทำงานไปกับลูกค้า หรือ stakeholder มากกว่าการต่อรองให้เป็นไปตามสัญญาResponding to change over following a plan: พร้อมที่จะเปลี่ยน มากกว่าการทำตามแผนเดิมที่วางเอาไว้

ลองดูที่ตัวหนากับตัวธรรมดา ในภาษาอังกฤษ นะครับ เขาให้ความน้ำหนักกับสิ่งที่กล่าวไว้ทางขวา แต่เขาให้ความสำคัญกับทางซ้ายมากกว่า

ทั้ง 4 ข้อนี้สังเกตุว่า 3 ใน 4 จะเกี่ยวกับคน อ่านดูแล้วอาจจะ abstract หน่อย ๆ ถ้าได้ลองใช้ ลองทำแล้วจะเข้าใจครับ

Scrum Framework

Scrum เป็น Framework สำหรับการทำงานร่วมกันเป็นทีมที่มีประสิทธิภาพ  ภาพด้านล่าง จะแสดงรูปแบบการทำงานของวิธีการใช้ Scrum ในระดับทีมภายในองค์กร ซึ่งนำมาจาก The Scrum Guide โดย Ken Schwaber และ Jeff Sutherland ผู้ร่วมสร้าง Scrum

Agile — Scrum in ascend group

ascend group ก่อตั้งเมื่อปี 2014 โดยเป็นบริษัทในเครือลูกของ True corp และ CP Group ดำเนินธุรกิจหลายอย่าง เช่น e-payment ascend money, e-commerce ascend commerce, ascend-travel, Egg digital และ อื่น ๆ ดูเพิ่มเติมได้ ที่นี่

ascend เลือกใช้ Agile-scrum ในการทำ Software development โดยพี่ต้น Chaiwat Ton Ratana CTO ในขณะนั้น ได้เป็นผู้นำเหล่า Agile coach รวมถึง Scrum master เข้ามา Build team และ สร้าง culture ต่าง ๆ ให้กับองค์กร

ถือว่าผมโชคดีมากที่เข้ามาพร้อมความเปลี่ยนแปลงนี้ ตอนเริ่มต้นที่ผมเข้าไปทำงานที่นี่ ผมเข้ามาในตำแหน่ง Senior software engineer ผมไม่เคยรู้จัก agile-scrumมาก่อน ยอมรับตามตรงว่า “งง” มาก agile คืออะไร Scrum คืออะไร มี scale-agileอีก อะไรคือ daily meeting, planning, grooming, product backlog, sprint review, retrospective มีแต่ละ session เอาไว้ทำไม แล้วเราจะได้ dev ตอนไหน เอกสารก็ไม่เห็นจะค่อยมี มีแต่การ์ดใน Jira จะ dev ยังไง เกิดคำถามขึ้นหลายอย่าง การพัฒนาซอฟแวร์ของผมมันเปลี่ยนไปมาก

การที่ ascend นำ agile-scrum เข้ามา แน่นอนว่าหลายสิ่งเปลี่ยนไป จากเดิมที่เราทำงานกันแบบอื่น เมื่อมีสิ่งนี้เข้ามา ทำให้เกิดเหตุการณ์ช็อคกันไปตาม ๆ กัน ไม่ใช่แค่สาย Technology เท่านั้นที่ได้รับผลกระทบ มันกระทบไปยังฝั่ง Business แล้วก็ลามไปจนถึงทั้งองค์กร เนื่องจากการใช้ agile-scrum เราต้องมาเรียนรู้กันใหม่ การทำงานกับ Life-cycle แบบที่ไม่คุ้นเคยมาก่อน…

Some problem

ฝั่ง Business มักจะเข้าใจกันว่า นำ agile เข้ามาแล้ว มันต้องไวขึ้นสิ ทำไมไม่เห็นจะไวขึ้นเลย ออกของก็ช้าลง บลา ๆ ๆ เราต้องอธิบายว่าถึงเราจะนำ agile มาใช้ มันไม่ได้หมายความว่า มันจะเร็วขึ้นนะ แต่เราก็ต้องคำนึงถึงด้าน Quality ด้วยว่าของจะถึงมือลูกค้าได้นั้น มันต้องมี Quality มี Automation ก่อนนะ มีระบบ Monitoring นะ แล้วก็ควรทำระบบของเราให้ Scale ได้ โดยที่ก่อนน่านี้นั้น เรามักจะสนใจแต่ว่ารีบส่งของให้ถึงมือลูกค้าให้ไวที่สุด เท่าที่จะเป็นไปได้… ก็มีปัญหากันบ้าง อะไรบ้าง  ในตอนที่ Service ยังมีผู้ใช้ไม่มาก มันก็ไม่ค่อยเกิดปัญหาหรอกครับ แต่ลองนึกถึง TrueMoney วันนี้ ใน 1 วินาที มีคน Request เข้ามาในระบบ เยอะมาก ไอการทำงานที่เคยใช้ได้ในวันนั้น มันก็มีโอกาสที่จะพัง หรือพังลง เนื่องจากการออกแบบที่ไม่รองรับการ Scale ไม่มีการเฝ้าระวัง ทำให้สุดท้ายบึ้มมม เป็นโกโก้ครั้น แล้วเราก็ทำให้พวกเขาเข้าใจได้ว่า อ๋อ มันต้องทำนะ ถ้าไม่ทำจะเกิดปัญหานะ อะไรอย่างงี้…  ดั่งสุภาษิตไทยที่ว่า วัวหายล้อมคอก 555

ฝั่ง Tech เองก็ต้องปรับตัวด้วยเช่นกัน เนื่องจาก agile มันคือผู้คน ดังนั้น Dev จ๋าาาา ก็ต้องเปลี่ยนแปลง หันมาคุยกันมากขึ้น ไม่ใช่จะคุยแต่กับ code อย่างเดียว อันนี้เห็นบางคนก็ได้ Improve ตัวเอง ในการเจรจาต่อรองกับผู้คน

อีกปัญหานึงที่อยากยกขึ้นมา ก็คือ ด้วยความที่มันบอกว่า “ไม่เน้นเอกสาร” พอมันไม่เน้นเอกสาร หลายคนก็เข้าใจว่า ไม่ต้องทำเอกสารแล้ว เย้!!! นั่นแหละครับปัญหาเลย พอเราไม่ทำเอกสาร มีอะไรก็ใส่เอาไว้ใน card สุดท้ายพอเวลาล่วงเลยผ่านไป “ลืม” ครับ ฮ่า ๆ ๆ ไม่แปลกหรอกครับ ใครจะไปจำได้หมด เราอาจจะจำ Business flow ได้ แต่เราจำ Request, Response ทั้งหมดไม่ได้หรอก แม้จะมี Swagger ก็ตาม… เราก็เลยแก้ไขด้วยการ จัดทำ “Portal document” ขึ้นมาด้วย เพื่อที่จะช่วยเราในการค้นหาเอกสาร หรือ สิ่งที่ทำไป รวมถึงมีเอกสารเอาไว้ให้ภายนอกใช้เข้ามาเชื่อมต่อกับระบบด้วย… อย่าลืมครับ ไม่เน้น!! ไม่ใช่ “ไม่มี”

สุดท้ายเราก็ผ่านจุดการเปลี่ยนแปลงนั้นมาได้ เรา Adopt แล้วก็ Improve ไปเรื่อย ๆ จนเรามีแบบแผนเป็นของตนเอง แบบ ascend kaizen!!!

นอกจากการนำ agile-scrum มาใช้ในองค์กรแล้ว ที่ ascend ก็ยังมีบางทีมที่ใช้ kanban ในการทำ software development หรือจะเป็นการทำ Pair programming การ Spike เราก็ใช้ด้วย แล้วก็ยังมีการฝึกทักษะด้านอื่น ๆ อีก เช่น การพัฒนาทางด้าน soft skills หรือการพัฒนาทางด้านการสื่อสาร

เพื่อนร่วมงานของผมหลายคนก็ได้นำ Scrum ไปใช้ในชีวิตประจำวัน อาทิเช่น การนำการทำ Retrospective ไปใช้กับแฟน กับคนในครอบครัว เพื่อ Improvement ชีวิตให้ดีขึ้น (ที่ใช้แล้วทะเลาะกันก็มี อันนี้ฮา)

Conclusion

ที่ ascend เราใช้ agile-scrum กันมาได้ 4 ปีกว่า ในการทำ Software developmentการเข้ามาอยู่ที่นี่ จะมีการจัดกิจกรรม orientation เพื่อชี้แนะองค์กร ว่าองค์กรของเราทำอะไร มีวัฒนธรรมอย่างไร มีบุคลากรที่มีคุณภาพที่จะคอยเข้ามาช่วย Coach คุณด้วย… แต่การใช้งาน Agile ของพวกเรา ก็ไม่ได้ยึดถือตามแบบแผน ว่ามันจะต้องออกมาตามตำราเท่านั้น แต่มันออกมาจากการตกลงกันของ “ผู้คนภายในทีม ภายในองค์กร” เพราะว่า Agile มันไม่ได้ยึดติดกับ Process มากนัก เพียงแต่มันมี Manifesto เอาไว้ให้กลับไปดู ดังที่ผมนิยามจากประสบการณ์ตัวเองได้ว่า

Agile is not place, It’s a people

ดูเรื่องราวต้นฉบับ >

24 views

©2018 by ทีมงานพลเมืองดี(จิทัล) . 

  • blockdit
  • Facebook Page พลเมืองดี
  • YouTube
  • CareThaiBiz Logo