SlideShare a Scribd company logo
XP?
eXtreme Programming
Sejo Ćesić
sejo@agile.ba
be.linkedin.com/in/sejocesic/
Enis Zeherović
enis@agile.ba
ba.linkedin.com/in/eniszeherovic
eXtreme Programming
 Formulated in 1999 by Kent Beck, Ward
Cunningham and Ron Jeffries
 AGILE software development
methodology
 Developed in reaction to high ceremony
methodologies (e.g. Rational Unified
Process - RUP)
XP Goal
Organize people
to produce
higher-quality software
more productively
XP Activities
 Coding
 Testing
 Listening
 Designing
XP Values
 Communication
 Simplicity (YAGNI)
 Feedback
"Optimism is an occupational hazard of programming.
Feedback is the treatment.“
 Courage
refactor/remove code, be persistent
 Respect
XP Practices
1. Pair programming
2. Planning game
3. Test driven development
4. Whole team - customer is in the team
5. Continuous process (integration, refactoring,
small releases)
6. Shared understanding (coding, collective
ownership, simple design)
7. Sustainable pace
Pair programming
Pair programming
Driver & Navigator metaphor improving:
- Economics
Errors avoided, zero cost to fix them later
- Design quality
Second opinion constantly questioning yours
- Satisfaction - Great confidence in code
- Learning - Constant exchange of knowledge
- Team building - Communication improves
exponentially
Resistance to XP
 2 programmers cost 2 times more than 1
programmer!
 Place full of people never shutting their mouth
will drive you insane!
 When do I get to surf the web? Or chat online?
Resistance to XP (cont.)
 Mistakes of a single person cost much much
more!
 Once you are working with your pair, you don't
hear anyone else anymore.
In fact, smart manager knows:
No noise -> something is wrong!
Planning game
Planning game
 Release plan
 Iteration plan
 Acceptance test
 Stand Up Meeting
 Pair Negotiation
 Unit Test
 Pair Programming
Planning game
Burndown and velocity
 How much work is getting done on your project?
 Burndown keeps track of iteration progres
 Calculate velocity on the end of iteration
=(estimated hours - remaining hours) / nr. of
days
PG - Burndown and velocity
Test driven development
… will be presented soon
Whole team
Customer is “on site” and used for:
 writing user stories
 release and iteration planning
 complete programming tasks
 functional testing
Alternative: “proxy customer”
Continuous process
 Continuous integration
 Design improvement, refactorings
 Small releases, shippable products,
demonstration per iteration
Shared understanding
 Coding standard
 Collective code ownership
 Simple design
 System metaphor
Sustainable pace
 Frequent code merge
&
always executable
&
test covered high quality code
---> fresh and alert minds
 40 hours week
xTreme Programming by Sejo Ćesić and Enis Zeherović
Test driven development
Test driven development
 Add a test
 Run all tests and see if the new one fails
 Write some code
 Run tests
 Refactor code
 Repeat
Test driven development
Test driven development
Apply F.I.R.S.T. properties of unit tests:
Fast
many hundreds or thousands per second
Isolates
failure reason become obvious
Repeatable
run repeatedly in any order any time
Self-validating
no manual evaluation required
Timely
written before the code
Test driven development
 One assert per test
 Descriptive names of tests
 Test code is important as production code
(maybe more)
 Recognize test code as documentation you are
always missing
 The quality of a test is how good it points you
on the failure in your system if it fails
TDD - practical introduction
Two parts:
 Java TDD Kata in Eclipse
 User interface TDD testing
TDD Kata
 String Calculator:
 Set of requirements
 Develop one task at a time
 Test only positive cases
TDD Kata – String Calculator
 Requirements:
