SlideShare a Scribd company logo
1 of 1
Download to read offline
Arecent eXtreme Programming workshop
gave developers the chance to put the
techniques through their paces. Kevlin
Henney reports.
Perhaps the most obvious reason to be heading
into central London two Saturdays before
Christmas would be to indulge in some extreme
shopping. However, at Imperial College on 15
December, an alternative attraction was laid on
for those so inclined – XP Day.The XP
concerned was not a wannabe operating
system from Redmond, but eXtreme
Programming, perhaps the most popular of the
agile development methods and a longer
standing use for the initials
(www.agilealliance.org).
The day, hosted by the Extreme Tuesday Club
and the BCS OOPS Specialist Group, sold out
more than two weeks prior to the event with
more than 100 registrations, which is a
respectable measure of the interest in
streamlined development approaches.They
were treated to a packed day of three-session
tracks, including presentations, panels,
workshops, a keynote speech, a decent lunch
and a steady supply of caffeine.
Steve Freeman and Tim Mackinnon kicked off
the day with an overview of the XP community
and its practices. Although the conference had
been billed as an international event for
customers, developers and managers, a quick
show of hands revealed what you might expect
– an order of magnitude more developers than
managers... and one customer.The maturity and
reach of XP was evident from another show of
hands. Almost everyone had at least nodding
familiarity with XP's values, principles and
practices, and a fair number were already
involved in XP or XP-influenced projects.
Two years ago, an equivalent conference
would have been explained what XP was and
Kent Beck, the father of XP, would have been the
central figure. Now, however, the focus was on
how to do XP effectively and Beck was in the
audience – a surprise and welcome visitor.
Getting down to business
So, how do we do XP? This is where you had to
agonise over which sessions to attend, and
therefore which to miss:
● The Extreme Hour, hosted by Duncan
Pierce,Tung Mac and Nat Pryce, was a hands-
on workshop offering a compressed
introduction to all the XP practices.
● Kick-starting XP, with Keith Braithwaite and
Paul Simmons, explored the conditions that
needed to be addressed for the successful
introduction of XP into an organisation.
● Scaling up XP, with Michael Feathers
and Jack Bolles, attempted to answer
the question of how to scale up XP to
large teams. It is normally considered ideal
for teams of less than 20, but this is not
always possible.
● Tuning XP, with Rachel Davies and Tim
Mackinnon, provided a tutorial on how to
improve estimation within XP, and what
measurements allow a team to be more
effective.
● If you repeat it, it's worth automating,
with Tim Bacon and Jeff Martin, offered a
tutorial on taking the tedium and repetition
out of project chores.Why do something
again and again when you can write code to
do it for you?
● Gardener’s Question Time, chaired by Paul
Simmons, offered a slight twist on the usual
conference panel format, as its title suggests.
● Extreme Business, with Colston Sanger and
Aidan Ward, explored the application of XP
principles to the business domain.
● The Test-First Lab, hosted by Joseph Pelrine
and Ivan Moore, offered programmers
hands-on experience with some code-based
XP practices such as pair programming,
test-first design and refactoring – in Java
or Smalltalk.
● The Extreme Lego workshop, hosted by
Tom Ayerst, Paolo Polce and Seb Palmer, gave
programmers a chance to get back to their
roots and put XP practices into action. Lego
Mindstorms offered the perfect opportunity
for children of all ages to get extreme.
One session you did not have to worry about
missing was the keynote by Martin Fowler,
author of UML Distilled, Refactoring and Analysis
Patterns. Martin spoke about the origins of XP,
the Agile movement as a whole, and how to
start XP. Under the last heading, he spoke about
the stealth approach. Some practices require
the involvement of others but some clearly
do not. For instance, test-first design is a
personal practice that requires no permission
from others, and continuous integration can
be introduced under the aegis of tidying up
the build.
Follow the Lego brick road
In the afternoon, my personal choice was to
follow the Lego brick road.This workshop
included a brief stand-up presentation of what
we were looking to achieve, and then the 20
Lego-nauts were divided into four teams of five.
Each team had one laptop and two Lego
Mindstorms kits to allow parallel development
of hardware and software, and rudimentary
versioning for hardware.
In each team, there was a pair working on the
hardware, a pair working on the software and a
tracker, observing and tracking time against
estimates that the team had come up with for
each identified task. In the two-and-a-half hour
workshop, each team member would cycle
through all of the roles.The two main user
stories that had to be fulfilled were:
1. Build a vehicle that drives forward, reverses
on hitting a wall, stops when it passes over a
dark line, and does so in as short a time as
possible and with the smallest stopping
distance
2. Modify the vehicle to allow it also to track a
dark racetrack on a light background
This is real deadline pressure. Fun?
Undoubtedly. Educational? Certainly.The teams
that kept the discipline – keep tracking, keep
testing, keep in pairs – ended up with robust
Lego vehicles that were as effectively
programmed as the time would allow.Those
that panicked as the final deadline drew close
had less to show for their efforts.
And then, finally, there was the wrap-up
session followed by the pub. All in all, an
excellent way to build a community and a
welcome distraction from seasonal retail.
Photos and some presentations from the day,
along with some movie clips from the Extreme
Lego workshop, can be downloaded from the
conference web site:
http://xpday.xpdeveloper.com
XP Day – the story of an XP event

