Programme

Monday 27 November: Day One

09:00am Registration and Welcome
09:30am Keynote Presentation: Joshua Kerievsky - Banqueting Hall
10:30am Coffee Break
  Introduction to Agile Peopleware Customer Community Developer Community

11:00am

Embracing Change: An Introduction to Agile Software Development
Clarke Ching
- Court Room

Turning Up The Heat (Without Getting Burnt) – Part I
Joseph Pelrine & Ben Fuchs
- Drawing Room

Awesome Acceptance Testing
- Part I

Joe Walnes & Dan North
- Luncheon Room

Experiments in Agile Estimation Techniques – Part I
Nils Haugen, Mike Hill & Stein Grimstad
- Banqueting Hall
12:00 Session Change

12:15pm

An Introduction to XP - Making Everything Crystal Clear
Andy Pols & Romilly Cocking
- Court Room

Turning Up The Heat (Without Getting Burnt) - Part II
Joseph Pelrine & Ben Fuchs
- Drawing Room

Awesome Acceptance Testing
- Part II

Joe Walnes & Dan North
- Luncheon Room

Experiments in Agile Estimation Techniques – Part II
Nils Haugen, Mike Hill & Stein Grimstad
- Banqueting Hall
1:15pm Lunch - Sponsored by .

2:15pm

Patterns of Refactoring – Part I
Joshua Kerievsky
[Additional fee required]
- Luncheon Room Laptops required

Are We Nearly There Yet?
Ivan Moore
- Drawing Room

Programmers are from Mars, Customers are from Venus: A Practical Guide to Working with Your XP Customer – Part I
Angela Martin, Robert Biddle & James Noble
- Banqueting Hall

What’s This Continuous Integration Thing Anyway
Lindsay McEwan & Duncan Pierce
- Court Room

4:15pm

Coffee Break

4:45pm

Patterns of Refactoring – Part II
Joshua Kerievsky [Additional fee required]
- Luncheon Room

Why Is Simple So Difficult?
Facilitated by Nat Pryce & Jonathan Clarke
- Drawing Room

Programmers are from Mars, Customers are from Venus: A Practical Guide to Working with Your XP Customer – Part II
Angela Martin, Robert Biddle & James Noble
- Banqueting Hall

Refactoring Databases for Fun, Profit & Sanity
Sam Newman & Graham Tackley
- Court Room

5:45pm -

Social Event - with food and drink sponsored by Google

The organisers reserve the right to make changes to the programme and speakers, or to cancel sessions if enrolment criteria are not met or when conditions beyond our control prevail.


Tuesday 28 November: Day Two

08:30am Registration and Welcome
09:00am

Keynote: James Noble and Robert Biddle - Banqueting Hall

Love in the Age of Software

10:00am Coffee Break
Introduction to Agile Peopleware Customer Community Developer Community
10:25am An Introduction To Scrum
Joseph Pelrine
- Court Room
Resistance As A Resource - Part I
Lasse Koskela
- Drawing Room
Managing Uncertainty & Risk Using Real Options
Chris Matts
- Banqueting Hall
Putting The Science Back Into Computer Science: Measuring The Effect of TDD
Keith Braithwaite
- Luncheon Room
11:25am Session Change
11:40am The Toyota Way Of Managing
Pascal van Cauwenberghe
- Court Room
Resistance As A Resource - Part II
Lasse Koskela
- Drawing Room
Literate Testing, Using Code to Communicate with Customers
Robert Chatley & Tamara Petroff
- Banqueting Hall
Agile Development with C++
Kevlin Henney
- Luncheon Room
12:40pm Lunch - Sponsored by 
1:30pm Agile Adoption Experiences
- Banqueting Hall
Against All Odds by Manish Shah & Thomas Granier

Learning About Lean by Gill Love, Bethan Griffiths, Mike Pollard & Sue Keys

Bottom Up & Top Down by Dave Nicollette

Agile Project Management in the Real World by Jamie Dobson
Collaborative Workspaces: Keeping The Furniture Police At Bay
Mike Hill & Rachel Davies
- Drawing Room
Metaphor and Stories: How Postmodern Folk Tales are the Secret to Enterprise Customer-Developer Communication – Part I
James Noble & Robert Biddle
[Additional fee required]
- Court Room
Are Your Tests Really Driving Your Development? – Part I
Nat Pryce & Steve Freeman
- Luncheon Room
Laptops required
3:30pm Coffee Break
3:45pm Agile Adoption in BT Experiences
- Banqueting Hall
DAM (Distributed Agile Myth) Busters by Sandra McDowell & Margaret Morgan

Agile Coaching in BT: Making Strawberry Jam by Laura Waite, Roger Leaton & Linsley Meadows
Courage How Brave Are You?
Facilitated by Giovanni Asproni
- Drawing Room
Metaphor and Stories: How Postmodern Folk Tales are the Secret to Enterprise Customer-Developer Communication – Part II
James Noble & Robert Biddle
[Additional fee required]
- Court Room
Are Your Tests Really Driving Your Development? – Part II
Nat Pryce & Steve Freeman
- Luncheon Room
4:45pm - Social Event - with food and drink sponsored by Kizoom

