SlideShare a Scribd company logo
1 of 23
Extreme Programming Methodology
Course: Advanced Software Engineering
12/16/2019 1
Outline
• What is a Methodology?
• What is Agile Method?
• What is XP?
• History
• Agile vs XP
• Activities in Extreme Programming
• 12 Key Practices of XP
• References
12/16/2019 2
What is a Methodology?
• A methodology is a formalized process for creating
software
–A set of rules you have to follow
–A set of conventions the organization decides to follow
–A systematical, engineering approach for organizing
software projects
12/16/2019 3
What is Agile Method?
• Code is important rather than the design.
• An iterative approach to software
development.
• Intended to deliver working software
quickly and evolve this quickly to meet
changing requirements.
• Involving constant collaboration with
stakeholders and continuous
improvement and iteration at every
stage.
12/16/2019 4
https://chercher.tech/jira/agile-methodology
What is Extreme Programming (XP)?
Extreme Programming (XP) is an agile Process model of
software development
Small to medium-sized teams,
Requirements change quickly.
Goal: Intend to decrease the cost of changes.
12/16/2019 5
History
• Kent Beck developed extreme programming during his
work in the Chrysler Comprehensive Compensation
System (C3) payroll project.
• His first book on this methodology published in 1999 and
the second version after five years.
• In the second edition he added more values and
practices.
12/16/2019 6
Agile vs XP
• XP is a set of practices that conform to the values and principles of Agile.
• XP is a discrete method, whereas Agile is a classification.
• Unlike other Agile approaches, XP has no intermediaries between the
customer and the team.
• Unlike other Agile approaches, XP has a solution if the knowledge is lost.
12/16/2019 7
Activities in Extreme Programming
• Coding
• Testing
• Listening
• Designing
12/16/2019 8
12 Key Practices of XP
1. The Planning Game
2. Small Releases
3. Metaphor
4. Simple Design
5. Test-Driven Development
6. Refactoring
7. Pair Programming
8. Collective Code Ownership
9. Continuous Integration
10.40-Hour Workweek
11.On-site Customer
12.Coding Standards
https://www.xpprogramming.com
12/16/2019 9
The Planning Game
• A result of a collaboration between the customer and the
developers.
• Planning for the upcoming iteration.
• Uses stories provided by the customer.
• Technical persons determine schedules, estimates,
costs, etc
12/16/2019 10
Small Releases
• Small in terms of functionality;
• Releases happen more frequently;
• Support the planning game.
12/16/2019 11
Metaphor
• The oral architecture of the system.
• A common set of terminology.
12/16/2019 12
Simple Design
• Do as little as needed, nothing more.
• Keep it simple, stupid
12/16/2019 13
Testing
• Testing is done throughout the entire process.
• All tests must run and pass with 100% before new
development.
• There are 2 types of tests that involve in this process:
– Test-Driven Development (TDD);
– Acceptance Tests.
12/16/2019 14
Refactoring
• Changing how the system does something but not what
is done.
• Improves the quality of the system in some way.
12/16/2019 15
Pair Programming
• Two programmers are working on the same computer to
complete a single task.
• Programmer 1 – responsible to write and implement the
code.
• Programmer 2 – watch the implementation and identifies
any code errors.
12/16/2019 16
Collective Code Ownership
• Any developer must have the ability to work on any part of
the code.
• No specific developer that responsible for a specific
component.
• A new code is reviewed by the entire team.
• Increase the responsibility of developers.
12/16/2019 17
Continuous Integration
• In xp developers must keep the system fully integrated at
all times.
• All unit tests must be run and pass with 100%.
12/16/2019 18
40-Hour Week
• The work week should be limited to 40 hours.
• Regular overtime is a symptom of a problem and not a
long term solution.
12/16/2019 19
On-Site Customer
• Gives quick and continuous feedback to the development
team.
• The customer should lead the project (requirements,
priorities, and timelines).
• The customer should be available at all times (face to
face communication).
• The customer is one of the most important resources in
xp process.
12/16/2019 20
Coding Standards
• Coding standards will help to develop better code.
• Every developer should follow the code standards.
12/16/2019 21
References
• I Sommerville,Software Engineering,8th ed.England: Addison-Wesley, 2007.
• https://hygger.io/blog/extreme-programming-waterfall-agile-kanban-scrum-
lean/.
• https://www.wrike.com/project-management-guide/faq/what-is-agile-
methodology-in-project-management/.
• https://www.slideshare.net/DavidTzemach/extreme-programming-xp-david-
tzemach.
• https://en.wikipedia.org/wiki/Extreme_programming.
• https://chercher.tech/jira/agile-methodology
12/16/2019 22
Thank you
12/16/2019 23

