SlideShare a Scribd company logo
1 of 48
Download to read offline
Agile Goa 2007

    Introduction of
eXtreme Programming


      Vikas Hazrati
      Oct 31, 2007
Agenda
What is XP?
History of Extreme Programming
XP Core Components
XP Values
XP Principles
The Whole XP Team
XP Flowcharts
FAQs
Questions

                 www.xebia.com
What is XP?
XP is a philosophy of software development
based on well laid out values, principles and
practices.


Goal of XP is outstanding software
development at lower cost, with fewer
defects, high productivity and much higher
return on investment.



                   www.xebia.com
What is XP?
Another methodology but why?

  • Social Change- Giving up defences
  • Based on Excellent programming techniques, clear
    communication and teamwork
  • Lightweight – only do whatever adds value to the
    customer
  • Addresses constraints in software development
  • Can work with teams of any size
  • Adapts to rapidly changing requirements


                     www.xebia.com
What is XP?
XP addresses risks at all levels of
development process

  • Schedule Slips
  • Defect Rate
  • Business misunderstood
  • Business changes
  • False feature list
  • Staff turnover


                   www.xebia.com
History of Extreme
          Programming
Early Influences
    Incremental, stakeholder-driven design process

    from Alexander
    Programming as learning from Papert, Kay


Kent Beck & Ward Cunningham
    Mid-80s – Pair programming at Tektronix


    80s, 90s – Smalltalk culture produces refactoring,

    continuous integration, constant testing, close
    customer involvement
    Generalized to other environments


    Early 90s – Core values developed within

    patterns community, Hillside Group

                      www.xebia.com
History of Extreme
       Programming
Scrum practices incorporated and
adapted as planning game
1999 – Extreme Programming Explained
1999 – Fowler publishes Refactoring
1999 – XP Immersion held, e-group
formed
2000 – more books, first conferences
Evolution continues through today


              www.xebia.com
Core Components


                                   Practices
      Values

                   Principles


Values bring purpose to practices.
Practices are evidence of values.
Principles are domain specific guidelines for
life.

                   www.xebia.com
The Five Core Values of
          XP

Communication.
Simplicity.
Feedback.
Courage.
Respect




                          9
Communication

Often problem that arise in SW project
can be tracked back to lack of
communication.
XP enforces the Communication Value by
employing many practice that could not
be carried without communicating (e.g.
pair programming, unit testing etc.).
XP employs a Coach whose job is that of
noticing when people are not
communicating and reintroduce them.
                                          10
Simplicity

''Do the simplest thing that could possibly
work'' (DTSTTCPW) principle (elsewhere
known as KISS).

An XP coach may say DTSTTCPW when he
sees an XP developer doing something that is
needlessly complicated.

YAGNI principle (''You ain’t gonna need it'')

Simplicity and Communication support each
other mutually.

                                                11
Feedback
Feedback works in XP at different time scales.

Programmers have feedback on a minutes
time scale on the status of the system thanks
to unit tests.

When customers write new stories the
programmers estimate those immediately to
give prompt feedback to the customer about
the quality of the stories.

The customer review the scheduler every 2-3
weeks and provide prompt feedback to the
developer.
                                             12
Courage

XP team should have the courage of throwing
code away.

XP team should have the courage of mainly
refactor the architecture of the system, if
architectural flaw are detected.

Courage with counterbalancing values is
dangerous. Doing something without regard
for consequences is not effective teamwork.



                                              13
Respect

Respect for team members.
Respect for the project.




                            14
Core Components



                     Practices
Values

         Practices




                                 15
XP Principles
Humanity- People, What do people need to
become good developers?


Economics- Every action should have business
value.

Mutual Benefit- Most important and most difficult
to adhere to. Extensive internal documentation.

Self Similarity- You can copy structure of one
solution to a new context. Theme, story, tests
                     www.xebia.com
XP Principles
Improvement- In software development “perfect”
is a verb not adjective.


Diversity- Teams need diversity.

Reflection- How and Why of working.

Flow- Steady flow of valuable software. RDITID

Opportunities- Problems are opportunities.
                     www.xebia.com
XP Principles
Redundancy- Do not remove redundancy that
serves a valid purpose.


Failure- Is failure a waste?

Quality- Cost of quality? Quality ~ Productivity

Baby Steps- Rapid small steps = leap.

Accepted Responsibility- Responsibility cannot be
assigned.
                      www.xebia.com
