Conference
Presented by:

Peer to Peer

The Peer to Peer sessions will consist of sessions that bring people together and allow them to learn from each other. The emphasis of Peer to Peer sessions will be on learning, interaction, concrete outcomes….and having fun! Whether you're an expert or a beginner there'll be something new to learn as you work with others to broaden your horizons and enrich your knowledge.

Peer to Peer sessions will be scheduled throughout the conference, each lasting 90 or 180 minutes. Sessions will be open to all conference participants. Pre-registration will not be required unless the session leader imposes an attendance limit, in which case participants will be able to sign-up during the conference.

Scheduled Peer to Peer Sessions

ID Session Title Organizers
PP1 Foundations for Agile Development Steve Berczuk
PP2 Great COTS! Implementing Packaged Software with Agility Sanjiv Augustine and Arlen Bankston, CC Pace
PP3 Agile Enablement Patterns Dan North and Richard Watt, Thoughtworks
PP5 Making money with (or without) software: Towards zero degrees of customer separation Jeff Grover and Zhon Johansen, Symantec
PP6 Can't Change Your Organization? Change Yourself! Debbie Utley, Bob Evans, Tracy Bialik, Russ Rufer, and Ken Scott-Hlebek
PP7 Non-XP words for agile development practices Alistair Cockburn & Jeff Patton
PP8 Writing Automated Customer Acceptance Tests John Brewer, Google
PP9 Customer Collaboration – Challenges and Experiences Ole Jepsen, Cap Gemini
PP10 Personal Developmemt Practices Map Joe Walnes, Thoughtworks
PP11 Defining Agile Testing Practices, Rules, and Patterns Janet Gregory, Wireless-Matrix Corporation and Lisa Crispin, Fast401k Inc
PP12 Agile Development with Domain Specific Languages Alan Cameron Wills, Microsoft
PP13 Advice to a Customer New to Agile Methods Scott Duncan, IEEE SW Engineering Standards Committee
PP14 Extreme Programming System Metaphor Rilla Khaled, Pippin Barr, James Noble, and Robert Biddle
PP15 Developing an Agile-friendly software testing curriculum Jeremy Brown, Utah State University and Kay Johansen
PP17 Top tips for dispersed teams John Daniels, Syntropy Ltd
PP18 Business Speak 101: Communicating Project Alternatives to Customers Ken Schwaber, ADM and Esther Derby, Esther Derby Associates

Peer to Peer Abstracts

Wednesday, June 23
PP1 Foundations for Agile Development
Steve Berczuk
The books on agile methods don’t cover everything one needs to know to develop software. The participants in this workshop will explore which core best practices and patterns are prerequisites for having an effective agile process, and how an agile team’s approach to the practice would differ from that of a more traditional environment. For example, “Version control” is arguably a process that helps a team; what is a core set of knowledge that an agile team needs to implement version control in a way that helps, not hinders the process? How does that differ from a more traditional environment? What are good resources for an agile team to use.

The workshop will start off with the group developing a set of core areas that they want to discuss in detail, and then we will explore the areas in depth.

PP2 Great COTS! Implementing Packaged Software with Agility
Sanjiv Augustine and Arlen Bankston, CC Pace
Your company has just spent a million dollars on a system with every feature imaginable, yet it seems millions more are needed to silence the flood of complaints. What can be done? Compromises in usability and workflow integration are unavoidable when using commercial off-the-shelf (COTS) software. The goal of this simulation is for participants to experience a process to:
  • Evolve a shared project vision
  • Discover key user workflows
  • Identify usability requirements
  • Employ an appropriate set of agile practices
  • Quickly prioritize issues according to business value and return on investment
  • Test system effectiveness through collaborative usability reviews
PP3 Agile Enablement Patterns
Dan North and Richard Watt, Thoughtworks
Agile enablement is the process of changing a traditional business to work in an agile way. By this we mean doing less up front planning in exchange for regular feedback and tracking of status. This allows an enterprise to adapt better to changing requirements and environment.

Whilst working with various clients in large and small teams and in large and small enterprises, we have come across a number of behavioural and organisational patterns which in the context of Agile Development we term Enablement Patterns. Some patterns are tactical in their application while others are more strategic.

In the session we will discuss our findings - the 20+ patterns we have catalogued - and attempt to challenge and expand on this base set.

PP9 Customer Collaboration – Challenges and Experiences
Ole Jepsen, Cap Gemini
Customer collaboration doesn’t just happen because you want it to happen. There are many challenges that can bring the project into a negotiation climate rather than the collaboration climate, which works so well. A couple of examples of challenges are our own old habits – and organizational structures that support nothing but written contracts and detailed requirement specifications.
Thursday, June 24
PP5 Making money with (or without) software: Towards zero degrees of customer separation
Jeff Grover and Zhon Johansen, Symantec
Have you ever noticed how easy it is to write software tools for yourself? This is because there are zero (0) degrees of separation between you (the developer) and you (the end-user and stakeholder).

Stakeholders pay for the privilege developers enjoy as a tool-builder.

This is how software teams are paid.

If we sold chickens, we would say, “these chickens are healthy and plump, and therefore worth more than this sickly, scrawny old cow”.

Many Agile projects involving more than one person deliver on time and on schedule with high quality, yet fail to satisfy the project stakeholders. All too often we find ourselves with an unhealthy cow when the market was demanding chicken.

The purpose of this workshop is to explore the topic, “Directly involving developers with customers makes money”.

PP6 Can't Change Your Organization? Change Yourself!
Debbie Utley, Bob Evans, Tracy Bialik, Russ Rufer, and Ken Scott-Hlebek
So you're working on a non-agile team. You'd like to gain the benefits of working in a more agile manner, but your team's process is not likely to be changed. Perhaps you've already lobbied your managers to no avail.

