Monday June 19



Open Space Event
Charlie Poole

Over the last 20 or more years, the Open Space movement has grown to the point where entire conferences based on its principles are not uncommon. Working without an agenda, but with specific strategies to encourage and direct participation, groups of up to 1000 people have successfully self-organized around a complex problem, held meetings and published results.

Although XP2006 is organized as a traditional conference, with sessions and speakers scheduled in advance, it also incorporates an Open Space “track”, which will allow participants to create and attend sessions around topics of their own choosing, even topics that arise right at the conference itself.

The opening session of Open Space takes place as a full-conference session on the first day. At that time, the “rules” of Open Space will be explained and individuals will be invited to present their session proposals very briefly. As each session is presented, the sponsor will select a date and place using a large wall-display and will place the notice of the session in the appropriate location.

Sessions may be on any subject that relates to the conference. They may be in the form of a short demonstration, a workshop, a discussion or anything else that the presenter wishes. It’s not even necessary for the presenter to be an expert in the subject of the session. In fact, sponsoring a session on some topic, about which you would like to know more, is an excellent way to tailor the conference to your own needs!

A special feature of the Open Space at XP2006 is that unregistered spouses and partners of conference attendees are also invited to sponsor sessions.

In order to get things started, we asked several individuals to commit in advance to Open Space sessions. These sessions, which will be presented by Patrick Kua and Erik Lundh are listed separately.

You got Agile – How do you convince the rest?
Erik Lundh
Compelcon AB, Box 7151,
25007 Helsingborg, Sweden

Invitation to an XP2006 Open Space Event
Key Question: How do I sell XP/Agile to “other people”, making it possible to start or spread XP/Agile within my organization?

1 Invited
Developers, managers and business stakeholders, the people who want to introduce and implement XP or other agile approaches within their company:
XP Customers who need better support from their company
Already working XP/Agile teams who need to convince the rest of the company to go Agile.
And all people who have successfully convinced the rest to go Agile
Participants will share challenges and questions, success stories, strategies and tactics as well as actual experience of how to convince companies to go agile.

2 What we should cover
2.1 Getting People Interested

How do we tell the success stories in figures to non-XP-ers, i.e. how going Agile pays off? We look at some examples of companies going Agile successfully, in words that appeal to our different stakeholders. And we look at how Lean Software Development helped us explain why XP and Agile works.

2.2 Strategies for Change
We look into a few different approaches to introduce process improvement such as XP and other agile methods. What works and what usually fails.

2.3 How We Changed These Companies
How do we explain agile to different stakeholders and have them turn over and tell others the same story?
What matters for developers, customers, and management?
How we:
• enable communication, and deal with die-hards.
• position XP as an experience that bootstraps “the learning organization”
• convince the business people with simulations and games.

2.4 How to Bring People On Board with Simulations
• How to prepare a simulation
• How to sell it to business people
• Why do simulations work so well?
• Things to look out for
• What to count on
• Bigger groups – the audience is the market

3 Presenter
Erik Lundh
Change agent with 25 years in the software industry.
Technical, business and peopleware person.

Some people at Lund University brought XP to Erik’s attention, back when Erik was working with cross-industrial R&D centers for products with software. Erik recognized key players like Beck and Cunningham from the patterns movement and went to XP2000, spoke about XP in Sweden, started workgroups, organized a 200-head Swedish process improvement conference with an XP theme, and finally found himself deeply involved in XP/Agile both in Sweden and internationally.
Erik has been invited to several panels with Beck, Jeffries and other well-known XP profiles and is regarded as one of the most experienced XP coaches in Sweden. Erik currently coaches successful XP-teams, gives well-attended XP seminars in major cities of Sweden, is sometimes honored to be a host of guest appearances by profiles like Ward Cunningham and Mary Poppendieck, and tries to find time to finish writing his big book on XP with practical advice from a seasoned XP coach. Erik started to use XP and XP coaching as experience-based process improvement in 2000. His teams are successful with XP and usually get company-wide recognition.
In 2004, Erik became CSM through Ken Schwaber’s excellent Scrum Master class, only to find that he always has done Scrum as part of his approach to XP.
Erik is a board member of SPIN-Sweden, and an involved sponsor in most, if not all, of the Swedish SPIN-chapters. His local chapter SPIN-SYD is the largest in Sweden, with over 40 companies including Ericsson and ABB. SPIN-SYD and Lund University was key to Erik’s early work in XP and Agile. Lund University has continued independently and introduced full XP as the first project method to over 500 students over 5 years.
Erik currently lives with his wife and two kids in Helsingborg, Sweden, just across the water from the Danish castle of Kronborg, home of Shakespeare’s Prince Hamlet.

