SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
<eXtreme Programming (XP)>
An Overview
08 April 2014
01 What is XP?
02 Why XP?
03 How and Who? : Roles and Practices in XP
04 Q & A
− Extreme Programming was created by Kent Beck, Ward Cunningham & Ron Jeffries in 1996.
What is Extreme Programming (XP) ?
Kent Ward Ron
“XP is a style of software development focusing on excellent application of
programming techniques, clear communication, and teamwork which allows us to
accomplish things we previously could not even imagine.”
-Extreme Programming Explained: Embrace Change, Second Edition
− "Extreme" means the practices get "turned up" to a much higher "volume"
than on traditional projects.
What is Extreme Programming (XP) ?
− Problems:
− Freeze all the requirements before starting design & development
− Resist changes: It will lengthen schedule
− Build a change control process to ensure that proposed changes are looked at carefully
and no change is made without intense scrutiny
− Increase the delay in Delivery and the Delivered product is obsolete on release
Why Extreme Programming (XP) ?
− XP recognizes that:
− All requirements will not be known at the beginning
− Requirements will change
− Use tools to accommodate change as a natural process
− Do the simplest thing that could possibly work and refactor.
− Emphasize values and principles rather than process
Why Extreme Programming (XP) ?
− Some other Benefits:
− As a Programmer:
− Get clear requirements & priorities
− Do a better job & make technical decisions
− Don’t work overtime
− Get accurate & timely feedback
− Customers:
− Get highest valued business item first
− Make informed business decisions
− If there is any need of change that can be communicated and implemented
Why Extreme Programming (XP) ?
− Simplicity:
The Values of Extreme Programming
− Communication
The Values of Extreme Programming
− Feedback
The Values of Extreme Programming
− Respect
The Values of Extreme Programming
− Courage
The Values of Extreme Programming
− The Whole Team:
− Cross-functional team which can fulfill all the team’s roles.
− XP teams sit together in an open workspace.
− At the beginning of each iteration, the team meets for a series of activities: an
iteration demo, a retrospective, and iteration planning.
− This self-organization is a hallmark of agile teams.
Roles in XP
− On-Site Customer:
− On-site customer — often just called customer — is responsible for defining the software
the team builds.
− Typically, product managers, domain experts and business analysts play the role of the
on-site customer.
− Customers:
− Evangelize the project’s vision
− Identify features and stories
− Coordinating with Team and playing the planning game
− Customers themselves act as living requirements documents and providing it as needed
− Customers help communicate requirements by creating mock-ups, reviewing work in
progress, and creating detailed customer tests that clarify complex business rules.
Roles in XP
− Coach:
− A coach’s enables the team to succeed.
− Coaches help the team by arranging for a shared workspace and making sure that the
team includes the right people.
− Coach help in setting up conditions for energized work, and assist the team in creating
an informative workspace.
− Coaches help the team to interact with the rest of the organization. Coaches take
responsibility for any reporting needed.
− Coaches also help the team members maintain their self-discipline
Roles in XP
Fine scale feedback:
• Planning game
• Pair programming
• Test driven development
• Whole team
Shared understanding:
• Coding standard
• Collective code ownership
• Simple design
• System metaphor
Continuous process:
• Continuous integration
• Design improvement
• Small releases
Programmer welfare:
• Sustainable pace
Practices in XP
− The Planning Process : The main planning process within extreme programming is
called the Planning Game.
− It is a meeting that occurs once per iteration, typically once a week.
− The desired features of the software, which are communicated by the customer, are
combined with estimates provided by the programmers to determine what the most
important factors of the software are.
− Business writes a story describing desired functionality
− Stories are written on index cards
− Development estimates stories
− Velocity determines number of stories per iteration
− Business splits and prioritizes stories and determines the composition of releases
− Velocity is measured and adjusted every iteration
− Customer steers development
Practices in XP
− Pair Programming :
Practices in XP
− Pair Programming - All code is written by two programmers working at the same machine.
− Two roles: implementation(Driver) and strategy(Navigator)
− Driver has control over the workstation and is thinking mostly about the coding in detail.
− Navigator is more focused on the big picture, and is continually reviewing the code that
is being produced by Driver.
− Benefits:
− Continuous code review: better design, fewer defects
− Collective code ownership
− Discipline to always test and refactor
− Learn from partner’s knowledge and experience (enhances technical skills)
"Don't be afraid of Pair-Programming. You are not as good as you think , but your not as bad as you fear” - Ron
Jeffries
Practices in XP
− Test Driven Development – Testing is done consistently throughout the process.
− Unit Testing
− Test Driven Development (TDD)
− Acceptance Test Driven Development (ATDD)
− Programmers design the tests first and then write the software to fulfill the requirements
of the test.
− XP says that the programmer is finished with a certain piece of code when he or she
cannot come up with any further condition on which the code may fail.
− The customer also provides acceptance tests at each stage to ensure the desired results
are achieved.
Practices in XP
− Whole Team (On-Site Customer) - The XP project is directed by the customer who is
available all the time to answer questions, set priorities and determine requirements of the
project.
− And also defines the tests for “Acceptance Test driven development” (ATDD).
− Within XP, the "customer" is not the one who pays the bill, but the one who really uses
the system.
Practices in XP
− Continuous Integration (CI) - The XP team integrates and builds the software system
multiple times per day to keep all the programmers at the same stage of the development
process at once.
− It ensures that team is always working on the latest version of the software.
− Continuous integration will avoid delays later on in the project cycle, caused by
integration problems.
− There are various tools, some of these are:
− Hudson
− Jenkins
− Cruise Control
− Bamboo
Practices in XP
− Design Improvement (Refactoring) - XP programmers improve the design of the
software through every stage of development instead of waiting until the end of the
development and going back to correct flaws.
− XP advocates to refactor your code by changing the architecture, making it simpler and
more generic without changing the functionality.
− Continuously improve quality of the code
− Improves Performance & Readability
− Inbuilt practices of Unit Testing/TDD and Pair Programming give courage
Practices in XP
− Small Releases (Continuous Delivery) – The software is developed in small stages
that are updated frequently.
− It helps the customer to gain confidence in the progress of the project.
− It helps maintain the concept of the whole team as the customer can now come up with his
suggestions on the project based on real experience.
Practices in XP
− Coding Standard - The programmers all write code in the same way. This allows them to
work in pairs and to share ownership of the code.
− Coding standard is an agreed upon set of rules that the entire development team agree to adhere to
throughout the project.
− The standard specifies a consistent style and format for source code, within the chosen programming
language, as well as various programming constructs and patterns that should be avoided in order to
reduce the probability of defects.
Practices in XP
− Collective Code Ownership - Every line of code belongs to every programmer working on
the project, so there are no issues of proprietary authorship to slow the project down, in turn,
means that everybody is allowed to change any part of the code.
− Pair programming contributes to this practice.
− Collective ownership speeds up the development process, because if an error occurs in the code any
programmer may fix it.
Practices in XP
− Simple Design :
− Do the simplest thing that could possibly work
− Programmers should take a "simple is the best" approach to software design.
− Refactoring should also be used, to make complex code simpler.
− The software should include only the code that is necessary to achieve the desired results
communicated by the customer at each stage in the process.
− The emphasis is not on building for future versions of the product
− No duplicate code.
− Fewest possible classes and methods
Practices in XP
− System Metaphor - All members of an XP team use common names and descriptions to
guide development and communicate on common terms.
− It's a naming concept for classes/methods that should make it easy for a team member to guess the
functionality of a particular class/method, from its name only.
− It is a story that everyone - customers, programmers, and managers - can tell about how the system
works.
Practices in XP
− Sustainable Pace (40-Hour Week) - The XP team does not work excessive overtime to
ensure that the team remains well-rested, alert and effective.
− Key enabler to achieve sustainable pace is frequent code-merge, continuously integrated and always
executable & test covered high quality code.
− The intense collaborative way of working within the team drives a need to recharge over weekends.
Practices in XP
References:
http://xprogramming.com/book/whatisxp/
http://en.wikipedia.org/wiki/Extreme_programming
http://www.extremeprogramming.org/values.html
http://en.wikipedia.org/wiki/Extreme_programming_practices
Resources:
http://www.junit.org
http://www.xprogramming.com
http://www.extremeprogramming.org
http://www.refactoring.com
http://www.pairprogramming.com
Book: Scrum & XP from Trenches
References & Resources
Gurtej Pal Singh
Gurtej.singh@globallogic.com
Cell # +91-99991-79795
Extn. # 2778
</eXtreme Programming (XP)>

