Agile,Coach

TDD : Team Driven Development #TACR2015

ช่วงวันศุกร์ที่ 19 – วันเสาร์ที่ 21 มิถุนายน 2558 ได้มีงาน Event ที่รวมรวบ Agile Coach หรือคนที่มีความสนใจเกี่ยวกับ Agile ในองค์กรต่าง ๆ ให้พวกเขาเหล่านั้นห่างไกลจากความวุ่นวายที่มีอยู่ประจำทุกวัน ให้มารวมตัวเพื่อนั่งพูดคุย นำประสบการณ์มาร่วมแบ่งปัน รวมถึงกลั่นความคิดร่วมกันเพื่อเป็นแนวทางในการใช้ชีวิตในฐานะผู้นำทางจิตวิญญาณด้านอไจล์ โดย Event นี้จัดขึ้นในชื่อว่า Thailand Agile Coaching Retreat 2015 หรือ TACR2015 ณ Sampran RiverSide ซึ่งหนึ่งใน Session ที่ผมเข้าร่วมแลกเปลี่ยนความคิดเห็น และร่วมกันกับ Agile Coach ท่านอื่น ๆ ในการกลั่นเอาความรู้และประสบการณ์ออกมานั้นคือ TDD : Team Driven Development   หึ หึ หึ ฟังชื่อแล้วน่าสนใจใช่ไหมหล่ะ

 

10511136_10152833673497371_6065447801689227259_n

 ที่มาของ Session

จริง ๆ แล้วต้องขอขอบคุณ แม่เก๋ (์Natty แห่ง Pronto) และเหล่าชาว Pronto ที่เอาเรื่องดี ๆ มาแชร์ในคราวนี้ แม่เก๋ เล่าว่าหลังจากที่รู้ว่ามีการจัดงานนี้ เลยไปคุยกับทีมที่ตัวเองโค้ชอยู่ว่า จะมีงานของโค้ช เอาอะไรไปแชร์กับเขาดี ทีมเลยเสนอว่าให้เอาสิ่งที่ แม่เก๋ และ Pronto ทำอยู่มาพูดสิ สิ่งที่ทำอยู่ที่ว่านั้นคือ เรื่องดี ๆ ต่าง ๆ ที่โค้ชได้ทำให้ทีม ทั้งจากมุมมองของโค้ช และตัวทีมเอง ซึ่งสิ่งดี ๆ เหล่านั้นเป็นสิ่งที่ทำให้ทุกคนใน Pronto เป็นทีมจริง ๆ อย่างที่ Pronto เป็นอยู่

วิธีการ

OLYMPUS DIGITAL CAMERA

เนื่องจาก Session ที่พูดถึงนี้เกิดในรอบ Iteration ที่ 2 ซึ่งเกิดในช่วงเช้าของวันเสาร์ (Iteration ที่ 1 เกิดตอนวันศุกร์บ่าย) ซึ่งทางทีมก็มี Lesson Learn อะไรบางอย่างมาจากเมื่อวานเย็น และได้มีการกำหนด Working Agreement บางอย่างเพิ่มเติมมาบ้างแล้ว จึงทำให้มีการกำหนดรูปแบบของ Session ก่อนที่จะเริ่มเข้าสู่ Session จริง ๆ

โดย Session ลักษณะที่เกิดใน #TACR2015 มีหลากหลายรูปแบบ แต่ส่วนมากจะเป็น Open Discussion (จนไปถึง Beer Driven Discussion) เพื่อให้ทุกคนได้แสดงความคิดเห็น และเกิด Moment ของการแบ่งปันและก้าวเดินหน้าไปพร้อม ๆ กัน เราจึงกำหนดวิธีการร่วมกันดังนี้

  1. Brain Storm โดยให้ทุกคนใน Session เขียน “เรื่องดี ๆ ต่าง ๆ ที่โค้ชได้ทำให้ทีม ทั้งจากมุมมองของโค้ช และตัวทีมเอง” ลง Post-It ให้ได้มากที่สุดเท่าที่จะมากได้ เป็นเวลาประมาณ 5 นาที
  2. ให้แต่ละคนพูดในสิ่งที่ตัวเองเขียน โดยกำหนดเวลาให้พูดคนละ 2 นาที
  3. ถ้าหมดเวลาแล้วยังมีเรื่องที่อยากจะพูด ให้ถามทีมว่าอยากฟังต่อไหม ถ้าใช่ก็พูดต่อ นับเวลาใหม่ 2 นาที ถ้าทีมไม่อยากฟังต่อก็ให้คนถัดไปพูด