More Related Content

Similar to XP Day – The story of an XP event

Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 
Optimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep DiveOptimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep DiveTeamstudio
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
Winning Strategies - Agile: Release to market with minimum fuss and maximum s...
Winning Strategies - Agile: Release to market with minimum fuss and maximum s...Winning Strategies - Agile: Release to market with minimum fuss and maximum s...
Winning Strategies - Agile: Release to market with minimum fuss and maximum s...MMT Digital
 
Bill Krebs - 10 Years of Scrum Meetings
Bill Krebs - 10 Years of Scrum MeetingsBill Krebs - 10 Years of Scrum Meetings
Bill Krebs - 10 Years of Scrum MeetingsSFA
 
564 Class Notes July 27, 2010
564 Class Notes July 27, 2010564 Class Notes July 27, 2010
564 Class Notes July 27, 2010Stephanie Magleby
 
Group Interaction Patterns - The Keys for Highly Productive Teams -- Global S...
Group Interaction Patterns - The Keys for Highly Productive Teams -- Global S...Group Interaction Patterns - The Keys for Highly Productive Teams -- Global S...
Group Interaction Patterns - The Keys for Highly Productive Teams -- Global S...Michael R. Wolf
 
Ansible - 1,000,000 Downloads and Counting
Ansible - 1,000,000 Downloads and CountingAnsible - 1,000,000 Downloads and Counting
Ansible - 1,000,000 Downloads and CountingAll Things Open
 
Ordina Accelerator program 2019 - DevOps CI-CD
Ordina Accelerator program 2019 - DevOps CI-CDOrdina Accelerator program 2019 - DevOps CI-CD
Ordina Accelerator program 2019 - DevOps CI-CDBert Koorengevel
 
Mainframes agile2012
Mainframes agile2012Mainframes agile2012
Mainframes agile2012drewz lin
 
Codemotion Berlin 2015 recap
Codemotion Berlin 2015   recapCodemotion Berlin 2015   recap
Codemotion Berlin 2015 recapTorben Dohrn
 
Tim Mackinnon Agile And Beyond
Tim Mackinnon Agile And BeyondTim Mackinnon Agile And Beyond
Tim Mackinnon Agile And Beyonddeimos
 
Visualization of Complex Systems
Visualization of Complex SystemsVisualization of Complex Systems
Visualization of Complex SystemsChris Laffra
 
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)Kurt Solarte
 
How My Website Learned to Stop Worrying and Love the Cloud
How My Website Learned to Stop Worrying and Love the CloudHow My Website Learned to Stop Worrying and Love the Cloud
How My Website Learned to Stop Worrying and Love the CloudMike Richwalsky
 
Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geißler
 
An Introduction To Agile Development
An Introduction To Agile DevelopmentAn Introduction To Agile Development
An Introduction To Agile Developmentelliando dias
 
Engineering practices in Scrum for Hardware - Sisma Spa Case Study
Engineering practices in Scrum for Hardware - Sisma Spa Case StudyEngineering practices in Scrum for Hardware - Sisma Spa Case Study
Engineering practices in Scrum for Hardware - Sisma Spa Case StudyPaolo Sammicheli
 