Contenu connexe

Tendances

The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) ModelDamian T. Gordon
 
Getting Started - Introduction to Backlog Grooming
Getting Started - Introduction to Backlog GroomingGetting Started - Introduction to Backlog Grooming
Getting Started - Introduction to Backlog GroomingEasy Agile
 
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
 
Backlog Refinement 101 & 202
Backlog Refinement 101 & 202Backlog Refinement 101 & 202
Backlog Refinement 101 & 202David Hanson
 
Scrum 101
Scrum 101Scrum 101
Scrum 101beLithe
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
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
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 
Scrum - Agile Methodology
Scrum - Agile MethodologyScrum - Agile Methodology
Scrum - Agile MethodologyNiel Deckx
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and ToolsNaresh Gajuveni
 
What is Agile Methodology?
What is Agile Methodology?What is Agile Methodology?
What is Agile Methodology?QA InfoTech
 
XP Explained
XP ExplainedXP Explained
XP Explainedvineet
 

Tendances (20)

The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
Agile Overview
Agile OverviewAgile Overview
Agile Overview
 
Scrum and JIRA
Scrum and JIRAScrum and JIRA
Scrum and JIRA
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Getting Started - Introduction to Backlog Grooming
Getting Started - Introduction to Backlog GroomingGetting Started - Introduction to Backlog Grooming
Getting Started - Introduction to Backlog Grooming
 
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
 