Fishbowl: The Convergence of Agile Software Development Practices
Steven Fraser, Charlie Poole

Are agile software development practices converging? Are practices becoming more integrated and/or more widely adopted than others? In the early 90s there was a convergence of object-oriented design methodologies – is a similar pattern being repeated within the agile software development community? Several years ago conferences featured debates on the number of practices inherent to XP – or for that matter what constituted XP. Is the Agile community on the verge of converging to standardization or do individual practices retain their individually and evangelists/disciples? Perhaps the question should be: “How are different Agile methods coalescing?” (rather than converging) – in that some methods complement each other – for example XP and SCRUM. Come and share your perspectives and experiences on the nature and results (customer engagement, coaching, methods, processes, project management, certification…) of agile convergence.


Agile GUIs – Test Driving Your S-Wing!
Patrick Kua


Client side applications are notoriously difficult to test, with many of the traditional approaches leveraging screen scraping techniques resulting in both brittle and costly tests. There are a number of alternative ways of testing Swing GUIs, and we will be looking at one of these that make testing Swing applications easier and more reliable.

We will investigate how you can apply this testing technique for TDDing an entire Swing application that will be both robust and reliable. We will look at how you write acceptance level tests and the patterns that you could implement in a swing application that allows you to fully test all the components before you get an acceptance test passing.

We will demonstrate the robustness of tests by demonstrating how you can changing the way the components are laid out without breaking tests. We will also discuss all the difficulties, tips and tricks that you should be aware when you do decide to write tests for your application.

Who Should Attend
Attendees should be strong Java developers who have been exposed to unit testing and open to TDD. Any budding TDDers are welcome where you will learn how to better express requirements in tests, and learn how to effectively TDD swing applications, avoiding the painful way of brittle UI testing.

You will learn how to leverage the Model View Presenter for structuring an application that is almost fully testable without having to actually visually render any components. You will learn how to write acceptance tests that read well and that are can be easily refactored to use different libraries.

Presenter's background

Patrick is a budding agile coach and hardcore agile developer who is currently working for Thoughtworks, a software development consultancy. He is driven by lightweight methods of delivery that means his team gets to write more code more often that delivers greater value.

He is a big believer in self-empowered teams and achieves this by continually spreading the word about better ways of writing software. He believes that Test Driven Development is an effective technique for writing Just The Right Amount of Code that is both more understandable and more maintainable.


Tuesday June 20

Pair Storytelling – "Once upon a time there were two …"
Fred Grossman, Joe Bergin




Experience the value and personal satisfaction of pairing. This workshop activity will use non-programming story-writing techniques to show novices, experienced developers, managers, and even non-technical people, what it is like to work in pairs to produce something creative.

Pair programming is one of the key practices of eXtreme Programming (XP). Even though research has shown that working in pairs is more productive than working alone, many people are skeptical about the practice until they try it. Managers are wary of the practice, believing it will increase costs; developers are wary, believing it will curb creativity. This workshop activity can provide an experience to address these concerns in a fun and informative manner.

Pair storytelling involves writing a story that is partially specified by another person (the customer/product owner). The stories used in this activity will be based on familiar children’s stories. The task is to update them in a "customer" specified way, being as creative as you like. This will be done initially as individual work and then with pairing. A few samples of individual and paired stories are read to the group. At the end of the activity, a brief retrospective permits the group to discuss the experience.

Who should attend

Developers, managers and other stakeholders interested in understanding the creative value and personal satisfaction of working in pairs will experience how it works and get a chance to evaluate it. Educators and trainers will experience a valuable teaching exercise. It is especially useful for the skeptical.
There is no required background. This is accessible to novices, experienced developers, managers and non-technical people.

Presenters' backgrounds

