4. Agile Development Methodologies – SW Dev Methodologies
XP
Another common use agile methodology is the one called “Extreme
Programming” or XP, which involves a high level of participation and
relationship between both parts (clients and developers) of the
software exchange.
It focuses on the continuous development and
periodic functional deliverables to the client.
(Similar to Scrum’s sprints)
The clients inspire the continuous development
making emphasis on the software’s higher
functions and giving testimony of the product;
the developers base each software update on
the client’s feedback, while they test new
innovations every few weeks.
(Naydenov, 2019)
5. (Wrike, n.d.)
Agile Development Methodologies – SW Dev Methodologies
The focus of XP is based on 12 specific support processes for the
development of software:
1. Plan the game
2. Small deliverables
3. Acceptance testing (user)
4. Simple design
5. Pair programming
6. Test based development
7. Refactorization
8. Continuous integration
9. Collective code property
10. Coding standards
11. Metaphors
12. Sustainable rythm
6. (Pressman, 2010)
Agile Development Methodologies – SW Dev Methodologies
The high collaboration level of this methodology
requires of a minimal level of formal
documentation, which turns it into an efficient
and persistent delivery model.
Nevertheless, this methodology also requires a high level of discipline
and involvement by all the participants in the software system, being
from the IT area or not. Additionally, it requires that all members are
able to use the methodology to get high level results, which makes it to
work better on small teams that are able to communicate with ease.
7. (Pressman, 2010)
Agile Development Methodologies – SW Dev Methodologies
XP is very useful when the requirements continuously change or when there
is not enough confidence about the systems functionality. It additionally
recommends frequent product delivered on short development cycles.
8. (Hamilton, 2021)
Agile Development Methodologies – SW Dev Methodologies
XP development maintains a focus on the client, collecting the business
requirements in the format of “stories”, which are then developed in
short iterations of 14 days in average.
On each iteration, the
phases of coding, unit
testing and system
testing are done, adding
either small or large
functionalities.
9. (Hamilton, 2021)
Agile Development Methodologies – SW Dev Methodologies
Test cases
Requirements
Strategy plan Most recent version
Defects
Next iteration
New user
stories
User stories
Strategy
planning
Iteration
Story
metrics
Acceptance
testing
Small
deliverable
1. Planning:
• Stakeholder and sponsor identification
• Infrastructure requirements
• Security information recollection
• SLA (Service Level Agreements)
2. Analysis (Management):
• Get the stories together
• Prioritize stories
• Stories estimation
• Define iterations length (time)
• Planning of development and QA (Quality Assurance) requirements
3. Design:
• Activities breakdown
• Test scenarios preparation for each task
• Regression automation design
10. Agile Development Methodologies – SW Dev Methodologies
4. Execution:
• Coding
• Unit testing
• Manual execution of test scenarios
• Defect report generation
• Half and full iterations revisions.
Test cases
Requirements
Strategy plan Most recent version
Defects
Next iteration
New user
stories
User stories
Strategy
planning
Iteration
Story
metrics
Acceptance
testing
Small
deliverable
Closure:
• Pilot launch
• Training
• Production and support
• SLA (service-level agreement) Guarantee assurance
• Review SOA (Service-oriented architecture) strategy
5. Testing & wrapping:
• Small deliverables
• Regression testing
• Demos and revisions
• New stories development
• Process improvement based on revisions
• Story metrics
(Hamilton, 2021)
11. Agile Development Methodologies – SW Dev Methodologies
XP was developed back in the 1990’s by Kent Beck, with the goal of
solving software projects by supporting quick releases in short
development cycles, to improve software quality and allow developers
to respond to changing customer requirements.
The methodology was challenged by the software development
community, arguing that it was not a formal methodology and it lacked
the sufficient rules for management. Don Wells published a set of rules
to counter those claims.
(Lucidchart, n.d.)
12. Agile Development Methodologies – SW Dev Methodologies
Planning:
This is the core of the XP process. The customer writes user stories,
which define the functionality the customer would like to see, along
with the business value and priority of each of those features.
From there, the team creates a release schedule and divides the project
into iterations (one to three weeks long). Project managers might want
to create a timeline or a simplified Gantt chart to share the schedule
with the team.
(Lucidchart, n.d.)
13. (Lucidchart, n.d.)
Agile Development Methodologies – SW Dev Methodologies
Analysis (Management):
The project manager will set up the team that works best for the
methodology, selecting the right individuals that will work collaboratively
and effectively communicate to avoid any slipups. This stage involves:
• Creating an open workspace for your team
• Setting a sustainable pace (i.e. determining the right length for
iterations)
• Scheduling a daily standup meeting
• Measuring project velocity (the amount of work getting done on your
project)
• Reassigning work to avoid bottlenecks or knowledge loss
• Changing the rules if XP isn’t working perfectly for the team
14. Agile Development Methodologies – SW Dev Methodologies
Design:
This rule goes back to the value of simplicity: Start with the simplest
design because it will take less time to complete than the complex
solution. Don’t add functionality early.
(Lucidchart, n.d.)
Refactor often to keep your code clean and concise. Create spike
solutions to explore solutions to potential problems before they put
your team behind.
15. Agile Development Methodologies – SW Dev Methodologies
Kent Beck and Ward Cunningham also created class-responsibility-
collaboration (CRC) cards to use as part of the XP methodology.
(Lucidchart, n.d.)
These cards allow the entire project team to design the system and see
how objects interact.
16. Agile Development Methodologies – SW Dev Methodologies
Execution:
XP practices collective code ownership: Everyone reviews code and any
developer can add functionality, fix bugs, or refactor. For collective code
ownership to work, the team should:
(Lucidchart, n.d.)
• Choose a system metaphor (standardized naming scheme).
• Practice pair programming. Team members work in pairs, at a single
computer, to create code and send it into production. Only one pair
integrates code at a time.
• Integrate and commit code into the repository every few hours.
The customer should be available, preferably on site, during this entire
process so they can provide feedback.
17. Agile Development Methodologies – SW Dev Methodologies
Testing & Wrapping:
The team performs unit tests and fixes bugs before the code can be
released. They also run acceptance tests frequently.
(Lucidchart, n.d.)
Unit tests isolate and exercise specific units of your code. In C#, you can
think of a unit as a method. You thus write a unit test by writing
something that tests something specific about that method in isolation.
18. References
• Pressman, Roger. (2010). Ingeniería del Software. Un enfoque práctico. Séptima edición. México. McGraw Hill Interamericana
Editores.
• Naydenov, Pavel. (2019). Different Agile Methodologies: Find Which One Fits Best Your Needs. Recovered on July 27th from
Kanbanize: https://kanbanize.com/blog/right-agile-methodology-for-your-project/
• Wrike. (n.d.). What are the Different Types of Agile Methodologies? Recovered on Juy 29th from Wrike:
https://www.wrike.com/project-management-guide/faq/what-are-the-different-types-of-agile-methodologies/
• Hamilton, Thomas (2021). Agile Methodology: What is Agile Software Development Model & Process in Testing? Recovered on
July 28th from Guru99: https://www.guru99.com/agile-scrum-extreme-testing.html#7
• Lucidchart. (n.d.). What Is Extreme Programming? An Overview of XP Rules and Values. Recovered on November 19th from
Lucidchart: https://www.lucidchart.com/blog/what-is-extreme-programming
Agile Development Methodologies – SW Dev Methodologies