Introducing scrum
Introducing scrumIntroducing scrum
Introducing scrum
 
Scrum In 15 Minutes
Scrum In 15 MinutesScrum In 15 Minutes
Scrum In 15 Minutes
 
Backlog Refinement 101 & 202
Backlog Refinement 101 & 202Backlog Refinement 101 & 202
Backlog Refinement 101 & 202
 
Scrum 101
Scrum 101Scrum 101
Scrum 101
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Scrum - Agile Methodology
Scrum - Agile MethodologyScrum - Agile Methodology
Scrum - Agile Methodology
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and Tools
 
Agile sdlc
Agile sdlcAgile sdlc
Agile sdlc
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
What is Agile Methodology?
What is Agile Methodology?What is Agile Methodology?
What is Agile Methodology?
 
Agile methodology and scrum development
Agile methodology and scrum developmentAgile methodology and scrum development
Agile methodology and scrum development
 
XP Explained
XP ExplainedXP Explained
XP Explained
 

Similaire à eXtreme programming (XP) - An Overview

Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingAYUSH JAIN
 
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
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptDurga Prasad
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdfBassam Kanber
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme ProgrammingJoe Drumgoole
 
Agile Development Ultimate Slides
Agile Development Ultimate SlidesAgile Development Ultimate Slides
Agile Development Ultimate Slidesgilashikwa
 
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
 
Twelve practices of XP_Se lect5 btech
Twelve practices of XP_Se lect5 btechTwelve practices of XP_Se lect5 btech
Twelve practices of XP_Se lect5 btechIIITA
 
Share Vision First Trip
Share Vision First TripShare Vision First Trip
Share Vision First TripKhou Suylong
 
xp.ppt programming softwares engineering
xp.ppt programming softwares engineeringxp.ppt programming softwares engineering
xp.ppt programming softwares engineeringprogramizconsultancy
 
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
 

Similaire à eXtreme programming (XP) - An Overview (20)

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
Extreme Programming
Extreme ProgrammingExtreme Programming
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.
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.ppt
 
Xp Slideshow
Xp SlideshowXp Slideshow
Xp Slideshow
 
Extreme Programming 1st.pdf
Extreme Programming 1st.pdfExtreme Programming 1st.pdf
Extreme Programming 1st.pdf
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme Programming
 
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
 
Xp methadology
Xp methadologyXp methadology
Xp methadology
 
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
 
extreme programming
extreme programmingextreme programming
extreme programming
 
Twelve practices of XP_Se lect5 btech
Twelve practices of XP_Se lect5 btechTwelve practices of XP_Se lect5 btech
Twelve practices of XP_Se lect5 btech
 