Core Components



                      Practices
Values

         Principles




                                  19
Practices


Primary                      Corollary




             www.xebia.com
Primary Practices
Sit Together
Whole Team
Informative workspace
Energized work
Pair Programming
Stories
Weekly Cycle
Quarterly Cycle
Slack
10 minute build
Continuous Integration
Test First Programming
Incremental Design

                     www.xebia.com
Sit Together / Whole Team




           www.xebia.com
Sit Together / Whole Team




           www.xebia.com
Informative Workspace




         www.xebia.com
Informative Workspace




         www.xebia.com
Informative Workspace




         www.xebia.com
Energized work
Work only as many hours as
productive
Ideally 40 hours a week
Programming productivity is seen to
be 4-5 hours a day




               www.xebia.com
Pair Programming




      www.xebia.com
Pair Programming




      www.xebia.com
Stories
Units of
customer
visible
functionality.
Should be on
the story wall
for everyone to
look at.

                  www.xebia.com
Stories
Stories v/s Use Cases
    A story is not a use case, a use case is not a story


    A use case defines functional requirements in total


    Set of use cases define breadth and depth of system

    behaviour, augmented with non-functional
    requirements
    A story points to a portion of breadth and depth


    Stories incrementally build up full scope


    Usually 2-3 days of work


    Further broken down into tasks





                         www.xebia.com
Weekly / Quarterly Cycles
Weekly Cycles- Start week by writing
automated tests and then the week
implementing them, mainly about stories and
tasks.
Quarterly Cycles- Plan for releases which
cover themes. Themes can be broken down
into stories for weekly cycles




                  www.xebia.com
More...
Slack
Ten Minute Build
Continuous Integration
Test First Programming
Incremental Design
 Do the simplest thing that
  can possibly work
 Refactor



                   www.xebia.com
Practices


Primary                      Corollary




             www.xebia.com
Corollary Practices
Real Customer Involvement- No customer
or proxy customer are not as effective
Incremental Deployment- Build little
pieces and deploy it!
Team Continuity- Do not shuffle the team
too often.
Shrinking Teams



                 www.xebia.com
Corollary Practices
Root Cause Analysis- 5 Why's
Shared Code- No ownership
Code and Tests- The only artifacts
Single code base- Avoid multiple streams
Daily Deployment
Negotiated Scope Contract- Ongoing
negotiation on precise scope.



                 www.xebia.com
The Whole XP Team

Emphasis on the “Whole Team”

Collaboration and collocation




             www.xebia.com
The Whole XP Team

             Programmers
                                   Users


 Testers
                                             Project
                                             Manager




Architects
                                            Product
                                            Manager
             Interaction     Stakeholders
              Designers


                           www.xebia.com
XP Project




             39
XP Project Iteration




                       40
XP Project Development




                         41
XP Project Coding




                    42
FAQs




Some Frequently asked questions
          about XP




                                  43
XP vs. Rational Unified
                        Process
                       XP                         RUP


Primary Communication Short Daily Face to         Client Status Meetings,
Medium                Face meetings, Pair         Design Meetings
                      Programming
Development            Code, Refine, Test         Design, Document,
Methodology                                       Code, Test

Focuses on             Delivering software        Following the process
                       quickly                    to develop good
                                                  software
Quality Focus          Eliminate Defects as       Eliminate defects on a
                       early as possible in the   scheduled basis with a
                       process using whole        separate team
                       team

                                                                       44
Scaling XP
XP seems to allow smaller teams to
accomplish an awful lot
XP seems to hit single-team challenges
around 12-16 developers
XP can scale by building recursive teams
Recommended to build small team first,
incrementally grow, and use first team to
seed recursive teams
XP has been used on teams of 40-50

                 www.xebia.com
Documentation

XP is a minimalist process
Many teams successful with index cards
and large Post-Its®
XP is not anti-documentation, but
encourages doing the least amount that is
really needed
Document when needed for distributed
sharing, historical needs, summarizing, etc.


                 www.xebia.com
Adopting XP
Find a suitable team and project
Two strategies:
  Adopt XP by-the-book first, then modify
  Refactor your process incrementally to
   XP
Be mindful of practice synergies
Manage the team culture and change
Allow sufficient time for feedback and
learning
An experienced coach can be valuable
                 www.xebia.com
Questions




  ?
   www.xebia.com

More Related Content

