SlideShare une entreprise Scribd logo
1  sur  16
EXTREME PROGRAMMING
EXTREME PROGRAMMING
 is a software development methodology which is intended
to improve software quality and responsiveness to changing
customer requirements.
 XP is a lightweight, efficient, low-risk, flexible, predictable,
scientific, and fun way to develop software.
 is one of the Agile software development methodologies. It
provides values and principles to guide the team behavior.
History
 Extreme programming was created by Kent Beck during his
work on the Chrysler Comprehensive Compensation
System (C3) payroll project.[5] Beck became the C3 project
leader in March 1996 and began to refine the development
methodology used in the project and wrote a book on the
methodology (in October 1999, Extreme Programming
Explained was published)
XP Variables
 Cost
-The amount of money to be spent. The resources (how many
developers, equipment etc.) available for the project are directly
related to this variable.
 Time
-Determines when the system (release) should be done.
 Quality
-The correctness of the system (as defined by the customer) and
how well tested it will be.
 Scope
-Describes what and how much will be done (functionality).
Change-driven process
 A risk is some “variable” that means a danger to the success of the project.
Typical risks are for instance
• Requirements change.
-The users needs change
-The problem changes
-The market changes
-The requirements are imprecise or not fully understood
 XP explicitly deals with the first risk: “Embrace Change”.
XP Roles
 Developer (also called Programmer by some teams)
- developer should know how to program.
 Customer
- who should know what to program
 tracker
- The job of the tracker is to gather whatever metrics are being tracked for the
project – at least the Load Factor and the Functional Test scores.
 Coach
-is the responsibility of everyone in the team
 Tester
-is really focused on the customer to help write test and runs them.
 Consultant
- is to provide knowledge.
Values of XP
 COMMUNICATION
- is one of the key factors necessary for the success of
software projects
 SIMPLICITY
- strives for simple system
 FEEDBACK
- feedback-driven process
 COURAGE
-have a confidence to work quickly and redevelop as soon
and as often as necessary.
12 Practices of XP
 The Planning Game
-The XP planning process. Business gets to specify what the system needs to do.
Development specifies how much each feature costs and what budget is available per
day/week/month.
 Small Releases
-Every release should be as small as possible, containing the most valuable business
requirements.
 Metaphor
- is a simple evocative description of how the program works.
 Simple Design
-. The system should be designed as simply as possible at any given moment
 Testing
-Programmers develop software by writing tests first, and then code that fulfills the
requirements reflected in the tests. Customers provide acceptance tests that enable them to
be certain that the features they need are provided.
 Refactoring
- XP Team Refactor out any duplicate code generated in a coding session
 Pair Programming
-All production code is written by two programmers sitting at one machine, with one
keyboard and one mouse.
 Collective Ownership
- the entire team takes responsibility for the whole of the system
 Continuous Integration
- Code is integrated and tested many times a day, one set of changes at a time.
 40-Hour week
- it emphasizes on the limited number of hours of work per week for every team
members,
 On-site customer
- Development team has continuous access to the customer who will actually be using
the system.
 Coding Standards
-Developers write all code in accordance with the rules emphasizing-
Communication through the code.
The least amount of work possible.
Consistent with the “once and only once” rule (no duplicate code).
Voluntary adoption by the whole team.
5 Principle of XP
 Rapid Feedback
- is to get the feedback, understand it, and put the learning back into the
system as quickly as possible.
 Assume simplicity
-to treat every problem as if it can be solved with simplicity.
 Incremental change
-solve problems with a series of small changes
 Embracing Change
-The best strategy is the one that preserves the most options while
actually solving your most pressing problem.
 Quality work
-emphasize test-first programming
XP Rules
 Planning
- is also known as XP Planning Game
 Designing
- The rule is ”always use the simplest possible design that gets the job
done”.
 Coding
-Coding standards are to be followed.
 Testing
-All codes must pass all unit tests before it is released.
Advantages and Disadvantages of XP
Resources
 www.extreme_programming_tutorialpdf.com
 www.ExtremeProgramming(XP)Article.com
 www.ExtremeProgrammingpdf.com
 www.XP_Overviewpdf.com
Extreme Programming
Extreme Programming

Contenu connexe

Tendances

Agile methodology
Agile methodologyAgile methodology
Agile methodologyDhruv Kumar
 
Agile process (Scrum Framework)
Agile process (Scrum Framework)Agile process (Scrum Framework)
Agile process (Scrum Framework)Jakir Hosen Khan
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software DevelopmentRaghav Seth
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process IntroductionNguyen Hai
 
Agile software development
Agile software development Agile software development
Agile software development saurabh goel
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
Agile Process models
Agile Process modelsAgile Process models
Agile Process modelsStudent
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
The Values and Principles of Agile Software Development
The Values and Principles of Agile Software DevelopmentThe Values and Principles of Agile Software Development
The Values and Principles of Agile Software DevelopmentBrad Appleton
 
Agile methodology
Agile methodologyAgile methodology
Agile methodologyTyler Rose
 
Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...Invensis Learning
 

Tendances (20)

Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Agile process (Scrum Framework)
Agile process (Scrum Framework)Agile process (Scrum Framework)
Agile process (Scrum Framework)
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
Agile software development
Agile software development Agile software development
Agile software development
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile Process models
Agile Process modelsAgile Process models
Agile Process models
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Agile Metrics
Agile MetricsAgile Metrics
Agile Metrics
 
The Values and Principles of Agile Software Development
The Values and Principles of Agile Software DevelopmentThe Values and Principles of Agile Software Development
The Values and Principles of Agile Software Development
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Agile Methodology ppt
Agile Methodology pptAgile Methodology ppt
Agile Methodology ppt
 
What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...
 
