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.
Scrum artifacts
We have a term in Scrum called ‘artifacts’, which basically means features. Various artifacts of scrum are:
- Product backlog
- 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 Artificial Intelligence
Alternatively, you can view all our online engineering courses here.
Recent Posts
Kirchhoff’s current and voltage laws
Kirchhoff’s current and voltage laws In our last article, we looked at the principles and operation of a d.c motor. In this article, we’re going to investigate Kirchoff’s current and voltage laws, as well as how to apply them to engineering problems. Kirchoff’s law of current Kirchoff’s law of current states that the algebraic sum […]
What are the principles of operation of a DC electric motor?
What are the principles of operation of a DC electric motor? In our last article, we looked at the electrical parameters in series and parallel electrical circuits. In this article, we’re going to dive into the principles of operation of a DC electric motor. The motor effect When a current-carrying conductor is placed on a […]
What are the electrical parameters in series and parallel electrical networks?
What are the electrical parameters in series and parallel electrical networks? In our last article, we looked at the principles of operation of electrical cells. In this article we’re going to move on to the electrical parameters in both series and parallel electrical networks. When we have circuits with more than one resistor, we need […]