What's hot

Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming Fatemeh Karimi
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile MethodologySapna Sood
 
Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodologyAmit Verma
 
Agile methodology
Agile methodologyAgile methodology
Agile methodologyDhruv Kumar
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Developmentsushant.1409
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software DevelopmentRaghav Seth
 
Waterfall vs Agile : A Beginner's Guide in Project Management
Waterfall vs Agile : A Beginner's Guide in Project ManagementWaterfall vs Agile : A Beginner's Guide in Project Management
Waterfall vs Agile : A Beginner's Guide in Project ManagementJonathan Donado
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile modelzoomers
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Scrum 101
Scrum 101Scrum 101
Scrum 101beLithe
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To AgileKnoldus Inc.
 
Agile Manifesto and Principles
Agile Manifesto and PrinciplesAgile Manifesto and Principles
Agile Manifesto and PrinciplesAryan Rajbhandari
 

What's hot (20)

Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
What Is Agile Scrum
What Is Agile ScrumWhat Is Agile Scrum
What Is Agile Scrum
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Agile Methodology ppt
Agile Methodology pptAgile Methodology ppt
Agile Methodology ppt
 
Scrum In 15 Minutes
Scrum In 15 MinutesScrum In 15 Minutes
Scrum In 15 Minutes
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile
AgileAgile
Agile
 
Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodology
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
2017 Scrum by Picture
2017 Scrum by Picture2017 Scrum by Picture
2017 Scrum by Picture
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
 
Waterfall vs Agile : A Beginner's Guide in Project Management
Waterfall vs Agile : A Beginner's Guide in Project ManagementWaterfall vs Agile : A Beginner's Guide in Project Management
Waterfall vs Agile : A Beginner's Guide in Project Management
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
Scrum 101
Scrum 101Scrum 101
Scrum 101
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Agile Manifesto and Principles
Agile Manifesto and PrinciplesAgile Manifesto and Principles
Agile Manifesto and Principles
 
feature vs component teams
feature vs component teamsfeature vs component teams
feature vs component teams
 

Viewers also liked

Extreme programming
Extreme programmingExtreme programming
Extreme programmingMr SMAK
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachDavid Tzemach
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme ProgrammingJoe Drumgoole
 
Xp exterme-programming-model
Xp exterme-programming-modelXp exterme-programming-model
Xp exterme-programming-modelAli MasudianPour
 
XP Explained
XP ExplainedXP Explained
XP Explainedvineet
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme ProgrammingErkan Erol
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationMuaazZubairi
 
Extreme Programming practices for your team
Extreme Programming practices for your teamExtreme Programming practices for your team
Extreme Programming practices for your teamPawel Lipinski
 
WeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveWeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveJohannes Brodwall
 
Vertical vs horizontal software architecture ruby conf india 2016
Vertical vs horizontal software architecture ruby conf india 2016Vertical vs horizontal software architecture ruby conf india 2016
Vertical vs horizontal software architecture ruby conf india 2016Christian Hujer
 
Prototyping in Web Software Development
Prototyping in Web Software DevelopmentPrototyping in Web Software Development
Prototyping in Web Software DevelopmentErkki Tapola
 
Dynamic system development method
Dynamic system development methodDynamic system development method
Dynamic system development methodion_ion_ion
 
10 adaptive sd_15
10 adaptive sd_1510 adaptive sd_15
10 adaptive sd_15dcsunu
 
Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programmingMichael Green
 

Viewers also liked (20)

Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David Tzemach
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme Programming
 
Xp exterme-programming-model
Xp exterme-programming-modelXp exterme-programming-model
Xp exterme-programming-model
 
XP In 10 slides
XP In 10 slidesXP In 10 slides
XP In 10 slides
 
XP Explained
XP ExplainedXP Explained
XP Explained
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentation
 
Extreme Programming practices for your team
Extreme Programming practices for your teamExtreme Programming practices for your team
Extreme Programming practices for your team
 
WeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveWeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming Live
 
Vertical vs horizontal software architecture ruby conf india 2016
Vertical vs horizontal software architecture ruby conf india 2016Vertical vs horizontal software architecture ruby conf india 2016
Vertical vs horizontal software architecture ruby conf india 2016
 
Prototyping in Web Software Development
Prototyping in Web Software DevelopmentPrototyping in Web Software Development
Prototyping in Web Software Development
 
Dynamic system development method
Dynamic system development methodDynamic system development method
Dynamic system development method
 