Fred Grossman
Fred ( has been teaching for more than 30 years and has been involved in software development for 40 years. He is a professor and Program Chair of the Doctor of Professional Studies in Computing in the Ivan G. Seidenberg School of Computer Science and Information Systems of Pace University. He has, with Joe, co-led workshops at OOPSLA and CASCON on XP and trained and coached XP teams in academic and industrial settings. Fred initiated this exercise as a way to demonstrate the creativity of pairing in a context open to non-programmers.

Joe Bergin
Joe ( is an educator and practitioner with 33 years experience, 17 in OO, and 5 or so in agile practice and consulting. He uses XP in the classroom and is the author of four textbooks on object-oriented programming. In addition he is an active pattern writer, with many papers (co-authored) on pedagogical patterns. One current project is a pattern language for agile development, including all of the well-known advice as well as solutions to some common pitfalls. Effective teaching is one of his life goals and he believes in agile approaches to achieve this.


The Coding Tournament
Lasse Koskela, Markus Hjort




The coding tournament is a fun-oriented social event where small teams are presented with a task involving a simple multiplayer game using XP practices.

Project skeletons will be provided and teams can choose between Java and Ruby for their implementation. The solution will not require in-depth knowledge of exotic API's--standard libraries will do just fine.

The ultimate goal is to learn by doing, and participants are encouraged to use XP engineering practices. Pairing with others offers an excellent opportunity to improve your technique and gain new perspective. The organizers are also available for assistance throughout the experience.

Participants are encouraged to "register" beforehand to the organizers via email but it is by no means a requirement. Plus, if you're coming solo, we'll hook you up with a team. We'll not be able to provide laptops for all teams, however, so if you have a laptop, bring it with you so that all teams will have something to work with.

In the grand finale of the event, the actual tournament is carried out by playing the teams' end products against each other on a projector while the teams and their supporters cheer ferociously. And you won't leave empty handed either!

Who should attend?

Have you heard of the XP thing but haven't had the chance to experience the practices first-hand? Are you looking for a learning opportunity wrapped into a fun social act? Do you need an excuse for learning Ruby? Want to show off your mad h4x0r skillz? Even if you didn't answer "yes" to any of these questions, this is the activity you want to attend.

This activity is targeted at practitioners of all levels and knowing XP in and out is not a prerequisite. In fact, this is a great chance to get hands-on coaching from long-time practitioners!

Activity Organizers

Lasse Koskela

Methodology specialist at Reaktor Innovations, Lasse entered the IT industry to celebrate the new Millennium 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 currently working on a book on test-driven development for Manning Publications.

Markus Hjort

Software architect at Reaktor Innovations, Markus has been in industry over seven years with experience from various technologies including J2EE, Microsoft, and Symbian platforms. He has always actively participated in process and methodology improvement. A certified Scrum Master and a member of Agile Alliance with extensive experience on agile methods, Markus kick-started the local Coding Dojo events in 2005.




Wednesday June 21

Distributed design and development using agile methods and Trac
Tarmo Toikkanen, Teemu Leinonen




Geographically distributed software development is hard to do properly. There are basically only two known solutions: avoid it, or travel to each location weekly. Nine months ago we started a 2.5 year project with developers in four countries, and no budget for weekly travelling.

After analyzing the reasons why distributed development fails, we decided to focus on communications, openness and transparency. So instead of face-to-face meetings, we turned to online solutions for solving a two-fold problem: integrating the parallel work of all developers nicely, and - more importantly - getting the people to form a self-organizing team.

We assembled an array of free/libre software tools around one core application, Trac, which integrates a wiki, version control, and ticket system into one whole, and is easy to customize and expand. The major challenge has been to get this heterogenous collection to actually supports development. Technical integration isn't enough, since many issues need social contracts, rules of conduct.

In this session we will go through the lessons we've learned during our project - what has worked, and what has failed. We also show how Trac needs to be customized and how its weak spots should be handled.

Who should attend:

People who need to manage a geographically distributed development team. People interested in the popular Trac system, and how it needs to be customized and what kinds of social rules need to be in place for it to support development properly. People interested in enhancing their own development models to better include human factors and customers. People interested in seeing how XP and Scrum are applied in practice.

Presenters' backgrounds:

Mr. Tarmo Toikkanen (PsM) is an entrepeneur, software engineer, researcher, and instructor. He's worked as a software architect/designer/programmer for 14 years, using technologies such as C/C++, Java, Python, Perl, PHP, (whatever)SQL, J2EE, and Zope. He's worked as an ICT instructor for 10 years, as a freelance journalist for 12 years, and is a doctoral student of educational psychology.
Tarmo works as scrum master / architect / developer of the project being described in this tutorial.

Mr. Teemu Leinonen holds over a decade of experience in the field of research and development of web-based learning. His areas of interest and expertise covers design for learning, computer supported collaborative learning (CSCL), online cooperation, learning software design, educational planning and educational politics. Since 1998 Teemu has led the Learning Environments research group of the Media Lab, University of Art and Design Helsinki. Teemu conducts research and publishes in different forums. He has delivered a number of speeches in national and international conferences, has given in-service courses for teachers and carry out consulting and concept design for several Finnish ICT and media companies.