0% found this document useful (0 votes)
21 views12 pages

Lec 9. Extreme Programming

Uploaded by

Haris Nadeem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views12 pages

Lec 9. Extreme Programming

Uploaded by

Haris Nadeem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12

eXtreme

Programming
https://scrum-master.org/en/extreme-programming-xp-a-beginners-
guide-to-the-agile-method/
eXtreme Programming (XP)
• It is an agile methodology that emphasizes:
• flexibility
• close collaboration with the customer
• high code quality
• It was developed in 90s with the aim to improve productivity and
customer satisfaction while maintaining code quality
• The idea is that software development should be:
• reactive
• iterative
• adaptive
• oriented towards continuous feedback cycles
XP Values
• Communication
• encourages open and continuous dialog between team members and with the customers
• Simplicity
• concentrate on what is needed at the moment, avoiding complicating the code with
superfluous features
• Feedback
• use customer feedback and continuous testing to guide development
• Courage
• have the courage to always do what’s best for the project, even if it means questioning
existing choices
• Respect
• each team member values the work of others, creating a positive and productive work
environment
XP - Central Practices
• Pair Programming
• two developers work together on the same code, one is writing code while
the other reviews each line as it is written
• Continuous Integration
• code is integrated and tested frequently, often several times a day, to detect
errors and reduce debugging time
• Test Driven Development
• developer first write tests for a new feature (unit test) before coding the
feature itself.
From Exploration to Planning
• The XP team gathers relevant information about what the customer
wants
• The team works closely with the customer to identify user stories
• these are short description of functionalities from the customer’s point of
view
• In Planning, the team priotizes each story and estimates the time
required to complete it
• Release schedule is created to decide how the features will be
developed and released
Iterations and Feedbacks
• After planning, a project enters a series of iterations
• they are often bi-weekly or monthly
• functional versions of the software are developed and presented to the
customer in each iteration
• each iteration is a complete loop of planning, design, coding, and testing to
ensure that product evolves in response to the customer needs
• After each iteration, feedback is taken from the customer
• it ensures that the final product perfectly meets the customer expectations
To Delivery and Beyond
• Reaching the delivery phase means that the iteration cycles have
produced a version of the software that is ready to use
• Maintenance and future iterations are prepared during the final
stages of the project
• Maintenance in XP is proactive.
• the team continues working on the software
• responding to changing customer needs
• rectifying bugs
Benefits of XP
• Flexibility and responsiveness
• the ability to adapte quickly to change
• Improved quality
• because of test-driven development and pair programming, it results in clean
and well-designed code right from the start
• Collaboration and communication
• emphasis of close collaboration within the team and with the customer
• so the final product meets customer expectations
• Risk reduction
• it enables early detection of errors and misunderstandings regarding project
requirements
Challenges
• Resistence to change
• organizations following traditional development methods may resist adopting XP
• training regarding the XP may be crucial
• Expectations management
• customer may find it difficult to adapt to continuous feedback model
• educating the customer is important in this regard
• Need for strict discipline
• strict discipline is needed on the part of development team with regards to testing, code
reviews and communication
• Limited communication
• Emphasis on code may result in lack of project documentation
• It is essential to strike a balance
XP vs. Scrum
• XP emphasizes technical excellence and rapid response to changing customer
requirements
• Iteration duration
• XP opts for cycles of 1-2 weeks
• Scrum sprints are generally from 1-4 weeks
• Changes in timelines
• XP allows changes in timelines more fluidly
• Scrum sprints are timeboxed
• Engineering practices
• XP focuses intensly on engineering practices
• pair programming, test-driven development, simple design
• Scrum is flexible in this regard
XP vs. Scrum
• Roles
• Scrum has defined roles like Scrum master, product owner, etc.
• XP puts an emphasis on the team as a whole
• Prioritization
• In Scrum, product owner prioritizes work in the product backlog
• In XP, this is done by the customer based on the business value of the
features
When to Use XP
• It is particularly suited to the projects where speed of delivery and
code quality are essential
• Following are a few project types where XP shines:
• Projects with volatile requirements
• XP methods can adapt quickly to changing requirements because of short iterations and
continuous feedback cycles
• Teams advocating solid engineering practices
• XP suits the teams that value code quality and are ready to adopt rigorous engineering
practices
• Close collaboration-oriented corporate culture
• teams favoring intense collaboration and communication will like to adopt XP

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy