<<< Previous speaker next speaker >>>

Steve Freeman, Pioneer of Agile, Chair the first London XpDay

 Steve  Freeman

Steve was a pioneer of Agile software development in the UK, he has built applications for banks, ISPs, financial data providers, and specialist software companies. He has given training courses in Europe, America, and Asia.

Previously, he worked in research labs, software houses, earned a PhD, and wrote shrink-wrap software for IBM. Steve also teaches in the Computer Science department at University College London. He is a presenter and organizer at international industry conferences, and was conference chair for the first London XpDay.

Presentation: "Better is Better"

Time: Thursday 15:35 - 16:35

Location: Westminster Suite, Fourth Floor


It's time our industry understood the value of a culture where things "just work." We've all heard the phrase "Quality is Free" but few get to live it because too few organisations really believe it. Many agile teams stop half-way because they don't know how much more effective they could be.

I've been lucky enough to encounter some high-performance environments and found the experience liberating and radically productive (although no-one promised easy). In this talk, I will review some of these experiences and why their commitment to quality worked so well.

Training: "Hands-On : TDD at the System Scale"

Time: Monday 09:00 - 16:00

Location: Henry Moore Room, Fourth Floor


This is a hands-on session so PLEASE BRING YOUR LAPTOP.

A hands-on tutorial teaching techniques for test-driven development at large scales, starting development with end-to-end tests at the system or system-of-systems level.
If you address integration and system testing as early as possible in a project, the system you are building is always in a deployable state and the project can be more "agile" because new features can be put in front of users as soon as is deemed necessary.

However, many teams applying TDD leave integration and system testing until late in the project because they find it too difficult to write tests that cope with the distributed architecture and concurrent behaviour of their system.

This tutorial demonstrates how to test-drive development starting with end-to-end system-tests and avoid common pitfalls, including unreliable tests, tests that give false positives, slow-running tests and test code that becomes difficult to maintain as the system grows.

This tutorial will answer the questions:
• Where does system testing fits in to the TDD process?
• How can I start with integration, packaging, deployment and end-to-end testing before the code to be integrated is written?
• How do I cope with distribution and concurrency when testing from outside the system?
• How do tests drive architectural decisions?
• How do tests improve the system's large-scale internal quality -- manageability, supportability, etc.?
The exercise requires a laptop with a Java (JDK 1.6) development environment. However, the techniques taught are applicable to any language and environment.