More Related Content

What's hot

Improving software development
Improving software developmentImproving software development
Improving software development
Naqib Khan
 
Agile driven development main principles
Agile driven development main principlesAgile driven development main principles
Agile driven development main principles
Tanya Epstein
 
Value Of Agile Metrics
Value Of Agile MetricsValue Of Agile Metrics
Value Of Agile Metrics
Alecfinn
 

What's hot (19)

Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Lect1 intro to software project management
Lect1 intro to software project managementLect1 intro to software project management
Lect1 intro to software project management
 
Agile software development
Agile software development Agile software development
Agile software development
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
Improving software development
Improving software developmentImproving software development
Improving software development
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economics
 
Lect4 software economics
Lect4 software economicsLect4 software economics
Lect4 software economics
 
Lect6 life cycle phases
Lect6 life cycle phasesLect6 life cycle phases
Lect6 life cycle phases
 
Agile Manifesto and Agile Development Methodologies
Agile Manifesto and Agile Development Methodologies Agile Manifesto and Agile Development Methodologies
Agile Manifesto and Agile Development Methodologies
 
Agile driven development main principles
Agile driven development main principlesAgile driven development main principles
Agile driven development main principles
 
Software project management Software economics
Software project management Software economicsSoftware project management Software economics
Software project management Software economics
 
Lect3 conventional vs modern spm
Lect3 conventional vs modern spmLect3 conventional vs modern spm
Lect3 conventional vs modern spm
 
Agile + Benefits + Transition Nov 2009
Agile + Benefits + Transition   Nov 2009Agile + Benefits + Transition   Nov 2009
Agile + Benefits + Transition Nov 2009
 
The Business Analyst Role on Agile Projects
The Business Analyst Role on Agile ProjectsThe Business Analyst Role on Agile Projects
The Business Analyst Role on Agile Projects
 
40 capabilities of Enterprise Project Management
40 capabilities of Enterprise Project Management40 capabilities of Enterprise Project Management
40 capabilities of Enterprise Project Management
 
Value Of Agile Metrics
Value Of Agile MetricsValue Of Agile Metrics
Value Of Agile Metrics
 
8. project-management
8. project-management8. project-management
8. project-management
 
Software project management
Software project managementSoftware project management
Software project management
 
Agile Model-Driven Development
Agile Model-Driven DevelopmentAgile Model-Driven Development
Agile Model-Driven Development
 

Similar to Extreme programming

Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
Marvin Heery
 
Software Project management
Software Project managementSoftware Project management
Software Project management
sameer farooq
 
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
 

Similar to Extreme programming (20)

itec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.pptitec513 fall20172018 COCOMO model estimation.ppt
itec513 fall20172018 COCOMO model estimation.ppt
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
2019 Agile ^ Scrum
2019 Agile ^ Scrum2019 Agile ^ Scrum
2019 Agile ^ Scrum
 
se.pdf
se.pdfse.pdf
se.pdf
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdf
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Chapter 01 - Introduction to Software Project Management
Chapter 01 - Introduction to Software Project ManagementChapter 01 - Introduction to Software Project Management
Chapter 01 - Introduction to Software Project Management
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
Interview preparation data_science
Interview preparation data_scienceInterview preparation data_science
Interview preparation data_science
 
Interview preparation testing
Interview preparation testingInterview preparation testing
Interview preparation testing
 
ASPgems company profile
ASPgems company profileASPgems company profile
ASPgems company profile
 
Beyond Projects/#NoProjects
Beyond Projects/#NoProjectsBeyond Projects/#NoProjects
Beyond Projects/#NoProjects
 
Improve Estimation maturity using Functional Size Measurement and Historical ...
Improve Estimation maturity using Functional Size Measurement and Historical ...Improve Estimation maturity using Functional Size Measurement and Historical ...
Improve Estimation maturity using Functional Size Measurement and Historical ...
 
Vb ch 1-introduction
Vb ch 1-introductionVb ch 1-introduction
Vb ch 1-introduction
 
Refactoring, Therapeutic Attitude to Programming.
Refactoring, Therapeutic Attitude to Programming.Refactoring, Therapeutic Attitude to Programming.
Refactoring, Therapeutic Attitude to Programming.
 
Lect7
Lect7Lect7
Lect7
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
introduction to vb.net
introduction to vb.netintroduction to vb.net
introduction to vb.net
 
Interview preparation full_stack_java
Interview preparation full_stack_javaInterview preparation full_stack_java
Interview preparation full_stack_java
 

Recently uploaded

Recently uploaded (20)

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 

Extreme programming

  • 1. Extreme Programming Methodology Course: Advanced Software Engineering 12/16/2019 1
  • 2. Outline • What is a Methodology? • What is Agile Method? • What is XP? • History • Agile vs XP • Activities in Extreme Programming • 12 Key Practices of XP • References 12/16/2019 2
  • 3. What is a Methodology? • A methodology is a formalized process for creating software –A set of rules you have to follow –A set of conventions the organization decides to follow –A systematical, engineering approach for organizing software projects 12/16/2019 3
  • 4. What is Agile Method? • Code is important rather than the design. • An iterative approach to software development. • Intended to deliver working software quickly and evolve this quickly to meet changing requirements. • Involving constant collaboration with stakeholders and continuous improvement and iteration at every stage. 12/16/2019 4 https://chercher.tech/jira/agile-methodology
  • 5. What is Extreme Programming (XP)? Extreme Programming (XP) is an agile Process model of software development Small to medium-sized teams, Requirements change quickly. Goal: Intend to decrease the cost of changes. 12/16/2019 5
  • 6. History • Kent Beck developed extreme programming during his work in the Chrysler Comprehensive Compensation System (C3) payroll project. • His first book on this methodology published in 1999 and the second version after five years. • In the second edition he added more values and practices. 12/16/2019 6
  • 7. Agile vs XP • XP is a set of practices that conform to the values and principles of Agile. • XP is a discrete method, whereas Agile is a classification. • Unlike other Agile approaches, XP has no intermediaries between the customer and the team. • Unlike other Agile approaches, XP has a solution if the knowledge is lost. 12/16/2019 7
  • 8. Activities in Extreme Programming • Coding • Testing • Listening • Designing 12/16/2019 8
  • 9. 12 Key Practices of XP 1. The Planning Game 2. Small Releases 3. Metaphor 4. Simple Design 5. Test-Driven Development 6. Refactoring 7. Pair Programming 8. Collective Code Ownership 9. Continuous Integration 10.40-Hour Workweek 11.On-site Customer 12.Coding Standards https://www.xpprogramming.com 12/16/2019 9
  • 10. The Planning Game • A result of a collaboration between the customer and the developers. • Planning for the upcoming iteration. • Uses stories provided by the customer. • Technical persons determine schedules, estimates, costs, etc 12/16/2019 10
  • 11. Small Releases • Small in terms of functionality; • Releases happen more frequently; • Support the planning game. 12/16/2019 11
  • 12. Metaphor • The oral architecture of the system. • A common set of terminology. 12/16/2019 12
  • 13. Simple Design • Do as little as needed, nothing more. • Keep it simple, stupid 12/16/2019 13
  • 14. Testing • Testing is done throughout the entire process. • All tests must run and pass with 100% before new development. • There are 2 types of tests that involve in this process: – Test-Driven Development (TDD); – Acceptance Tests. 12/16/2019 14
  • 15. Refactoring • Changing how the system does something but not what is done. • Improves the quality of the system in some way. 12/16/2019 15
  • 16. Pair Programming • Two programmers are working on the same computer to complete a single task. • Programmer 1 – responsible to write and implement the code. • Programmer 2 – watch the implementation and identifies any code errors. 12/16/2019 16
  • 17. Collective Code Ownership • Any developer must have the ability to work on any part of the code. • No specific developer that responsible for a specific component. • A new code is reviewed by the entire team. • Increase the responsibility of developers. 12/16/2019 17
  • 18. Continuous Integration • In xp developers must keep the system fully integrated at all times. • All unit tests must be run and pass with 100%. 12/16/2019 18
  • 19. 40-Hour Week • The work week should be limited to 40 hours. • Regular overtime is a symptom of a problem and not a long term solution. 12/16/2019 19
  • 20. On-Site Customer • Gives quick and continuous feedback to the development team. • The customer should lead the project (requirements, priorities, and timelines). • The customer should be available at all times (face to face communication). • The customer is one of the most important resources in xp process. 12/16/2019 20
  • 21. Coding Standards • Coding standards will help to develop better code. • Every developer should follow the code standards. 12/16/2019 21
  • 22. References • I Sommerville,Software Engineering,8th ed.England: Addison-Wesley, 2007. • https://hygger.io/blog/extreme-programming-waterfall-agile-kanban-scrum- lean/. • https://www.wrike.com/project-management-guide/faq/what-is-agile- methodology-in-project-management/. • https://www.slideshare.net/DavidTzemach/extreme-programming-xp-david- tzemach. • https://en.wikipedia.org/wiki/Extreme_programming. • https://chercher.tech/jira/agile-methodology 12/16/2019 22