Prototypemodel
PrototypemodelPrototypemodel
Prototypemodel
 
Zahid Asd
Zahid AsdZahid Asd
Zahid Asd
 
10 adaptive sd_15
10 adaptive sd_1510 adaptive sd_15
10 adaptive sd_15
 
Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programming
 

Similar to Introduction to Extreme Programming

xTreme Programming by Sejo Ćesić and Enis Zeherović
xTreme Programming by Sejo Ćesić and Enis ZeherovićxTreme Programming by Sejo Ćesić and Enis Zeherović
xTreme Programming by Sejo Ćesić and Enis ZeherovićBosnia Agile
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
Extreme delivery - Lean Agile Scotland 2019 (Abridged)
Extreme delivery - Lean Agile Scotland 2019 (Abridged)Extreme delivery - Lean Agile Scotland 2019 (Abridged)
Extreme delivery - Lean Agile Scotland 2019 (Abridged)Eddie Kenny
 
Analysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyAnalysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyMakoto SAKAI
 
Agile methods series (xp)
Agile methods series (xp)Agile methods series (xp)
Agile methods series (xp)XPDays
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesJérôme Kehrli
 
Unit 9 and Unit 10.pptx
Unit 9 and Unit 10.pptxUnit 9 and Unit 10.pptx
Unit 9 and Unit 10.pptxReshmaGummadi1
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdfBassam Kanber
 
Extreme Programming Talk Wise Consulting Www.Talkwiseconsulting
Extreme  Programming    Talk Wise  Consulting   Www.TalkwiseconsultingExtreme  Programming    Talk Wise  Consulting   Www.Talkwiseconsulting
Extreme Programming Talk Wise Consulting Www.Talkwiseconsultingtalkwiseone
 
Extreme programming talk wise consulting - www.talkwiseconsulting
Extreme programming   talk wise consulting - www.talkwiseconsultingExtreme programming   talk wise consulting - www.talkwiseconsulting
Extreme programming talk wise consulting - www.talkwiseconsultingtalkwiseone
 
Waterfallacies V1 1
Waterfallacies V1 1Waterfallacies V1 1
Waterfallacies V1 1Jorge Boria
 
XP vs Lean vs FDD
XP vs Lean vs FDDXP vs Lean vs FDD
XP vs Lean vs FDDSuman Guha
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015Raghu Karnati
 
Testing Sap: Modern Methodology
Testing Sap: Modern MethodologyTesting Sap: Modern Methodology
Testing Sap: Modern MethodologyEthan Jewett
 
XP, Scrum, Lean and the Lean Startup
XP, Scrum, Lean and the Lean StartupXP, Scrum, Lean and the Lean Startup
XP, Scrum, Lean and the Lean StartupJulian Higman
 
extreme programming
extreme programmingextreme programming
extreme programmingfahad khan
 

Similar to Introduction to Extreme Programming (20)

xTreme Programming by Sejo Ćesić and Enis Zeherović
xTreme Programming by Sejo Ćesić and Enis ZeherovićxTreme Programming by Sejo Ćesić and Enis Zeherović
xTreme Programming by Sejo Ćesić and Enis Zeherović
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Extreme delivery - Lean Agile Scotland 2019 (Abridged)
Extreme delivery - Lean Agile Scotland 2019 (Abridged)Extreme delivery - Lean Agile Scotland 2019 (Abridged)
Extreme delivery - Lean Agile Scotland 2019 (Abridged)
 
Analysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyAnalysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectively
 
Agile methods series (xp)
Agile methods series (xp)Agile methods series (xp)
Agile methods series (xp)
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and Practices
 
Unit 9 and Unit 10.pptx
Unit 9 and Unit 10.pptxUnit 9 and Unit 10.pptx
Unit 9 and Unit 10.pptx
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdf
 
Extreme Programming Talk Wise Consulting Www.Talkwiseconsulting
Extreme  Programming    Talk Wise  Consulting   Www.TalkwiseconsultingExtreme  Programming    Talk Wise  Consulting   Www.Talkwiseconsulting
Extreme Programming Talk Wise Consulting Www.Talkwiseconsulting
 
Extreme programming talk wise consulting - www.talkwiseconsulting
Extreme programming   talk wise consulting - www.talkwiseconsultingExtreme programming   talk wise consulting - www.talkwiseconsulting
Extreme programming talk wise consulting - www.talkwiseconsulting
 
Agile testing
Agile testingAgile testing
Agile testing
 
