Agile Planning
- Trial and demonstration uncover true requirements, which then require replanning
- Agile planning is less of an upfront effort and instead is done more throughout the project
- Midcourse adjustments are the norm
- Progressive elaboration concept → true to agile & traditional methods.
- Value Base Analysis & Decomposition: Design the product box — helps highlight the most valuable things & helps prioritize
- Coarse Requirements: Keeping requirements rough to be progressively refined. Helps delay decision on implementation until the ‘last responsible moment’ → gives flexibility for the customer
- Timeboxing: Short, fixed-duration periods in which activities or work are done, after which they move to the next timebox. For example → Daily stand-up [15 mins], Retrospective [2 hours], Sprints [1-4 weeks]
- Agile Estimation: Knowledge of agile estimation theory & ability to perform simple agile estimating techniques.
- Ideal Time: Time it would take to complete a given task assuming zero interruptions or unplanned problems
- User Stories
- POINTS FOR USER STORIES:
- Story Maps & Product Roadmaps: high-level planning tool, that shows when features will be delivered & what is included in each release, it serves as a product roadmap.
- Iterations & Spikes: Iteration 0 [doesn’t build anything, sets the stage for dev efforts]; dev iterations, iteration H [cleaning up/hardening code]. Architectural spike [periods dedicated to proof of concept] and risk-based spike [team investigate to reduce or eliminate risk]
- Iteration Planning
- Output will be iteration or sprint backlog
- Done by team, discuss user stories in backlog & select user stories for the iteration
- define the acceptance criteria & break them down into tasks
- Release Planning
- Meeting with all stakeholders to determine which stories will be done in which iterations for upcoming release
- Selecting user stories for the release - using velocity by points per iteration
- slicing the stories → breaking down stories that are too large to be complete in 1 iteration
- More problems will increase the cost of change
- Technical Debt: a backlog of work caused by not doing the regular cleanup. If not done will lead to increased cost of development and make it harder to change. Refactoring is the solution
- Escaped Defects → defects that make it to the customer