- Allows for faster delivery of product features to your customer
- Leads to increased customer satisfaction.
- Reduced risks since you have small feature releases carried out frequently
- Predictable costs and schedule
- Easily allows for change
- Stages
- Requirements: Business analysts gets all requirements from customers.
- Design stage: Peers & architects design application
- Code: Dev teams work with application
- System testing
- User Acceptance Testing
- Software release
- Problems
- Release date can be far into the future.
- Can be redundant even before release as business can change
- Bugs & issues detected during the testing phase, it can delay the release as you repeat stages.
- Software may not comply with the requirements
- E.g. during coding stage design requirements can change which will not be reflected.
- As result, user may not get what he/she wants
- Release date can be far into the future.
- Have a vision / goal
- User stories: describes what customer / end user wants
- Product backlog
- Start taking tasks from user stories
- Pick tasks from product backlog to sprint backlog
- Work with them during a sprint
- Sprint = 1-2 weeks
- Sprint results in working functionality
- Retrospective & review meetings
- Important to avoid frustrations such as late deliveries
- Understand how your work items are progressing in terms of development, testing, release
- Are work items being tracked to completion?
- Are feature requests being tracked?
- Time remaining for key work items
- Time spend on work items.
- Normally use cumulative flow diagrams to monitor the flow of work.
- 📝 Primary metrics are: