SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Extreme Programming
Presented By:
Ayush Jain
141435
Advanced Software Engineering
Contents
● Introduction
● When Applicable
● Values
● Practices
● Relationship between XP Practices
● Pair Programming
● Roles in XP
Introduction
Extreme Programming (XP) is an agile software development framework that
aims to produce higher quality software, and higher quality of life for the
development team. XP is the most specific of the agile frameworks regarding
appropriate engineering practices for software development.
When Applicable
● Dynamically changing software requirements
● Risks caused by fixed time projects using new technology
● Small, co-located extended development team
Values
Communication: Software development is inherently a team sport that relies on
communication to transfer knowledge from one team member to everyone else on
the team.
Simplicity: Simplicity means the simplest thing that will work. The purpose of
this is to avoid waste and do only absolutely necessary things such as keep the
design of the system as simple as possible so that it is easier to maintain, support,
and revise.
Values
Feedback: Through constant feedback about their previous efforts, teams can
identify areas for improvement and revise their practices.
Courage: Courage is effective action in the face of fear. It is a preference for
action based on other principles so that the results aren’t harmful to the team.
Respect: The members of your team need to respect each other in order to
communicate with each other, provide and accept feedback that honors your
relationship, and to work together to identify simple designs and solutions.
Practices
Practices
1. The planning game: This focuses on planning the next release.
2. Small releases: A software system is developed iteratively with small releases
adding system features and allowing rapid feedback.
3. Simple design: Keep things as simple as possible but not simpler.
4. Testing: Unit tests and acceptance tests must be continually developed and the
code must pass unit tests for development to continue.
5. Refactoring: This involves improving the system (e.g., to aid simplicity)without
changing the functionality.
6. Pair programming: All code is developed by developers working in pairs (at a
single machine).
7. Collective ownership: Everyone owns all the code so anyone has the right to
change any of the code at any time in order to improve it.
8. Continuous integration: New code is integrated and the system rebuilt every
time a task is completed (which may be many times a day).
9. On-site customer: Have a real customer as part of the team, so that they are
always available to answer questions.
10. Coding standards: Have them and use them.
11. 40-hour week: Work no more than 40 hours a week so that the developers are
always fresh and ready for the challenges facing them.
12. System metaphor: Use the system metaphor to guide the whole
development. It is a metaphor for how the system operates (it is similar to the
architecture of the system but typically simpler).
Relation Between XP Practices
XP Project Life Cycle
Pair Programming
Pair programming is a style of programming in which two programmers work
side-by-side at one computer, sharing one screen, keyboard and mouse,
continuously collaborating on the same design, algorithm, code or test.
One programmer, termed as the driver, has control of the keyboard/mouse and
actively implements the code or writes a test. The other programmer, termed as
the navigator, continuously observes the work of the driver to identify defects and
also thinks strategically about the direction of the work.
Pair Programming – Advantages
● Many mistakes are detected at the time they are typed, rather than in QA
Testing or in the field.
● The end defect content is statistically lower.
● The designs are better and code length shorter.
● The team solves problems faster.
Pair Programming – Advantages
● People learn significantly more about the system and about software
development.
● The project ends up with multiple people understanding each piece of the
system.
● People learn to work together and talk more often together, giving better
information flow and team dynamics.
● People enjoy their work more.
Roles in Extreme Programming
The Roles that have been found effective in Extreme Programming are −
● Developer (also called Programmer by some teams)
● Customer
● Manager (also called tracker)
● Coach
Developer
The role of developer is the most important one in Extreme Programming.
Developer Rights
● You have the right to know what is needed, with clear declarations of priority.
● You have the right to produce quality work at all times.
Major responsibilities that you will be accountable for −
● Estimate stories
● Define tasks from stories
Developer Skills
● Pair Programming
● Communication – that is necessary and to the sufficient detail
Customer
The customer role is as crucial as the developer role as it is the customer who should know
what to program, while the developer should know how to program.
This triggers the necessity of certain skills for the customer role −
● Writing required stories to the necessary and sufficient detail.
● Developing an attitude for the success of the project.
Customer
The customer is required to be in constant communication with the team and speak as a
single voice to the team. This is required since −
● Customer could be multiple stakeholders.
● Customer could be a community.
● Customer is not always the PRINCIPAL (proxies).
● Customer can be a team with the following potential members − Product Managers,
Marketing, Sales, Business Analysts, End Users, their Manager, Business/System
Operations
Manager
In Extreme Programming, the major responsibilities of the manager are −
● Define the rules of planning game.
● Familiarize the team and the customer on the rules of the planning game.
● Monitor the planning game, fix any deviations, modify the rules if and when
required.
● Schedule and conduct release planning and iteration planning meetings.
Coach
Extreme Programming is the responsibility of everyone in the team. However, if
the team is new to Extreme Programming, the role of a coach is crucial.
The responsibilities of the coach are −
● Understand, in depth, the application of Extreme Programming to the project.
● Identify the Extreme Programming practices that help in case of any
problem.
● Remain calm even when everyone else is panicking.
Extreme programming

