Test Driven Development Workshop No. 1

เรื่องของเรื่องเริ่มจากเราได้มีการพูดคุยเรื่อง TDD ในที่สาธารณะกันมาเป็นปีๆว่าดีอย่างนั้นดีอย่างนี้แต่ “จะเริ่มยังไง ทำได้จริงหรือ?” คำถามเหล่านี้ตามมามากมายและเนื่องด้วยเหตุผลมากมายทำให้ยังไม่สามารถทำ TDD Workshop ได้สักที จนกระทั่งเรื่องมาเกิดจริงๆหลังที่ผมได้รับโอกาสให้ไปร่วมบรรยายที่ Software Park ในหัวข้อเรื่อง “เขียนโค้ดอย่างไร ให้สำเร็จ” ที่จัดโดยชมรม Thailand SPIN ซึ่งก็เป็นอีกครั้งที่ผมไปในฐานะคนที่บูชาลัทธิ TDD และนี่เองก็เป็นเวลาที่ผมได้พบกับ “คุณ Karan Sivarat” และหลังจากจบสัมมนาเราก็ยังคงพูดคุยกันเรื่องแนวคิดการทำ TDD แต่เนื่อด้วยเวลามรจำกัดผมก็เลยชวนไปงาน Bug Dat 2011 และคุณ Karan ก็มาจริงๆแล้วก็คงโดนมนต์สะกดแห่ง TDD เข้าไป :)
หลังจากนั้นอีกไม่นานก็ได้รับเทียบเชิญจากคุณ Karan มาว่าสนใจจะเชิญขบวนการมนุษย์ไฟฟ้าห้าสีไปเสวนาเรือง TDD ที่บริษัท GoSoft หนึ่งครั้ง เมื่อได้รับเทียบเชิญมาเราเหล่ามนุษย์ไฟฟ้ามีหรือที่จะบอกว่า “ไม่” มีแต่อยากจะไปเลยซะเดี๋ยวนั้นแต่เนื่องจากเป็น Session ที่เป็นทางการมากเราเหล่ามนุษย์ไฟฟ้าจึงต้องเตรียมกันไปเยอะเพื่อการจัดหนักโดยรายการของที่เตรียมไปมีดังนี้

  • เพื่อให้เห็นภาพในองค์รวมถึงประโยชน์ของ TDD เราต้องเข้าใจแอจไจล์ก่อนแบบกว้างๆ
  • จากนั้นก็มาเข้าใจ eXtreme Programming ที่ถือว่าเป็น Method หลักหนึ่งในแอจไจล์
  • เราก็เขียนโค้ดกันทั้งบ่ายเพื่อให้เห็นว่า TDD ทำได้จริงและมันส์จริง โดยโจทย์คือเราจะเขียนระบบฝากเงินโอนเงินแบบง่ายๆที่ค่อยๆเพิ่ม requirement เข้ามาทีละนิดละนิด ค่อยๆให้ Test ไป Drive ให้เกิด Code
  • สุดท้ายเราปิดท้ายด้วย AOP ท่ามหัศจรรย์
  •  

    เช้าวันงานผู้คนมากมายเดินทางมาเข้า session นี้เยอะจริงๆมีมาจากหลายแผนกมาก Developer, Project Manager, Quality Control, System Integration ทำให้เราเห็น Skill ที่หลากหลายของพนักงานที่นี่นอกจากนี้พนักงานที่นีีเองก็น่ารักเป็นกันเองมาก นอกจากนั้นมีบางกลุ่มเข้าเส้นมากนั่งเขียนโค้ดตามตัวอย่างแบบไม่ดูเฉลย เล่นเอาทีมงานประทับใจกันไปมากมายและอีกสิ่งหนึ่งที่สำคัญคือ spirit งานเกือบทุกอย่างนี่ทำให้ 7-11 นั้นเป็นคนไทยทำทั้งหมดทำเองกับมือขนาดของบริษัทไม่ได้ใหญ่ไปกว่าแผนกไอทีของบรฺาัทใหญ่ๆเลยแต่ที่นี่ลงมือเองทำเองดังนั้นสิ่งที่เราชาวมนุษย์ไฟฟ้าได้กลับมาคือโจทย์และคำถามจากคนที่เจอปัญหาจริงๆซึ่งเป็นเรื่องที่สนุกมากๆครับ
    แต่เนื่องด้วยเวลาอันจำกัดก็ทำให้เนื้อหาบางส่วนต้องถูกโยนใส่เครื่องเร่งเวลาบางคนอาจจะตามไม่ทันก็ขออภัยไว้ ณ ที่นี้ด้วยครับหวังว่าคงจะมีโอกาสกลับไปเติมส่วนที่ขาดให้เต็มได้ในอนาคตนะครับโดยเฉพาะเรื่อง Working With Legacy Code :)

     

    Post a comment