Industrial Logic -> Catalogs -> Workshop Catalog -> The Extreme Programming Workshop - XPW501

The Extreme Programming Workshop

Duration: 5.0 days
ID: XPW501

This intensive XP workshop has an emphasis on testing and refactoring. Participants will experience all of the XP practices in concert during a simulation and 2 technical iterations. There will also be ample time to study and practise Test-Driven Development, Refactoring, Storytest-Driven Development, Mock Objects and Refactoring to Patterns.

Show Condensed View

ID Activity Flavor Duration
8A Pair Draw: A Pairing Simulation
PairDraw is a simulation of pairing designed to help people understand what pair-work feels like and how it compares to solo work. After accomplishing a task by themselves and in pairs, participants share their reactions, which may be both positive and negative. The simulation provides a gentle introduction to pairing, which is practiced by people throughout the Project Community.
small
This flavor gives participants a good feel for what it's like to do pair-work. Following the... Read more
30 mins
9A Extreme Programming, A Simulation
Extreme Programming (XP) is an iterative, customer-focused, test-driven process that's changing the way people and organizations develop software. To understand how XP works, you must experience it. To make it possible for technical and non-technical folks to rapidly experience XP, Industrial Logic's founder, Joshua Kerievsky, created a comprehensive simulation of XP. Since late 2000,... Read more
5 hour
This is the complete version of the simulation, which provides the best introduction to XP.... Read more
5 hours
1A Unit Testing Tool
Learn the basics of a unit testing tool, including how to write and organize tests, which assert methods may be called, exception handling within tests, test naming conventions and ways to use the unit testing tool in an integrated development environment (IDE).
introduction
All technical participants will take part in this activity in pairs.
30 mins
10A Release Planning
There is an art to Release Planning in XP, and this activity is focused on teaching that art. We supply over 25 story cards for a mock project, and the task is to play the Planning Game to produce a Release Plan for the mock project. We can also cater to real projects, both in the workshop and on-site.
unabridged
Participants play the role of Customers or Programmers, who will negotiate scope, estimate cards... Read more
1 hour
2A Test-Driven Development
Test-Driven Development (TDD) is a practice for efficiently evolving useful code. While its name implies that it's mostly about testing, test-driven development is primarily about design: it keeps programmers focused on exactly what they need to build and helps them avoid over-engineering. Using this technique, programmers write a failing test, write code to pass the test, refactor the code and... Read more
demonstration
A thorough demonstration of TDD will be performed by the workshop coaches, with comments and... Read more
45 mins
2C Test-Driven Development
Test-Driven Development (TDD) is a practice for efficiently evolving useful code. While its name implies that it's mostly about testing, test-driven development is primarily about design: it keeps programmers focused on exactly what they need to build and helps them avoid over-engineering. Using this technique, programmers write a failing test, write code to pass the test, refactor the code and... Read more
challenge
In this challenge, participants will be given the task of writing a program to solve a specific... Read more
90 mins
4A Code Smells
Code smells identify common design problems in object-oriented code. This interactive lecture provides a good overview of code smells defined by Martin Fowler & Kent Beck in their book "Refactoring: Improving the Design of Existing Code." In addition, you'll learn about some new smells that have been categorized by Joshua Kerievsky and his colleagues.
introduction
A workshop coach will lead this technical lecture.
45 mins
5A Refactoring War
What's the fastest way to learn Martin Fowler's classic catalog of 74 foundational refactorings? It's called "Refactoring War," an educational game we invented to help groups rapidly learn a large number of refactorings. The game is played in teams and involves viewing refactoring cards, comparing the usefulness of the cards and deciding on which card is most useful. The team with the most... Read more
standard
A workshop coach will lead this activity.
90 mins
6D The Refactoring Challenge
The best way to improve your refactoring skills is to practice cleaning up poorly designed code. And we've got just the thing: code we custom-designed to reek of over 90% of the code smells identified in the refactoring literature. This poorly designed code functions correctly, which you can verify by running a full suite of tests against it. Your challenge is to identify the smells in this code,... Read more
large
The large version of our Refactoring Challenge gives participants ample time to discover many of... Read more
6 hours
11B Continuous Integration
Continuous Integration is an XP practice in which developers continuously integrate their work using a shared repository. This activity introduces the concepts and specific steps required to implement this practice, using version control tools.
large
This flavor adds more time for our Continuous Integration challenge.
20 mins
13A Iteration
After a suitable project has been chosen, participants play XP's Planning Game to produce an iteration plan. This involves formulating the team's velocity, identifying tasks to complete for each story, estimating tasks, negotiating task scope, signing up for tasks and creating the iteration poster. During the iteration, programmers, customers and coaches will all have a chance to work... Read more
6-hour
This version, which is recommended for teams who have never completed a technical XP iteration,... Read more
6 hours
13A Iteration
After a suitable project has been chosen, participants play XP's Planning Game to produce an iteration plan. This involves formulating the team's velocity, identifying tasks to complete for each story, estimating tasks, negotiating task scope, signing up for tasks and creating the iteration poster. During the iteration, programmers, customers and coaches will all have a chance to work... Read more
6-hour
This version, which is recommended for teams who have never completed a technical XP iteration,... Read more
6 hours
14B XP War
XP War is a fast-paced educational game resembling the old card game War. The game helps teams learn about: typical problems and solutions on XP projects, the importance of those problems and solutions, and which problems and solutions are more important than others. XP War is played with either all of the solution cards or problem cards from Industrial Logic's deck of
table
Using physical decks of Industrial Logic's Extreme Programming Playing Cards, 4 groups sit around a ... Read more
90 mins
7A Evolutionary Design
How does nature evolve organisms and what does that have to do with software development? If you study nature's approach to engineering, you often find that highly sophisticated organisms evolve from simple beginnings. For example, during the earliest growth stages, internal organs are basic but functional and will mature over time.
challenge
After reviewing a description of a sophisticated software system, participants must decide what... Read more
30 mins
7B Evolutionary Design
How does nature evolve organisms and what does that have to do with software development? If you study nature's approach to engineering, you often find that highly sophisticated organisms evolve from simple beginnings. For example, during the earliest growth stages, internal organs are basic but functional and will mature over time.
coding
In a fishbowl, the workshop coaches and participants will begin the implementation of the embryonic ... Read more
45 mins
34C Refactoring to Patterns
Patterns are undeniably useful design aids and a cornerstone of object-oriented programming. Yet with the emergence of agile methodologies like Extreme Programming, our motivation for using patterns has changed. Today, we use patterns when they can help us reduce or remove duplication, simplify the complex, or make our code better at communicating its intent. In other words, we refactor to... Read more
challenge
In this flavor, programmers have a chance to try their hand at refactoring programs to use patterns.... Read more
3 hours
16A Mock Objects
When writing test and production code, it's useful to know when to introduce Mock Objects. This activity will help you understand what Mock Objects are, how they function at runtime, common implementation variations and usage patterns.
simulation
The best way we know how to introduce people to Mock Objects is to have them experience a... Read more
25 mins
16C Mock Objects
When writing test and production code, it's useful to know when to introduce Mock Objects. This activity will help you understand what Mock Objects are, how they function at runtime, common implementation variations and usage patterns.
challenge
To fully understand mock objects, you need to get your hands dirty. In this challenge, you'll be... Read more
90 mins
17B Storytest-Driven Development
Storytest-Driven Development involves determining if features of a system work according to a customer's expectations. There are many ways to implement Storytest-Driven Development, including using XML, Excel or simple languages. A typical challenge is to empower customers with tools that let them define Storytests (a.k.a. Acceptance Tests) without working with programmers. Another challenge is ... Read more
demonstration
We'll demonstrate FIT (http://fit.c2.com), Ward Cunningham's excellent open-source testing tool... Read more
20 mins
17C Storytest-Driven Development
Storytest-Driven Development involves determining if features of a system work according to a customer's expectations. There are many ways to implement Storytest-Driven Development, including using XML, Excel or simple languages. A typical challenge is to empower customers with tools that let them define Storytests (a.k.a. Acceptance Tests) without working with programmers. Another challenge is ... Read more
challenge
Participants will be given the challenge of writing FIT tests for a sample program, using the... Read more
75 mins
15A XP Adoption
The workshop coaches engage participants in a dialogue about adopting XP at their workplace. Questions such as the following will be tackled:
in-depth
An in-depth dialogue is held with the coach analyzing the current processes in place.
2 hours

* With this workshop, participants get a free deck of Extreme Programming Playing Cards
 
Industrial Logic, Inc.

Catalogs
· Workshop Catalog
· Experience Catalog
· Activity Catalog

Workshops
· The Extreme Programming
Workshop
· The Testing & Refactoring
Workshop
· The Design Patterns
Workshop

         			Send mail to webmaster[at]industriallogic.com with questions or comments about this web site.
Copyright © 1995-2006 Industrial Logic, Inc. All Rights Reserved.