SlideShare a Scribd company logo
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

GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisNeo4j
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1KnowledgeSeed
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfMeon Technology
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandIES VE
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion Clinic
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfOrtus Solutions, Corp
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationWave PLM
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfmbmh111980
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAlluxio, Inc.
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessWSO2
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILNatan Silnitsky
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfkalichargn70th171
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...rajkumar669520
 

Recently uploaded (20)

GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 

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