The organisers reserve the right to make changes to the programme and speakers, or to cancel sessions if enrolment criteria are not met or when conditions beyond our control prevail.


Introduction to Agile

Embracing Change: An Introduction to Agile Software Development

Clarke Ching

Monday 27 November, 2006. 11:00am to 12:00 noon

The software development industry is a paradox: on the one hand software is becoming increasingly pervasive and adds huge value to society, but on the other hand, our industry remains plagued by failure. Clarke will describe how a simple misunderstanding of quality principles during the 1970's resulted in the widespread adoption of development methods - the waterfall model and it's modern equivalent the "V" model - which are simply unsuitable for product and software development work. He will describe how Agile development is based on a more appropriate quality model, how Agile works, why Agile works, and - most importantly - why Agile is hard work.

Clarke Ching is a New Zealander who now calls Scotland home. He is a passionate advocate of agile software development and is chairman of AgileScotland special interest group. He is a frequent speaker and part-time lecturer on agile methods. Clarke has an MBA specialising in Technology management and is a senior consultant with VISION Consulting. He is currently writing a "business novel" - see www.RollingRocksDownhill.com - which shows how Lean, Quality and Constraints Management thinking SHOULD be applied to software and product development organisations.

An Introduction to XP - Making Everything Crystal Clear

Andy Pols and Romilly Cocking

Monday 27 November, 2006. 12:15pm to 1:15pm

In this introductory session Andy and Romilly will try to evoke some of the fun and exhileration that XP teams can expect as they work. It's easy to read about the key practices and values of XP, but not so easy to relate them to real day-to-day project experiences. After a brief introduction, the session will run an accelerated simulation of a day in the life of an XP team. See the developers, customer and coach in action in this fast-paced session and try to guess what will happen next!

Andy Pols is a software requirements and agile delivery expert. He runs Pols Consulting, a company helping clients focus on what's important - understanding the business value of what they do. Ultimately, he helps teams cut through the haze and deliver quality products. He is a co-author of "Patterns for Effective Use Cases", writer of numerous articles, a regular speaker at conferences, a founder member of the Highgate Guild and a regular at London's Extreme Tuesday Club (XtC).

Romilly Cocking loves evaluating disruptive technologies and helping his clients adopt the ones that work. He's a grizzled veteran of the agile movement; he inadvertently discovered pair progamming in the late 1970s. Like Andy, he's a founder member of the Highgate Guild and a regular at XtC. He's chairman designate for the annual BCS SPA conferences in 2008/9.

An Introduction To Scrum

Joseph Pelrine

Tuesday 28 November, 2006. 10:25am to 11:25 am

Agile software development methodologies, XP being the most known one, are becoming more and more accepted. They take the different nature of software seriously and help in delivering usable software to the needs of the customer on time and on budget. At the same time agile methodlogies minimize the risks, and even if a project should be stopped for whatever reason, the customer has not wasted his investment but owns a working system which operates to his specification up that time. But how would one control and manage projects using such methodologies? Classical project management has typically still the "waterfall" in mind and isn't well suited at all. Scrum is an iterative, incremental process for developing any product or managing any work. It produces a potentially shippable set of functionality at the end of every iteration. Scrumis a proven and successful project management methodology that fits nicely with agile processes - especially XP. We will show and explain the underlying principles. report from real life projects, and answer your questions about Scrum.

Joseph Pelrine is C*O of MetaProg, a company devoted to increasing the quality of software and its development process, and is Europe's senior certified ScrumMaster Practitioner and Trainer as well as one of Europe's leading experts on eXtreme Programming . He has had a successful career as software developer, project manager and consultant, and has spoken about it at such diverse places as IBM, OOPSLA and the Chaos Computer Club. His work focus is on field of social complexity science and its application to Agile processes.

The Toyota Way Of Managing

Pascal van Cauwenberghe

Tuesday 28 November, 2006. 11:40am to 12:40pm

Jeffrey Liker explained the "Toyota Way" through 14 principles in his best-selling book. In this presentation, we go over each of the principles. Through the experiences of the presenter in applying these principles, we explore the similarities and differences between Lean and Agile. The 14 principles deal with

  • how processes are the foundation and the memory of a company
  • how to manage to bring the best out of people (employees) and partners
  • how the practices of a learning organisation bring about continuous improvement
  • how the Toyota philosophy pervades everyone that works for them and everything they do
Many Lean ideas like "flow", "pull", "building quality in", "relentless reflection", "continuous improvement", "sustainable pace", "detecting errors early"... can be found in agile methods. Coincidence? I think not...

Pascal van Cauwenberghe works as a consultant working in Belgium with his company Nayima. He is interested in

  • roots and fundamentals of agile methods: Lean Thinking, Theory of Constraints, Systems Thinking
  • (project) management, estimating, planning
  • working with/as customers, requirements, stories
  • programming in agile languages (Smalltalk, Lisp, Forth, Ruby), agile databases

