Meetup: The Butterfly Flaps Its Wings - hands on workshop met Jamie Dobson


Details
Deze keer zal Jamie Dobson (http://www.linkedin.com/in/jamiedobsonatuglyduckling) een hands-on workshop verzorgen.
Wij zorgen voor een broodje om 18:00 (inloop vanaf 17:30), om 18:30 begint de workshop. Neem je laptop mee (of schuif aan bij iemand anders met een laptop).
De meetup wordt gehouden bij RIGD-LOXIA (http://www.rigd-loxia.nl) in Utrecht (routebeschrijving (http://loxia.rigd-loxia.nl/pagina/contact)). Het eten wordt verzorgd door QWAN - Quality Without a Name (http://www.qwan.it).
The Butterfly Flaps Its Wings
The encryption machine used by the German forces in the war was called Enigma. The machine was a simple device that scrambled messages from a keyboard via a system of rotors, each of which fed into the next before finally reversing and coming back out through the machine and back to the operator. When developing an Enigma test first, the initial design choices have future effects that can be traced to the moment we sit down and decide to work on our code. But what effects? And how big?
In this workshop we will break into pairs, each of which will decide their constraints. For example, the pair may decide to:
Introduce domain objects. Refactor to domain objects, from strings and integers. Model the physical machine. Not to model the physical machine. Do TDD as ‘they meant it’. Use mocks. In addition, the pairs are free to choose whatever language they like, Scala or Java, C++ or Haskell. Over time, as we move through the design space, we will ask participants to checkpoint their code so we can see how it is evolving. We will stop at numerous points to inspect the code and see if the designs diverge or converge.
Participants can be developers or testers, where each different person brings their own experiences - and prejudices - to the exercise. The participants can expect to learn about the Test-Driven-Development process but, much more importantly, they will learn how to move through the design space with tests as their guides. Experienced developers can expect to learn about more advanced topics, and to practice what they know, whereas beginners can expect to get a thorough introduction to the practice of TDD. They should also expect to learn about the utterly forgotten art of software design. And, as an aside, the group will be forced to face one rather interesting question: how do you test something that doesn't want to be tested?

Meetup: The Butterfly Flaps Its Wings - hands on workshop met Jamie Dobson