Agile and Scrum software development is gaining a lot of popularity these days.
This is because of a couple of reasons:
- Short iterations (sprints) and Incremental nature,
- Flexibility to change and multi-faceted collaborative and self-organizing teams.
Agile and Scrum provide the perfect solution for companies such as:
- Startups that are not resource-heavy,
- Companies who need a quick response to market conditions,
The Agile Manifesto itself was born out of a need to find a common ground among Scrum, and other frameworks. “They were starting to see that there was something common that they were doing. The rest, as they say, is history!
There are several popular Agile frameworks such as Extreme Programming or XP, Scrum, FDD…
The most popular today is Scrum. Scrum was born in 1993 by Ken Schwaber and Dr.Jeff Sutherland. Scrum has been implemented at many top organizations around the globe such as Google, Tesla, GE, and so on.
So what exactly is Scrum, and how is it different from the many other frameworks out there?
The word ‘scrum’ derives from the game of rugby where a team moves down the field to reach its goal. Scrum is an empirical process that encourages teams to challenge themselves every time. Scrum follows a process of ‘Inspect’ and ‘Adapt’. Frequent inspection exposes issues or barriers and the team then adapts its approach as needed. This shorter feedback loop ensures that any product flaws are fixed early in the cycle.
Scrum is made up of certain roles, artifacts, and time boxes. A Scrum team is made up of 3–9 people. Let us have a brief look at the various components of Scrum.
Scrum defines only three roles for its development team. These are the Product Owner, the Scrum Master, and the Developers. Product Owner serves as the customer or customer proxy and finalizes the requirements. The Scrum Master works on removing impediments the team faces and ensures that Scrum is applied. The Developers are responsible for delivering product working products increments every sprint. This could be a programmer, tester, business analyst, architect, etc.
In Scrum lingo, the team members are called pigs whereas external resources are called chickens. This stems from a story about a pig and chicken planning to open a ‘ham and eggs’ restaurant. The pig would be ‘committed’ since its hide is on the line. The chicken is only ‘involved’.
Scrum is made up of iterations or ‘sprints’. These may have any length ranging from one week to four weeks. Sprints start and end at a fixed time irrespective of whether the targeted work is finished. This aspect is called a ‘time box’ which will be explained below in further detail.
The main artifacts that are produced in Scrum are the Product Backlog, Sprint Backlog, and Increment.
The Product Backlog is an ordered list of all the features that the customer might want in the product. The highest priority features are at the top ensuring that the most important, and highest value functionality is built first.
The Sprint Backlog has a limited scope. It consists of features from the Product Backlog that are going to be built in that particular sprint. Any work that is not done at the end of the sprint goes back to the product backlog for reprioritization.
As described in the Scrum Guide, an Increment is a concrete stepping stone toward the Product Goal. Each Increment is additive to all prior Increments. Verified, ensuring that all Increments work together. To provide value, the Increment must be usable.
Many Increments can be created within a Sprint. The sum of the Increments is presented at the Sprint Review. Yet, an Increment may be delivered to stakeholders before the end of the Sprint.
Scrum introduces the concept of a time box. This means that a given event will have a fixed time and will expire at the end of the time limit. The various meetings in Scrum are allocated a timebox. The Scrum time boxes include:
- Sprint planning meeting,
- Daily Scrum,
- Sprint Review and
- Sprint Retrospectives.
The Daily Scrum is always 15 minutes. The other planning meetings also have a fixed time depending on the Sprint length.
Scrum Story Boards and Collocation
The storyboard — used to portray the Sprint Backlog — is another mainstay of the Scrum process. This is a physical board in the team which could be part of a wall or several walls as needed. There is a concept of a ‘story’ which is a feature or high-level need. If any item from the product backlog could become one or many stories. The story states what the user accepts from a given feature. For example, ‘As a user, I should be able to log in to my email’. The success criteria outline the things that must happen to consider this ‘done’. All the tasks needed to plan, design, code, and test this story are placed under this. These tasks could be done by several people on the team.
Scrum encourages collocating all the team members in an open group area minus walls. The idea is to encourage open communication and reduce overheads from emails or phone calls. Impromptu discussions between the customer and team members are pretty common in a Scrum room.
The Scrum artifacts are displayed throughout the area where the team sits and works. These includes:
- burndown charts,
- barrier section,
- architecture maps,
- designs etc.
The idea is that any relevant information should be visible to the team all the time. This is informative as well as motivational. The information radiates or jumps out from all the charts and boards. Color coding is using to differentiate tasks, stories, barriers, etc.
A lot of software tools are available for tracking Scrum projects. Still, they cannot replace the effect physical information radiators have.
The Sprint Retrospective deserves special mention. This is where the team comes together at the end of a sprint and talks about what went well and what could be improved. A retrospective is not to be used for finger-pointing. Retrospectives become more effective as team gels and team members trust each other and the management. This is necessary to uncover impediments that people may be hesitant to speak of.
Scrum in the Global Scenario
Even though Scrum encourages collocation, it may not always be possible, especially in distributed teams in many geographic locations. Scrum has been proven to be effective even in such situations and many teams practice distributed Scrum.
This is a high-level introduction to Scrum. If you want to learn more about Scrum and Agile Practices, take a closer look at the Agile and Scrum Masterclass.