Professional Documents
Culture Documents
net
www.rabbitsoft.com
Tayfun Bilsel
Founder & CTO, Rabbitsoft
14 April 2011
Agenda
Waterfall Approach
- Requirements are known
- Each stage signed off before the next one
commences
- Need extensive documentation as this is the
primary communication medium
Agile Approach
Waterfall vs Agile
Be Agile
Outline requirement rather than detailed
requirements/solution/plan
Baseline Plan (3-9 months) vs Commitment Plan
Empirical
(based on observation)
or
Defined?
Source: http://www.noop.nl/2008/08/simple-vs-complicated-vs-complex-vs-chaotic.html
Agile Manifesto
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
http://www.agilemanifesto.org/
Common Problem1
No Product Owner or Multiple Product Owners
case1: There is no one in the organisation to prioritize features
or no prioritization methods
case2: The priority set of one Product Owner not match with
the priority set of another Product Owner, as they have different
understanding of what is important.
Common Problem2
Sales/Marketing or Management often make promises to
customers about features or make assumptions that features
will be delivered in a certain time
and this never happens!
and..... they start to blame the development!
Common Problem3
We can do agile without customer feedback!
You may end up building a perfect technical product, with no
value to the customer
Customer is the most valuable team member
Common Problem4
Stick with the plan and you will be successful!
- Iterative development is well planned but planned in a
different way to waterfall
Why Scrum?
Wrapper for existing engineering practices and does
not strictly define principles or how to guidelines
Scalable from single team to entire organisation
Scrum is the lightest of all Agile methods (AUP, Lean,
XP...) with 5 values (Commitment, Focus, Openness,
Respect, Courage), 3 roles
Role to detect and remove anything that gets in the
way of developing and delivering products
Multi-level Planning
Release Plan -> Typically every 3 to 6 months
Sprint Plan -> Typically every 2 to 4 weeks
Daily Plan -> Daily
Scrum Roles
Scrum Team (Size 7 +-2) How - Who - How long - Deliver
ScrumMaster (Coach)
Scrum Artefacts
Product Backlog
Continuously evolving queue of stories created by the Product Owner with input from
other stakeholders
Owned and prioritised by Product Owner
Sprint Backlog
Burndown Chart
Ceremonies
Daily Scrum Meeting (Everyday @ 9:00) - 15min
Sprint Planning (Last day of Sprint in the afternoon) - 8hours max
(4+4)
Sprint Planning
Sprint Goal
Collectively, the Scrum team and the product owner define a
sprint goal in the planning meeting
It is usually one sentence descriptive text
The success of the sprint will later be assessed during the
Sprint Review Meeting against the sprint goal.
Planning Poker
1. Product Owner reads the user story and answer any questions that the estimators have
2. All cards are simultaneously turned over and shown so that all participants can see each
estimate.
3. If estimates differ, the high and low estimators explain their estimates and do another
round
4. 3 rounds can be done until estimators converge, if not then, either majority or average
points can be used as the final estimate
Online version
http://www.planningpoker.com/
Sprint Review
Acknowledge achievements
Chickens are invited
Demo of everything that's been done in the Sprint
Product Owner signs off Sprint if tests are ok
Sprint Retrospective
Takes place at the end of the Sprint before the planning
meeting/poker
Short workshop session for team to review lessons learned
and discuss actions for the next Sprint
No chickens involved (except end of release retrospective)
Action Plan
At the end of
retrospective meeting
Information Radiator
What is Spike?
Spike is a learning activity
Spike something that you don't understand in advance - when
you don't know what exactly it is or how to implement
It is timeboxed - you need to limit how much time you are going
to spend researching
User Stories
Explains Who, What, Why (including functional, non-functional
and non-software features)
Sprint stories should be doable in 1-5 days. If it takes more
than 5 days (compound story), decompose it. For Complex
stories (if no way to split up) - spike it as not enough is known
Product Owner can decompose it with stakeholders
Back of the card- high level acceptance test posed in the form
of questions (not detailed tests) - testers should come up with
these
Cancelling Sprint
Actions required:
1. Retrospective meeting. What went wrong?
2. Stop
3. Re-plan
4. Wait for the iteration to end
5. Start again
Tools
Pivotal Tracker
VersionOne
Jira - Green Hopper
ScrumWorks Pro
Rally
Hansoft
TFS version 2010 (Team Foundation Server)
Best Practices?
Combining approaches:
Agile Management Practices with Scrum Framework +
merging with XP and Lean engineering practices
Scrum can customize up rather than customize down
Coding Standards
Pair progamming where possible?
Test Driven Development
Continuous integration
Collective ownership
+
Lean