The Scrum framework is driven by the goal of delivering maximum business value in a minimum time span. To achieve this practically, Scrum believes in iterative development of deliverables. In most complex projects, the customer may not be able to define very concrete requirements or is not confident of what the end product may look like, the iterative model is more flexible in ensuring that any change requested by the customer can be included as part of the project. User Stories may have to be written constantly throughout the duration of the project. In the initial stages of writing, most User Stories are high-level functionalities. These User Stories are known as Epic(s). Epic(s) are usually too large for teams to complete in a single Sprint. Therefore, they are broken down into smaller User Stories.
Each complex aspect of the project is broken down through progressive elaboration during the Groom Prioritize Prioritized Product Backlog process. The Create User Stories and the Estimate, Approve, and Commit User Stories processes are used to add new requirements to the Prioritized Product Backlog. The Product Owner’s task is to ensure increased ROI by focusing on value and its continuous delivery with each Sprint. The Product Owner should have a very good understanding of the project’s business justification and the value the project is supposed to deliver as he drafts the Prioritized Product Backlog and thereby decides what deliverables and hence values are delivered in each Sprint. Then the Create Tasks, Estimate Tasks, and Create Sprint Backlog processes produce the Sprint Backlog which the team uses to create the deliverables.
In each Sprint, the Create Deliverables process is used to develop the Sprint’s outputs. The Scrum Master has to ensure that the Scrum processes are followed and facilitates the team to work in the most productive manner possible. The Scrum Team self-organizes and aims to create the Sprint Deliverables from the User Stories in the Sprint Backlog. In large projects, various cross-functional teams work in parallel across Sprints, delivering potentially shippable solutions at the end of each Sprint. After the Sprint is complete, The Product Owner accepts or rejects the deliverables based on the Acceptance Criteria in the Demonstrate and Validate Sprint process.
The benefit of iterative development is that it allows for course correction as all the people involved get better understanding of what needs to be delivered as part of the project and incorporate these learning in an iterative manner. Thus the time and effort required to reach the final end point is greatly reduced and the team produces deliverables that are better suited to the final business environment.