หลังจากได้หัวข้อทั้งหมดมาแล้ว ทีมก็ทำการ Group หัวข้อที่น่าจะอยู่ด้วยกันมารวมกัน เพื่อให้เห็นว่าโค้ชที่อยู่ใน Session นี้มีความรู้สึกร่วมกับข้อไหนใากน้อยเท่าไหร่ ซึ่งระหว่างทางที่เราพูดคุยกันก็สามารถสร้าง Post-It ใหม่ขึ้นมาได้ตลอด อาจจะเพื่อเสริมหรือแย้งกับความคิดเห็นของคนอื่น ๆ แล้วค่อยทำการสรุปผลที่ได้ออกมาเพื่อไป Present ให้กับทีมอื่น ๆ อีกที

1535517_10152833361957371_4082684133980892401_n

สรุปคร่าว ๆ 

หลังจากที่เรา Workout กันจบเราจึงได้ผลสรุปเป็น Chart ออกมาหน้าตาเหมือนภาพแรก โดยความคิดเห็นที่มีจำนวนคนเห็นด้วยมากที่สุดเรียงจากน้อยไปหามากมีดังนี้

  1. ทำเรื่อง “ไม่มีสาระ แต่มีประโยชน์” บ้าง ———————— 8 แต้ม
  2. สามัคคีคือพลัง ———————————————- 7 แต้ม
  3. ผู้ไม่มีแผลคือผู้ไม่มีประสบการณ์ ——————————- 7 แต้ม
  4. Shared Goal ———————————————- 6 แต้ม
  5. ความเสมอภาค ———————————————- 4 แต้ม
  6. Team can made decision ——————————— 3 แต้ม
  7. Positive Thinking —————————————– 3 แต้ม
  8. โค้ชต้องเจ๊าะแจ๊ะ จิ๊จ๊ะ เป็น ———————————— 3 แต้ม
  9. No Remote Working ————————————– 2 แต้ม
  10. Estimate คือ Estimate ———————————— 2 แต้ม
  11. อย่ากลัวที่จะฆ่า Hero —————————————- 1 แต้ม
  12. ไม่มีอะไร Perfect นิดเดียวก็ Improve แล้ว ——————- 1 แต้ม
  13. มีอะไรผิด Working Agreement ต้องบอก ห้ามปล่อยไว้ ——– 1 แต้ม
  14. รับคนทีละคนให้เข้ากับทีมได้ก่อนรับคนใหม่ ———————- 1 แต้ม
  15. จากประสบการณ์กว่าจะ Get ใช้เวลาประมาณ 4 Sprint ———- 1 แต้ม
  16. Trust : เชื่อทีมหมดใจเหมือนเชื่อใจแฟนตัวเอง —————– 1 แต้ม
  17. ไม่มี “ใช้เวลาประชุมมากไปหรอก เพราะมันคือ Timebox” ——– 1 แต้ม

10400048_10152833362177371_684914086757652983_n

ทำเรื่อง “ไม่มีสาระ แต่มีประโยชน์ บ้าง”

