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

Lecture-4 (1)

Uploaded by

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

Lecture-4 (1)

Uploaded by

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

Agile Development

Lecture: 4

Ms Shazia Yousaf

1
Adapting a Process Model
The process should be agile and adaptable to problems. Process
adopted for one project might be significantly different than a process
adopted from another project. (to the problem, the project, the team,
organizational culture). Among the differences are:

◦the overall flow of activities, actions, and tasks and the


interdependencies among them
◦the degree to which actions and tasks are defined within each
framework activity
◦the degree to which work products are identified and required
◦the manner which quality assurance activities are applied
◦the manner in which project tracking and control activities are applied
◦the overall degree of detail and rigor with which the process is
described
◦the degree to which the customer and other stakeholders are involved
with the project
◦the level of autonomy given to the software team
◦the degree to which team organization and roles are prescribed

2
Prescriptive and Agile Process
Models
◦The prescriptive process models stress detailed
definition, identification, and application of process
activates and tasks. Intent is to improve system quality,
make projects more manageable, make delivery dates and
costs more predictable, and guide teams of software
engineers as they perform the work required to build a
system.
◦Unfortunately, there have been times when these
objectives were not achieved. If prescriptive models are
applied dogmatically and without adaptation, they can
increase the level of bureaucracy.

◦Agile process models emphasize project “agility” and


follow a set of principles that lead to a more informal
approach to software process. It emphasizes
maneuverability and adaptability. It is particularly useful
when Web applications are engineered.
3
The Manifesto for
Agile Software Development
“We are uncovering better ways of
developing software by doing it and
helping others do it. Through this work
we have come to value:
•Individuals and interactions over
processes and tools
•Working software over
comprehensive documentation
•Customer collaboration over contract
negotiation
•Responding to change over following
a plan

4
What is “Agility”?
Effective (rapid and adaptive) response to
change
Effective communication among all
stakeholders

Rapid, incremental delivery of software

5
Agility and the Cost of Change

6
An Agile Process
Is driven by customer descriptions of what is
required (scenarios)
Recognizes that plans are short-lived
Develops software iteratively with a heavy
emphasis on construction activities
Delivers multiple ‘software increments’
Adapts as changes occur

7
Agility Principles
1. Our highest priority is to satisfy the customer through
early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in
development. Agile processes bind change for the
customer's competitive advantage.
3. Deliver working software frequently, from a couple of
weeks to a couple of months, with a preference to the
shorter timescale.
4. Business people and developers must work together daily
throughout the project.
5. Build projects around motivated individuals. Give them the
environment and support they need, and trust them to get
the job done.
6. The most efficient and effective method of conveying
information to and within a development team is face–to–
face conversation.

8
Agility Principles
7. Working software is the primary measure of
progress.
8. Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and
good design enhances agility.
10. Simplicity – the art of maximizing the amount of
work not done – is essential.
11. The best architectures, requirements, and designs
emerge from self–organizing teams.
12. At regular intervals, the team reflects on how to
become more effective, then tunes and adjusts its
behavior accordingly.

9
Human Factors
the process molds to the needs of
the people and team, not the other
way around
key traits must exist among the
people on an agile team and the
team itself:
◦ Competence.
◦ Common focus.
◦ Collaboration.
◦ Decision-making ability.
◦ Fuzzy problem-solving ability.
◦ Mutual trust and respect.
◦ Self-organization.
10
Examples of Agile
Development

11
Extreme Programming (XP)
The most widely used agile process

XP Planning
◦ Begins with the creation of “user stories”
◦ Agile team assesses each story and assigns a cost
◦ Stories are grouped together for a deliverable
increment
◦ A commitment is made on delivery date
◦ After the first increment “project velocity” is
used to help define subsequent delivery dates for
other increments

12
Extreme Programming (XP)
 XP Design
◦ For difficult design problems, suggests the
creation of “spike solutions”—a design prototype
◦ Encourages “refactoring”—an iterative refinement
of the internal program design
 XP Coding
◦ Encourages “pair programming”
 XP Testing
◦ All unit tests are executed daily
◦ “Acceptance tests” are defined by the customer
and executed to assess customer visible
functionality

13
Extreme Programming (XP)

14
Adaptive Software Development

Has six basic principles:


There is a mission that act as guideline.
Feature-based development.
Iteration is important.
Change is embraced.
Fixed delivery times.
 Risk is embraced.

15
Scrum
Uses iterative development where each
30-day iteration is called a “sprint”.

Multiple self-organizing teams implement


product increments in parallel.
Coordination is done daily at a brief daily
meeting called “scrum”.

16
Crystal
 A collection of approaches based on the
notion that every project needs a unique set
of policies, conventions and methodologies.
 It is believed that people have a major
influence on software quality, and thus the
quality of projects and processes improves
as the quality of the people involved is
improved.
 Productivity increases through better
communication and frequent delivery.

17

You might also like