Author: Bernadette Greenock
Good Agility Point Seven: DELIVERING A SPRINT OR ITERATION
A Sprint or Iteration process are often two interchangeable terms however, delivery in ‘Sprints’ is more likely to be a Scrum based approach as opposed to an Iterative one which is more of an ‘Agile Mindset’ approach of delivering a working solution ‘iteratively’.
An Iteration is the length of time needed to analyse, develop and test a working solution or software that can be deployed to production and delivered to the market faster while also immediately realising the added business value.
An iteration is typically a 10 day period where previous iteration planning and backlog grooming sessions have already been completed. The workload has been elaborated and sized, sizing is achieved by many different methods (i.e. T-Shirts sizing of small, medium, large and extra large, or the Fibonacci Sequence of estimation 1, 2, 3, 5, 8, 13 points to deliver a ‘story’ (to name a few)). It’s not about days effort, it’s more “is the size of a specific storycard, bigger or smaller than the last storycard sized by the team. The Product Owner has provided input into the prioritisation of the iteration and ultimately the team have a shared understanding of what the iteration workload is.
Capacity of the iteration is based on velocity. Typically, gauging how much a team can get through in an iteration is done over the course of 3 – 4 iterations and an average taken across these as to how many ‘points’ the team delivered previously and how many can be achieved by the team in the next iteration and so on.
To be successful in delivery, the team should consist of both a Core Team and an Extended Team:
The team consists of ‘Roles’ rather than ‘Resources’ as individuals can do multiple roles, of course depending on the project size and complexity.
All core team and extended team roles must be present and engaged in all ceremonies such as Iteration Planning and Backlog Grooming, Elaboration of StoryCards, Daily Standups, Showcases and Retrospectives. Typically, once the project is agreed to commence the process would look something like the below and the core and extended team should be involved in everything:
- Discovery workshop to define high level features and epics
- Elaboration workshop to define stories, breaking down epics in more detail and defining a project backlog
- Prioritisation workshop to define MOSCOW (Must Have’s, Should Haves, Could Have’s, Nice to Have’s) of project backlog and definition of ‘Stack Priority’ of Must Have’s (i.e. What is the priority order of Must Have stories)
- Sizing workshop to define how small or large a storycard may be. If it’s too big, it needs to be elaborated further to identify what pieces could be delivered in an iteration
- Iteration planning and backlog grooming – preferably 1 iteration in advance. This enables the team to gain insight into priorities and upcoming workload for the next iteration
- Commencement of Iteration delivery, assignment of work, daily standups (What I did yesterday, what I’m doing today and what are my blockers?)
- Iteration Showcase to the business – what did we deliver during this iteration. Where possible, showcase what has been developed
- Retrospective – What went well? What didn’t go so well? What’s puzzling me? Action plan to work through resolving the not so well and puzzling items
- Continue the delivery/iteration cycle, typically from the fifth point), though further elaboration and sizing discussions may be required throughout the process