คำว่าไร้สาระอาจจะฟังดูแรงไป แต่เราแค่อยากจะสื่อว่า การสร้างทีม ไม่ได้เน้นเรื่องงานเพียงอย่างเดียว การสร้างความสนุก การทำกิจกรรมร่วมกันที่ไม่ใช่เรื่องงานก็เป็นสิ่งสำคัญ เช่น การไปกินข้าวด้วยกัน การพูดคุยเล่นกันในเวลาทำงานบ้าง การตั้งชื่อเล่น/ฉายาให้กันเองภายในทีม หรือแม้แต่การเล่นมุขฝืด ๆ เพื่อให้คนอื่น ๆ ได้ตลกเองก็เป็นส่วนสำคัญที่ทำให้เกิดทีมที่มี Moment ที่ดีขึ้นมา รวมถึงการสร้าง Environment หรือบรรยากาศให้เหมาะสมกับการพูดคุย การเอา Partition ที่กั้นทุกคนออกไป การ Rotate ที่นั่งกันบ่อย ๆ เพื่อให้ได้พูดคุยกับคนอื่น ๆ บ้าง เป็นส่วนสำคัญมาก ๆ เช่นเดียวกัน

สามัคคีคือพลัง

ส่วนตัวแล้วผมรู้สึกเชย ๆ กับคำว่าสามัคคีคือพลัง แต่ด้วยเวลาจำกัด และสมองอันเล็กตื้อ ยังไม่สามารถหาคำที่เหมาะสมไปกว่านี้ได้ แต่ใจความจริง ๆ ของการที่ทีมเห็นด้วยกับเรื่องนี้คือ การทำอะไรร่วมกัน เพื่อให้เกิดการพูดคุย ส่งเสริม และทำให้เกิดการมีส่วนร่วมของทุก ๆ กิจกรรม ไม่ว่าจะเป็น การได้ร่วมเก็บ Requirement ร่วมกันใน Sprint Planning Part I หรือแม้กระทั่งถ้าทีมจำเป็นต้องส่ง Email เพื่อ Confirm กับ Product Owner เพราะอยู่คนละซีกโลกกัน การที่ให้ทีมได้แต่ง Email นั้นขึ้นมาร่วมกัน เสริมส่วนที่ตัวเอง ต้องการ Detail ก็เป็นเรื่องที่ดี ซึ่งการทำงานร่วมกันนั้น รวมไปในทุก ๆ ขั้นตอนของการทำงาน ไม่ว่าจะเป็น การ Design, Coding, Testing หรือแม้แต่การเรียนรู้อะไรใหม่ ๆ ร่วมกัน หรือบางทีมันจะคือ Cross-Functional Team นะ

ผู้ไม่มีแผลคือผู้ไม่มีประสบการณ์

ข้อที่ 3 ที่ได้ผลโหวตมา เป็นเรื่องของการไม่ปกป้องทีมมากจนทีมทำอะไรไม่เป็น และการปลูกฝัง Mindset ที่ว่า “ความผิดพลาดเป็นสิ่งที่ยอมรับได้ ตราบเท่าที่เราได้เรียนรู้อะไรจากมัน” ซึ่งการจะปลูกฝัง Mindset เรื่องนี้ ต้องสร้างวัฒนธรรม “ห้ามแถ” ให้รู้สึกว่าคนเราสามารถผิดกันได้ และผิดก็คือผิด ต้องไม่มองว่าความเป็นเรื่องของตัวบุคคล ให้มองที่การกระทำ เรียนรู้ว่าการกระทำนั้น ๆ ส่งผลให้เกิดข้อผิดพลาด แล้วปรับวิธีการเพื่อให้เกิดการพัฒนาขึ้นไป ผมชอบคำพูดประมาณ “Defect ก็ Defect สิจะเสียเวลาแถ เสียเวลาเถียงกันไปทำไม เรามาลุยกันต่อว่าจะทำยังไงไม่ให้มันเกิดขึ้นอีกมากกว่า” เรื่องนี้รวมไปถึง สิ่งที่โค้ชจะต้องทำคือ ต้องยอมปล่อยให้ทีมได้ผิดพลาดและเรียนรู้จากความผิดพลาดบ้าง แต่ก็ต้องดูระดับของผลลัพท์ที่เกิดจากความผิดพลาดนั้น ๆ ด้วย “ความผิดพลาดเป็นสิ่งที่ยอมรับได้ ความเสียหายเป็นขอบเขตที่โค้ชต้องดูแล”

