Agile Development Product Delivery For Successful Organizations
Agile Intro for FCL
1.
2. 1. Why Agile? – waterfall vs Agile
2. Agile Manifesto
3. Scrum – an overview
4. Key Roles in scrum
5. Story planning
6. Retrospective
7. Role of the ScrumMaster
8. Role of the Product Owner
9. Role of Scrum Teams
10. Agile Project Management
11. Agile Infrastructure
12. Scrum of scrums
13. Release Planning
14. Scaling
3. Are we doing
Half way?
the right
0% of software thing?
delivered
End-to-End
small slices
of work
20 % done = 100 %
usable
• Business value is delivered early (can • Business value is only delivered
capture ROI against Business Case towards the end of the project (hard
early) to capture ROI against Business
• Focus on the important features first Case)
• Early feedback that we are doing the • False belief the we know more about
right thing the project than we possibly can
• Customers are happy when they see • Planning is by task rather than
progress feature
• Early feedback of capability to deliver • False feature rich
• Reduced cycle time is a major
competitive advantage
4. Individuals and Interactions – over processes & tools
Working Software – over comprehensive documentation
Collaboration & Transparency – over contract negotiation
Responding to change – over following a plan
Customer transparency/business buy-in (crucial)
People focus
Open & Honest
Remaining ‘Agile’
Scrum, XP, TDD, KANBAN etc…
5. Agile IS based on iterative outcomes, where requirements and
solutions evolve through collaboration between self-organising 24 hours
cross-functional teams.
Agile is NOT
• The ‘silver bullet’
• Uncontrollable by Project Management
Iteration
2-4 weeks
• A free reign to deliver anything Iteration goal
• Is not a methodology
Return
Initial Investment
Product
• Require team coaching – plan, allocate, commit (at sprint level) backlog
Potentially shippable
• Technology delivery focus
product increment
• Business involvement and buy in
Common misuse of Agile The Agile Promise
All care no responsibility. Agile provides early indicators on likelihood of delivery to promise.
A free run on time and budget Accountability to tasks specific to sprints. (we deliver what we
promise)
Known delivery NOT assumed
An excuse for no documentation Eliminate wasted documentation and collaborate through knowledge
management
Development led project Business/customer led project (Product Owner)
Little visibility/control Complete transparency/improved control
6. The Agile promise
Delivery commitment on a known–known NOT and known-
unknown
A framework NOT the law
Agile practices
• Forming, Storming, Norming & Performing
• Regular showcases – inspection and evolution
• Emerging requirements, team capability and technology
• Self organizing team & adaptive
• Regular process improvement (Retrospectives, Scrum-of-Scrums,
Design Reviews, etc…)
• Risk management
• Collaboration & transparency
7. • Product Owner:
– The Product Owner is responsible for gathering the product backlog for the entire
program of work at an epic level to capture the high level features (functions) required
by the business, breaking up the epics into user stories (manageable chunks in
business speak), elaborating on features and prioritising the backlog of work. The
product owner role is a key role in providing the overall business context and functional
scope of each release of work to the sprint teams and understanding the complete
scope of work and alignment to business drivers. (align benefits)
• Scrum Master/Technical Project Lead:
– The Scrum Master is responsible for making sure a Scrum team lives by the values and
practices of Scrum and is the key individual for competency leads, project manager and
product owner to communicate with a team. The Scrum Master keeps the team working at
the highest level of productivity primarily by making and facilitating decisions and removing
impediments.
– The Scrum Master facilitates the daily scrum and becomes responsible for removing any
obstacles that are brought up by the team during those meetings.
– The role must plan the delivery of the iterations and release in conjunction with the product
owner, confer with the scrum team and take accountability for the technical delivery of the
application. This includes identification of key milestones, dependencies and progress
reporting/tracking. This role is accountable to the project manager
– LEAD & FACILITATE
8. • Scrum Team Member: (Delivery Team)
– The Sprint Team builds the deliverable that the customer is going to consume (examples
should include: processes, documentation, software functionality). The aims to be "cross-
functional" and includes members from all competencies conducting various roles where
possible.
• Subject Matter Expert:
– Provide real business experience to the project team and ensures that any proposed solution
can meet business requirements, while still considering the limitations in product functionality
and understanding where business processes need to be re-engineered.
A new role ??
• Project Delivery Partner:
– The project delivery partner is responsible for overall delivery of the project .
The project delivery partner is responsible for engaging and reporting to the project
board.
The project delivery partner is responsible for working with the scrum masters to
determine resource allocations for the pipeline of work.
– The project delivery partner is responsible for the financial control relating to the project.
– The project delivery partner is responsible for expectation management with the
business sponsor.
– The project delivery partner is responsible for ensuring adequate change management
practices are in place for the project.
– Can be potentially shared across the SM
9. Product Owner:
The Product Owner is
responsible for gathering the
product backlog for the entire
program of work at an epic level
to capture the high level features
required by the business,
breaking up the epics into user
stories, elaborating on features
and prioritising the backlog of
work. The product owner role is
a key role in providing the
overall business context and
functional scope of each release
of work to the sprint teams and
understanding the complete
scope of work and alignment to
business drivers.
?
10. Scrum master:
• Supporting the team and removing key barriers at an iteration level
• Ensure administration of the iteration velocity tracking & reporting
• Managing and improving development team software delivery and maturity practices
– i.e. test automation, continuous integration
• Improving the engineering practices so each increment of functionality is potentially
shippable.
• Manage the product backlog
• Apply commonsense
?
11. ! "
}
Prioritisation
Business
Lock in Scope
ROM Days
(BA, Dev, Test)/
High-level view of R2.2 Features /Stories Prelim release plan
WoL priorities (relative Weighting
R2.2 Features/Stories (planning poker))
High-level
delivery costs &
timeframes
Agreement
Business
Detailed task planning
Hours & Iteration plan
(BA, Dev, Test)
R2.2 Features/Stories R2.2 Features/Stories
?
12. User Stories
As a <user>
I want <business functionality>
So that <business value>
Acceptance Criteria
Entry Criteria <pre-requisites>
Exit Criteria <post-conditions>
Then <result>
Must be simple enough to be completed in a iteration. If story is large
and complex break it down into manageable pieces.
13. Agile Estimation (Poker Planning)
Estimation done by ‘scrum team’
Complexity measure to estimate (Fibonacci Sequence)
Story weighting (complexity calibration)
Simple story complexity vs complex story
Continue estimating until all team members agree (3 Times)
If consensus can’t be met discuss the separation in estimates
Note: Break the story down into as simple a form as
possible so task planning can be easily achieved.
14. Product Backlog Prioritisation
Finalise PBI (Product Backlog Items)
PO to agree with Business on priority of deliverable stories
This is prioritised across the entire product backlog (or as much
as possible across the PBI)
Agree with the business the first iteration of stories to be delivered
Agree with the scrum team
Deliver sprint!
15. Daily stand up
Facilitated by the scrum master
15 minutes
Chicken & Pigs
Each team member stands in front of the scrum board and details
the tasks they completed yesterday,
planned to do today and
any impediments
Each team member to ensure scrum board is upto date and tasks
move across the board as they are completed
Team members must be prompt and ontime to the daily stand-up
16. Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Owner: Sanjay Owner: Sanjay Owner: Sanjay Owner: Sanjay
Time Remaining: Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs 4 hrs
Story #1 Task: Configure database
and SpaceIDs for Trac
Owner: Sanjay
Task: Configure database
and SpaceIDs for Trac
Owner: Sanjay
Time Remaining: Time Remaining:
4 hrs 4 hrs
Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Owner: Sanjay Owner: Sanjay Owner: Sanjay
Time Remaining: Time Remaining: Time Remaining:
4 hrs 4 hrs 4 hrs
Story #2 Task: Configure database
and SpaceIDs for Trac
Owner: Sanjay
Time Remaining:
Task: Configure database
and SpaceIDs for Trac
Owner: Sanjay
Time Remaining:
Task: Configure database
and SpaceIDs for Trac
Owner: Sanjay
Time Remaining:
4 hrs 4 hrs 4 hrs
Task: Configure database
and SpaceIDs for Trac
Owner: Sanjay
Time Remaining:
4 hrs
! #
17.
18.
19. Product showcasing is displaying working software
Involves the customer
Review the iteration goals
Were they achieved
Review iteration backlog
Review acceptance criteria
Seek customer feedback
Nominate a different team member for each showcase
(spread the knowledge)
20. $
%
What went well
What didn’t go so well
What can we do better
What are we going to implement in the next iteration (assign
these to owners in the team)
Issues to escalate to the scrum master
Actions
Occur after every iteration (minor retrospective with the team)
Major retrospectives can occur after every 3rd iteration and can involve
the customer
This is an opportunity to share ideas for improvement.
This is NOT an opportunity to whinge…
21. Reporting drawn out of Jira
Scope
UNINTERRUPTED FOCUS
TO COMPLETE
Actual Velocity ITERATIONS
Planned Velocity
•Daily stand-up
•Design sessions
•Real time progress view
from a team perspective
•Showcase
•Retrospectives
Transparency – Storyboarding
• Planned, In-progress, Test, Done
• Real-time burndown – updated daily
• Look at managing dependencies using KANBAN ?
• How to manage impediments? – backlog or tax
22. Velocity – WoL reporting & predictability
•Rolled up iteration reporting against WoL product backlog
•Realtime project reporting against plan
•Trend forecasting - forecasting
•Stage gating – i.e. burndown tracking against specific milestones (set as part of epic-level
estimating)
•Can consume additional scope depending on velocity & business value (zero cost change)
•WoL tracking – overall number of stories/epics to be delivered against current WoL delivery plan
23. Meeting between the scrum-master and the project delivery
partner and other key resources
Generally twice weekly
Generally used on large projects with multiple scrums
Great way to manage interdependencies between scrums or
non-Agile projects
Similar to a stand-up
More project management focused
Review impediments that can’t be managed at a scrum-
master or sprint level (key risks/issue review)
Validation of overall program velocity vs release roadmap
24. 1 2 3 4
Jan Feb March April May June July Aug Sep Oct Nov Dec
EPIC
•Storys
EPIC
•Storys
EPIC
•Storys
EPIC
•Storys
Regular release planning based on planned velocity
Predictive planning based on actual delivery capability
Reviewed and adjusted regularly in consultation with the business
Generally delivery is prioritised by business value
25. Collaboration
Whiteboards
Wiki – share and update stories
Continuous Integration (Hudson)
Automated testing
Automated Unit testing (xUnit)
Automated Regression testing
Scrumworks/Jira for product backlog tracking
26. Committed Stakeholder – Business Buy-in
High performing technical teams
Hire the right people (collaborative self starter, change adopters and drivers
Roles & Responsibilities – SCRUM
Product owner – business representative
SCRUM Master
Team – cross-functional (no egos)
Project Management/Governance (optional)
Manageable technical debt
Continuous integration/build – Hudson
Automated testing – Unit, Regression
Test driven development – quality in the hands of the team
Develop to test scenarios – robust software
27. Dependency management
‘Agile up’ – taking into account various other influences within the Agile environment
Non-Agile teams
Technical Debt – Infrastructure, Architecture, Support
Other projects
Business process tuning (i.e. change processes etc…)
Acknowledgement of a “Lean” documentation approach
Wiki’s
Reduced heavy documented templates for reqs capture etc..
Story cards
Access to resources whom are versed and knowledgeable with iterative delivery
A coach will be the difference between success and half baked implementation of
Agile