Mais conteúdo relacionado

Mais procurados

Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programmingMichael Green
 
Mca5020 advanced software engineering-de
Mca5020   advanced software engineering-deMca5020   advanced software engineering-de
Mca5020 advanced software engineering-desmumbahelp
 
optimizing code in compilers using parallel genetic algorithm
optimizing code in compilers using parallel genetic algorithm optimizing code in compilers using parallel genetic algorithm
optimizing code in compilers using parallel genetic algorithm Fatemeh Karimi
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)Amardeep Vishwakarma
 
Python: Object-oriented Testing
Python: Object-oriented TestingPython: Object-oriented Testing
Python: Object-oriented TestingDamian T. Gordon
 
Share Vision First Trip
Share Vision First TripShare Vision First Trip
Share Vision First TripKhou Suylong
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
Agile Model & Methodology
Agile Model & MethodologyAgile Model & Methodology
Agile Model & Methodologyyasirkhan_77
 
Hardware/Software Integration Testing
Hardware/Software Integration TestingHardware/Software Integration Testing
Hardware/Software Integration TestingJohan Hoberg
 
Programming Theory
Programming TheoryProgramming Theory
Programming Theoryiarthur
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides pptMr SMAK
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software EngineeringMuhammadTalha436
 
How To Become A Good Agile Tester?
How To Become A Good Agile Tester?How To Become A Good Agile Tester?
How To Become A Good Agile Tester?Kualitatem
 

Mais procurados (20)

Going extreme-with-extreme-programming
Going extreme-with-extreme-programmingGoing extreme-with-extreme-programming
Going extreme-with-extreme-programming
 
Mca5020 advanced software engineering-de
Mca5020   advanced software engineering-deMca5020   advanced software engineering-de
Mca5020 advanced software engineering-de
 
optimizing code in compilers using parallel genetic algorithm
optimizing code in compilers using parallel genetic algorithm optimizing code in compilers using parallel genetic algorithm
optimizing code in compilers using parallel genetic algorithm
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)
 
Python: Design Patterns
Python: Design PatternsPython: Design Patterns
Python: Design Patterns
 
Python: Object-oriented Testing
Python: Object-oriented TestingPython: Object-oriented Testing
Python: Object-oriented Testing
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 
Share Vision First Trip
Share Vision First TripShare Vision First Trip
Share Vision First Trip
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Xp Slideshow
Xp SlideshowXp Slideshow
Xp Slideshow
 
Aditdem
AditdemAditdem
Aditdem
 
Agile Model & Methodology
Agile Model & MethodologyAgile Model & Methodology
Agile Model & Methodology
 
Hardware/Software Integration Testing
Hardware/Software Integration TestingHardware/Software Integration Testing
Hardware/Software Integration Testing
 
Programming Theory
Programming TheoryProgramming Theory
Programming Theory
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides ppt
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
 
The Apex Interactive Debugger
The Apex Interactive DebuggerThe Apex Interactive Debugger
The Apex Interactive Debugger
 
How To Become A Good Agile Tester?
How To Become A Good Agile Tester?How To Become A Good Agile Tester?
How To Become A Good Agile Tester?
 

Semelhante a Extreme programming

Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdfBassam Kanber
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Agile software development
Agile software developmentAgile software development
Agile software developmentpradeeppatelpmp
 
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 Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development MethodologiesPradeep Patel, PMP®
 
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
 
Unit 6- Development Evolution model
Unit 6- Development Evolution model Unit 6- Development Evolution model
Unit 6- Development Evolution model arvind pandey
 
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
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingMr SMAK
 

Semelhante a Extreme programming (20)

Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdf
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
03. Agile Development
03. Agile Development03. Agile Development
03. Agile Development
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
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.
 
Agiel sw development
Agiel sw developmentAgiel sw development
Agiel sw development
 
Agile software process
Agile software processAgile software process
Agile software process
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.ppt
 
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
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
What is xp
What is xpWhat is xp
What is xp
 
Unit 6- Development Evolution model
Unit 6- Development Evolution model Unit 6- Development Evolution model
Unit 6- Development Evolution model
 
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
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Cu32604607
Cu32604607Cu32604607
Cu32604607
 

Último

DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

