O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Putting the D&D in TDD

Are you tired of TDD workshops that make you do boring things like calculate bowling scores and prime factors or demonstrate how to win at the game of life? If so, this is the session for you! In this TDD workshop we will be building the domain model for EverCraft -- a new MMORPG from Blizzards of the Coast. We have lots of story cards prepared covering features from combat to magic, classes to spells, and races to items. Plus, we'll be defining some of these cards during the session in case you want that +9 knife of ogre slaying or enjoy casting magic missile at the darkness.

This workshop is language agnotisic and for all levels of developers. The focus is on TDD and emergent design but pair programming will be covered as well. The only requirement is that you bring a laptop and that you be able to test-drive you code with your language of choice. When you are done you will emerge a better programmer for the experience but there is small chance you will have a craving for Cheetos and Mountain Dew.

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Putting the D&D in TDD

  1. 1. Putting the D&D in TDD
  2. 2. George Walters II Developer Lead Northwoods Consulting Partners walterg2@gmail.com ❖ @walterg2
  3. 3. Guy Royse Developer Evangelist Nexosis guy@nexosis.com ❖ @guyroyse
  4. 4. Adjusting the Levels ❖ Interrupt Us ❖ All Levels Session - Covering some basics ❖ Not Selling TDD - Showing how not why - The experience will show the why ❖ We Expect You to Pair ❖ Language Agnostic - Ruby, Java, .NET, JavaScript, Haskell, Scala, Go, Python, Swift… we don’t care ❖ You Know Your Tools - We’re not here to teach you JUnit, Jasmine, or RSpec
  5. 5. Katas
  6. 6. The Evercraft Kata
  7. 7. Adjusting the Levels ❖ Introduction ❖ TDD & Ping Pong Pairing ❖ Coding! ❖ Interspective - tell us how it’s going - reflect on what you’ve learned ❖ Lunch - the conference does this, we ain’t feedin’ ya ❖ Moar Coding! ❖ Retrospective ❖ And the Winner Is…
  8. 8. Our Character Sheets 5th Level Facilitator ❖ +5 to Teaching: can help and teach almost any student ❖ Bonus Feats: TDD & Pair Programming ❖ Kata Mastery: have mastered the Evercraft Kata and can help if pairs get log-jammed 1st Level Product Owner ❖ Ideation: can form general ideas for a product at will but won’t know exactly what they want ❖ Clarity: given a question on requirements can unerringly answer it ❖ Agile Advocate: can promote Pairing, TDD and other Agile engineering practices to the business 3 times per day
  9. 9. Questions?
  10. 10. TDD & Ping Pong Pairing
  11. 11. A Brief History
  12. 12. Test-Driven Development Write a Failing Test Code Just Enough to Make it Pass Refactor Your Crappy Code
  13. 13. Ping Pong Pairing Write a Failing Test Code Just Enough to Make it Pass Refactor Your Crappy Code
  14. 14. Dos & Don’ts Do… ❖ …start with a failing test. ❖ …write tests that become more and more specific. ❖ …write code that becomes more and more generic. ❖ …take turns writing tests, coding, and refactoring. ❖ …kibitz while pairing. ❖ …consider keeping a list of tests you need to write. Don’t... ❖ …write more than one test at a time. ❖ …have more than one assert in a test. ❖ …write any more code than is needed to make the current test pass. ❖ …code alone.
  15. 15. Questions?
  16. 16. Evercraft
  17. 17. Pair Up
  18. 18. During the Kata ❖ Ask Questions - as product owners, we might not know what we want - as facilitators, we might have gaps in our material ❖ Present Ideas - as product owners, we might like them more ❖ Code the Model Only ❖ Don’t Mess with Coding the Dice - it’s not worth the hassle
  19. 19. Go Forth and Code Evercraft
  20. 20. Onward Mighty Adventurers Evercraft
  21. 21. Thoughts So Far Interspective
  22. 22. Hack & Slash Coding? Evercraft
  23. 23. The Deepest Level of the Dungeon Evercraft
  24. 24. Retrospective
  25. 25. And The Winner Is…
  26. 26. Guy Royse Developer Evangelist Nexosis guy@nexosis.com ❖ @guyroyse George Walters II Developer Lead Northwoods Consulting Partners walterg2@gmail.com ❖ @walterg2
  27. 27. Image Credits http://www.flickr.com/photos/kimonomania/602858091 http://www.flickr.com/photos/warquel/3300858929 http://www.flickr.com/photos/pandiyan/82387772 http://www.flickr.com/photos/camerajohn/5151120039 http://www.flickr.com/photos/kaptainkobold/174388593 http://www.flickr.com/photos/cuppini/2378443920 http://www.flickr.com/photos/melloveschallah/3304593555 http://www.flickr.com/photos/denemiles/3971887734 http://www.flickr.com/photos/howardlake/4318605890

×