Agile Adoption Experiences

Tuesday 28 November, 2006. 1:30pm to 3:30pm

  • Against All Odds by Manish Shah and Thomas Granier

    Much of the literature about putting Agile into practice talks about self-organising teams, operating in flat structures, working on internal projects or on a T&M ("Time and Materials") basis. Usually the cusomer is on-site and the teams use modern programming languages such as Java and .NET, with their refactoring IDEs and test-automation. But what about trying to apply Agile in less-than-ideal circumstances? For instance, what happens in an organisation with a "command-and-control" hierarchy working for an off-site customer? How does the team deal with extending a mostly legacy code-base, using somewhat antiquated technologies? How do you manage such a project in the context of a fixed price contract? This experience report reflects on an engagement in coaching such a team to implement an Agile development process, dealing with technologies such as Oracle Forms, PL/SQL and Cobol.

    Manish Shah has 10+ years experience in developing object-oriented and component-based systems. His focus has been building enterprise-class systems in the finance, telecommunications and automotive sectors. Manish connected with the agile movement whilst consulting with ThoughtWorks, where he found the values of agile to be very much in line with his own thinking. He is a big advocate of simplicity, both in terms of software design and processes and tools. Manish has presented at various agile conferences on topics such as Test-Driven Development and Continuous Integration. He is currently engaged as a coach, working with a financial services software vendor to help transition them from a Waterfall process to agile.

    Thomas Granier With more than ten years of hands-on experience in the delivery of large-scale enterprise systems, Thomas has taken on a variety of roles, from Developer, to Business Analyst to Project and Programme Manager. However, it was a chat about the Agile approach with Ward Cunningham in the early '00's that changed Thomas' world for the better and he has since been able to drastically increase his customers' satisfaction by applying Agile principles. Thomas has recently been coaching a software product company in how to improve their software development process to reduce Time to Market and Total Cost of Ownership. He spent a large portion of his career at Thoughtworks, where his focus was managing bespoke large-scale developments with highly distributed teams.

  • Learning About Lean by Gill Love, Bethan Griffiths, Mike Pollard and Sue Keys

    This session tells the story of what we tried and how we refined our approach to Lean development over the last year. When we started out, we tried to implement straight from the book "Lean Software Development". We established cross-functional POD teams and used magnetic strips on boards in our workspace to display our progress. Midway through the stage 3, we got some feedback from an agile coach and introduced complexity point estimating and velocity tracking on their recommendation. In later stages, we were able to bring Mary and Tom Poppendieck in to provide feedback on our implementation of lean. Subsequently, we made changes to approach to introduce slack to our plans and in the level of detail included in release plans for future stages.

    Bethan Griffiths is a Business Analyst with nine years professional software development experience. She has worked on several international software implementation projects, in the telecoms, electronics, and healthcare sectors; and has been involved in all areas of the project lifecycle. She has been using Lean for the last year, and has previously used iterative development techniques. Bethan is currently working as a team manager at Helphire, managing a cross-functional team to deliver an end-to-end Claim Management solution, using Pegasystems.

    Gill Love is a Development Team Manager with over 15 years of IT experience in both professional software development and application support, in the private sector, and in the Ministry of Defence. She has a Diploma in Management and is Prince2 and ITIL qualified. She has been working on her current project using Lean techniques for the past year. She is currently working as a team manager at Helphire, managing a cross-functional team.

    Mike Pollard is a Business Analyst with over 10 years professional software development experience in Analysis, Programming and Testing mainframe, windows and web based applications. Mike is currently working as a development team manager on a project using the "Lean and Agile" development methodology.

    Sue Keys is a Team Manager with over twelve years of professional software development experience; she has previously worked as a systems developer and team manager working on both web (.NET, ASP) and windows (VB/SQL Server) oriented development projects.

  • Bottom Up & Top Down by Dave Nicollette

    This experience report will talk about the challenges we faced in introducing agile methods in this "bottom-up" fashion in a traditional IT organization that had, at the outset, no official support for any such venture and, frankly, no recognition that anything was wrong with the old ways. What did the various constituencies in the organization fear about the new approach, and how did we address their fears? What were the practical difficulties? What were the political barriers? How did we foster organizational culture change to enable a traditional IT department to accept agile thinking and agile methods? What worked and what didn't work, and why?

    Dave Nicollette became involved with agile development about three years ago, after 25 years expertise going over waterfalls. Since that time he's been a beginner. He has no immediate plans to revert to expert status.

  • Agile Project Management in the Real World by James Dobson

    Conservative Extreme Programming (CXP) has the same values and principles as traditional Extreme Programming (XP) but utilises a different development cycle and a number of different practices. Because good requirements are a pre-requisite of CXP, as is the use of an embedded tester and test team, it can be utilised for projects that XP may not be suitable for. This case study is about how a multi-million dollar, mission critical, integration project at one of Europe's largest airlines was delivered using a plethora of tools and techniques, including CXP, with a team of ordinary programmers in a politically super-charged environment. The case study focuses on the agile project management techniques used within CXP and why they were so successful and how they can be used in different contexts.

    James Dobson works as a technical team lead, agile evangelist, and coach for Accenture Technology Solutions (ATS) in Amsterdam, the Netherlands. As well as leading software projects James contributes heavily to ATS's technological vision. James has taught and practiced Agile Software Development for more than 6 years. His own hybrid methodology, Conservative Extreme Programming, has successfully been used to deliver code in the most hostile environments. He has been programming in Java since 1996 and has had the privilege to write, among things: web applications; desktop applications; integration applications; compilers; web-servers; graphics libraries; Swing libraries; and, most recently, applications using the Spring framework, Java's Portlet Specification, and Web-Services.

