Skip to content
varokas edited this page Mar 29, 2013 · 1 revision

Coding Dojo

เป็นวิธีการสร้าง technical skill ในการ coding แบบหนึ่งที่นิยมใช้ในทีมอไจล์ โดยอาศัยหลักการของ Deliberate Practice ซึ่งจะเป็นการนำโจทย์ปัญหาที่ตั้งขึ้นมาเฉพาะ เพื่อที่จะเรียนรู้เรื่องใดเรื่องหนึ่งโดยเฉพาะ และทำการแก้โจทย์ปัญหานั้น พร้อมกับวิเคราะห์และทดลองปรับปรุงวิธีการแก้ปัญหาไปด้วย

การใช้ coding dojo มีได้หลายแบบ

  1. Prepared Kata คือ ทำให้ดู​และผู้ชมถามเมื่อมีข้อสงสัยในทันที
  2. Randori คือ ทำเป็น pair แล้วให้ผู้ชมทุกคนสลับเวียนกันเข้ามาเป็น pair

Scheduled Dojo

ส่วนมากน่าจะอยู่ใน github จะมาแปะลิงค์เมื่อพร้อม

  • Basic TDD and CoffeeScript
  • Basic node.js stuff
  • Testing Asynchronous Code
  • JavaScript Mocks
  • WebSocket

HuskyCode's Online Dojo

หลังจากเริ่มงานไปได้ซักพัก ทีมงานรู้สึกว่า ไม่สามารถทำงานได้อย่างลื่นไหลมีประสิทธิภาพ ดังนั้นจึงได้ออกแบบ coding dojo ขึ้นมาที่น่าจะเหมาะกับสภาพของทีมออนไลน์

Role

  • Driver- เป็นคนคุม
  • Co-pilot - มา pair กับ driver
  • Facilitator - คอยดู chat และจับเวลา
  • Audience - คนดู

Mechanics

เนื่องจากข้อจำกัดทางเทคโนโลยีปัจจุบัน ทำให้เราไม่สามารถจะให้ทุกคนมาอยู่ใน session meeting เดียวกันได้แบบไม่ lag เราจึงคิดว่าจะทำแบบนี้ (จะปรับไปตามความเหมาะสม)

  1. Driver นัดวัน เวลาการทำ dojo ผ่าน facebook event
  2. Driver เปิด Hangout on Air และ invite co-pilot, facilitator เข้ามา
  3. Driver แปะลิงค์ live youtube ให้ทุกคนที่สนใจได้ดูใน facebook event
  4. Facilitator พิมพ์ใน chat ให้ทุกคนที่ตอบใน event ว่า going บอกว่าเริ่ม dojo แล้ว พร้อมกับแปะเอกสารนี้ให้ทุกคนดูอีกที
  5. Driver ประกาศรูปแบบและเวลาคร่าวๆ ให้ facilitator และ audience ได้ดู
  6. เริ่ม dojo ได้
  7. หากระหว่าง dojo ถ้าคนดูมีคำถามอะไร ก็พิมพ์ chat เข้ามาได้ทันที faciliator จะเป็นคนคอยพูดสิ่งที่อยู่ใน chat ให้ driver, co-pilot รู้ตัว
  8. เมื่อถึงเวลาที่กำหนด facilitator ให้บอกเตือนด้วย

Suggested Structure

ลอกแบบ Paris Dojo มา

  • 10 minutes: ตกลงกันว่าจะคุยเรื่องอะไร
  • 40 minutes or so: code! PreparedKata or RandoriKata
  • 5-10 minutes: หยุดเพื่อเรโทร และแก้ไข
  • 40 minutes: โค้ดต่อ

อ่านเพิ่มเติม

Clone this wiki locally