0% found this document useful (0 votes)
14 views13 pages

Extreme Programming XP 13

Extreme Programming (XP) is an agile software development framework focused on producing high-quality software and improving the development team's quality of life. Introduced by Ken Beck in the 1990s, XP emphasizes technical practices and involves five continuous phases: Planning, Designing, Coding, Testing, and Release. Key roles in XP include Customers, Programmers, Trackers, and Coaches, all of whom contribute to effective communication and collaboration throughout the development process.

Uploaded by

waleedchand005
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)
14 views13 pages

Extreme Programming XP 13

Extreme Programming (XP) is an agile software development framework focused on producing high-quality software and improving the development team's quality of life. Introduced by Ken Beck in the 1990s, XP emphasizes technical practices and involves five continuous phases: Planning, Designing, Coding, Testing, and Release. Key roles in XP include Customers, Programmers, Trackers, and Coaches, all of whom contribute to effective communication and collaboration throughout the development process.

Uploaded by

waleedchand005
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/ 13

Extreme

Programming XP
Agile Software Development
Definition

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.
Introduction

• Extreme Programming (XP) is one of the numerous Agile frameworks


applied by IT companies. But its key feature — emphasis on technical
aspects of software development — distinguishes XP from the other
approaches.
• Software engineer Ken Beck introduced XP in the 90s with the goal of
finding ways to write high-qualitative software quickly and being able to
adapt to customers’ changing requirements. In 1999, he refined XP
approaches in the book
Extreme Programming Explained: Embrace Change.
Process and roles of XP

• The XP framework normally involves 5 phases or stages of the


development process that iterate continuously:
Phase 1: Planning

Planning, the first stage, is when the customer meets the development team
and presents the requirements in the form of user stories to describe the
desired result. The team then estimates the stories and creates a release plan
broken down into iterations needed to cover the required functionality part
after part. If one or more of the stories can’t be estimated, so-
called spikes can be introduced which means that further research is needed.
1. Release plan
2. Iteration plan
Phase 2: Designing

Designing is actually a part of the planning process, but


can be set apart to emphasize its importance. It’s related
to one of the main XP values that we’ll discuss below —
simplicity. A good design brings logic and structure to the
system and allows to avoid unnecessary complexities and
redundancies.
Phase 3: Coding

Coding is the phase during which the actual code is


created by implementing specific XP practices such as
coding standards, pair programming, continuous
integration, and collective code ownership (the entire list
is described below).
Phase 4: Testing

Testing is the core of extreme programming. It is the regular


activity that involves both unit tests (automated testing to
determine if the developed feature works properly) and
acceptance tests (customer testing to verify that the overall
system is created according to the initial requirements
Phase 5: Release

is all about constant communication and feedback. The


customers and project managers are involved to describe
the business logic and value that is expected.
XP Roles

Extreme programming puts people in the center of the system,


emphasizing the value and importance of such social skills as
communication, cooperation, responsiveness, and feedback. So, these
roles are commonly associated with XP:
1. Customers are expected to be heavily engaged in the development
process by creating user stories, providing continuous feedback, and
making all the necessary business decisions related to the project.
XP Roles

2. Programmers or developers are the team members


that actually create the product. They are responsible for
implementing user stories and conducting user tests
(sometimes a separate Tester role is set apart). Since XP
is usually associated with cross-functional teams, the
skill set of such members can be different.
XP Roles

3. Trackers or managers link customers and developers. It’s not


a required role and can be performed by one of the developers.
These people organize the meetups, regulate discussions, and
keep track of important progress KPIs.
4. Coaches can be included in the teams as mentors to help with
understanding the XP practices. It’s usually an outside assistant or
external consultant who is not involved in the development
process, but has used XP before and so can help avoid mistakes.

You might also like