Day 1 - Managing Software Projects in a Waterfall Context
1. Introduction to Waterfall
a. Historical Context
Winston Royce
Background in manufacturing processes
b. Waterfall stages
Requirements gathering
Design
Implementation
Verification
Maintenance
c. Waterfall challenges
Handling change
Distance between business knowledge and implementation
Storing risk to late in the lifecycle
Prioritisation of scope
d. Summary of reactions to Waterfall model
Embrace – Waterfall approaches, eg SSADM
Cope – V-Model
Adapt – Incremental
Reject – Agile
Enhance – Lean
2. V-Model coping strategies for Waterfall delivery
a. Early verification and validation
Cost of finding late
Reviews and inspections
Static analysis
b. V-Model test stages
Unit/Unit integration
System
System Integration
Acceptance
c. V-Model benefits
Increased end-user involvement in verification
Early risk mitigation
3. Adapting Waterfall with Incremental approaches
a. Types of Incremental approaches
Pre-planned
Parallel, RAD
Evolutionary, RUP
b. Incremental delivery principles
Product increments
Proto-typing
Timeboxing
c. Benefits of incremental delivery
Increased user involvement in decision making
Early return on investment
Reacts to change
4. Rejecting the Waterfall model in favour of Agile
a. Agile Essentials
Agile Manifesto
Agile Principles
b. Introduction to Scrum, the most popular Agile framework
Iterative delivery
Collaborative working
Just in time documentation
Adaptive planning
c. Benefits of Agile
Increased user involvement throughout process
Empowered development team
Rapid return on investment
Greater ability to react to change
Reduce nugatory development
5. Enhancing Waterfall with Kanban delivery
a. Lean and Kanban
History of Lean delivery
History of Kanban
Principle of reducing waste
b. Introduction to Kanban
The Kanban board
Managing work-in-progress
c. Benefits of Kanban
Greater ability to react to change
Rapid return on investment
Reduce nugatory development
Day 2 - Agile Project Management Techniques
1. Empirical Process Control
a. Inspect
Demonstration
Retrospection
b. Adapt
Adaptive planning
Continuous improvement
c. Transparency
Stakeholder involvement
Contract negotiation
Just in time documentation
2. Managing requirements
a. Backlogs
Product
Release
Sprint
b. Backlog Items
User Stories
Defects
Requirements specifications
c. Risk
Adjusting Backlog for risk
Risk burndown
3. Estimation and control
a. Timebox planning
Release planning
Iteration planning
Daily communication
b. Prioritisation techniques
MoSCow
Value based
Other techniques
c. Estimation techniques
User story grooming
Planning Poker
4. Delivery management
a. Iterative delivery
Team velocity
Rapid return on investment
b. Information radiators
Scrum wall
Burn-down chart
5. Team management
a. Associative leadership
ScrumMaster as facilitator
Role of the traditional project manager
b. End-user involvement
The single decision maker - the Product Owner
Communicating with stakeholders (Pigs and Chickens)
c. Empowered team
Self-managing teams
The role of the specialist within the team
Managing split teams
|