Agile Adoption in BT Experiences

Tuesday 28 November, 2006. 3:45pm to 4:45pm

  • DAM (Distributed Agile Myth) Busters by Sandra McDowell and Margaret Morgan

    You're standing in the lift and you overhear someone say, "You know, agile practices work well with a distributed team," and you wonder - could that actually be true? Sounds like a job for the DAM (Distributed Agile Myth) Busters. It's a tough job separating truth from agile legend, but the DAM Busters are here to serve.

    Sandra McDowell is a Chartered Information Systems Practitioner with 20 years experience in delivering technical solutions to business problems within the public and private sectors. Spending 13 years in local education, she worked within a small team that provided a full range of computer services to the Northern Ireland Education Authorities. For the past 7 years, she has been dedicated to delivering software solutions within BT, with 5 years specialising in the provision of integration solutions.

    Margaret Morgan is an IT project manager. She has been delivering integration solutions for BT Global Services for several years and has very recently adopted agile techniques working with a team distributed across the U.K., India and the U.S. After this experience she is still certified as sane (but only just).

  • Agile Coaching in BT: Making Strawberry Jam by Laura Waite, Roger Leaton and Linsley Meadows

    Over the last two years BT Exact, British Telecom's IT organisation, has been going through a radical organisational transformation. A central plank of this transformation has seen BT Exact adopt an Agile approach for systems delivery. With its 14,000 people in IT and 100,000 people across the organisation as a whole, BT represents a large Agile transformation (or in the words of Jim Highsmith "a huge Agile transformation"). This case study will look at the growth of the Agile coaching initiative within BT, the challenges and issues faced, and the Baby Steps we've been taking to face those.

    Laura Waite has focused the last number of years of her career in Agile mentoring and coaching. A natural leader and communicator, Laura has a passion for helping people understand what Agile has to offer through embracing the Agile values, principles and practices. She works with Exoftware and has contributed significantly to their growth over the past year.

    Roger Leaton is working as the Agile Advocate within BT, Roger has oodles (28 ish) of years of experience within BT as an organisation and has been passionately advancing the Agile initiative for a year and a half.

    Linsley Meadows has worked as an Agile Methods Consultant within BT Exact Methods Group for over a year and a half. Previously he had roles in BT as coder, QA before moving into BT Group as a Project Management Consultant then moving to BT Retail as Regional Manager, BT London. Currently one of the team implementing Agile delivery in BT Exact where his particular areas include ISO9000, relationships with other company initiatives and project management.


PeopleWare

Turning Up The Heat (Without Getting Burnt)

Joseph Pelrine and Ben Fuchs

Monday 27 November, 2006. 11:00am to 1:15pm

This workshop will look at team dynamics as complex adaptive systems. It will provide tools for team leaders and members to make effective interventions using an iterative process similar to the iterative incremental process of many Agile development methods. Some topics we will explore will be:

  • The dynamics and consequences of pressure
  • Dealing with cynicism, defensiveness and criticism
  • Rank and Power Struggles
  • Field Dynamics
  • Addressing individuals

Joseph Pelrine is C*O of MetaProg, a company devoted to increasing the quality of software and its development process, and is Europe's senior certified ScrumMaster Practitioner and Trainer as well as one of Europe's leading experts on eXtreme Programming . He has had a successful career as software developer, project manager and consultant, and has spoken about it at such diverse places as IBM, OOPSLA and the Chaos Computer Club. His work focus is on field of social complexity science and its application to Agile processes.

Are We Nearly There Yet?

Ivan Moore

Monday 27 November, 2006. 2:15pm to 4:15pm

On some agile projects, tracking is not done particularly well. Often stories are considered done that aren't really finished. Projecting release plans based on velocity is often less accurate than it could be. As a result of poor tracking, some agile projects suffer from unpredictable release dates and project overruns - just like more traditional projects. This interactive tutorial describes techniques for tracking agile projects, and making the tracking visible. Tracking is directly related to planning, estimating and acceptance testing - their relationship to tracking will be discussed.