Share Vision First Trip
Share Vision First TripShare Vision First Trip
Share Vision First Trip
 
xp.ppt programming softwares engineering
xp.ppt programming softwares engineeringxp.ppt programming softwares engineering
xp.ppt programming softwares engineering
 
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
 

Dernier

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
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
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
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
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
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
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 

Dernier (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
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
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
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
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
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
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 

eXtreme programming (XP) - An Overview

  • 1. <eXtreme Programming (XP)> An Overview 08 April 2014
  • 2. 01 What is XP? 02 Why XP? 03 How and Who? : Roles and Practices in XP 04 Q & A
  • 3. − Extreme Programming was created by Kent Beck, Ward Cunningham & Ron Jeffries in 1996. What is Extreme Programming (XP) ? Kent Ward Ron
  • 4. “XP is a style of software development focusing on excellent application of programming techniques, clear communication, and teamwork which allows us to accomplish things we previously could not even imagine.” -Extreme Programming Explained: Embrace Change, Second Edition − "Extreme" means the practices get "turned up" to a much higher "volume" than on traditional projects. What is Extreme Programming (XP) ?
  • 5. − Problems: − Freeze all the requirements before starting design & development − Resist changes: It will lengthen schedule − Build a change control process to ensure that proposed changes are looked at carefully and no change is made without intense scrutiny − Increase the delay in Delivery and the Delivered product is obsolete on release Why Extreme Programming (XP) ?
  • 6. − XP recognizes that: − All requirements will not be known at the beginning − Requirements will change − Use tools to accommodate change as a natural process − Do the simplest thing that could possibly work and refactor. − Emphasize values and principles rather than process Why Extreme Programming (XP) ?
  • 7. − Some other Benefits: − As a Programmer: − Get clear requirements & priorities − Do a better job & make technical decisions − Don’t work overtime − Get accurate & timely feedback − Customers: − Get highest valued business item first − Make informed business decisions − If there is any need of change that can be communicated and implemented Why Extreme Programming (XP) ?
  • 8. − Simplicity: The Values of Extreme Programming
  • 9. − Communication The Values of Extreme Programming
  • 10. − Feedback The Values of Extreme Programming
  • 11. − Respect The Values of Extreme Programming
  • 12. − Courage The Values of Extreme Programming
  • 13. − The Whole Team: − Cross-functional team which can fulfill all the team’s roles. − XP teams sit together in an open workspace. − At the beginning of each iteration, the team meets for a series of activities: an iteration demo, a retrospective, and iteration planning. − This self-organization is a hallmark of agile teams. Roles in XP
  • 14. − On-Site Customer: − On-site customer — often just called customer — is responsible for defining the software the team builds. − Typically, product managers, domain experts and business analysts play the role of the on-site customer. − Customers: − Evangelize the project’s vision − Identify features and stories − Coordinating with Team and playing the planning game − Customers themselves act as living requirements documents and providing it as needed − Customers help communicate requirements by creating mock-ups, reviewing work in progress, and creating detailed customer tests that clarify complex business rules. Roles in XP
  • 15. − Coach: − A coach’s enables the team to succeed. − Coaches help the team by arranging for a shared workspace and making sure that the team includes the right people. − Coach help in setting up conditions for energized work, and assist the team in creating an informative workspace. − Coaches help the team to interact with the rest of the organization. Coaches take responsibility for any reporting needed. − Coaches also help the team members maintain their self-discipline Roles in XP
  • 16. Fine scale feedback: • Planning game • Pair programming • Test driven development • Whole team Shared understanding: • Coding standard • Collective code ownership • Simple design • System metaphor Continuous process: • Continuous integration • Design improvement • Small releases Programmer welfare: • Sustainable pace Practices in XP
  • 17. − The Planning Process : The main planning process within extreme programming is called the Planning Game. − It is a meeting that occurs once per iteration, typically once a week. − The desired features of the software, which are communicated by the customer, are combined with estimates provided by the programmers to determine what the most important factors of the software are. − Business writes a story describing desired functionality − Stories are written on index cards − Development estimates stories − Velocity determines number of stories per iteration − Business splits and prioritizes stories and determines the composition of releases − Velocity is measured and adjusted every iteration − Customer steers development Practices in XP
  • 18. − Pair Programming : Practices in XP
  • 19. − Pair Programming - All code is written by two programmers working at the same machine. − Two roles: implementation(Driver) and strategy(Navigator) − Driver has control over the workstation and is thinking mostly about the coding in detail. − Navigator is more focused on the big picture, and is continually reviewing the code that is being produced by Driver. − Benefits: − Continuous code review: better design, fewer defects − Collective code ownership − Discipline to always test and refactor − Learn from partner’s knowledge and experience (enhances technical skills) "Don't be afraid of Pair-Programming. You are not as good as you think , but your not as bad as you fear” - Ron Jeffries Practices in XP
  • 20. − Test Driven Development – Testing is done consistently throughout the process. − Unit Testing − Test Driven Development (TDD) − Acceptance Test Driven Development (ATDD) − Programmers design the tests first and then write the software to fulfill the requirements of the test. − XP says that the programmer is finished with a certain piece of code when he or she cannot come up with any further condition on which the code may fail. − The customer also provides acceptance tests at each stage to ensure the desired results are achieved. Practices in XP
  • 21. − Whole Team (On-Site Customer) - The XP project is directed by the customer who is available all the time to answer questions, set priorities and determine requirements of the project. − And also defines the tests for “Acceptance Test driven development” (ATDD). − Within XP, the "customer" is not the one who pays the bill, but the one who really uses the system. Practices in XP
  • 22. − Continuous Integration (CI) - The XP team integrates and builds the software system multiple times per day to keep all the programmers at the same stage of the development process at once. − It ensures that team is always working on the latest version of the software. − Continuous integration will avoid delays later on in the project cycle, caused by integration problems. − There are various tools, some of these are: − Hudson − Jenkins − Cruise Control − Bamboo Practices in XP
  • 23. − Design Improvement (Refactoring) - XP programmers improve the design of the software through every stage of development instead of waiting until the end of the development and going back to correct flaws. − XP advocates to refactor your code by changing the architecture, making it simpler and more generic without changing the functionality. − Continuously improve quality of the code − Improves Performance & Readability − Inbuilt practices of Unit Testing/TDD and Pair Programming give courage Practices in XP
  • 24. − Small Releases (Continuous Delivery) – The software is developed in small stages that are updated frequently. − It helps the customer to gain confidence in the progress of the project. − It helps maintain the concept of the whole team as the customer can now come up with his suggestions on the project based on real experience. Practices in XP
  • 25. − Coding Standard - The programmers all write code in the same way. This allows them to work in pairs and to share ownership of the code. − Coding standard is an agreed upon set of rules that the entire development team agree to adhere to throughout the project. − The standard specifies a consistent style and format for source code, within the chosen programming language, as well as various programming constructs and patterns that should be avoided in order to reduce the probability of defects. Practices in XP
  • 26. − Collective Code Ownership - Every line of code belongs to every programmer working on the project, so there are no issues of proprietary authorship to slow the project down, in turn, means that everybody is allowed to change any part of the code. − Pair programming contributes to this practice. − Collective ownership speeds up the development process, because if an error occurs in the code any programmer may fix it. Practices in XP
  • 27. − Simple Design : − Do the simplest thing that could possibly work − Programmers should take a "simple is the best" approach to software design. − Refactoring should also be used, to make complex code simpler. − The software should include only the code that is necessary to achieve the desired results communicated by the customer at each stage in the process. − The emphasis is not on building for future versions of the product − No duplicate code. − Fewest possible classes and methods Practices in XP
  • 28. − System Metaphor - All members of an XP team use common names and descriptions to guide development and communicate on common terms. − It's a naming concept for classes/methods that should make it easy for a team member to guess the functionality of a particular class/method, from its name only. − It is a story that everyone - customers, programmers, and managers - can tell about how the system works. Practices in XP
  • 29. − Sustainable Pace (40-Hour Week) - The XP team does not work excessive overtime to ensure that the team remains well-rested, alert and effective. − Key enabler to achieve sustainable pace is frequent code-merge, continuously integrated and always executable & test covered high quality code. − The intense collaborative way of working within the team drives a need to recharge over weekends. Practices in XP
  • 31. Gurtej Pal Singh Gurtej.singh@globallogic.com Cell # +91-99991-79795 Extn. # 2778 </eXtreme Programming (XP)>