1. Empty string returns zero
2. String with single digit returns that digit
3. String with 2 digits separated with a ‘,‘
retuns sum of these 2 numbers ()
4. Unknown number of digits separated by ‘,‘
must be possible
5. A new line can be used as a separator
6. Custom delimiter must be supported
(//[delimiter]n[numbers])
User interface TDD testing
 New page development in TDD
 Tools: Eclipse, Selenium, TestNG
 Free tool: testeditor.org
Q&A
THANK YOU

More Related Content

PPT
Introduction To Extreme Programming
Joe Drumgoole
 
PPS
Xp Slideshow
guest1c30ed5
 
PDF
Extreme Programming (XP)
dcsunu
 
PPT
Agile Software Development with XP
Vashira Ravipanich
 
PPTX
Extreme programming - a quick and agile overview !
Vinit Kumar Singh
 
PPTX
Extreme Programming (XP) for Dummies
Jon McNestrie
 
PDF
eXtreme programming (XP) - An Overview
Gurtej Pal Singh
 
PPTX
Extreme Programming ppt
OECLIB Odisha Electronics Control Library
 
Introduction To Extreme Programming
Joe Drumgoole
 
Xp Slideshow
guest1c30ed5
 
Extreme Programming (XP)
dcsunu
 
Agile Software Development with XP
Vashira Ravipanich
 
Extreme programming - a quick and agile overview !
Vinit Kumar Singh
 
Extreme Programming (XP) for Dummies
Jon McNestrie
 
eXtreme programming (XP) - An Overview
Gurtej Pal Singh
 

What's hot (20)

PDF
XP In 10 slides
Robert Burrell Donkin
 
PPT
XP Explained
vineet
 
PPTX
Xp exterme-programming-model
Ali MasudianPour
 
PPTX
Xp(Xtreme Programming) presentation
MuaazZubairi
 
ODP
Xtreme Programming
Prasad Kancharla
 
PPTX
Introduction to Software Engineering
International Islamic University Islamabad
 
PDF
Agile Testing
Naresh Jain
 
PDF
Introduction to Extreme Programming
Naresh Jain
 
PPTX
Build Quality In
Kishen Simbhoedatpanday
 
PPT
Extreme programming
aaina_katyal
 
DOC
Rama Kelkar
Rama Kelkar
 
PPT
Extreme Programming (XP) Project Process Flow Chart
carbrac
 
PPTX
Extreme programming (xp)
Mohamed Abdelrahman
 
PPTX
optimizing code in compilers using parallel genetic algorithm
Fatemeh Karimi
 
PPTX
Extreme programming
Chuu Htet Naing
 
PPT
extreme programming
fahad khan
 
PPTX
Agile Practices - eXtreme Programming
Aniruddha Chakrabarti
 
PPTX
Going extreme-with-extreme-programming
Michael Green
 
PPTX
Extreme Programming
Shankar Dahal
 
PDF
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Rehgan Avon
 
XP In 10 slides
Robert Burrell Donkin
 
XP Explained
vineet
 
Xp exterme-programming-model
Ali MasudianPour
 
Xp(Xtreme Programming) presentation
MuaazZubairi
 
Xtreme Programming
Prasad Kancharla
 
Introduction to Software Engineering
International Islamic University Islamabad
 
Agile Testing
Naresh Jain
 
Introduction to Extreme Programming
Naresh Jain
 
Build Quality In
Kishen Simbhoedatpanday
 
Extreme programming
aaina_katyal
 
Rama Kelkar
Rama Kelkar
 
Extreme Programming (XP) Project Process Flow Chart
carbrac
 
Extreme programming (xp)
Mohamed Abdelrahman
 
optimizing code in compilers using parallel genetic algorithm
Fatemeh Karimi
 
Extreme programming
Chuu Htet Naing
 
extreme programming
fahad khan
 
Agile Practices - eXtreme Programming
Aniruddha Chakrabarti
 
Going extreme-with-extreme-programming
Michael Green
 
Extreme Programming
Shankar Dahal
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Rehgan Avon
 
Ad

Viewers also liked (20)

DOC
EId Al Nakib CV
Eid Al Nakib
 
PPTX
Neurología y apoptosis paola imbaquingo
paolaimbaquingo
 
PDF
Flipping the pimp
wieters
 
PDF
Lifeloc EASYCAL Automatic Calibration Brochure for Workplace Breath Testers
Lifeloc Technologies
 
PDF
Revista nuevas tecnologias
Samy Martinez
 
PDF
Damas - market management system for TSO
axlboy
 
DOC
Protokoll Vom 30.11.09
Mareike Rensch
 
PDF
SE- PRODUCTS
Ankit Vyas
 
PDF
Cach hoi va tra loi ve so thich trong tieng anh
Cleverlearnvietnam
 
PDF
Clients TS Consulting has worked with
Joe Gabriel
 
PPSX
Presentacion VI jornadas Voluntariado Cáritas Toledo
Caritas Toledo
 
PDF
Programme brasage 2014
Noëlla Cortiez
 
PPTX
Interfaces humanas con kinect
Andrés Londoño
 
PDF
Seguros agropecuarios y gestión integral de riesgos
FAO
 
PDF
Cómo valoran la RSC y el periodismo social los Medios y los periodistas
Estudio de Comunicación
 
PPT
Rosa rueda cárceles 1
felirosa
 
PDF
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Gonzalo Chacaltana
 
PPT
Mrs Abrey Lesson 5 transpiration
karthinava
 
PDF
Europass-CV-20141121-GonzalezMotos-EN
Serafín González Motos
 
PDF
Presentación Emilie Vandecandelaere, FAO (spanish)
ExternalEvents
 
EId Al Nakib CV
Eid Al Nakib
 
Neurología y apoptosis paola imbaquingo
paolaimbaquingo
 
Flipping the pimp
wieters
 
Lifeloc EASYCAL Automatic Calibration Brochure for Workplace Breath Testers
Lifeloc Technologies
 
Revista nuevas tecnologias
Samy Martinez
 
Damas - market management system for TSO
axlboy
 
Protokoll Vom 30.11.09
Mareike Rensch
 
SE- PRODUCTS
Ankit Vyas
 
Cach hoi va tra loi ve so thich trong tieng anh
Cleverlearnvietnam
 
Clients TS Consulting has worked with
Joe Gabriel
 
Presentacion VI jornadas Voluntariado Cáritas Toledo
Caritas Toledo
 
Programme brasage 2014
Noëlla Cortiez
 
Interfaces humanas con kinect
Andrés Londoño
 
Seguros agropecuarios y gestión integral de riesgos
FAO
 
Cómo valoran la RSC y el periodismo social los Medios y los periodistas
Estudio de Comunicación
 
Rosa rueda cárceles 1
felirosa
 
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Gonzalo Chacaltana
 
Mrs Abrey Lesson 5 transpiration
karthinava
 
Europass-CV-20141121-GonzalezMotos-EN
Serafín González Motos
 
Presentación Emilie Vandecandelaere, FAO (spanish)
ExternalEvents
 
Ad

Similar to xTreme Programming by Sejo Ćesić and Enis Zeherović (20)

PPTX
Extreme Programming (XP): Revisted
Mike Harris
 
PPTX
Agile software development and extreme Programming
Fatemeh Karimi
 
DOC
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Alex Tarra
 
PPTX
Extreme Programming
pearlcatcharro
 
PPS
Software Development in the Brave New world
David Leip
 
PPS
3685807
nazeer pasha
 
PPTX
Extreme Programming: An Introduction to XP Practices
David Hanson
 
PPT
Chap 3 - Agile - XP.ppt
Durga Prasad
 
ODP
What is xp
Simone Federici
 
PPTX
It's XP Stupid (2019)
Mike Harris
 
PPT
tem7
guest69032c
 
PDF
It's XP, Stupid
Mike Harris
 
PPT
Agile Development Ultimate Slides
gilashikwa
 
DOCX
Methods of agile
MelaniePascaline
 
PPTX
Overview of extreme programming
Yejin Park
 
PPTX
Agile testing
Sony India Software Center
 
PPTX
Extreme Programming (XP).pptx in devops.
kowsalyabalu84
 
PPTX
03. Agile Development
Ashis Kumar Chanda
 
PPTX
Agile methods series (xp)
XPDays
 
PPT
agility_principles.ppt
AteeqaKokab1
 
Extreme Programming (XP): Revisted
Mike Harris
 
Agile software development and extreme Programming
Fatemeh Karimi
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Alex Tarra
 
Extreme Programming
pearlcatcharro
 
Software Development in the Brave New world
David Leip
 
3685807
nazeer pasha
 
Extreme Programming: An Introduction to XP Practices
David Hanson
 
Chap 3 - Agile - XP.ppt
Durga Prasad
 
What is xp
Simone Federici
 
It's XP Stupid (2019)
Mike Harris
 
It's XP, Stupid
Mike Harris
 
Agile Development Ultimate Slides
gilashikwa
 
Methods of agile
MelaniePascaline
 
Overview of extreme programming
Yejin Park
 
Extreme Programming (XP).pptx in devops.
kowsalyabalu84
 
03. Agile Development
Ashis Kumar Chanda
 
Agile methods series (xp)
XPDays
 
agility_principles.ppt
AteeqaKokab1
 

More from Bosnia Agile (20)

PDF
Psychological Safety and Remote Work by Matthew Philip
Bosnia Agile
 
PDF
Agile playground - Navigating Change Through Continuous experimentation by St...
Bosnia Agile
 
PDF
Culture eats everything for breakfast! by Vladimir Kelava
Bosnia Agile
 
PDF
Beyond Boundaries: Nurturing Psychological Safety for Tech Excellence by Barı...
Bosnia Agile
 
PDF
Banking Reimagined - Navigating the Adaptive transformation by Ana Kafadar
Bosnia Agile
 
PDF
Decoding Success in Pharma and e-Health by Lejla Zonić
Bosnia Agile
 
PDF
Agile Experimentation in Everyday Life - A Guide to More Aha! moments by Milo...
Bosnia Agile
 
PDF
Agile Experimentation in Everyday Life - A Guide to More Aha! moments by Milo...
Bosnia Agile
 
PDF
How AI will transform agile project management by Jasna Pleho and Elvir Ćesko
Bosnia Agile
 
PDF
How can Operational Value Streams Shape Your Product Strategy and Roadmap Suc...
Bosnia Agile
 
PDF
Agile is not just for software development, it’s for the whole business! by O...
Bosnia Agile
 
PDF
Supercharge your teams with Value Stream Management by Richard Knaster
Bosnia Agile
 
PDF
Data Visualization Techniques in Meteorological and Climatological World usin...
Bosnia Agile
 
PDF
Creating transformation in Healthcare by Banu Gülsün, Mutlu Çiçek and Onur Ön...
Bosnia Agile
 
PDF
Production Support - the DevOps way by Mustafa Mehmedić
Bosnia Agile
 
PDF
The Rationale for Continuous Delivery by Dave Farley
Bosnia Agile
 
PDF
What’s a Design Sprint and Why Does it Matter? by Elvis Pivić
Bosnia Agile
 
PDF
Disciplined Agile:  Past, present, and future. The path to true business agil...
Bosnia Agile
 
PDF
Building a world-class work culture by Rešad Začina
Bosnia Agile
 
PDF
Scrum Turns 25 - Usage and the future by Dave West
Bosnia Agile
 
Psychological Safety and Remote Work by Matthew Philip
Bosnia Agile
 
Agile playground - Navigating Change Through Continuous experimentation by St...
Bosnia Agile
 
Culture eats everything for breakfast! by Vladimir Kelava
Bosnia Agile
 
Beyond Boundaries: Nurturing Psychological Safety for Tech Excellence by Barı...
Bosnia Agile
 
Banking Reimagined - Navigating the Adaptive transformation by Ana Kafadar
Bosnia Agile
 
Decoding Success in Pharma and e-Health by Lejla Zonić
Bosnia Agile
 
Agile Experimentation in Everyday Life - A Guide to More Aha! moments by Milo...
Bosnia Agile
 
Agile Experimentation in Everyday Life - A Guide to More Aha! moments by Milo...
Bosnia Agile
 
How AI will transform agile project management by Jasna Pleho and Elvir Ćesko
Bosnia Agile
 
How can Operational Value Streams Shape Your Product Strategy and Roadmap Suc...
Bosnia Agile
 
Agile is not just for software development, it’s for the whole business! by O...
Bosnia Agile
 
Supercharge your teams with Value Stream Management by Richard Knaster
Bosnia Agile
 
Data Visualization Techniques in Meteorological and Climatological World usin...
Bosnia Agile
 
Creating transformation in Healthcare by Banu Gülsün, Mutlu Çiçek and Onur Ön...
Bosnia Agile
 
Production Support - the DevOps way by Mustafa Mehmedić
Bosnia Agile
 
The Rationale for Continuous Delivery by Dave Farley
Bosnia Agile
 
What’s a Design Sprint and Why Does it Matter? by Elvis Pivić
Bosnia Agile
 
Disciplined Agile:  Past, present, and future. The path to true business agil...
Bosnia Agile
 
Building a world-class work culture by Rešad Začina
Bosnia Agile
 
Scrum Turns 25 - Usage and the future by Dave West
Bosnia Agile
 

Recently uploaded (20)

PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 

xTreme Programming by Sejo Ćesić and Enis Zeherović

  • 1. XP?
  • 3. eXtreme Programming  Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries  AGILE software development methodology  Developed in reaction to high ceremony methodologies (e.g. Rational Unified Process - RUP)
  • 4. XP Goal Organize people to produce higher-quality software more productively
  • 5. XP Activities  Coding  Testing  Listening  Designing
  • 6. XP Values  Communication  Simplicity (YAGNI)  Feedback "Optimism is an occupational hazard of programming. Feedback is the treatment.“  Courage refactor/remove code, be persistent  Respect
  • 7. XP Practices 1. Pair programming 2. Planning game 3. Test driven development 4. Whole team - customer is in the team 5. Continuous process (integration, refactoring, small releases) 6. Shared understanding (coding, collective ownership, simple design) 7. Sustainable pace
  • 9. Pair programming Driver & Navigator metaphor improving: - Economics Errors avoided, zero cost to fix them later - Design quality Second opinion constantly questioning yours - Satisfaction - Great confidence in code - Learning - Constant exchange of knowledge - Team building - Communication improves exponentially
  • 10. Resistance to XP  2 programmers cost 2 times more than 1 programmer!  Place full of people never shutting their mouth will drive you insane!  When do I get to surf the web? Or chat online?
  • 11. Resistance to XP (cont.)  Mistakes of a single person cost much much more!  Once you are working with your pair, you don't hear anyone else anymore. In fact, smart manager knows: No noise -> something is wrong!
  • 13. Planning game  Release plan  Iteration plan  Acceptance test  Stand Up Meeting  Pair Negotiation  Unit Test  Pair Programming
  • 15. Burndown and velocity  How much work is getting done on your project?  Burndown keeps track of iteration progres  Calculate velocity on the end of iteration =(estimated hours - remaining hours) / nr. of days
  • 16. PG - Burndown and velocity
  • 17. Test driven development … will be presented soon
  • 18. Whole team Customer is “on site” and used for:  writing user stories  release and iteration planning  complete programming tasks  functional testing Alternative: “proxy customer”
  • 19. Continuous process  Continuous integration  Design improvement, refactorings  Small releases, shippable products, demonstration per iteration
  • 20. Shared understanding  Coding standard  Collective code ownership  Simple design  System metaphor
  • 21. Sustainable pace  Frequent code merge & always executable & test covered high quality code ---> fresh and alert minds  40 hours week
  • 24. Test driven development  Add a test  Run all tests and see if the new one fails  Write some code  Run tests  Refactor code  Repeat
  • 26. Test driven development Apply F.I.R.S.T. properties of unit tests: Fast many hundreds or thousands per second Isolates failure reason become obvious Repeatable run repeatedly in any order any time Self-validating no manual evaluation required Timely written before the code
  • 27. Test driven development  One assert per test  Descriptive names of tests  Test code is important as production code (maybe more)  Recognize test code as documentation you are always missing  The quality of a test is how good it points you on the failure in your system if it fails
  • 28. TDD - practical introduction Two parts:  Java TDD Kata in Eclipse  User interface TDD testing
  • 29. TDD Kata  String Calculator:  Set of requirements  Develop one task at a time  Test only positive cases
  • 30. TDD Kata – String Calculator  Requirements: 1. Empty string returns zero 2. String with single digit returns that digit 3. String with 2 digits separated with a ‘,‘ retuns sum of these 2 numbers () 4. Unknown number of digits separated by ‘,‘ must be possible 5. A new line can be used as a separator 6. Custom delimiter must be supported (//[delimiter]n[numbers])
  • 31. User interface TDD testing  New page development in TDD  Tools: Eclipse, Selenium, TestNG  Free tool: testeditor.org
  • 32. Q&A