Shared Goal

ผมได้ยินคำว่า Shared Goal เนี่ยมานานพอสมควรแล้ว แต่ก็ไม่สามารถระบุมันออกมาเป็นสิ่งที่เป็นรูปธรรมได้สักที จนถึงวันที่ทุกคนต้องร่วมทุกข์กัน ร่วมรับผิดชอบ ดูแลสิ่งที่ตัวเองสร้างมาด้วยกัน (เคสของผมคือทุกคนต้องรับ Call และแก้ปัญหาที่เกิดขึ้นนอกเวลางานได้โดยเวียน เบอร์กลาง) ทุกคนจะมีความกระตือรืนล้น ที่จะหาหนทางที่จะให้ตัวเองสามารถอยู่รอดได้ การขอความช่วยเหลือเพื่อให้ทุกอย่างผ่านไปด้วยดีจึงเกิดขึ้น เมื่อมีการขอย่อมมีการให้ มีการแบ่งปันกัน จึงเกิดความรู้สึกเป็นทีมเดียวกันขึ้นมา ซึ่งจากการคุยกัน นอกจาก Shared Goal แล้วสิ่งที่ขาดไม่ได้คือการ Shared Information ไม่ว่าจะเป็นเรื่องดี หรือเรื่องร้ายที่เกิดขึ้น การนำ Technology ใหม่ ๆ มาใช้เพื่อให้เกิดการ Share ข้อมูลข่าวสารกัได้ตลอดเวลา เช่นการสร้าง Line Group, Facebook Group หรือแม้กระทั่ง Slack

ความเสมอภาค

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

Team can made decision

เราให้ความสำคัญกับคนที่อยู่ ณ หน้างานจริง ๆ เพื่อให้เขาสามารถมีโอกาสเลือกเครื่องไม้เครื่องมือ รวมถึงเลือกวิธีการที่เหมาะสมกัน ในแต่ละสถานการณ์ ได้ด้วยตัวเอง เพราะคนที่ลงมือทำงานจะรู้เองว่าเครื่องมือ หรือวิธีการที่เขาใช้อยู่เหมาะสมกับตัวเขาเองมากกแค่ไหน หัวข้อนี้รวมไปถึงการเลือกคนที่จะเข้ามาอยู่ในทีมด้วย การคัดเลือกคนถ้าทีมไม่มีโอกาสเลือกเองในเบื้องต้น อย่างน้อยก็ควรจะเลือกคนที่มีเคมีตรงกับกับทีม (ถ้าเป็นคนอื่น ๆ มาเลือกให้ก็ต้องเป็นคนที่เข้าใจทีมคลุกคลีอยู่กับทีมด้วย) และหลังจากคนใหม่ที่เข้ามาอยู่ในทีมแล้ว ถ้าทีม say no นั่นก็แปลว่า no (ไม่เอาคนนี้เข้าทีม)

Positive Thinking

ให้ทีมได้คิดเชิงบวก ไม่ว่าจะเป็นปัญหา หรืออุปสรรค ก็ให้มองว่าเป็นสิ่งที่ต้องฝ่าฟันไปด้วยกัน ถึงจุดหมายร่วมกัน ซึ่งส่วนนี้โค้ชอาจจะสามารถช่วยได้โดยการตั้งคำถามเชิงบวกให้ทมได้คิดได้ตัดสินใจ แต่เป็นการตั้งเพื่อให้มองเห็นมุมมองอีกมุมนึงเท่านั้น

โค้ชต้องเจ๊าะแจ๊ะ จิ๊จ๊ะ เป็น 

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

No Remote Working 

อันนี้เป็นประสบการณ์ ส่วนตัวจากที่เคยทำอะไรพวกนี้มาบ้าง การจะทำ Remote Working ได้ ทีมต้อง Trust คน ๆ นั้นพอสมควร รวมถึงคน ๆ นั้นต้องมีความรับผิดชอบสูงมาก ๆ แต่ยังไงก็ต้องระวังเรื่องการ Communication ภายในทีมดี ๆ ด้วย

