Agile Software Development Final
Agile Software Development Final
Table of Contents
Traditional Approach
Waterfall Model & Spiral Model
Advantages & disadvantages
7 reasons to move to Agile methodology
Agile Software Development
Scrum
Traditional approach
Requirements
Design
Implementation
Waterfall
method
Testing
Deployment &
Maintenance
No way back
finish this step before moving to the next
Advantages:
Disadvantages:
Unclear requirements
Requirements change
Lack of involvement of the customers
Accuracy of estimation
Uneven loading of the resources
Last minute correction is very difficult
Not much time for testing
No time to fix test defects
Lot of documentation
Schedule and cost overruns
Customers not happy
As an example
10
Ambiguous Requirements
Assumption: Customers can (and shall) identify all
the requirements in the beginning
What we do: Ask customers what they want
When they really dont know
Ask them to sign off the requirements
How many of customers comfortable to sign off
the requirements form at the beginning ?
The Reality: Customers may not know all
requirements in the beginning
Result: Over production of features
Features rarely
Or never used by
End user
Example
Assumption:
What we do:
Survey Result:
Project Success:
Project Challenged:
52.7%
Project Impaired:
16.2%
31.1%
Failure Statistics
Percentage
Schedule
61.3 %
Scope
87.3 %
Money
79.6 %
Quality
87.3 %
Staff
75.8 %
http://www.drdobbs.com/architecture-and-design/definingsuccess/202800777
Big
Agile
In
What we do:
Reality:
In
Customers
What we do:
Reality:
Design
Coding
Testing
The cost of change increases
Do we have half of
the solutions now ?
In
Customers
Summary
34
http://agilemanifesto.org/
http://agilemanifesto.org/
35
36
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
.)
38
Progress measure
39
Keep it Simple
Scrum
42
Scrum
Rugby union:
A scrum is a way to
restart the game after an
interruption, where the
forwards of each side
come together in a tight
formation and struggle to
gain possession of the
ball when it is tossed in
among them
43
Product backlog
44
Scrum Team
45
Scrum Master
46
Release planning
47
Scrum sprint
48
Monitoring progress
Scenario:
Our team delivers 3 user stories. The sum of the story
points equals 20. Our velocity is then 20.
If, in the next iteration, our team delivers 30 story
points, then our average velocity is 25, or
(20 SP + 30 SP) divided by 2 iterations = 25 SP.
Some concepts
Burndown chart
The burndown is a chart that shows how quickly you and your
team are burning through your customer's user stories.
It shows the total effort against the amount of work we deliver each
iteration
Image&Text source: http://www.agilenutshell.com/burndown
Projected line: is a straight line that connects the start point to the end point
At day 0 (the first day of the iteration), the remaining effort is at its highest because nothing has
been completed
At the end of the iteration (day 20), the sum should be 0 because there are no tasks left to
be completed
55
56
If the actual remaining effort line is above the blue line for an extended period, then it means
adjustments have to be made to the project. This could mean dropping a task, assigning
additional resources, or working late, all of which can be unpleasant
What should be the correct Y-axis parameter to determine remaining effort
http://www.methodsandtools.com/archive/scrumburndown.php
Image&Texts source:inpointform.net
57
Bugs
58
The Scrum
Daily meeting
60
Scrum Time!
Product: A web site that lets users search, compare, and
review apps for both Apple and Android platforms
62
Axosoft:
Scrumwise:
Targetprocess:
XP values
Communication
Simplicity
Courage
Feedback
Use simple designs and common metaphors, talk continuously with your
programmers and customers
Respect
XP practices
68
Pair programming
Pair programming is an agile software
development technique in which
two programmers
work together at one workstation.
One, the driver,
writes code while the other,
the observer or navigator,
reviews each line of code as it is typed in.
The two programmers switch roles frequently.
While reviewing, the observer also considers
the strategic direction of the work, coming up
with ideas for improvements and likely future
problems to address.
--Laurie Williams
North Carolina State University
Computer Science
69
Scrum teams do not allow changes into their sprints. Once the
sprint planning meeting is completed and a commitment made to
delivering a set of product backlog items, that set of items remains
unchanged through the end of the sprint. XP teams are much more
amenable to change within their iterations. As long as the team
hasnt started work on a particular feature, a new feature of
equivalent size can be swapped into the XP teams iteration in
exchange for the unstarted feature.
Summary