Ivan Moore is a Big Cheese at Team Optimization. He has been programming for over 20 years and yet he still regularly makes mistakes. That's why he's interested in iterative and incremental development, test driven development, refactoring and drinking tea. He has worked as a developer, XP coach, team lead and windsurfing instructor. Ivan has presented papers, tutorials and workshops at numerous international conferences, such as OOPSLA, XP, XPDay, SPA, ACCU, Agile North, TOOLS and ECOOP. He developed Jester and MockMaker, two XP related open source projects.

Why Is Simple So Difficult?

Facilitated by Nat Pryce and Jonathan Clarke

Monday 27 November, 2006. 4:45pm to 5:45pm

A facilitated goldfish-bowl discussion about simplicity and its opposite.

  • What forces drive programming teams towards complication?
  • What can we do to guide programming teams towards simplicity?
This session will let the audience voice their opinions and propose solutions. The organisers will start the discussion rolling but anyone in the audience can join the discussion. Normal goldfish bowl rules apply: when someone joins the discussion circle someone in the circle must leave. After introducing the session and kicking off the discussion, the facolitators will take notes on a flip chart for eventual display in poster form.

Nat Pryce is an independent consultant. He is the co-author of jMock and nMock testing frameworks. He is a long standing member of the Extreme Tuesday Club, a founding organiser of XP Day, and joint programme chair of XP Day 2004 and XP Day 2005. This year he is the Poster Chair. He has spoken at many international conferences, including SPA, JAOO, OOPSLA and ACCU as well as previous XP Days. With Steve Freeman he was awarded a joint Gordon Pask Award for contributions to the Agile community.

Jonathan Clarke is Chairman of Whitespace Software Limited, who develop database systems for the insurance industry. Whitespace have a good record of delivering waterfall projects. Jonathan intends to introduce XP through the company on a project-by-project basis. He simultaneously works on outside projects under his Bitwix identity, learning from others' successes and failures.

Resistance As A Resource

Lasse Koskela

Tuesday 28 November, 2006. 10:25am to 12:40pm

The objective of the workshop is to increase our awareness of different forms of resistance to change and new ideas, to improve our ability to see the change from the resistor's perspective, and to learn about solutions that can and have helped in dealing with such resistance. For many of us who promote the adoption of agile methods or related techniques, dealing with resistance is part of our every day life. With this in mind, this session strives to help the participating change agents to collaborate on the kinds of problems and solutions they face in their working environment.

Lasse Koskela is a methodology specialist at Reaktor Innovations. Lasse entered the IT industry 7 years ago and has since held roles varying from development to project management and training to consulting, dipping his toes to sales every once in a while. He started promoting agile methods in Finland in 2002, ramped up the local Agile Seminars in 2005, and is finally in the process of putting in the finishing touches for his book on test-driven development for Manning Publications.

Collaborative Workspaces: Keeping The Furniture Police At Bay

Mike Hill and Rachel Davies

Tuesday 28 November, 2006. 1:30pm to 3:30pm

One of the key success factors in Agile projects is the workspace environment. Does the workspace facilitate or hinder collaboration? E.g. is there a wall that can be turned into an information radiator? Which team members should sit next to each other? Are there frequent interruptions? How does the workspace meet health & safety requirements? In this workshop, we will explore issues of project workspace design. By creating the "workspace from hell" and the "workspace from heaven", we will identify key aspects of both successful and unsuccessful environments. For hellish environments we will investigate how we can workaround the difficulties; for heavenly environments will we identify weaknesses.

Mike Hill is a developer who has been working in software development teams for well over 10 years. He particularly enjoys agile software development and has worked with teams adopting agile approaches at BNP Paribas, AOL, ThoughtWorks, Egg and Kizoom. Last year Mike presented "Storytelling with FIT" at XPDay, SPA and Agile 2006.

Rachel Davies is a consultant and facilitator in United Kingdom. She has been working in the software industry for nearly 20 years. She coaches teams in XP and Scrum and advocates the use of frequent retrospectives to help teams adapt their process to their context. Rachel is a frequent presenter at agile conferences and chair of the Agile Alliance and secretary of British Computer Society Software Practice Advancement specialist group.

Courage How Brave Are You?

Facilitated By Giovanni Asproni

Tuesday 28 November, 2006. 3:45pm to 4:45pm

A goldfish-bowl discussion about courage and it's opposite: fear. Courage is one of the values of XP and Agile Development: the courage of being accountable; the courage of trying new things when old ones don't work; etc. However, software development is often driven by fear: fear of missing deadlines; fear of losing the job; fear of losing a customer; etc. Fear usually leads to inferior results, or even failure--I have seen examples of both--not to mention stress and high employee turnover. On the other hand courage, can help in making better products while having more fun. However it can be very expensive: making a mistake can--in some environments--lead to dire consequencies such as job losses. The goal of the session is to share both positive and negative experiences while trying to introduce this value in the work-place, and find ways to increase the success rate in the future.

Giovanni Asproni is a consultant with more than ten years of professional experience in which he had the opportunity to work in several different roles, from Programmer to Senior Architect and Technical Project Leader, in a variety of application domains including CASE tools, telecommunications, bioinformatics, and, more recently, banking. His main interests are agile software development, software architecture and design, project management, and, last but not least, writing code (especially in C++, Java, and Python). He is an expert in Object Oriented Design and Development, Agile Software Development, and a Certified Scrum Master.


