Agile Practice: SCRUM

What is SCRUM?

Scrum is a lightweight agile practice that doesn’t take too much time away from production, uses both the iterative and incremental system process models, and enhances predictability and mitigates risks.

Pillars of SCRUM

  • Transparency
    • It means that everyone can see every part of the project. This means that both the Scrum team and the client is familiar of the development updates.
    • Here, the team is agreeing on using common terminology to use through development.
  • Inspection
    • Scrum encourages frequent inspection of work products and progress to detect undesirable deviations from expectations
  • Adaptation
    • When the team has found themselves deviating from the software requirements, they should be able to easily adapt and adjust. Also, called Scrum events, these techniques to help with this are:
      • Sprint Planning
      • Daily Scrum
      • Sprint Review
      • Sprint Retrospective

All these events are time-boxed, meaning the Scrum team needs to specify a maximum time for the duration of each events and adhere to that. Let’s look at each one.

Photo from http://www.enliveningedge.org under CC BY SA 4.0

Sprint is a development phase of a specific amount of time, in which a working prototype is delivered to the client. Here, the sprint lasts one month or less, typically 1 or 2 weeks. After each sprint, a working prototype is delivered to the client. Each spring consists of the four scrum events, which are:

Spring Planning – occurs at the beginning of the current Sprint to determine what will be completed in Sprint.

Daily Scrum – this is a daily meeting that occurs at the beginning of each day so that the team can talk about the tasks they will need to accomplish for the day.

Sprint Review – this occurs at the end of the Sprint. This is also where the working prototype is delivered. It reviews what has been accomplished, what has been tagged as “DONE” and what needs additional increment for the next sprint.

Sprint Retroactive – this is where the suggestions that will change the Sprint goal will go to the Backlog, to start the next Sprint as the product owner decides.

How is a feature considered ”DONE“? A feature is considered done when it is coded, tested and documented. During a sprint, a requirements change is not allowed if it is outside the sprint goal.

ROLES OF THE SCRUM TEAM

A Scrum team consists of the product owner, development team and the scrum master.

Product Owner – the one in charge of making decisions about the product and the product backlog. He/She can represent a committe but can be the only one who can implement the changes to the product.

Development Team – the teams in Scrum are self-organizing, which means that they are in charge of taking their backlog of features and turn them into increments of working software. The team are also cross-functional where each member can be specialists from different areas but are able to do tasks other members can do. Lastly, the development team has no subteams, and can only consist of about 3-8 developers.

Scrum Master – the scrum master is the coach of the team, and is in charge of making sure the team is adhering to the scrum theory, practices and rules. As a scrum master works with the product owner, he/she finds techniques to help manage the backlog, as well as facilitate scrum events. On the other hand, when a scrum master is working with the development team, he/she coaches the team to self-organize and remove development roadblocks.

Major tech companies like Amazon, Microsoft, and Adobe are using Scrum. To learn more about it, check out scrumguides.org.

References:

University of Alberta (2020). Software Processes and Agile Practices. [Coursera Course] under the Software Product Management Specialization. Taken November 2020.

Patzelt, M. (2020). Scrum. [Video]. Embedded under the course study videos under the Week 3 of the Software Processes and Agile Practices Coursera Course. Taken November 23, 2020.