Similar to XP Day – The story of an XP event (20)

Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
Optimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep DiveOptimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep Dive
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Xp
XpXp
Xp
 
Winning Strategies - Agile: Release to market with minimum fuss and maximum s...
Winning Strategies - Agile: Release to market with minimum fuss and maximum s...Winning Strategies - Agile: Release to market with minimum fuss and maximum s...
Winning Strategies - Agile: Release to market with minimum fuss and maximum s...
 
Bill Krebs - 10 Years of Scrum Meetings
Bill Krebs - 10 Years of Scrum MeetingsBill Krebs - 10 Years of Scrum Meetings
Bill Krebs - 10 Years of Scrum Meetings
 
564 Class Notes July 27, 2010
564 Class Notes July 27, 2010564 Class Notes July 27, 2010
564 Class Notes July 27, 2010
 
Group Interaction Patterns - The Keys for Highly Productive Teams -- Global S...
Group Interaction Patterns - The Keys for Highly Productive Teams -- Global S...Group Interaction Patterns - The Keys for Highly Productive Teams -- Global S...
Group Interaction Patterns - The Keys for Highly Productive Teams -- Global S...
 
Ansible - 1,000,000 Downloads and Counting
Ansible - 1,000,000 Downloads and CountingAnsible - 1,000,000 Downloads and Counting
Ansible - 1,000,000 Downloads and Counting
 
Ordina Accelerator program 2019 - DevOps CI-CD
Ordina Accelerator program 2019 - DevOps CI-CDOrdina Accelerator program 2019 - DevOps CI-CD
Ordina Accelerator program 2019 - DevOps CI-CD
 
Mainframes agile2012
Mainframes agile2012Mainframes agile2012
Mainframes agile2012
 
Codemotion Berlin 2015 recap
Codemotion Berlin 2015   recapCodemotion Berlin 2015   recap
Codemotion Berlin 2015 recap
 
Tim Mackinnon Agile And Beyond
Tim Mackinnon Agile And BeyondTim Mackinnon Agile And Beyond
Tim Mackinnon Agile And Beyond
 
Visualization of Complex Systems
Visualization of Complex SystemsVisualization of Complex Systems
Visualization of Complex Systems
 
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)
Achieving the Full Potential of Your Distributed Agile Team (AgileAus 2013)
 
How My Website Learned to Stop Worrying and Love the Cloud
How My Website Learned to Stop Worrying and Love the CloudHow My Website Learned to Stop Worrying and Love the Cloud
How My Website Learned to Stop Worrying and Love the Cloud
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019
 
An Introduction To Agile Development
An Introduction To Agile DevelopmentAn Introduction To Agile Development
An Introduction To Agile Development
 
Engineering practices in Scrum for Hardware - Sisma Spa Case Study
Engineering practices in Scrum for Hardware - Sisma Spa Case StudyEngineering practices in Scrum for Hardware - Sisma Spa Case Study
Engineering practices in Scrum for Hardware - Sisma Spa Case Study
 

More from Kevlin Henney

The Case for Technical Excellence
The Case for Technical ExcellenceThe Case for Technical Excellence
The Case for Technical ExcellenceKevlin Henney
 
Empirical Development
Empirical DevelopmentEmpirical Development
Empirical DevelopmentKevlin Henney
 
Lambda? You Keep Using that Letter
Lambda? You Keep Using that LetterLambda? You Keep Using that Letter
Lambda? You Keep Using that LetterKevlin Henney
 
Lambda? You Keep Using that Letter
Lambda? You Keep Using that LetterLambda? You Keep Using that Letter
Lambda? You Keep Using that LetterKevlin Henney
 
Solid Deconstruction
Solid DeconstructionSolid Deconstruction
Solid DeconstructionKevlin Henney
 
Procedural Programming: It’s Back? It Never Went Away
Procedural Programming: It’s Back? It Never Went AwayProcedural Programming: It’s Back? It Never Went Away
Procedural Programming: It’s Back? It Never Went AwayKevlin Henney
 
Structure and Interpretation of Test Cases
Structure and Interpretation of Test CasesStructure and Interpretation of Test Cases
Structure and Interpretation of Test CasesKevlin Henney
 
Refactoring to Immutability
Refactoring to ImmutabilityRefactoring to Immutability
Refactoring to ImmutabilityKevlin Henney
 
