Scrum is a process for developing products such as software and quickly getting the products to the customer. Scrum is based on empirical controls through inspection and adaptation.
Scrum consists of iterations called Sprints. Each sprint has calendar days and during the sprint, a development team builds an Increment of potentially shippable product functionality. To initiate a Sprint, a product owner or business owner meets with the team for a 1-day Sprint Planning Meeting. At the meeting, business/product owner reviews the top priority requirements on a Product Backlog, which is a prioritized list of all requirements that are known for the product of system at that time.
The Development team selects that top priority Product Backlog that it believes it can turn into an increment of potentially shippable product functionality (increment) within the next sprint. Once the product owner and development team have agreed on what product backlog to select, the team develops a list of tasks needed to the build the functionality. This list of tasks emerges throughout the Sprint and it called sprint backlog.
The sprint starts immediately after the Sprint Planning Meeting. Everyday, ScrumMaster/Project manager meets with the development team for short daily status meeting called daily scrum. At the end of the sprint, the development team, ScrumMaster, Product owner and other stakeholders meet at a Sprint Review Meeting. At this meeting, the development team demonstrates the increment of the functionality that it developed during the sprint.

Figure: Scrum Process
Scrum uses two complementary, parallel cycles to build releases of a system. One cycle sustains an emerging list of prioritized requirements called product backlog. The other cycle consists of development iterations that build system increments of these requirements. These cycles are constructed so that the most appropriate and most essential system emerges over the project’s iterations.

Benefits of Scrum Includes:
- Putting the product owner in charge of the development project.
- Allowing the product owner to change and create the requirements as the project progresses.
- Ensure that the most important functionality is built first.
- Always focus on most important functionality.
- Achieve new working functionality on every sprint. Improves the delivery.
- Identifying something can be done to improve the productivity every single day.
- Allowing the product owner the choice to release the already built functionality at any time.
Value Driven Development:
The value is expressed as a function of the Product Owner’s ongoing choice of cost, quality, time and functionality:
Value = f (cost,time, functionality, quality)
Scrum provides the variables in the Product owner’s hands throughout the project. The product owner authorizes the development Sprint by Sprint, and is free to change any of the variables based on progress to date and delivered value. At the end of a Sprint, the Product owner reviews the working system functionality with the team. Based upon the review, owner can:
- Re prioritize and change the next set of top priority requirements.
- Release the demonstrated increment into the production.
- Adjust the quality to increase or decrease the functionality delivered in a sprint.
-
Not allow additional sprints because value received for the cost is inadequate.
In nutshell, scrum can improve the quality, delivery of the product being developed by software development team. In whole cycle, product owner is the driver of the project and controls every aspect of the development and it’s values.
In TarKia, Scrum is a leading software development process used to develop the software for its clients.