Waterfallacies V1 1
Waterfallacies V1 1Waterfallacies V1 1
Waterfallacies V1 1
 
XP vs Lean vs FDD
XP vs Lean vs FDDXP vs Lean vs FDD
XP vs Lean vs FDD
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Testing Sap: Modern Methodology
Testing Sap: Modern MethodologyTesting Sap: Modern Methodology
Testing Sap: Modern Methodology
 
XP, Scrum, Lean and the Lean Startup
XP, Scrum, Lean and the Lean StartupXP, Scrum, Lean and the Lean Startup
XP, Scrum, Lean and the Lean Startup
 
extreme programming
extreme programmingextreme programming
extreme programming
 
U Xmagic Agile Presentation
U Xmagic Agile PresentationU Xmagic Agile Presentation
U Xmagic Agile Presentation
 

More from Naresh Jain

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignNaresh Jain
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteNaresh Jain
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational ResilienceNaresh Jain
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming CodeNaresh Jain
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference SummaryNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingNaresh Jain
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniNaresh Jain
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniNaresh Jain
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarNaresh Jain
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppNaresh Jain
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdNaresh Jain
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Naresh Jain
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNaresh Jain
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016Naresh Jain
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 ConferenceNaresh Jain
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTNaresh Jain
 

More from Naresh Jain (20)

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational Resilience
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert Virding
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKenna
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
 

Recently uploaded

06_Joeri Van Speybroek_Dell_MeetupDora&Cybersecurity.pdf
06_Joeri Van Speybroek_Dell_MeetupDora&Cybersecurity.pdf06_Joeri Van Speybroek_Dell_MeetupDora&Cybersecurity.pdf
06_Joeri Van Speybroek_Dell_MeetupDora&Cybersecurity.pdfFinTech Belgium
 
Gurley shaw Theory of Monetary Economics.
Gurley shaw Theory of Monetary Economics.Gurley shaw Theory of Monetary Economics.
Gurley shaw Theory of Monetary Economics.Vinodha Devi
 
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure serviceCall US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure servicePooja Nehwal
 
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...dipikadinghjn ( Why You Choose Us? ) Escorts
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best sexual serviceanilsa9823
 
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Delhi Call girls
 
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...Pooja Nehwal
 
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...ssifa0344
 
Call Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
The Economic History of the U.S. Lecture 20.pdf
The Economic History of the U.S. Lecture 20.pdfThe Economic History of the U.S. Lecture 20.pdf
The Economic History of the U.S. Lecture 20.pdfGale Pooley
 
Stock Market Brief Deck (Under Pressure).pdf
Stock Market Brief Deck (Under Pressure).pdfStock Market Brief Deck (Under Pressure).pdf
Stock Market Brief Deck (Under Pressure).pdfMichael Silva
 
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...dipikadinghjn ( Why You Choose Us? ) Escorts
 
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptxFinTech Belgium
 
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsHigh Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
The Economic History of the U.S. Lecture 17.pdf
The Economic History of the U.S. Lecture 17.pdfThe Economic History of the U.S. Lecture 17.pdf
The Economic History of the U.S. Lecture 17.pdfGale Pooley
 

Recently uploaded (20)

06_Joeri Van Speybroek_Dell_MeetupDora&Cybersecurity.pdf
06_Joeri Van Speybroek_Dell_MeetupDora&Cybersecurity.pdf06_Joeri Van Speybroek_Dell_MeetupDora&Cybersecurity.pdf
06_Joeri Van Speybroek_Dell_MeetupDora&Cybersecurity.pdf
 
Gurley shaw Theory of Monetary Economics.
Gurley shaw Theory of Monetary Economics.Gurley shaw Theory of Monetary Economics.
Gurley shaw Theory of Monetary Economics.
 
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure serviceCall US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure service
 