Estimate คือ Estimate

เรื่องนี้เราคุยกันเรื่องการถกเถียงกันในขั้นตอน Estimate แล้วใช้เวลานาน ๆ ว่า Estimate มันคือการเดา อย่าไปเสียเวลากับมันมาก มันคือการตระหนักรู้ว่าเราเข้าใจมันตรงกันไหมเท่านั้น ยิ่งถ้าคุญไม่ได้จะเอา Point ไปใช้ใน Long Term ยิ่งไม่ควร Focus ที่ Point

เรื่องอื่น ๆ 

อย่ากลัวที่จะฆ่า Hero : อันนี้มีคุย Session เรื่อง Hero ภายในทีมโดยเฉพาะอยู่ต้องรอว่าจะมีใครเขียนไหม

ไม่มีอะไร Perfect นิดเดียวก็ Improve แล้ว : อันนี้เป็น Mindset ที่ โค้ชต้องปลูกฝังให้ทีม เช่นการทำ Retrospective ทำอะไรก็ได้เล็ก ๆ เพื่อให้เกิดการ Improve ก็พอแล้ว

มีอะไรผิด Working Agreement ต้องบอก ห้ามปล่อยไว้ : อันนี้ตรงตัว ปล่อยไว้ วันหลังไปเตือนเขาจะบอกว่าไม่เห็นเป็นไรเลยเมื่อก่อนก็ทำได้ …

รับคนทีละคนให้เข้ากับทีมได้ก่อนรับคนใหม่ : เบลนคนใหม่ให้เข้ากับธรรมชาติของทีมก่อน ไม่งั้นคนใหม่จะเป็นคนหมู่มากที่กำหนดทิศทาง ซึ่งอาจจะไม่ตรงกับทิศทางที่สร้างมาอย่างยาวนาน

จากประสบการณ์กว่าจะ Get ใช้เวลาประมาณ 4 Sprint : อันนี้เก๋เสริมเพราะอะไรสักอย่างจำไม่ได้หล่ะ

Trust – เชื่อทีมหมดใจเหมือนเชื่อใจแฟนตัวเอง : ชอบอันนี้ “จงเชื่อใจทีมอย่างหมดหัวใจ” แต่ก็ยังทำไม่ได้

ไม่มี “ใช้เวลาประชุมมากไปหรอก เพราะมันคือ Timebox” : อันนี้เกิดจากคำถามประมาณ Sprint Planning นานทำยังไง ให้มองมุมกลับ Planning นานแปลว่างานเยอะ อาจจะไม่ทันที่จะส่งตอท้าย Sprint

ส่งท้าย

Session นี้เป็น Session ที่สนุกมาก Session นึง แต่เนื่องจากเรากำดดันตัวเองกับเรื่องเวลาทำให้ เราพลาดที่จะเกิดการพูดคุยอะไรกันตอนท้ายเพื่อสรุปและขมวดสิ่งที่เราคุยกันทั้งหมดมานี้เพื่อนำไปเป็นหลักปฏบัติต่อ ๆ ไป แต่อย่างไรก็ดี มันสนุกและมีประโยชน์มาก ๆ จนผมมีความรู้สึกว่าบริษัทที่เขามีโค้ชเยอะ ๆ เนี่ยน่าจะดีเน๊อะ เพราะเขาน่าจะสามารถจัดอะไรแบบนี้ได้ตลอด เพื่อให้เกิดการแชร์ความรู้ของคนที่ทำงานในสายงานเดียวกัน ได้นำไปใช้ประโยชน์ต่อยอดสิ่งที่คนอื่น ๆ ทำมาได้อย่างมีพลังมาก ๆ

OLYMPUS DIGITAL CAMERA

ภาพสรุป : ใช้ในการ present

Advertisements

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s