5. Agile/Lean
Development
Delivering early and
often, giving ourselves
the best opportunity to
beat the competition to
market, realize revenue
and discover insights
that we can use to help
us improve
5
6. The actualization and effectively dealing with -
More Success + Greater Speed + Fewer Resources +
Constant Uncertainty + Increased Competition +
Quicker Time to Market
1. Agile puts the Product Owner (aka “the business” or customer representative) in
the driver’s seat – In the majority of the waterfall style projects the customer is involved, but in a
limited capacity. They get to define a scope up-front, but then any changes they deem necessary are
change ordered back to them. This practice assumes that the customer knows exactly what they want up
front and penalizes them for changing their minds later in the development process.
2. Agile allows the business to quickly react to changing market conditions and
needs – The only thing constant in today‟s economy is change. Businesses need to be able to make
quick course corrections in order to survive.
3. Agile provides visibility into the development process – For many customers software
development is a dark art. They don‟t have the background in order to understand the technical details
and in most cases the development team prefers it this way. The customer is left feeling helpless and
Agile engages them throughout the development lifecycle, providing enhanced visibility.
4. Agile also puts the Development Team in the driver’s seat - While the Product Owner is
responsible for “what” is to be developed the Development Team is self-directing and self-organizing as to
“how” to develop the system-software product
10. By delivering early and
often we give ourselves
the best opportunity to
beat the competition to
market, realize revenue
and discover insights
that we can use to help
us improve
16. Our highest priority is to satisfy the customer through early and The most efficient and effective method of conveying information to and
continuous delivery of valuable software. within a development team is face-to-face conversation.
Welcome changing requirements, even late in development. Agile processes promote sustainable development. The sponsors,
Agile processes harness change for the customer's competitive developers, and users should be able to maintain a constant pace
advantage. indefinitely.
Deliver working software frequently, from a couple of weeks to a Continuous attention to technical excellence and good design enhances
couple of months, with a preference to the shorter timescale. agility.
Business people and developers must work together daily Simplicity--the art of maximizing the amount of work not done--is
throughout the project. essential.
Build projects around motivated individuals. Give them the The best architectures, requirements, and designs emerge from self-
environment and support they need, and trust them to get the job organizing teams.
done. At regular intervals, the team reflects on how to become more effective,
Working software is the primary measure of progress. then tunes and adjusts its behavior accordingly. 16
19. By delivering early and
often we give ourselves
the best opportunity to
beat the competition to
market, realize revenue
and discover insights
that we can use to help
us improve
20. Problem / Feedback
Opportunity
Traditional Development
All implied sequential “waterfall”
time delay in obtaining feedback
Planning
All
Requirements
All
Design
All
Development
All
Validation
All
Implementation
Iterative & Incremental
Development and Delivery
24. Usage scenario
– When a project team wants to “be” agile they
self-organize & self-direct around the 9 practices
– The team then selects 1 or more practice to
apply to their work at hand
Benefits
– Iterative & Incremental adoption of “being”
agile
– Gives team a context and narrow focus to rally
around
– Provides a non-threatening easy way for team
to learn together, “be” agile, apply an iterative
and incremental approach, and get better at
what we do 24
34. User Stories Business Story Points
Priority
Story A 1 5
Story B 2 8
Story C 3 1
Story D 4 8
Story E 5 2
Story F 6 2
Story G 7 2
Story H 8 8
Story I 9 5
Story J 10 1
Copyright@ 2008 Russell Pannone. All rights reserved. 34
38. Velocity Chart Example
45
40
35
30
25
Velocity
20
15
10
5
0
1 2 3 4 5 6 7 8 9 10
Sprint 38
Copyright@ 2008 Russell Pannone. All rights reserved.
39. Burndown Chart consists of
Story Points
| | | | | | | | | | |
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11
On a Scrum project, the team tracks its progress against a release plan by
updating a release burndown chart at the end of each Sprint.
The horizontal axis of the release burndown chart shows the Sprints; the
vertical axis shows the amount of work remaining at the start of each Sprint in
Story points.
Copyright@ 2008 Russell Pannone. All rights reserved. 39
43. Roadmap to “being” agile
Collaboratively and adaptively develop value-
adding product increments in a continuous flow
from requirements to deployment
Be objective and see things as a whole Agile
Be value-driven not plan/task-driven Coaching &
Training
Identify and continually discuss individual, team
and enterprise strengths, weaknesses,
opportunities and challenges
Put together a coalition to lead by example and
Agile Scrum
teach Cultural Transition Coaching &
Create a vision to help direct change Renewal
Program Training
Use every vehicle possible to constantly
communicate the vision and strategies
Get rid of barriers to being agile
Generate short-term wins Organizational
Change
Develop people who can implement the change Management
Anchor being agile in the culture
43
51. A story is a “placeholder”
for a requirement formulated as a
brief description written in the
everyday language of the customer
or user describing desired
functionality; containing just
enough information so that the
product team can produce a
reasonable estimate of the effort to
implement it
Copyright@ 2008 Russell Pannone. All rights reserved. 51
52. Samples Stories
As a vacation planner, I
want to see photos of the
hotels to help me
determine if it meets my
needs
As a user, I want to cancel As a frequent flier, I want
a reservation to rebook a past trip, so
that I save time booking
trips I take often
52
53. Where Are the Details?
As a user, I can cancel a reservation
Does the user get a full or partial refund?
Is the refund to her credit card or is it site
credit?
How far ahead must the reservation be cancelled?
Is that the same for all hotels?
For all site visitors? Can frequent travelers
cancel later?
Is a confirmation provided to the user?
How?
53
55. Details as Conditions-of-Satisfaction
The product owner‟s conditions of satisfaction
can be added to a story
These are essentially acceptance tests
As a user, I can cancel a
Verify that a premium member
reservation
can cancel the same day without a
fee.
Verify that a non-premium
member is charged 10% for a same-
day cancellation.
Continued next page Verify that an email confirmation
is sent.
Verify that the hotel is notified
of any cancellation.
55
56. Another Example of Details as Conditions-of-Satisfaction
Story - As an eligible user, I can pay the one-time registration fee of $10, so that I can access my driver’s
record in the future
Conditions-of Satisfaction:
• verify that a payment can be made
• verify that once a payment is made, the user can view their record (with any subsequent fees)
• verify that payment option is not available if registration has already been paid
Story - As an eligible user, I can create a unique user name and password so that my access is limited to
my record and to track activity and payment
Conditions-of Satisfaction:
• verify that a user account can be created
• verify that a user name that is already in use (assigned) is not accepted and the user notified then
prompted for a different user name
• verify that the user name conforms to naming convention (length, caps, etc.)
• verify that the password conforms to naming convention (length, caps, symbols, etc.)
• verify that the legal compliance conditions and consequences of use are displayed and accepted
• verify that if the user does not accept the legal compliance conditions and consequences than no
user name is created
Story - As an eligible user, I can access my record, so that I can verify that it is correct
Conditions-of Satisfaction:
• verify that the user‟s record is displayed
• verify that the user cannot access records other than his/her own (or dependents)
• verify that user is charged $10 for the first access and $5 for subsequent accesses.
• verify that the user is limited to three record access each year.
• verify that the system displays user profile information including: names, addresses, email
addresses, credit cards, and PayPal.
• verify that records for any nonresident individual with a driving record in the state can be accessed
(by March 1) 56
57. INVESTing in Good Stories
Independent
- Dependencies lead to problems estimating and prioritizing
- Can ideally select a story to work on without pulling in 18 other stories
Negotiable
- Stories are not contracts
- Leave or imply some flexibility
Valuable
- To users or customers, not developers
- Rewrite developer stories to reflect value to users or customers
Estimatable
- Because plans are based on user stories, we need to be able to estimate them
Sized appropriately
- Complex stories are intrinsically large
- Compound stories are multiple stories in one
Testable
- Stories need to be testable
Bill Wake, xp123.com
57
60. Working software & demo
Unit test
Code review
Installer
Tests
Functional
Performance
Regression
Documentation
User docs/Online help
Internal design docs
Release notes
API documents
Copyright@2009 SolutionsIQ All rights Reserved
Copyright@ 2008 Russell Pannone. All rights reserved. 60