Download Prospectus


What is the Scrum Methodology?

You might remember from our article on Agile software development that we mentioned there were several Agile features. These are things like what aspects of Agile will we use or not use and what way will we implement Agile into our business in a way that works for us.  One of the ways in which Agile is implemented in many IT companies is through the Scrum methodology.

Scrum Methodology

This is one of the implementations of agile methodology in which incremental builds are delivered to customers in iterative cycles of 2 to 4 weeks.  Once an organisation has decided on their preferred sprint duration this is generally not changed.

Scrum teams are self-organising and cross functional teams of between 7 and 10 members.  There are three roles in a scrum team: product owner, scrum master and development team member.

An image of the processes within the scrum methodoology

Scrum artifacts

We have a term in Scrum called ‘artifacts’, which basically means features.  Various artifacts of scrum are:

  1. Product backlog
  2. Sprint backlog

These artifacts contain a list of Epics (a user story that can’t be delivered in one sprint – a sprint is period of time where development and testing is carried out) and User Stories (a natural language description of a feature of the system), ordered by their priorities.

The product backlog contains a list of all the stories that are available and need to be developed.  The sprint backlog contains the list of stories that the team plans to work on in a particular sprint.

Scrum events

The sprint starts with sprint planning, in which the top priority stories from the product backlog that are available to be worked on by the team in the current sprint are added to the print backlog.

Every day a small activity called daily stand-up is done to track the amount of work left.  A stand-up is a short, 15-minute meeting, where each team member confirms what they completed yesterday, what they are planning on working on that day, and any issues they are facing.  At the end of the sprint, there is a sprint review for the product owner to ensure that the delivery is as expected.

After that, there is another activity named a sprint retrospective, where the sprint is reviewed and opportunities for further improvements are discussed.

Implementation of Scrum in a Agile methodology

Let’s look at an example of a tech company.  This company is in the restaurant listing business where a user can open an app and look for nearby restaurants.  Imagine these features are in line for the next release:

  • Rate/review a restaurant.
  • Filters for search
  • Online ordering

This team follows the scrum framework.  All the features above are Epics and described below:

  • As a user, I should be able to rate the restaurant so that I can share my experience with other users planning to visit the same restaurant.
  • As a user, I should be able to apply certain filter in the search so that it is easier to find restaurants based on my choice.
  • As a user, I should be able to order food online so that I can enjoy the food from my favourite restaurant without going there physically.

These Epics can be further split into small, independent, negotiable, valuable, estimable, and testable user stories which can be developed and delivered across multiple iterations.

As an example, let’s take the first Epic – rate and review restaurants

Reviews and ratings help the app gain trust among the users by adding a social validation. It tells users about various aspects of the restaurant like food quality, service, hygiene and so on.  Imagine we want to have the following functionalities in this feature:

  • Rating on a scale of 1 to 5
  • Review description
  • Ability to add photos to the reviews.
  • Ability to share reviews on social media platforms.

Building this feature with all the functionalities listed in one development cycle will be difficult.  So, we need to think about prioritising and delivering the functionalities in parts, incrementally across multiple releases and this is where Agile comes in.

In the first iteration, we could build the two most essential parts of the functionality, such as the rating on a scale of 1 to 5 and writing a description review with a limit of 100 characters.  In the second iteration the team got feedback from customers that only 100 characters is not enough.  They will enhance that feature by increasing the limit to 200 characters, and in addition the team feels that giving users the option to add photos to the reviews will help in increasing the genuineness of the review.  They include building this functionality in this sprint also.

In the next iteration, to increase user engagement on social media sites, the functionality to share reviews on Facebook can be delivered.  Other platforms like Twitter and Instagram can be added later in subsequent iterations/releases.  Also, the rating can be split into multiple sections like quality of food, expense, ambience etc. each on a scale of 1 to 5.

So, from looking at the above examples, you can see that neither iterative nor incremental would do the job perfectly alone.  We can’t build anything without iterating to some degree, and we can’t release anything without incrementing to some degree.  So, we develop software iteratively and incrementally in various sizes over time – which is what Agile is all about.  You can find out more about Agile, and software development in general, through our courses in Computer Science.

Our Courses

Interested in computer engineering? Find out more about all the computer engineering courses we have available by clicking here.

Diploma in Computer Engineering

Diploma in Computer Science

Diploma in Artificial Intelligence

Alternatively, you can view all our online engineering courses here.

Recent Posts

What are the principles of operation of electrical cells?

What are the principles of operation of electrical cells? In our last article, we looked at the basic electrical parameters in D.C. circuits.  In this article, we’re going to move on to the principles of operation of electrical cells.  We’ll look at the different types of cells and batteries, their mechanisms, and their applications. What […]

How can we calculate basic electrical parameters?

How can we calculate basic electrical parameters? In our last article, we looked at how we can select the best engineering material for the task.  In this article, we’re going to move on to basic electrical parameters in D.C. circuits. As an engineer, we need to be able to define these key terms and apply […]

How can we select engineering materials?

How can we select engineering materials? In our previous article, we looked at elastic and magnetic hysteresis. In this article, we’re going to look at how we can select engineering materials.  In other articles, we have previously looked at the different materials and their properties.  However, it’s important that engineers understand how we can go […]