Agile testing
Agile testingAgile testing
Agile testing
 

Similaire à Extreme Programming

Extreme Programming (XP) as A Popular Agile methodology.
Extreme Programming (XP) as A Popular Agile methodology.Extreme Programming (XP) as A Popular Agile methodology.
Extreme Programming (XP) as A Popular Agile methodology.Ali Shaikh
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Agile Development Ultimate Slides
Agile Development Ultimate SlidesAgile Development Ultimate Slides
Agile Development Ultimate Slidesgilashikwa
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALAlex Tarra
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingAYUSH JAIN
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationMuaazZubairi
 
Unit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwareUnit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwarezeelp3114
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptDurga Prasad
 
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
 
extreme programming
extreme programmingextreme programming
extreme programmingfahad khan
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdfBassam Kanber
 
XP vs Lean vs FDD
XP vs Lean vs FDDXP vs Lean vs FDD
XP vs Lean vs FDDSuman Guha
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Lecture 7 agile software development (2)
Lecture 7   agile software development (2)Lecture 7   agile software development (2)
Lecture 7 agile software development (2)IIUI
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingMr SMAK
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 

Similaire à Extreme Programming (20)

Extreme Programming (XP) as A Popular Agile methodology.
Extreme Programming (XP) as A Popular Agile methodology.Extreme Programming (XP) as A Popular Agile methodology.
Extreme Programming (XP) as A Popular Agile methodology.
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
4. ch 3-agile process
4. ch 3-agile process4. ch 3-agile process
4. ch 3-agile process
 
Agile Development Ultimate Slides
Agile Development Ultimate SlidesAgile Development Ultimate Slides
Agile Development Ultimate Slides
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentation
 
Unit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwareUnit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of software
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.ppt
 
agile methods.docx
agile methods.docxagile methods.docx
agile methods.docx
 
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
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
extreme programming
extreme programmingextreme programming
extreme programming
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdf
 
XP vs Lean vs FDD
XP vs Lean vs FDDXP vs Lean vs FDD
XP vs Lean vs FDD
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Lecture 7 agile software development (2)
Lecture 7   agile software development (2)Lecture 7   agile software development (2)
Lecture 7 agile software development (2)
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 

Dernier

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Extreme Programming

  • 2. EXTREME PROGRAMMING  is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements.  XP is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software.  is one of the Agile software development methodologies. It provides values and principles to guide the team behavior.
  • 3. History  Extreme programming was created by Kent Beck during his work on the Chrysler Comprehensive Compensation System (C3) payroll project.[5] Beck became the C3 project leader in March 1996 and began to refine the development methodology used in the project and wrote a book on the methodology (in October 1999, Extreme Programming Explained was published)
  • 4. XP Variables  Cost -The amount of money to be spent. The resources (how many developers, equipment etc.) available for the project are directly related to this variable.  Time -Determines when the system (release) should be done.  Quality -The correctness of the system (as defined by the customer) and how well tested it will be.  Scope -Describes what and how much will be done (functionality).
  • 5. Change-driven process  A risk is some “variable” that means a danger to the success of the project. Typical risks are for instance • Requirements change. -The users needs change -The problem changes -The market changes -The requirements are imprecise or not fully understood  XP explicitly deals with the first risk: “Embrace Change”.
  • 6. XP Roles  Developer (also called Programmer by some teams) - developer should know how to program.  Customer - who should know what to program  tracker - The job of the tracker is to gather whatever metrics are being tracked for the project – at least the Load Factor and the Functional Test scores.  Coach -is the responsibility of everyone in the team  Tester -is really focused on the customer to help write test and runs them.  Consultant - is to provide knowledge.
  • 7. Values of XP  COMMUNICATION - is one of the key factors necessary for the success of software projects  SIMPLICITY - strives for simple system  FEEDBACK - feedback-driven process  COURAGE -have a confidence to work quickly and redevelop as soon and as often as necessary.
  • 8. 12 Practices of XP  The Planning Game -The XP planning process. Business gets to specify what the system needs to do. Development specifies how much each feature costs and what budget is available per day/week/month.  Small Releases -Every release should be as small as possible, containing the most valuable business requirements.  Metaphor - is a simple evocative description of how the program works.  Simple Design -. The system should be designed as simply as possible at any given moment  Testing -Programmers develop software by writing tests first, and then code that fulfills the requirements reflected in the tests. Customers provide acceptance tests that enable them to be certain that the features they need are provided.  Refactoring - XP Team Refactor out any duplicate code generated in a coding session
  • 9.  Pair Programming -All production code is written by two programmers sitting at one machine, with one keyboard and one mouse.  Collective Ownership - the entire team takes responsibility for the whole of the system  Continuous Integration - Code is integrated and tested many times a day, one set of changes at a time.  40-Hour week - it emphasizes on the limited number of hours of work per week for every team members,  On-site customer - Development team has continuous access to the customer who will actually be using the system.  Coding Standards -Developers write all code in accordance with the rules emphasizing- Communication through the code. The least amount of work possible. Consistent with the “once and only once” rule (no duplicate code). Voluntary adoption by the whole team.
  • 10. 5 Principle of XP  Rapid Feedback - is to get the feedback, understand it, and put the learning back into the system as quickly as possible.  Assume simplicity -to treat every problem as if it can be solved with simplicity.  Incremental change -solve problems with a series of small changes  Embracing Change -The best strategy is the one that preserves the most options while actually solving your most pressing problem.  Quality work -emphasize test-first programming
  • 11.
  • 12. XP Rules  Planning - is also known as XP Planning Game  Designing - The rule is ”always use the simplest possible design that gets the job done”.  Coding -Coding standards are to be followed.  Testing -All codes must pass all unit tests before it is released.