Customer Community

Awesome Acceptance Testing

Joe Walnes and Dan North

Monday 27 November, 2006. 11:00am to 1:15pm

Acceptance tests are a lot more than regression tests, they are a specification of what a system should do. They are written in a way that describes business intent by example, and can be created before the implementation, helping customers clarify vague requirements and developers to understand these. Traditional record and playback tools don't cater for this approach. This session demonstrates:

  • The value of acceptance tests and how they differ from, yet complement, end-to-end regression tests.
  • The multiple dimensions of acceptance tests and the limitations of using a single product.
  • Approaches for creating executable 'specifications' in a form that makes sense to the customer. Such as: FIT, textual domain specific languages, Java and Ruby.
  • Designing and evolving a vocabulary that can be used for expressing intent. The UI is in a different domain to the world it's manipulating, so 'click link' is not enough.
  • Determining which layers to hook into and tools that enable this automation. Such as: HTTP, SQL, Watir, Jemmy, Sahi, Selenium, browser API and direct interaction with the domain model.
  • Managing suites of tests, tracking results and reporting.
  • Working with acceptance tests in agile development cycles where requirements, code and understanding are constantly evolving.
The result is a specification of requirements that does not go stale and can be executed at anytime to show progress.

Joe Walnes was found in a small shrubbery near the M25 about 12 years ago. Dan North was the unfortunate side effect of trying to mate a hedgehog with a strimmer. Neither of them knows how to juggle, except Joe.

Programmers are from Mars, Customers are from Venus: A Practical Guide to Working with Your XP Customer

Angela Martin, Robert Biddle and James Noble

Monday 27 November, 2006. 2:15pm to 5:45pm

This interactive and informative session will introduce you to practices that will increase the effectiveness of the customer on your XP project. Customers have one of the most complex and difficult roles on a project, yet XP includes very few practices that support the customer in their role — the aim of this tutorial is to change that.

Over the last three years, we have investigated many projects around the world to identify how customers succeed in this complex and difficult task — discovering not what people think should have happened, but what really happened and what actually worked! This tutorial distils this research, grounded in practical experience, into a 3 hour session, so that by the end of this tutorial you will have gained:

  • A realistic understanding of the complexity and difficulty of the XP Customer role.
  • An understanding of the key roles required on a customer team, both what they are and why they matter.
  • An understanding of the nine practices that enable customers to sustainably drive XP projects to successful completion – think “XP practices” BUT for customers.

Angela Martin is a consultant with eleven years of professional software development experience; she works directly with programmers and customers on agile projects to deliver software that works. She is also completing her PhD research at Victoria University of Wellington, New Zealand, supervised by James Noble and Robert Biddle. Her research utilises in-depth case studies of the XP Customer Role, on a wide range of projects world-wide. Angela is also an Agile Alliance Board Member.

Robert Biddle and James Noble are keynote speakers

Managing Uncertainty and Risk Using Real Options

Chris Matts

Tuesday 28 November, 2006. 10:25am to 11:25 am

Banks use financial options to manage risk. We have risks on IT projects. We can use the banks' understanding of risk and options to help us manage those risks. This session will introduce Real Options and explains how they can be used. As an aside, we show that Real Options are one of the main reasons for Toyota's success. We have games, a chalk and talk and a discussion. Those of you who like powerpoint presentations are advised to attend another session.

Chris Matts came into the world a perfected formed reusable project component stamped from the William Royce (Page 1) mold. He went travelling in Europe and when he came back he did not have a desk. So he shared one with a colleague and as there was only room for one computer, they ended up pairing on tasks. He particularly enjoyed this way of working and sought out others who were prepared to do his work for him. A kindly gent, who we will call Andy Pols in order to protect his identity, wrote an article for him and introduced him to some fine folks in Salt Lake City (where the Liquour laws are strange and you need a red flag to cross the road). It was there that he met Tom and Mary who introduced him to (Real) options. Real Options sounded like Financial Options which were something people paid money for in order to manage their risk. Attracted by the scent of money, Chris went hunting for Real Options...... and found them.

Literate Testing, Using Code to Communicate with Customers

Robert Chatley and Tamara Petroff

Tuesday 28 November, 2006. 11:40am to 12:40pm

Functional or acceptance tests are there to ensure that the system does what the customer cares most about. It follows that customers will want to verify that the automated test suite tests the right things, and developers will want an effective way of communicating what is being tested to their customers. The trouble is, functional tests are written in code, the native language of developers but incomprehensible to most customers and their representatives such as business analysts. As agile people, we suspect that adding layers of documentation won't help. Is there a way of using the code itself to achieve this level of communication between developers and customers? This session investigates a way of doing just that.

