0% found this document useful (0 votes)
440 views

Agile Process Models

This document provides an overview of the Agile methodology and the Extreme Programming (XP) model. It discusses the core values of Agile which are individual/team interactions over processes/tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. The principles of Agile are also outlined which focus on early delivery of valuable software, welcoming changes, frequent delivery, daily collaboration between business and developers, trust in motivated individuals, face-to-face communication, measuring working software, constant pace, technical excellence, simplicity, self-organizing teams, and continuous improvement. Several Agile models are mentioned including XP, Adaptive Software Development, Scrum, and Dynamic Systems Development Methodology

Uploaded by

Shadrack Kimutai
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
440 views

Agile Process Models

This document provides an overview of the Agile methodology and the Extreme Programming (XP) model. It discusses the core values of Agile which are individual/team interactions over processes/tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. The principles of Agile are also outlined which focus on early delivery of valuable software, welcoming changes, frequent delivery, daily collaboration between business and developers, trust in motivated individuals, face-to-face communication, measuring working software, constant pace, technical excellence, simplicity, self-organizing teams, and continuous improvement. Several Agile models are mentioned including XP, Adaptive Software Development, Scrum, and Dynamic Systems Development Methodology

Uploaded by

Shadrack Kimutai
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Agile

Process Methodology
Shadrack K Kimutai
Introduction to Agile Methodology


Agile is a term used to describe software
development approaches that employ
continual planning, learning, improvement,
team collaboration, evolutionary development,
and early delivery.

It encourages flexible responses to change.
Agile Process Core Values

The agile Process model emphasizes on four core values.

Individual and Responding to


team interactions Customer change over
over processes Working software over collaboration following a plan
and tools comprehensive over contract
documentation negotiation
Principles of Agile Process
1.Satisfy the customer through early and continuous delivery of valuable
software.
2.Welcome and harness changes for the customer's competitive advantage,
even late in development.
3.Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference for shorter timescales.
4.Have daily collaboration between business people and developers
throughout the project.
5.Build projects around motivated individuals. Create the environment
and support developers need, and trust them to get the job done.
6.Prioritize face-to-face conversation as the most efficient and effective
method of conveying information to and within a development team.
Principles of Agile Process
7.Measure progress by the amount of working software completed.
8.Maintain a constant and sustainable pace of development indefinitely.
9.Enhance agility through continuous attention to technical excellence
and good design.
10.Keep it simple. Simplicity the art of maximizing the amount of work
not done is essential.
11.Recognize that the best architectures, requirements, and designs
emerge from self-organizing teams.
12.Regularly reflect and adapt behavior for continual improvement.
Agile Process Model Types
There are several types of models which employ
the agile Process. These include
– Extreme Programming (XP)
– Adaptive Software Development (ASD)
– Scrum
– Dynamic Software Development Methodology(DSDM)
Agile Models:Extreme Programming
Extreme Programming(XP)
In order to illustrate an agile process in a bit more detail, I’ll
provide you with an overview of Extreme Programming (XP),
the most widely used approach to agile software development.
A set of five values that establish a foundation for all work
performed as part of XP these are communication, simplicity,
feedback, courage, and respect.
Each of these values is used as a driver for specific XP
activities, actions, and tasks.
Extreme Programming(XP)
To achieve simplicity, XP restricts developers to design only for
immediate needs, rather than consider future needs.
The intent is to create a simple design that can be easily
implemented in code. If the design must be improved, it can be
refactored at later times.
Feedback is derived from three sources: the implemented
software itself, the customer, and other software team members.
By designing and implementing an effective testing strategy
Extreme Programming(XP)
XP makes use of the unit test as its primary testing tactic. As
each class is developed, the team develops a unit test to
exercise each operation according to its specified
functionality.
As an increment is delivered to a customer, the user stories or
use cases that are implemented by the
increment are used as a basis for acceptance tests. The
degree to which the software implements the output, function,
and behavior of the use case is a form of feedback.
Extreme Programming(XP)
An agile XP team must have the discipline (courage) to
design for today, recognizing that future requirements may
change dramatically, thereby demanding substantial rework of
the design and implemented code.
By following each of these values, the agile team inculcates
respect among it members, between other stakeholders and
team members, and indirectly, for the software itself.
Extreme Programming

At this stage, the project manager will set the


team up to succeed. Everyone needs to
1. Planning collaborate and communicate effectively to
This stage is where the UX magic happens. avoid any blockers. This stage involves:
Rather than a lengthy requirements document,
the customer writes user stories, which define 1. Creating an open workspace for your team
the functionality the customer would like to see, 2. Setting a sustainable pace (i.e. determining
along with the business value and priority of the right length for iterations)
each of those features. 3. Scheduling a daily stand up meeting
User stories don’t need to be overly technical as Measuring project velocity (the amount of
they only need to provide enough detail to help work getting done on your project)
the team determine the time frame to 4. Reassigning work to avoid bottlenecks or
implement those features. knowledge loss
5. Changing the rules if XP isn’t working
perfectly for the team

.
Extreme Programming
3. Coding
XP practices collective code ownership: Everyone reviews
code and any developer can add functionality, fix bugs, or
2. Design refactor. For collective code ownership to work, the team
should:
This rule goes back to the value of
simplicity: Start with the simplest design

Choose a system metaphor (standardized naming
because it will take less time to complete scheme).
than the complex solution. Don’t add

Practice pair programming. Team members work in
pairs, at a single computer, to create code and send it
functionality early. Refactor often to keep
into production. Only one pair integrates code at a time.
your code clean and concise. ●
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 answer questions
and establish requirements.

.
Extreme Programming

4. Test
The team performs unit tests and fixes
bugs before the code can be released.
They also run acceptance tests frequently.
Read on
Other Agile
Methods and
Make Own
Notes

You might also like