122

Extreme Programming: the LEGO brick road

Simulation 170 minutes

A chance to really experience extreme programming values.

Tim Mackinnon

Oli Bye

Paul Simmons

Extreme programming encompasses many concepts that are both familiar and unfamiliar to many programmers. When you start out on an extreme project it is very difficult to know what it feels like to adopt many of the values that it proposes. Just as when early pioneers of OO were arguing about what was an object, new adopters of XP can easily get stuck trying to decide "What is the simplest thing". Those practitioners that rolled up their sleeves and practiced using objects quickly got beyond trying to define what an object was - it became something they just knew.

We have noticed a similar thing with XP - our early attempts to balance all of the XP values were a struggle because we weren't used to what it felt like to be extreme. After several experiments with different teams, we have found that in a "doing" environment, developers can experience extreme programming and this gives them a headstart when they apply it to their projects.

This simulation will allow programmers to feel what it's like being extreme. Rather than sitting around discussing problems and experiences, we will be actively working on a project in pairs, in parallel. '''Practitioners will have to collaborate, trust each other and use short iterations to accomplish the problem'''. As it is often difficult to achieve these goals in a short period of time when using computers and different programming languages - we have hit upon a unique way of sharing this feeling through the use of LEGO Mindstorms. As everyone knows how to use LEGO - it is a great level playing field that gives us the ability to concentrate on the XP values rather than the merits of different programming languages.

Tim Mackinnon (tim.mackinnon@pobox.com)

Connextra

Tim has been programming with objects for 10 years, however it was when he heard Kent Beck describe Extreme Programming at OOPSLA 98 and again at OT99 that he found a process that balances quality, delivery and happiness. Tim was a member of the team that created UML Modeler for VisualAge Smalltalk, he has also worked at Dashboards Software where he pioneered their use of Extreme Programming. He is now a senior developer at Connextra where he is even more extreme. Tim is also one of the founders of www.xpdeveloper.com - a site that encourages developers to document their experiences with XP.

Oli Bye (oliver@pobox.com)

Ok Chicken Ltd

Oli is 27 and has been hacking since the age of 11. Since his Masters CompSci he worked for HSBC, and saw SBC through several mergers to becoming UBS. From medical pumps in 68HC11 Assembler, to Global FX trading systems in Java, he loves to program. Since building his own internet server in early 1999 he's been helping small startups, academics and open source projects get off the ground by providing services for the virtually homeless. He currently coaches Extreme programming for a living, and is a founder of www.xpdeveloper.com

Paul Simmons (simmonspa@hotmail.com)

Dashboards Software (UK) Ltd

Paul has created software commercially for 13 years in a variety of industry sectors, though his first income from software was £1 at the age of 14. He believes in software development as a creative process and is a keen advocate of teamsmanship. He first heard of Extreme Programming from the enthusiastic Tim MacKinnon and learnt more at OT99.

===

SESSION DETAILS

These paragraphs will be published in the brochure and on the web site if your proposal is accepted.

Topics

Benefits

Participants who attend this workshop will:

  • Have fun being extreme and playing with LEGO Mindstorms
  • Learn by "doing" and arguing through tests
  • Experience paired programming, and the knowledge exchanged by rotating partners
  • Understand how to work in extremely short iterations

    Session: Simulation 170 minutes Level: intermediate
    Audience:

    Attendees should be familiar with the Extreme Programming material, but do not have to have practiced the ideas. It is also necessary to know how to use LEGO , but not necessarily Mindstorms. Advanced XP practitioners should not attend this session (they can play with the LEGO afterwards).

    Max 20 (this assumes 8 Mindstorms kits, 2 kits per team)

    Material

    We will prepare some of our thoughts on XP (15 minute iterations, our experiences with pairs). We will also prepare a sample observation sheet that will be used by the observers for the reflection process (to help understand what worked and what didn't).

    We will provide 8 LEGO Mindstorm sets, including software, with a running program and robot to act as a starting point.

    We will need 4 machines with a free COM port (for communicating with the robots) onto which we can install the LEGO Mindstorms software.

    We will need some flipchart paper and markers for the reflection excercise

    Delivery

    Groups will write-up their reflections on flip charts (what worked what didn't - hilights etc). We would also like to race the resulting robots in an evening session (possibly running it as a social event where people can read the flipcharts for each team, and place bets on which robot they think will win).

    Format

    As per the structure, we will do a brief presentation and then move on to working on the models, followed by time for reflection and then a demonstration.


    122