Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

TDD with LEGO at SDEC13 Slide 1 TDD with LEGO at SDEC13 Slide 2 TDD with LEGO at SDEC13 Slide 3 TDD with LEGO at SDEC13 Slide 4 TDD with LEGO at SDEC13 Slide 5 TDD with LEGO at SDEC13 Slide 6 TDD with LEGO at SDEC13 Slide 7 TDD with LEGO at SDEC13 Slide 8 TDD with LEGO at SDEC13 Slide 9 TDD with LEGO at SDEC13 Slide 10 TDD with LEGO at SDEC13 Slide 11 TDD with LEGO at SDEC13 Slide 12 TDD with LEGO at SDEC13 Slide 13 TDD with LEGO at SDEC13 Slide 14 TDD with LEGO at SDEC13 Slide 15 TDD with LEGO at SDEC13 Slide 16 TDD with LEGO at SDEC13 Slide 17 TDD with LEGO at SDEC13 Slide 18 TDD with LEGO at SDEC13 Slide 19 TDD with LEGO at SDEC13 Slide 20 TDD with LEGO at SDEC13 Slide 21 TDD with LEGO at SDEC13 Slide 22 TDD with LEGO at SDEC13 Slide 23 TDD with LEGO at SDEC13 Slide 24 TDD with LEGO at SDEC13 Slide 25 TDD with LEGO at SDEC13 Slide 26 TDD with LEGO at SDEC13 Slide 27 TDD with LEGO at SDEC13 Slide 28 TDD with LEGO at SDEC13 Slide 29 TDD with LEGO at SDEC13 Slide 30 TDD with LEGO at SDEC13 Slide 31 TDD with LEGO at SDEC13 Slide 32 TDD with LEGO at SDEC13 Slide 33 TDD with LEGO at SDEC13 Slide 34 TDD with LEGO at SDEC13 Slide 35 TDD with LEGO at SDEC13 Slide 36 TDD with LEGO at SDEC13 Slide 37 TDD with LEGO at SDEC13 Slide 38 TDD with LEGO at SDEC13 Slide 39 TDD with LEGO at SDEC13 Slide 40 TDD with LEGO at SDEC13 Slide 41 TDD with LEGO at SDEC13 Slide 42 TDD with LEGO at SDEC13 Slide 43 TDD with LEGO at SDEC13 Slide 44 TDD with LEGO at SDEC13 Slide 45 TDD with LEGO at SDEC13 Slide 46 TDD with LEGO at SDEC13 Slide 47 TDD with LEGO at SDEC13 Slide 48 TDD with LEGO at SDEC13 Slide 49 TDD with LEGO at SDEC13 Slide 50
Upcoming SlideShare
Understanding bdd and tdd with lego
Next
Download to read offline and view in fullscreen.

1 Like

Share

Download to read offline

TDD with LEGO at SDEC13

Download to read offline

Here is the TDD LEGO presentation as given in Winnipeg at SDEC13

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