We will introduce some examples of testing techniques that we have developed that use a "literate" style. Such a technique results in test code being produced that is readable and understandable by non programmers, who can validate the tests being produced. Code is the most common artifact produced by development teams, so we aim to make it possible for developers and non-developers alike to use code as the focus for discussion. The customer then knows what tests the developer is using, and the developer knows that their tests match the customer's expectations.

Robert Chatley is a software engineering practitioner and researcher. He has a PhD in software engineering from Imperial College London, and in the last few years has published and presented papers at international conferences including ICSE, FSE, ETAPS and RE (and XPDay of course). He has worked in a number of industries, and is currently a member of the XP team at Kizoom in London. Robert is programme co-chair for XPDay6.

Tamara Petroff is Head of Operations at Kizoom. In this capacity, she leads an XP development team of 30 people, and strives to extend agile principles to other aspects of the organisation. Prior to Kizoom, Tamara has managed IT projects and departments at ING, Tallan, and Northrop Grumman. She has always rebelled against heavyweight processes, and since 1995 has been using techniques such as RAD/JAD and spiral development. Tamara was once told by an irritated advocate of CMM, "You don't use any processes, you just have smart people and get lucky." She thought this sounded like a good idea, and has been working on getting better at generating that type of luck ever since. Tamara holds an MA in Mathematics from UCLA.

Metaphor and Stories: How Postmodern Folk Tales are the Secret to Enterprise Customer-Developer Communication.

James Noble and Robert Biddle

This tutorial is not included in your conference registration. Please register for it separately

Tuesday 28 November, 2006. 1:30pm to 4:45pm

In making effective software, the problem is not only building the software right, but also building the right software. Even with excellent business analysis and excellent programming, significant problems arise in connecting the two. This is where the ideals of modernism let us down, because software development is not like a factory assembly-line, and an over-reliance on compartmentalised specifications being fulfilled will not lead to success.

In this tutorial, we explore postmodern approaches to building the right software. Instead of rigid machine-line specifications, we can work with human strengths in dialogue and discussion. We can use analogy and metaphor, and relate the known to the unknown. We can emphasise story-telling, but also story-listening and story-retelling. We can involve many stories that work together, we can work with similarities and accommodate differences. We can develop shared understanding.

In doing so, we can draw on a rich heritage from the humanities. But the roots of postmoderism have already taken hold in software development. From use cases to system metaphor, from code-reviews to pair programming, from objects to aspects, these postmodern ideas include many of the most influential elements of agile development. Our contribution is to show how and why these work, suggest new connections to be made, and to explain the implications for our daily work.

Lean and Agile

Here are some relevant articles:


Developer Community Track

Experiments in Agile Estimation Techniques

Nils Haugen, Mike Hill and Stein Grimstad

Monday 27 November, 2006. 11:00am to 1:15pm

Planning poker is a group estimation technique that's surprisingly fun. This workshop will introduce the technique, and run an experiment to explore how effective (or not) planning poker is with respect to individual estimation. Aside from learning planning poker and being guinea pigs, participants will learn about their own personal estimation bias and get to hear about our own agile estimation experiences.

Nils Haugen is an advisor at Objectnet in Norway and an agile developer and coach. He has been working with large distributed object-oriented applications for companies in various industries since 1998. Nils has enjoyed working with XP/Agile teams at ThoughtWorks, and is an experienced speaker on topics in Java and Agile software development at national and international conferences. He holds a MEng degree in Computer Science from the Norwegian University of Science and Technology.

Mike Hill is a developer who has been working in software development teams for well over 10 years. He particularly enjoys agile software development and has worked with teams adopting agile approaches at BNP Paribas, AOL, ThoughtWorks, Egg and Kizoom. Last year Mike presented "Storytelling with FIT" at XPDay, SPA and Agile 2006.

Patterns of Refactoring.

Joshua Kerievsky

This tutorial is not included in your conference registration. Please register for it separately

Monday 27 November, 2006. 2:15pm to 5:45pm

In my book, Refactoring to Patterns, I showed how to tie together sequences of low-level refactorings to transform designs to, towards or away from software patterns. In writing that book, I learned that there is indeed an art to refactoring, a way of implementing important design improvements in safe and efficient ways.

