Development with Scrum

What is Scrum?

Scrum is an agile framework used to manage workloads with an emphasis on software development. The framework use so called sprints under which the team members will work with, and finish, their respective assigned tasks.

Visual representation of Scrum:

Scrum

When a project is being planned using Scrum, it is separated into different sections to make it easier to keep track of what needs to be done and what is already finished.

Product backlog

The product backlog is the part of the Scrum document where the features and artifacts of the project are being planned. A common way to structure the product backlog is to separate the log into different artifacts, such as: “Player”, “Basic Enemy”, and “First Boss”. After all of the artifacts have been listed, the work necessary to complete these artifacts will be listed as well.

Example:

Player

Design – Define movement

Art – Sprite

Code – Movement

 

This structure makes it easy for each department to keep track of what needs to be done in order for the artifacts to be considered complete. This backlog also contain deadlines, risks, and priorities for all of the things that the artifacts require.

Sprint backlog

The sprint backlog is where each sprint is being planned. The individual responsible for planning, whether it be individual members planning their own sprints or a manager, will look at the priorities of the product backlog and plan the upcoming sprint based on it. Apart from listing what each department need to work on during the sprint, this backlog also lists the person responsible for each task as well as the person who will act as quality assurance for each task. An estimated work time will be planned for each task based on the estimated risk assigned to the tasks in the product backlog.

Sprint

A sprint is a work period during which a set number of tasks, based on the sprint backlog, are being worked on.

Sprint review

The sprint review is being done at the end of each sprint. This section is used to evaluate the sprint, mostly in the aspect of actual worktime and which tasks that were finished. This section is helpful since it keeps team members responsible for their assigned tasks. This section is updated everytime at regular intervals during the sprint by listing the stage the tasks are in. This shows if a task has been planned, implemented, tested, whether it meets the expectations, and if it is completed. The actual worktime spent on each task is listed as well to help with the planning for upcoming sprints.

 

How has it affected our development?

Positives

Scrum has had a positive effect on the workflow of this project. The fact that you always have the backlogs accessible makes it much easier to keep track of what needs to be done. As the only programmer in Team Vampire it has been a great convenience to have these backlogs since I have to get things working and then move on as quick as possible. It is very easy to just add a notation in the sprint review, or product backlog, if I realize that something needs polishing or bug fixing at a later stage in development. This means that I don’t have to worry about forgetting something while working on other tasks.

The backlogs also provide a sense of progress when you look through them during development and see how many tasks and artifacts that have been finished. This sense of progress serves as motivation during times of development when motivation is low for one reason or another.

Some issues

Tasks have sometimes not been updated in the backlogs which creates some confusion within the group. Since the backlogs help with coordination between departments, failures to update artifacts and tasks can cause other departments to fall out of the loop.

Scrum has been useful for our development process when everything is considered. It is a good system to use when projects are being structured.

 

/Jesper H. Backman

About Jesper Backman

2017 Programming