TDD with LEGO at SDEC13

  1. 1. Bryan Beecham and Mike Bowler TDD with LEGO Thank you to our Sponsors Monday, 11 November, 13
  2. 2. Understanding TDD with LEGO Bryan Beecham @BillyGarnet Mike Bowler @mike_bowler Monday, 11 November, 13
  3. 3. Exercise - 1 Open up one LEGO packet Build a person and a house out of LEGO Monday, 11 November, 13
  4. 4. Admire your work Take a photo. Upload to Twitter. Brag to your friends. Monday, 11 November, 13
  5. 5. Reference Test-Driven Development By Example Kent Beck Monday, 11 November, 13
  6. 6. What is the goal of TDD? It creates clean code that works ~ Ron Jefferies Monday, 11 November, 13
  7. 7. TDD It is a predictable way to develop. You know when you are finished, without having to worry about a long bug trail. Monday, 11 November, 13
  8. 8. TDD It gives you a chance to learn all of the lessons that the code has to teach you. If you only slap together the first thing you think of, then you never have time to think of a second, better thing. Monday, 11 November, 13
  9. 9. TDD It improves the lives of the users of your software. Monday, 11 November, 13
  10. 10. TDD It lets your teammates count on you, and you on them. Monday, 11 November, 13
  11. 11. TDD It feels good to write it. Monday, 11 November, 13
  12. 12. The Mantra Red - Green - Refactor photo from doolwind.com Monday, 11 November, 13
  13. 13. The Mantra - Red Write a small test that doesn’t work Monday, 11 November, 13
  14. 14. The Mantra - Green Do the minimum to make the test work Monday, 11 November, 13
  15. 15. The Mantra - Refactor Eliminate duplication Monday, 11 November, 13
  16. 16. Exercise - 2 Build a person and a house with TDD Monday, 11 November, 13
  17. 17. Prepare your environment Clear the area in front of you. This is your program. The perfect program! Monday, 11 November, 13
  18. 18. First Test Does the person exist? No? Monday, 11 November, 13
  19. 19. Hurray!!! We failed the test! Celebrate! High 5s! Monday, 11 November, 13
  20. 20. Minimum to pass the test Add a block. Can that be a person? Monday, 11 November, 13
  21. 21. Hurray!!! The person now exists! Not very impressive but it could represent a person. We passed the test! We are rocking now! Monday, 11 November, 13
  22. 22. Refactor Remove any duplication. In this case we’re good. Monday, 11 November, 13
  23. 23. Same thing for house Blah, blah, awesome recreation by speaker...everyone is extremely impressed and are thinking this might be the best session of the whole conference. Monday, 11 November, 13
  24. 24. We need a new test The house is taller then the person. Assert.IsTrue(house.height > person.height); Monday, 11 November, 13
  25. 25. Hurray!!! More Failure The person is the same size so we fail this test. Well done! Monday, 11 November, 13
  26. 26. Failure = Learning Opportunity If you’re not failing, you’re not learning. If you’re not learning... Monday, 11 November, 13
  27. 27. Minimum to pass the test From the audience this time. Anyone? Bueller? Monday, 11 November, 13
  28. 28. Hurray!!! - Success Alright, we passed the test. Monday, 11 November, 13
  29. 29. Refactor Still very simple. Still nice and clean. Monday, 11 November, 13
  30. 30. Software Requirements Software must do three things: It must work It must be understandable It must be updatable Monday, 11 November, 13
  31. 31. We need a new test Is the house wider then the person? No? We failed another test! Awesome! We are learning a lot about improvements that are needed to our code. Let’s do the minimum to pass the test. Any duplication to remove? Monday, 11 November, 13
  32. 32. We need a new test Can your person fit in the house? Yikes! No. We failed another test! Awesome! We are learning so much about what our customer needs. Let’s do the minimum to pass the test. Any duplication to remove? Monday, 11 November, 13
  33. 33. Exercise - 3 Partners! Break into groups of two for this next exercise. When developers do this we call it Pair Programming Berkley photo from the web Monday, 11 November, 13
  34. 34. New Requirements Your new program needs to have: A person A house A tree An animal A vehicle Monday, 11 November, 13
  35. 35. Let’s Practice! Work together and write down a new test Build minimally pass the test Repeat (Don’t worry about Refactoring for now) Here’s a few if you get stuck: Is the house at least x bricks tall? Is the tree the same size as the house? Is the animal smaller than the person? Monday, 11 November, 13
  36. 36. New Requirements Your new program needs to have: A person A house A tree An animal A vehicle Monday, 11 November, 13
  37. 37. Review Let’s take a minute to walk around and look at everybody’s creations! Taking breaks and stretching your muscles (eyes, legs, arms, back) is very important to stay healthy. Monday, 11 November, 13
  38. 38. Apology You may have to break your wonderful new structures for the components for the next section. Don’t worry, there is more building to come! Please do take a photo. Remember @BillyGarnet and @mike_bowler #SDEC13 if you’re tweeting about the amazing time you’re having! Monday, 11 November, 13
  39. 39. Refactoring Refactoring is the process of changing a software system in such a way that it does not alter the external behaviour of the code yet improves its internal structure. ~Martin Fowler Monday, 11 November, 13
  40. 40. Super Fast Break Stand up and stretch - really, it’s important! Share something you’ve learned with a neighbour! Monday, 11 November, 13
  41. 41. Exercise 4 -Team Build Each table will come up with a large structure with lots of parts to build. (airport, zoo, amusement park...) You will be a software team, working in pairs, contributing to the large team structure (the build) at your table. Monday, 11 November, 13
  42. 42. Decide on an idea Shh...don’t tell the other tables. (Jeopardy music...) Monday, 11 November, 13
  43. 43. Break it into components Take a minute to write out a few of the components that need to be built (product backlog). Each pair will build a component through TDD. We will then add the sections to the big project. Make sure you don’t break your teams tests! Write your test on paper, fail, then add lego to pass. Monday, 11 November, 13
  44. 44. Demo time! A few teams will now present their creation. Please share the tests that you came up with and point out the solution. Monday, 11 November, 13
  45. 45. Review Test-Driven Development / Design Refactoring Pair Programming A bit of developer speak Experience working on a software team Monday, 11 November, 13
  46. 46. Questions? Bryan Beecham @BillyGarnet bbeecham@fusebill.com Mike Bowler @mike_bowler mbowler@gargoylesoftware.com Please separate the lego bricks into their respective colours Monday, 11 November, 13
  47. 47. No really, it’s over Monday, 11 November, 13
  48. 48. There are no more slides Monday, 11 November, 13
  49. 49. No trailers Monday, 11 November, 13
  50. 50. Looking for more? Check out http://www.humanrefactor.com Links to HumanRefactoring, and soon more LEGO! Monday, 11 November, 13
  • jonmjorgensen

    Jul. 3, 2014

Here is the TDD LEGO presentation as given in Winnipeg at SDEC13

Views

Total views

750

On Slideshare

0

From embeds

0

Number of embeds

3

Actions

Downloads

8

Shares

0

Comments

0

Likes

1

×