Perhaps you don't want to be a lobbyist. Now what? We'll explore what one person or a group of coworkers can do to adopt some agile practices without needing anyone else on the team to change their ways. Along the way we'll create a card game (Elbow Room in a Straitjacket) to refine our understanding of the discussion.

PP7 Non-XP words for agile development practices
Alistair Cockburn & Jeff Patton
XP's terminology has been so successful that it is now difficult to discuss agile development without using those words. However, XP's vocabulary is based on turning-all-the-dials-to-10. Not all agile practitioners want dials turned to 10; sometimes 8.3 is a very nice place to have the dial. Having available only dial-at-ten words, such as "pair programming", "test-first", "customer on site" makes it hard to discuss interesting alternatives.

The purpose of this Workshop is to create a list of other words, other practices, that can be practiced at intermediate levels by interested agile teams.

PP8 Writing Automated Customer Acceptance Tests
John Brewer, Google
Writing automated customer acceptance tests is one of the trickiest aspects of test-driven development. The advent of tools like FIT and FITnesse has made writing some acceptance tests easier, yet others still remain difficult, especially tests of places where the system under development interacts with the world outside (e.g database, UI, network). In this workshop, people can share tips, techniques and tricks that have helped them write effective acceptance tests.
PP10 Personal Developmemt Practices Map
Joe Walnes, Thoughtworks
The goal of this workshop is to explore values and practices employed by different developers and how they interrelate, to build up a "best-practices-map".

The map will be explored to improve our understanding of the practices we do and how they can be improved. Including:

  • Which practices provide more value when used in conjunction with other practices.
  • How does development background and personal values affect preferred practices.
  • How one practice can indirectly support another practice that may have more value to someone else.
  • How local regions on the map allow you to investigate practices that may be of direct benefit to you
PP18 Business Speak 101: Communicating Project Alternatives to Customers
Ken Schwaber, ADM and Esther Derby, Esther Derby Associates
Agile methods propose close involvement and communication with the customer. But if we continue to speak the language of technology with the customers, we run the risk of alienating the customer. In order to realize the benefits of customer involvement, we need to speak their language.

In this workshop we will:

  • explore how their companies make money, and how that relates to the work they do on projects
  • practice building a project related business case
  • present a project related business case
Friday, June 25
PP11 Defining Agile Testing Practices, Rules, and Patterns
Janet Gregory, Wireless-Matrix Corporation and Lisa Crispin, Fast401k Inc
There are many testers on agile teams these days, and despite the increase in presentations and publications on “agile testing”; we find the term is still vague. A list of agile testing practices (or patterns, rules of the game, whatever is the best way to express them) would guide us and other agile testers in the way XP practices guide XP teams.

The goal of this workshop is to discuss and produce a list of practices, rules, patterns (or however we choose to define agile testing techniques) that we (the workshop participants) agree upon. We’ll use a list we’ve compiled as a starting point, but expect many ideas to surface in our discussions.

Saturday, June 26
PP12 Agile Development with Domain Specific Languages
Alan Cameron Wills, Microsoft
A domain-specific language is designed to express the requirements or solutions of a particular business domain.

The insurance industry, telephony, ice-cream manufacture, etc, all have their own vocabulary, constraints and patterns which can be most conveniently expressed in a purpose-made language. With clever engineering, we can design a compiler and runtime framework that can input such definitions and generate an insurance/telephony/ice-cream system.

With such a system at our disposal, creating our next insurance or ice-cream system becomes very rapid: development jobs become small-scale, that would be considered large scale if done from scratch; and consequently much more amenable to agile methodology. This workshop will explore that proposition.

PP13 Recommended Practice for Agile Customers
Scott Duncan
The IEEE has begun work on a Recommended Practice to provide customers/acquirers with guidance on how they should/could work with a development organization using agile methods on a software contract. This workshop will discuss the guidance that new customers should reveive about their expectations and commitments for an agile projects, and about how to identify organisations that really are agile rather than just shortcutters.
PP14 "Extreme Programming System Metaphor"
Rilla Khaled, Pippin Barr, and James Noble, Victoria University of Wellington, and Robert Biddle, Carleton University.
System Metaphor is the Extreme Programming practice XP teams most commonly choose to ignore. This think tank will start with a simple, structural model of system metaphors, giving a fundamental account of the way metaphors can contribute to a software system. Using this model, the think tank will identify activities that teams can use to develop metaphors for their systems, and techniques for evaluating system metaphors. We hope this think tank will encourage Extreme Programming teams not to abandon system metaphors, but rather, to continue to use metaphors to strengthen their development practices.
PP15 Developing an Agile-friendly software testing curriculum
Jeremy Brown, Utah State University and Kay Johansen
Colleges and universities currently do not supply a strong curriculum for developing software testers. This deficit is an excellent opportunity for the Agile community, with its emphasis on rapid delivery - which requires skilled testing - to assist those who are already committed to strengthening academic testing programs, and influence these programs to foster the testing knowledge and skills most valuable to Agile projects.

The purpose of this workshop is to create a list of desired attributes of "software testing" graduates, which will help demonstrate to schools that there is a market for such a curriculum.

PP17 Top tips for dispersed teams
John Daniels, Syntropy Ltd
Accepted best practice for software development is to assemble your team in one room and keep them there until the job is done. But sometimes that just isn’t practical.

The aim of this Think Tank is to agree the top five tips we can give to anyone contemplating forming a dispersed team.

Review Committee

  • Laura Hill
  • John Daniels
  • Ellen Gottesdiener
  • Keith Braithwaite
  • Helen Sharp
  • Bob Evans
  • Rick Mugridge