<<< Previous speaker Next speaker >>>

Kevlin Henney, Independent Consultant

 Kevlin  Henney Kevlin Henney is an independent consultant and trainer based in Bristol, UK. He has variously developed and delivered training courses, consultancy and software across a number of domains ever since getting involved in professional software development in the late 1980s. Kevlin's work focuses on software architecture, patterns, development process and programming languages. He has been a columnist for various magazines and online publications, including The Register, Java Report and C++ Report, and is a regular speaker at JAOO.

Presentation: "The Agility Cube: Six Faces of Agile Development"

Track:   What Makes Agility Work?

Time: Tuesday 13:00 - 14:00

Location: Conference Hall 2

Abstract:

Agile development is a phrase that it appears no buzzword-compliant software development project can be without. However, it is a proper understanding of the motivation and practices, rather than the buzzword conformance, that makes the actual difference in development.

The notion of agility has differing (mis)interpretations and (ab)use. Sometimes it is used as a synonym for Extreme Programming. By contrast, other people use it to mean a generic notion of something that is not quite Extreme Programming, but may borrow ideas from it. Some developers may label a project agile just based on the occasional use of JUnit. Others may use the label to justify not writing any documentation or to avoid agreeing on scope or delivery dates. To be fair, not all uses of the term are cynical or misguided, but the term has lost some of its potency through dilution.

This session revisits the motivation for agile development, and goes on to explore the wide-range of perspectives that are encompassed by approaches that can claim to be agile, including both technical and non-technical aspects, in the large and in the small. The six faces of agility presented are the practices, organisation, architecture, tools, skill and attitude. And, like a cube, it is all too easy to focus on a couple of the faces without seeing the rest.

Password protected Download slides

Presentation: "Five Considerations for Software Architecture"

Track:   Architecture Quality

Time: Wednesday 14:30 - 15:30

Location: SAS Dania

Abstract: What general qualities in a software architecture help to promote its success? We can of course focus on fitness for purpose, cost of change, organisational acceptance, and so on, but are there broad considerations that can be kept in mind when looking at the structural and developmental side of an architecture?
Those involved in software have a lot to keep in mind as they negotiate the worlds inside and outside of their code and the relationship between them. For those interested in improving the state of their art there are many (many) sources of specific recommendations they can use to sharpen their practice. This talk takes a step back from the busy, overpopulated and often overwhelming world of such recommendations to focus on five general considerations that can inform more detailed recommendations and specific decisions.

Password protected Download slides

Tutorial: "Hands-on Agile Development Workshop"

Track:   Tutorial

Time: Thursday 09:00 - 16:00

Location: SAS Dania

Abstract:

Agile development processes are intended to help developers avoid the problems of analysis paralysis, big up-front design, rushed testing and changing requirements. They treat analysis and design as continuous activities that start early in development but continue throughout, rather than as segregated phases divorced from other development activities.

Development is dynamically planned as incremental and iterative. Coding and testing are considered together and from an early stage in development. In particular, incremental design, continuous testing and responsive refactoring make up the programmer-facing discipline of Test-Driven Development (TDD). The goal of this workshop is to offer attendees hands-on experience of many of the practices involved in the construction phase of a lifecycle.

As its title suggests, this tutorial is actually a workshop! Attendees will learn about the development side of agile development by doing it. It is based on undertaking four rapid sprints of development, working on a clearly bounded and well-defined problem. The emphasis is on scope management, iteration planning, TDD in Java with JUnit, pair programming and other practices and principles drawn from agile approaches such as Extreme Programming, Scrum and Lean Software Development, with guidance and feedback both during and in between iterations. This promises to be a good learning experience and a good workout for any attendee!

Audience: Developers and architects with at least basic Java skills. Deep Java knowledge and TDD experience are not a prerequisite.

Notes: At least 50% attendees will be required to bring a laptop, so bringing a laptop as default is considered to be the best option. Laptops will need to have a common development environment installed, such as Eclipse, with JDK 5 and JUnit 3.8 or JUnit 4. Time management is important to the running of the workshop, so late arrivals may find that they miss out.