Turning Development Outside-In
Turning Development Outside-InTurning Development Outside-In
Turning Development Outside-InKevlin Henney
 
Giving Code a Good Name
Giving Code a Good NameGiving Code a Good Name
Giving Code a Good NameKevlin Henney
 
Clean Coders Hate What Happens To Your Code When You Use These Enterprise Pro...
Clean Coders Hate What Happens To Your Code When You Use These Enterprise Pro...Clean Coders Hate What Happens To Your Code When You Use These Enterprise Pro...
Clean Coders Hate What Happens To Your Code When You Use These Enterprise Pro...Kevlin Henney
 
Thinking Outside the Synchronisation Quadrant
Thinking Outside the Synchronisation QuadrantThinking Outside the Synchronisation Quadrant
Thinking Outside the Synchronisation QuadrantKevlin Henney
 

More from Kevlin Henney (20)

Program with GUTs
Program with GUTsProgram with GUTs
Program with GUTs
 
The Case for Technical Excellence
The Case for Technical ExcellenceThe Case for Technical Excellence
The Case for Technical Excellence
 
Empirical Development
Empirical DevelopmentEmpirical Development
Empirical Development
 
Lambda? You Keep Using that Letter
Lambda? You Keep Using that LetterLambda? You Keep Using that Letter
Lambda? You Keep Using that Letter
 
Lambda? You Keep Using that Letter
Lambda? You Keep Using that LetterLambda? You Keep Using that Letter
Lambda? You Keep Using that Letter
 
Solid Deconstruction
Solid DeconstructionSolid Deconstruction
Solid Deconstruction
 
Get Kata
Get KataGet Kata
Get Kata
 
Procedural Programming: It’s Back? It Never Went Away
Procedural Programming: It’s Back? It Never Went AwayProcedural Programming: It’s Back? It Never Went Away
Procedural Programming: It’s Back? It Never Went Away
 
Structure and Interpretation of Test Cases
Structure and Interpretation of Test CasesStructure and Interpretation of Test Cases
Structure and Interpretation of Test Cases
 
Agility ≠ Speed
Agility ≠ SpeedAgility ≠ Speed
Agility ≠ Speed
 
Refactoring to Immutability
Refactoring to ImmutabilityRefactoring to Immutability
Refactoring to Immutability
 
Old Is the New New
Old Is the New NewOld Is the New New
Old Is the New New
 
Turning Development Outside-In
Turning Development Outside-InTurning Development Outside-In
Turning Development Outside-In
 
Giving Code a Good Name
Giving Code a Good NameGiving Code a Good Name
Giving Code a Good Name
 
Clean Coders Hate What Happens To Your Code When You Use These Enterprise Pro...
Clean Coders Hate What Happens To Your Code When You Use These Enterprise Pro...Clean Coders Hate What Happens To Your Code When You Use These Enterprise Pro...
Clean Coders Hate What Happens To Your Code When You Use These Enterprise Pro...
 
Thinking Outside the Synchronisation Quadrant
Thinking Outside the Synchronisation QuadrantThinking Outside the Synchronisation Quadrant
Thinking Outside the Synchronisation Quadrant
 
Code as Risk
Code as RiskCode as Risk
Code as Risk
 
Software Is Details
Software Is DetailsSoftware Is Details
Software Is Details
 
Game of Sprints
Game of SprintsGame of Sprints
Game of Sprints
 
Good Code
Good CodeGood Code
Good Code
 