Extreme programming

  • 1. Extreme Programming Presented By: Ayush Jain 141435 Advanced Software Engineering
  • 2. Contents ● Introduction ● When Applicable ● Values ● Practices ● Relationship between XP Practices ● Pair Programming ● Roles in XP
  • 3. Introduction Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.
  • 4. When Applicable ● Dynamically changing software requirements ● Risks caused by fixed time projects using new technology ● Small, co-located extended development team
  • 5. Values Communication: Software development is inherently a team sport that relies on communication to transfer knowledge from one team member to everyone else on the team. Simplicity: Simplicity means the simplest thing that will work. The purpose of this is to avoid waste and do only absolutely necessary things such as keep the design of the system as simple as possible so that it is easier to maintain, support, and revise.
  • 6. Values Feedback: Through constant feedback about their previous efforts, teams can identify areas for improvement and revise their practices. Courage: Courage is effective action in the face of fear. It is a preference for action based on other principles so that the results aren’t harmful to the team. Respect: The members of your team need to respect each other in order to communicate with each other, provide and accept feedback that honors your relationship, and to work together to identify simple designs and solutions.
  • 8. Practices 1. The planning game: This focuses on planning the next release. 2. Small releases: A software system is developed iteratively with small releases adding system features and allowing rapid feedback. 3. Simple design: Keep things as simple as possible but not simpler. 4. Testing: Unit tests and acceptance tests must be continually developed and the code must pass unit tests for development to continue. 5. Refactoring: This involves improving the system (e.g., to aid simplicity)without changing the functionality. 6. Pair programming: All code is developed by developers working in pairs (at a single machine).
  • 9. 7. Collective ownership: Everyone owns all the code so anyone has the right to change any of the code at any time in order to improve it. 8. Continuous integration: New code is integrated and the system rebuilt every time a task is completed (which may be many times a day). 9. On-site customer: Have a real customer as part of the team, so that they are always available to answer questions. 10. Coding standards: Have them and use them. 11. 40-hour week: Work no more than 40 hours a week so that the developers are always fresh and ready for the challenges facing them. 12. System metaphor: Use the system metaphor to guide the whole development. It is a metaphor for how the system operates (it is similar to the architecture of the system but typically simpler).
  • 10. Relation Between XP Practices
  • 12. Pair Programming Pair programming is a style of programming in which two programmers work side-by-side at one computer, sharing one screen, keyboard and mouse, continuously collaborating on the same design, algorithm, code or test. One programmer, termed as the driver, has control of the keyboard/mouse and actively implements the code or writes a test. The other programmer, termed as the navigator, continuously observes the work of the driver to identify defects and also thinks strategically about the direction of the work.
  • 13. Pair Programming – Advantages ● Many mistakes are detected at the time they are typed, rather than in QA Testing or in the field. ● The end defect content is statistically lower. ● The designs are better and code length shorter. ● The team solves problems faster.
  • 14. Pair Programming – Advantages ● People learn significantly more about the system and about software development. ● The project ends up with multiple people understanding each piece of the system. ● People learn to work together and talk more often together, giving better information flow and team dynamics. ● People enjoy their work more.
  • 15. Roles in Extreme Programming The Roles that have been found effective in Extreme Programming are − ● Developer (also called Programmer by some teams) ● Customer ● Manager (also called tracker) ● Coach
  • 16. Developer The role of developer is the most important one in Extreme Programming. Developer Rights ● You have the right to know what is needed, with clear declarations of priority. ● You have the right to produce quality work at all times. Major responsibilities that you will be accountable for − ● Estimate stories ● Define tasks from stories Developer Skills ● Pair Programming ● Communication – that is necessary and to the sufficient detail
  • 17. Customer The customer role is as crucial as the developer role as it is the customer who should know what to program, while the developer should know how to program. This triggers the necessity of certain skills for the customer role − ● Writing required stories to the necessary and sufficient detail. ● Developing an attitude for the success of the project.
  • 18. Customer The customer is required to be in constant communication with the team and speak as a single voice to the team. This is required since − ● Customer could be multiple stakeholders. ● Customer could be a community. ● Customer is not always the PRINCIPAL (proxies). ● Customer can be a team with the following potential members − Product Managers, Marketing, Sales, Business Analysts, End Users, their Manager, Business/System Operations
  • 19. Manager In Extreme Programming, the major responsibilities of the manager are − ● Define the rules of planning game. ● Familiarize the team and the customer on the rules of the planning game. ● Monitor the planning game, fix any deviations, modify the rules if and when required. ● Schedule and conduct release planning and iteration planning meetings.
  • 20. Coach Extreme Programming is the responsibility of everyone in the team. However, if the team is new to Extreme Programming, the role of a coach is crucial. The responsibilities of the coach are − ● Understand, in depth, the application of Extreme Programming to the project. ● Identify the Extreme Programming practices that help in case of any problem. ● Remain calm even when everyone else is panicking.