Is XP still eXtreme? Kiro Harada Attractor Inc. XP Day Hanoi 2015
Is XP still eXtreme?
Kiro Harada Attractor Inc.
XP Day Hanoi 2015
Extreme Programming
eXtreme?
eXtreme Biking
eXtreme Ironing
eXtreme Ironing
eXtreme Programming?
Extreme Programming :)
http://commons.wikimedia.org/wiki/File:Pair_Programming.jpg
Where did XP come from?
C3 Project
Chrysler Comprehensive Compensation System
Started 1993
Kent Beck joined 1996
Working Software in 1997
XP Values
Communication
Simplicity
Feedback
Courage
Respect
XP Practices
Pair Programming
Planning Game
Test-Driven Development
Whole Team
Continuous Integration
Refactoring
Small Releases
Coding Standards
Collective Code Ownership
Simple Design
System Metaphor
Sustainable Pace
In 1996
Windows95
Pentium Processor at 200MHz
4MB or 8MB of RAM
1GB of HDD
56K Modem Connection
In 2015
Windows 8.1 / OS X 10.10
Core i7 Processors (4 cores / 8 Threads) at 3GHz
8GB or 16GB RAM
2TB HDD or 512GB SSD
4G Wireless
How these advances changed the way we work?
Like This?
Minority Report (2002)
What we do now
http://commons.wikimedia.org/wiki/File:Pair_Programming.jpg
(pause)
Estimated Delivery Time - 20 Min
Actual Delivery Time - Min.
Christopher Alexander
The Timeless Way of Building
A Pattern Language
"At the core... is the idea that people should design for themselves their own houses, streets and communities. This idea... comes simply from the observation that most of the wonderful places of the world were not made by architects but by the people".
Christopher Alexander et al.,
A Pattern Language, front bookflap
Pattern Language
Pattern Language for Software Development?
Wiki Wiki Web
Hillside Group
Pattern Language of Programs
Let’s see if there was no XP
Write thousands of lines of code without tests.
You cannot see the problems you made until the very end.
You debug your code on a printed copy.
Preparing a server usually takes a week at fastest.
You can only integrate at the end of the project.
When your real project starts :P
Opposite Direction
Mob Programming
(pause)
Estimated Delivery Time - 35 Min
Actual Delivery Time - Min.
What is XP?
Extreme Programming (XP) is about social change.
Extreme Programming Explained: Emblace Change (2nd Edition) Kent Beck
Prepare for success.
Don’t protect yourself from success by holding back.
Do your best and then deal with the consequences.
That’s extreme.
You leave yourself exposed.
Extreme Programming Explained: Emblace Change (2nd Edition) Kent Beck
It is about letting go of habits and patterns that were adaptive in the past, but now get in the way off its doing our best work.
It is about giving up defenses that protect us but interfere with our productivity.
It may leave us feeling exposed.
Extreme Programming Explained: Emblace Change (2nd Edition) Kent Beck
Are you ready
to have yourself
exposed for success?
XP assumes:
you see yourself a part of a team
you want to work together
change can be made inexpensive
you want to grow to improve skills and to improve your relationships
you are willing to make changes to meet those goals
Expose yourself:
How extreme can you be
to deliver success to your customer, team and society?