(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7
(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7
(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7
 
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
VIP Independent Call Girls in Andheri 🌹 9920725232 ( Call Me ) Mumbai Escorts...
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best sexual service
 
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
 
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...
 
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...
 
Call Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Koregaon Park Call Me 7737669865 Budget Friendly No Advance Booking
 
The Economic History of the U.S. Lecture 20.pdf
The Economic History of the U.S. Lecture 20.pdfThe Economic History of the U.S. Lecture 20.pdf
The Economic History of the U.S. Lecture 20.pdf
 
Stock Market Brief Deck (Under Pressure).pdf
Stock Market Brief Deck (Under Pressure).pdfStock Market Brief Deck (Under Pressure).pdf
Stock Market Brief Deck (Under Pressure).pdf
 
Veritas Interim Report 1 January–31 March 2024
Veritas Interim Report 1 January–31 March 2024Veritas Interim Report 1 January–31 March 2024
Veritas Interim Report 1 January–31 March 2024
 
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Maya Call 7001035870 Meet With Nagpur Escorts
 
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
VIP Independent Call Girls in Bandra West 🌹 9920725232 ( Call Me ) Mumbai Esc...
 
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
 
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsHigh Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
The Economic History of the U.S. Lecture 17.pdf
The Economic History of the U.S. Lecture 17.pdfThe Economic History of the U.S. Lecture 17.pdf
The Economic History of the U.S. Lecture 17.pdf
 

Introduction to Extreme Programming

  • 1. Agile Goa 2007 Introduction of eXtreme Programming Vikas Hazrati Oct 31, 2007
  • 2. Agenda What is XP? History of Extreme Programming XP Core Components XP Values XP Principles The Whole XP Team XP Flowcharts FAQs Questions www.xebia.com
  • 3. What is XP? XP is a philosophy of software development based on well laid out values, principles and practices. Goal of XP is outstanding software development at lower cost, with fewer defects, high productivity and much higher return on investment. www.xebia.com
  • 4. What is XP? Another methodology but why? • Social Change- Giving up defences • Based on Excellent programming techniques, clear communication and teamwork • Lightweight – only do whatever adds value to the customer • Addresses constraints in software development • Can work with teams of any size • Adapts to rapidly changing requirements www.xebia.com
  • 5. What is XP? XP addresses risks at all levels of development process • Schedule Slips • Defect Rate • Business misunderstood • Business changes • False feature list • Staff turnover www.xebia.com
  • 6. History of Extreme Programming Early Influences Incremental, stakeholder-driven design process  from Alexander Programming as learning from Papert, Kay  Kent Beck & Ward Cunningham Mid-80s – Pair programming at Tektronix  80s, 90s – Smalltalk culture produces refactoring,  continuous integration, constant testing, close customer involvement Generalized to other environments  Early 90s – Core values developed within  patterns community, Hillside Group www.xebia.com
  • 7. History of Extreme Programming Scrum practices incorporated and adapted as planning game 1999 – Extreme Programming Explained 1999 – Fowler publishes Refactoring 1999 – XP Immersion held, e-group formed 2000 – more books, first conferences Evolution continues through today www.xebia.com
  • 8. Core Components Practices Values Principles Values bring purpose to practices. Practices are evidence of values. Principles are domain specific guidelines for life. www.xebia.com
  • 9. The Five Core Values of XP Communication. Simplicity. Feedback. Courage. Respect 9
  • 10. Communication Often problem that arise in SW project can be tracked back to lack of communication. XP enforces the Communication Value by employing many practice that could not be carried without communicating (e.g. pair programming, unit testing etc.). XP employs a Coach whose job is that of noticing when people are not communicating and reintroduce them. 10
  • 11. Simplicity ''Do the simplest thing that could possibly work'' (DTSTTCPW) principle (elsewhere known as KISS). An XP coach may say DTSTTCPW when he sees an XP developer doing something that is needlessly complicated. YAGNI principle (''You ain’t gonna need it'') Simplicity and Communication support each other mutually. 11
  • 12. Feedback Feedback works in XP at different time scales. Programmers have feedback on a minutes time scale on the status of the system thanks to unit tests. When customers write new stories the programmers estimate those immediately to give prompt feedback to the customer about the quality of the stories. The customer review the scheduler every 2-3 weeks and provide prompt feedback to the developer. 12
  • 13. Courage XP team should have the courage of throwing code away. XP team should have the courage of mainly refactor the architecture of the system, if architectural flaw are detected. Courage with counterbalancing values is dangerous. Doing something without regard for consequences is not effective teamwork. 13
  • 14. Respect Respect for team members. Respect for the project. 14
  • 15. Core Components Practices Values Practices 15
  • 16. XP Principles Humanity- People, What do people need to become good developers? Economics- Every action should have business value. Mutual Benefit- Most important and most difficult to adhere to. Extensive internal documentation. Self Similarity- You can copy structure of one solution to a new context. Theme, story, tests www.xebia.com
  • 17. XP Principles Improvement- In software development “perfect” is a verb not adjective. Diversity- Teams need diversity. Reflection- How and Why of working. Flow- Steady flow of valuable software. RDITID Opportunities- Problems are opportunities. www.xebia.com
  • 18. XP Principles Redundancy- Do not remove redundancy that serves a valid purpose. Failure- Is failure a waste? Quality- Cost of quality? Quality ~ Productivity Baby Steps- Rapid small steps = leap. Accepted Responsibility- Responsibility cannot be assigned. www.xebia.com
  • 19. Core Components Practices Values Principles 19
  • 20. Practices Primary Corollary www.xebia.com
  • 21. Primary Practices Sit Together Whole Team Informative workspace Energized work Pair Programming Stories Weekly Cycle Quarterly Cycle Slack 10 minute build Continuous Integration Test First Programming Incremental Design www.xebia.com
  • 22. Sit Together / Whole Team www.xebia.com
  • 23. Sit Together / Whole Team www.xebia.com
  • 24. Informative Workspace www.xebia.com
  • 25. Informative Workspace www.xebia.com
  • 26. Informative Workspace www.xebia.com
  • 27. Energized work Work only as many hours as productive Ideally 40 hours a week Programming productivity is seen to be 4-5 hours a day www.xebia.com
  • 28. Pair Programming www.xebia.com
  • 29. Pair Programming www.xebia.com
  • 30. Stories Units of customer visible functionality. Should be on the story wall for everyone to look at. www.xebia.com
  • 31. Stories Stories v/s Use Cases A story is not a use case, a use case is not a story  A use case defines functional requirements in total  Set of use cases define breadth and depth of system  behaviour, augmented with non-functional requirements A story points to a portion of breadth and depth  Stories incrementally build up full scope  Usually 2-3 days of work  Further broken down into tasks  www.xebia.com
  • 32. Weekly / Quarterly Cycles Weekly Cycles- Start week by writing automated tests and then the week implementing them, mainly about stories and tasks. Quarterly Cycles- Plan for releases which cover themes. Themes can be broken down into stories for weekly cycles www.xebia.com
  • 33. More... Slack Ten Minute Build Continuous Integration Test First Programming Incremental Design Do the simplest thing that can possibly work Refactor www.xebia.com
  • 34. Practices Primary Corollary www.xebia.com
  • 35. Corollary Practices Real Customer Involvement- No customer or proxy customer are not as effective Incremental Deployment- Build little pieces and deploy it! Team Continuity- Do not shuffle the team too often. Shrinking Teams www.xebia.com
  • 36. Corollary Practices Root Cause Analysis- 5 Why's Shared Code- No ownership Code and Tests- The only artifacts Single code base- Avoid multiple streams Daily Deployment Negotiated Scope Contract- Ongoing negotiation on precise scope. www.xebia.com
  • 37. The Whole XP Team Emphasis on the “Whole Team” Collaboration and collocation www.xebia.com
  • 38. The Whole XP Team Programmers Users Testers Project Manager Architects Product Manager Interaction Stakeholders Designers www.xebia.com
  • 43. FAQs Some Frequently asked questions about XP 43
  • 44. XP vs. Rational Unified Process XP RUP Primary Communication Short Daily Face to Client Status Meetings, Medium Face meetings, Pair Design Meetings Programming Development Code, Refine, Test Design, Document, Methodology Code, Test Focuses on Delivering software Following the process quickly to develop good software Quality Focus Eliminate Defects as Eliminate defects on a early as possible in the scheduled basis with a process using whole separate team team 44
  • 45. Scaling XP XP seems to allow smaller teams to accomplish an awful lot XP seems to hit single-team challenges around 12-16 developers XP can scale by building recursive teams Recommended to build small team first, incrementally grow, and use first team to seed recursive teams XP has been used on teams of 40-50 www.xebia.com
  • 46. Documentation XP is a minimalist process Many teams successful with index cards and large Post-Its® XP is not anti-documentation, but encourages doing the least amount that is really needed Document when needed for distributed sharing, historical needs, summarizing, etc. www.xebia.com
  • 47. Adopting XP Find a suitable team and project Two strategies:  Adopt XP by-the-book first, then modify  Refactor your process incrementally to XP Be mindful of practice synergies Manage the team culture and change Allow sufficient time for feedback and learning An experienced coach can be valuable www.xebia.com
  • 48. Questions ? www.xebia.com