Kevlin Henney, Curbralan

Kevlin  Henney

The focus of his work is in programming languages, OO, CBD, UML, patterns and software architecture. He is a regular columnist for Application Development Advisor, JavaSpektrum and C/C++ Users Journal online, and wrote columns in Java Report and C++ Report. He is also a member of Hillside Europe, the EuroPLoP and VikingPLoP programme committees, the OT conference programme committee, and is a regular speaker at conferences in the US and Europe.

Presentation: "Test early. Test often. Test automatically"

Track:   Test-Driven Development

Time: Tuesday 10:15 - 10:45

Location: Conference Hall 1


Traditionally testing has been seen as a slightly dull activity that is necessary in principle and thorough by nature but somewhat optional in practice and erratic under pressure. It has been seen as an obstacle to that stands between the joy of coding and the satisfaction (and relief) of delivery. It is often scheduled as a phase late in the lifecycle and it is often carried out by new recruits who are not yet fully qualified either as domain experts or as software engineers.

Recently, through association with the attractive allure of agile approaches, testing has become seen as cool, practical and necessarily necessary in the eyes of many practitioners. Test-Driven Development has also seen a significant departure from the culture and techniques of the traditional testing schools.

This session opens the TDD track, laying the motivation and groundwork for other sessions throughout the day.

Password protected Download slides

Presentation: "Panel TDD"

Track:   Test-Driven Development

Time: Tuesday 16:45 - 17:30

Location: Conference Hall 1

Presentation: "Panel SPI"

Track:   Software Process Improvement, SPI

Time: Wednesday 16:45 - 17:30

Location: Conference Hall 2

Tutorial: "Beyond the Gang of Four (full day)"

Track:   Tutorials

Time: Friday 09:00 - 12:00, 13:00 - 16:00

Location: Dania


When software developers mention design patterns, the chances are that they are talking about Design Patterns, the classic book by the Gang of Four, rather than design patterns in general. Even when they are talking about the pattern concept, as opposed to specific patterns, they often think in terms of the form and idea presented in GoF, and rarely beyond. However, the practice of software design is a far larger space than can be covered by a modest vocabulary of 23 patterns. Nor is the pattern concept that is useful in designing software identical with the GoF view. Since the publication of the seminal work by GoF in 1994, a great deal of research and practice in patterns has led to a better understanding of both the pattern concept and the strengths and weaknesses of the GoF patterns themselves.

This talk revisits the GoF patterns, reflects on them, deconstructs them, and re-evaluates them from the practitioner's perspective: why creational patterns such as Abstract Factory and Builder are missing a vital ingredient to be proper parts of an architectural vocabulary; why Singleton decreases a system's flexibility and testability; why Iterator is not always the best solution for traversing aggregates; ...; and what you can do about it.