09 July 2019 | Produced by Kandy Shaw
Founded on empiricism and used by approximately 12 million people around the globe, Scrum is the most popular Agile framework. It is an iterative, incremental approach that allows the optimisation of predictability whilst minimising risk. Scrum optimises future predictions and responds to changes, allowing problems to be overcome at an earlier stage. It is different to the predictive waterfall methodologies that are linear sequential models consisting of several phases that need to be completed before the next phase can be started. Waterfall methodology does not allow you to return to the previous phase unless you start again at the first phase, making it very rigid in nature. Scrum, on the other hand is adaptive, meaning that it can respond to change as requirements emerge or evolve during the development of the product.
Scrum is not a process or technique but rather a framework within which various processes and techniques can be employed. Usually, the emphasis is on software development, but Scrum is slowly starting to be employed in other traditional organisations. Whilst it is often viewed as a methodology, Scrum is more an agile process framework for project management that focuses on team collaboration. This framework works on the premise of ‘start with what you already have’ as oppose to the waterfall approach that requires an upfront design. Consisting of the Scrum team, team roles, events and artefacts, each part of the Scrum framework has a specific purpose that is essential to the success of the project and governed by the rules of Scrum. I will briefly explain each of these Scrum elements in turn, but first let’s look at the key Scrum basics and values.
5 Key Scrum Basics
Listed below are the key Scrum basics, the first of which is (or should I say are?) the 3 Pillars.
Image Source: Globant
The 3 Pillars of empirical process control underpinning the whole Scrum framework are Transparency, Inspection and Adaptation. Without these, the process would not work. Transparency requires that all aspects of the process of production be visible to those who are responsible for the outcome. Inspection and timely checks of the product increment on a regular basis allow the monitoring of progress and the detection of any future issues that may arise. Early adaptation of the product increment then minimises any of these future issues.
Collaboration of the team by means of awareness, clarity and distribution are main factors in a Scrum framework and again here, you see the 3 Pillars at work.
Value based prioritisation means that the Scrum is focused on all business tasks from the very start of the development process.
Timeboxing utilises time rationally including the management process, sprints, daily meetings and sprint planning. This is an important Scrum basic as “time is the scarcest resource and unless it is managed nothing can be managed” (Peter Drucker).
Iterative development is divided into steps to conduct business tasks and satisfy user needs as you will see in a short while when we look at the Sprint cycle. Firstly, however, let me briefly explain the basic Scrum values of focus, openness, commitment, courage and respect.
5 Scrum Values
Image Source: toolsjournal.com
Focus – is placed on the work of the Sprint and the goals of the Scrum team.
Openness – Between the Scrum Team and Stakeholders regarding any issues that might evolve and the resolutions to these issues.
Commitment – to achieving Scrum team goals.
Courage – of the Scrum team to do the right thing and work through any difficulties that might arise.
Respect – of Scrum team members and their independent capabilities.
The Scrum Team (3 Roles)
Scrum Master – Coaches, guides, teaches and assists Scrum team members. The Scrum Master is also a servant leader, meaning that they lead by making sure that individual team members have everything they need from the start.
Product Owner (PO) – Represents the business, customers and users and acts as a go-between for client and Scrum team. They are responsible for the return of investment (ROI), defining user stories and maintaining product backlog.
Scrum Team – Self-organising and consisting of the Scrum Master, Product Owner and the development team. Self-organisation increases the level of independence so there is no team leader to delegate tasks. Issues are decided and resolved by the whole team, not any one individual which makes the team highly flexible and adaptive. “The strength of the team is each individual member. The strength of each member is the team” (Phil Jackson)
Stakeholders – Although not actually a Scrum role, I have included Stakeholders here as whilst they are not directly involved with the creation process of the increment during the Sprint, they inspect the increment at the Sprint review and then provide feedback. The PO then acts as the channel of communication between Stakeholder and Development team.
Image Source: softwaretestingclass.com
Scrum Ceremonies (Events)
Sitting under the Agile umbrella, Scrum, as I said earlier is iterative in nature. The iterations (cycles) are the developments made to the software. Split into sequences of repeated iterations, each one is timeboxed (allocated a specific amount of time to be completed). The increment is then designed, developed and tested in repeated cycles until it is a deliverable product.
Sprint – The project progresses through a series of Sprints which are timeboxed, usually for two weeks but no longer than one month. The result of a Sprint should be a working software.
Sprint Planning – Planning meeting at the start of the Sprint whereby team members decide what they can commit to and create a Sprint backlog.
Daily Scrum – Is a way of synchronizing the work of the Scrum team members. Every member, including the Scrum Master and the Product Owner (PO) attends the daily Scrum which should be no longer than 15 minutes. The team are asked 3 questions; 1. What has been accomplished since the last meeting? 2. What are you working on until the next meeting? 3. Can you foresee any problems you might have?
Scrum Review – conducted at the end of each sprint. The team demonstrate the new functionality/product to the Product Owner for feedback which influences the next sprint. The feedback given may result in changes being made to the product, but it is more likely that it will result in a revision or addition to the product backlog.
Sprint Retrospective – takes place at the end of every Sprint. The whole Scrum team, including Scrum Master and Product Owner meet to reflect on the recently ended Sprint to identify ways for improvement.
Product – is the primary artefact in Scrum development. The Scrum framework expects the product or system to be in a shippable state by the end of each Sprint
Product Backlog – is the list of functionalities that are to be added to the product at the planning meeting on the first day of the Sprint. It is created by the Product Owner who prioritizes the list so that the team can work on the most valuable features first.
User Stories – are short descriptions of functionality that are described from the customer or user perspective and used to populate the product backlog.
Sprint Backlog – List of tasks that are to be carried out during the Sprint. Basically, this is the Scrum teams’ to-do-list
Burndown Chart – graphical representation of work that is to be done and the time left to do it in.
Burn-Up Chart – graphical representation of the work progress of the team which displays the scope of the project and the work completed. This chart makes progress easy to track
Definition of Done (DoD) – This is not actually a Scrum artefact, but it is an element that supports the transparency of the increment. Each Scrum team will have its own DoD. It is used to assess when a user story has been completed and drives the quality of the work. DoD ensures everyone on the Scrum team knows exactly what is expected of everything that the team is working on to deliver. It ensures quality and transparency, the latter of which, as mentioned earlier is one of the 3 pillars of Scrum. The entire point of Scrum is to deliver a ‘Done’ increment; increment being a body of inspectable ‘Done’ work that must be in a usable condition.
- The maximum time for a sprint is four weeks but ideally (and most commonly) it should be two weeks
- There are no Breaks between Sprints
- Every Sprint is the Same Length
- The goal of every Sprint is to produce a potentially deliverable product
- Every Sprint includes Sprint Planning
- The Sprint Planning Meeting is timeboxed to 2 Hours for each week of the Sprint (e.g. 2 week Sprint – 4 hours planning)
- The Daily Scrum is held at the same time
- The Daily Scrum is time boxed to 15 minutes
- Every Sprint includes a Sprint Review for stakeholder feedback
- Every Sprint includes a Sprint Retrospective for product adaptation purposes
- Both Review and Retrospective meetings are timeboxed to 2 hours per each week of the Sprint
- There is no break between Sprint Review and Sprint Retrospective
As I stated at the beginning of this post, Scrum is the most popular Agile framework because of its iterative nature and its ability to respond to change. For this reason, the Scrum Master certification is an invaluable addition to any CV. But how do you become a Scrum Master and what are the benefits of achieving this certification? For the answers to these questions you will have to read my next post; ‘What is a Scrum Master and What are the Benefits of Getting a Scrum Master Qualification?’.