<<< Previous speaker Next speaker >>>

Steve Freeman, Independent Consultant

 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: "Introduction: XpDay Sampler"

Track:   XpDay Sampler

Time: Thursday 10:30 - 10:45

Location: Guild Room

Abstract: This track presents representative sessions from the London XpDay series of conferences. It includes leading practitioners associated with the London community, one of the best established in the world, who introduced many of the innovations that are now standard practice. The speakers will talk about topics from their considerable experience in make Agile software development work. Approaching it's eight year, the London XpDay ("More than a Day, More than XP") is one of the best established Agile software conferences in the world. It's the flagship event of the London XP community, based around the weirdly amorphous eXtreme Tuesday Club, which has been meeting most Tuesdays for nearly ten years and is open to anyone interested in Agile software.

Presentation: "Transparency: great leap forward or exposed artery"

Track:   XpDay Sampler

Time: Thursday 17:15 - 18:15

Location: Guild Room

Abstract:

Agile propagandists make great claims about the advantages of being transparent about the state of their projects

They fill their walls with index cards and charts that expose their progress to anyone who might be wandering through the room. They have regular, intense feedback sessions where they make it clear to the stakeholders just how many things they need to fix. They claim that this how maturerelationships work and that "Honesty is the best policy".

But is this true? Many of us work in dysfunctional organisations where honesty is the best way to get cheated. Surely Transparency is just not pragmatic?

Tutorial: "TDD with MockObjects"

Track:   Tutorial

Time: Tuesday 09:00 - 16:00

Location: Wesley Room

Abstract:

This hands-on tutorial teaches Test-Driven Development and MockObjects using the JUnit and jMock 2 libraries. We will cover: What is Test-Driven Development? Why is it so widely used in Agile projects? What are Mock Objects and where do they fit into the TDD process? How are tests and Mock Objects used to drive good object-oriented design.


We will touch on: What should, and should not, be mocked? How do youwrite flexible tests that do not break when you make unrelated changes to the code? How do you use the tests to identify issues with the design and how do you fix those issues?

Program

We will start by presenting an overview of TDD that addresses thefollowing questions:

What is Test-Driven Development?Why is it so widely used in Agile projects?What are Mock Objects and where do they fit into the TDD process?How are tests and Mock Objects used to drive good object-oriented designThe presentation will conclude by describing the scenario that wewill use for the pair programming exercise to come.

We will then introduce the jMock 2 API through a live demonstration,writing the first test of the exercise and then just enough code tomake it pass.

The participants will then work in pairs to implement the first testfor themselves and continue with the exercise. The exercise will berun in iterations. After each iteration the participants will sharethe lessons they learned with the group and we will present moredetailed explanations of the issues raised. The exercise anddiscussions will answer the following questions:

What should, and should not, be mocked?How do you write flexible tests that do not break when you makeunrelated changes to the code?How do you use the tests to identify issues with the design and howdo you fix those issues?We will wrap up the session with a further presentation reiteratingthe lessons learned and looking at them in more detail, with good andbad code examples.

Note

Intended audience and experience level:Developers (any level) Knowledge of Java.

Prerequisites:Laptop (including power cable!) Java development environment