In the afterward to the book, John Brant and Don Roberts (co-creators of the world's first refactoring tool) suggested that the true value of the book lies not in the actual steps to achieve a particular pattern but in understanding the thought processes that lead to those steps. They called those thought processes "patterns of refactoring."

In this tutorial, we will explore the art of refactoring and a new, emerging body of work called Patterns of Refactoring.

What's This Continuous Integration Thing Anyway

Lindsay McEwan & Duncan Pierce

Monday 27 November, 2006. 2:15pm to 4:15pm

If you don't know what Continuous Integration is, or you do but have problems. Our intention is for people to leave knowing what Continuous Integration looks and feels like, how to get there, and understand why it is important.

Lindsay McEwan is an independant consultant and developer. Previously developer and project manager at Nonlinear Dynamics, he managed the company's transition to agile methods. Lindsay aims to bring value and repeatable quick delivery to software, using agile methods and techniques.

Duncan Pierce has been helping companies including Egg and British Telecom improve their software development since 2001. He specializes in process-oriented effectiveness coaching for Agile development and management teams.

Duncan regularly speaks at conferences in the UK, Europe and the US and was a founder of the XPDay conferences. He is a long-standing member of London’s Extreme Tuesday Club (XTC), a founding member of the Highgate Guild and director of the Agile Alliance’s Agile Narratives programme.

He can be reached at duncan.pierce@amarinda.com. His homepage is at duncanpierce.org.

Refactoring Databases for Fun, Profit and Sanity

Sam Newman and Graham Tackley

Monday 27 November, 2006. 4:45pm to 5:45pm

This session presents some real-world experiences of using some of the techniques outlined Scott W. Ambler and Pramod Sadalage's Database Refactoring book (http://databaserefactoring.com/). It will give a brief introduction to the ideas in the book, and will cover in more detail those techniques which have been most useful on recent projects the presenters have been involved with. It will also introduce the open source project, DBDeploy, which can be used for applying incremental changes to a database.

Sam Newman is a Consultant at ThoughtWorks. His day job tends to involve writing code and talking about techy things. His night job involves blogging and talking about Web 2.0. Sam has presented at both XP Day 2005 and Agile 2006. He has written no relevant books. He curates the occasional London 2.0 meet-ups.

Putting The Science Back Into Computer Science: Measuring The Effect of Test-Driven Development

Keith Braithwaite

Tuesday 28 November, 2006. 10:25am to 11:25 am

An overview of the wide-ranging science of "scale-free" or "power-law" distributions will lead into a discussion of the literature concerning how these can be observed in the run time and the compile time structure of object-oriented software, which will be carrtied forward again into an exploration of how some of these properties differ between codebases known to have been written TDD and otherwise. A comparison will be made with other disucssions of the differences between TDD and non-TDD code, and broader "alexandrian" questions of quality in design and elsewhere. Then attendees will submit their own Java (only, for the moment) code to measurement using some automation and we will attempt to relate the results of that back to the context in which the code was written.

Keith Braithwaite is currently a Business Unit Leader at Zuhlke Engineering

Agile Development with C++

Kevlin Henney

Tuesday 28 November, 2006. 11:40am to 12:40pm

There are a number of considerations that C++ developers need to address if they want to follow a more agile approach to development. Some of these considerations are technical, such as following an aggressive approach to dependency management and a constrained rather than liberal use of the language's features. However, the considerations that perhaps present the greater challenge are the non-technical ones, particularly those that might be considered cultural. The common tendency towards overly complex and 'clever' solutions and the aversion to testing and refactoring appears stronger amongst C++ developers than, say, Java developers. This session highlights a number of the issues that C++ developers are likely to encounter when attempting agile development. Concrete suggestions for what to follow and what to leave alone are offered. Comments, experiences and suggestions from attendees are encouraged.

Kevlin Henney is an independent consultant and trainer. His work variously covers a cross section of development concerns, from development process concepts to detailed practice pragmatics, from architecture and general patterns to programming detail and languages. He has been involved in helping a number of teams and individuals improve the state of their practice. He has run sessions at a number of conferences (ACCU, JAOO, JavaZone, OOP, OOPSLA, OT, etc) and written columns for various magazines and sites (The Register, Application Development Advisor, C/C++ Users Journal, Java Report, etc).

Are Your Tests Really Driving Your Development?

Nat Pryce and Steve Freeman

Tuesday 28 November, 1:30pm to 4:45pm

Everybody knows that TDD stands for Test Driven Development. However, people too often concentrate on the words "Test" and "Development" and don't consider the what the word "Driven" really implies. For tests to drive development they must do more than just test that code performs its required functionality: they must clearly express that required functionality to the reader. That is, they must be clear specifications of the required functionality. Tests that are not written with their role as specifications in mind can be very confusing to read. The difficulty in understanding what they are testing can greatly reduce the velocity at which a codebase can be changed. In this workshop/tutorial developers will learn to:

  • write test code to make it easier to understand
  • judge how understandable test code is

Nat Pryce is an independent consultant. He is the co-author of jMock and nMock testing frameworks. He is a long standing member of the Extreme Tuesday Club, a founding organiser of XP Day, and joint programme chair of XP Day 2004 and XP Day 2005. This year he is the Poster Chair. He has spoken at many international conferences, including SPA, JAOO, OOPSLA and ACCU as well as previous XP Days. With Steve Freeman he was awarded a joint Gordon Pask Award for contributions to the Agile community.

Steve Freeman is an independent consultant specialising in Agile software delivery. He is the co-author of jMock and nMock testing frameworks. He is one of the 2006 winners of the Agile Alliance Gordon Pask award. He is a long standing member of the Extreme Tuesday Club. He was Conference Chair of the first XpDay and since than has been Programme Chair, Treasurer, and Keynote Chair.

The organisers reserve the right to make changes to the programme and speakers, or to cancel sessions if enrolment criteria are not met or when conditions beyond our control prevail.