Recently uploaded

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Recently uploaded (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

XP Day – The story of an XP event

  • 1. Arecent eXtreme Programming workshop gave developers the chance to put the techniques through their paces. Kevlin Henney reports. Perhaps the most obvious reason to be heading into central London two Saturdays before Christmas would be to indulge in some extreme shopping. However, at Imperial College on 15 December, an alternative attraction was laid on for those so inclined – XP Day.The XP concerned was not a wannabe operating system from Redmond, but eXtreme Programming, perhaps the most popular of the agile development methods and a longer standing use for the initials (www.agilealliance.org). The day, hosted by the Extreme Tuesday Club and the BCS OOPS Specialist Group, sold out more than two weeks prior to the event with more than 100 registrations, which is a respectable measure of the interest in streamlined development approaches.They were treated to a packed day of three-session tracks, including presentations, panels, workshops, a keynote speech, a decent lunch and a steady supply of caffeine. Steve Freeman and Tim Mackinnon kicked off the day with an overview of the XP community and its practices. Although the conference had been billed as an international event for customers, developers and managers, a quick show of hands revealed what you might expect – an order of magnitude more developers than managers... and one customer.The maturity and reach of XP was evident from another show of hands. Almost everyone had at least nodding familiarity with XP's values, principles and practices, and a fair number were already involved in XP or XP-influenced projects. Two years ago, an equivalent conference would have been explained what XP was and Kent Beck, the father of XP, would have been the central figure. Now, however, the focus was on how to do XP effectively and Beck was in the audience – a surprise and welcome visitor. Getting down to business So, how do we do XP? This is where you had to agonise over which sessions to attend, and therefore which to miss: ● The Extreme Hour, hosted by Duncan Pierce,Tung Mac and Nat Pryce, was a hands- on workshop offering a compressed introduction to all the XP practices. ● Kick-starting XP, with Keith Braithwaite and Paul Simmons, explored the conditions that needed to be addressed for the successful introduction of XP into an organisation. ● Scaling up XP, with Michael Feathers and Jack Bolles, attempted to answer the question of how to scale up XP to large teams. It is normally considered ideal for teams of less than 20, but this is not always possible. ● Tuning XP, with Rachel Davies and Tim Mackinnon, provided a tutorial on how to improve estimation within XP, and what measurements allow a team to be more effective. ● If you repeat it, it's worth automating, with Tim Bacon and Jeff Martin, offered a tutorial on taking the tedium and repetition out of project chores.Why do something again and again when you can write code to do it for you? ● Gardener’s Question Time, chaired by Paul Simmons, offered a slight twist on the usual conference panel format, as its title suggests. ● Extreme Business, with Colston Sanger and Aidan Ward, explored the application of XP principles to the business domain. ● The Test-First Lab, hosted by Joseph Pelrine and Ivan Moore, offered programmers hands-on experience with some code-based XP practices such as pair programming, test-first design and refactoring – in Java or Smalltalk. ● The Extreme Lego workshop, hosted by Tom Ayerst, Paolo Polce and Seb Palmer, gave programmers a chance to get back to their roots and put XP practices into action. Lego Mindstorms offered the perfect opportunity for children of all ages to get extreme. One session you did not have to worry about missing was the keynote by Martin Fowler, author of UML Distilled, Refactoring and Analysis Patterns. Martin spoke about the origins of XP, the Agile movement as a whole, and how to start XP. Under the last heading, he spoke about the stealth approach. Some practices require the involvement of others but some clearly do not. For instance, test-first design is a personal practice that requires no permission from others, and continuous integration can be introduced under the aegis of tidying up the build. Follow the Lego brick road In the afternoon, my personal choice was to follow the Lego brick road.This workshop included a brief stand-up presentation of what we were looking to achieve, and then the 20 Lego-nauts were divided into four teams of five. Each team had one laptop and two Lego Mindstorms kits to allow parallel development of hardware and software, and rudimentary versioning for hardware. In each team, there was a pair working on the hardware, a pair working on the software and a tracker, observing and tracking time against estimates that the team had come up with for each identified task. In the two-and-a-half hour workshop, each team member would cycle through all of the roles.The two main user stories that had to be fulfilled were: 1. Build a vehicle that drives forward, reverses on hitting a wall, stops when it passes over a dark line, and does so in as short a time as possible and with the smallest stopping distance 2. Modify the vehicle to allow it also to track a dark racetrack on a light background This is real deadline pressure. Fun? Undoubtedly. Educational? Certainly.The teams that kept the discipline – keep tracking, keep testing, keep in pairs – ended up with robust Lego vehicles that were as effectively programmed as the time would allow.Those that panicked as the final deadline drew close had less to show for their efforts. And then, finally, there was the wrap-up session followed by the pub. All in all, an excellent way to build a community and a welcome distraction from seasonal retail. Photos and some presentations from the day, along with some movie clips from the Extreme Lego workshop, can be downloaded from the conference web site: http://xpday.xpdeveloper.com XP Day – the story of an XP event