<<< Previous speaker next speaker >>>

TDD Expert Erik Doernenburg, ThoughtWorks Inc.

TDD Expert Erik  Doernenburg Erik Doernenburg is a Principal Consultant at ThoughtWorks Inc. where he is helping clients with the design and implementation of large-scale enterprise solutions.

Building on his experience with J2EE, Microsoft .NET and other environments, Erik is continually exploring patterns of enterprise software. He is an advocate of agile development and Open Source software, holds a degree in Informatics from the University of Dortmund and has studied Computer Science and Linguistics at the University College Dublin.

See what Erik says about Jaoo in his blog

Presentation: "Software Visualization and Model Generation"

Time: Tuesday 15:15 - 16:00

Location: To be announced

Abstract: Models are often viewed as something you create during design time and use to generate code. What if we turn the approach up-side-down and generate models from code? Humans are very good at recognizing patterns in images, making visualizations a valuable tool, for example to recognize dependencies or data flow. This is particularly true for dynamic, loosely coupled systems that are often less explicit and evolve over time. Once you have generated a model you can take things a step further and run checks and validations against it. Visualizations can also be used to plot out source code metrics over various dimensions to detect potential "hot spots" in the application that may require special attention. This talk applies the concepts of visualization and model generation to a broad range of usage scenarios, such as asynchronous messaging, software components and object-oriented applications.

Presentation: "Builds: From Good to Great"

Time: Tuesday 16:15 - 17:00

Location: To be announced

Abstract: Fully scripted builds and continuous integration have become more mainstream in the past years. In this talk I want to share some of the great ideas and best practices for builds I've seen on projects that take continuous integration a step further. I will examine build pipelines, fully automated acceptance test suites, information radiators, virtualised test environments, and software quality reports. In addition I will discuss a few do's and dont's that can make the difference between a good build and a great build.

Workshop: "Test Driven Development for Java"

Time: Thursday 09:00 - 17:00

Location: To be announced

Abstract:

This tutorial demonstrates the development of a small system using test-driven development and supporting technologies. The system will comprise a handful of Java classes that exemplify typical components found in enterprise applications, including domain objects, a service layer, and gateways.

The tutorial presents two complementary approaches to TDD: state-based testing and interaction-based testing. Both approaches will be discussed in depth during the development of the system, and benefits of each approach will be highlighted and contrasted. The tutorial also covers common trade-offs and edge case, e.g. how to deal with testing private methods and when not to use dynamic mocks but hand-crafted stub objects. The implementation will use modern technologies such as JUnit 4, Hamcrest, and Mockito.

Attendees will gain an understanding of how proper use of test-driven development fosters good design; through decoupling and interface discovery for example. Attendees will also gather a nice catalogue of the most commonly used patterns used in conjunction with test-driven development.