XP Day Hanoi 2015 Is XP still eXtreme? Kiro Harada Attractor Inc.
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
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.
The Timeless Way of Building
"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 for Software Development?
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
(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?