The Scrum Master Guide - Fred Heath - E-Book

The Scrum Master Guide E-Book

Fred Heath

0,0
21,59 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Curious why so many rely on Scrum and what makes Agile so effective? Learn from seasoned software engineer and Scrum expert Fred Heath, everything you need to become a certified Scrum Master. With over two decades of experience across the software development lifecycle, Fred brings invaluable insights from his extensive work in Scrum, both as a Scrum Master and developer. In this updated guide, he not only takes you from Scrum basics to mastery but also offers practical, real-world knowledge to help you become an effective Scrum Master.
The first part of the book introduces the Scrum fundamentals and prepares you for Level I certification, covering the importance of Scrum team structure, the benefits of well-planned sprints, and how to create and manage sprint and product backlogs.
The second part elevates your skills to the Level II certification standard, exploring advanced topics such as Scrum anti-patterns, scaling Scrum, and how to support developers and product owners. Each chapter concludes with quizzes to reinforce the concepts you've learned. The book wraps up with exam preparation tips and myth-busting strategies to give you a competitive edge in passing your Scrum Master exams.
By the end of this book, you'll be proficient as a Scrum Master ensuring you won’t fall behind in an ever-increasingly agile world.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 320

Veröffentlichungsjahr: 2024

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



The Scrum Master Guide

A practical guide to successfully practicing Scrum and achieving Scrum Master certifications

Fred Heath

The Scrum Master Guide

Copyright © 2024 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Group Product Manager: Aaron Tanna

Publishing Product Manager: Uzma Sheerin

Book Project Manager: Farheen Fathima

Senior Editor: Rounak Kulkarni

Technical Editor: Vidhisha Patidar

Copy Editor: Safis Editing

Proofreader: Rounak Kulkarni

Indexer: Hemangini Bari

Production Designer: Vijay Kamble

Business Development Executive: Saloni Garg

First published: July 2021

Second edition: December 2024

Production reference: 1151124

Published by Packt Publishing Ltd.

Grosvenor House

11 St Paul’s Square

Birmingham

B3 1RB, UK.

ISBN 978-1-83588-502-4

www.packtpub.com

To my wife, Julie, my beloved co-pilot in our shared life voyage

– Fred Heath

Contributors

About the author

Fred Heath is an accomplished software engineer and technical product specialist with 25 years of experience in the software engineering world, spanning a wide range of roles, industries, and technologies. He has worked with Scrum for over a decade and has performed every role in the Scrum Team. His technical interests include programming with Ruby and Elixir, Behavior-Driven Development, software engineering best practices, and agile methodologies. He has authored two books, on Scrum and requirements management, and enjoys blogging and speaking at technical conferences. Fred is currently working as a Data Product Manager in the EdTech sector.

I would like to thank the Packt editing team for their help in creating this book. Rounak for editing, Farheen and Uzma for keeping the momentum going, and Tarun for the technical review. Your feedback and assistance have been invaluable.

About the reviewer

Tarun Gupta is an Agile leader dedicated to driving innovation and delivering value in the IT industry. He began his career as a Software Testing Engineer after completing a Master’s in Computer Applications degree from Pune University. With over 17 years of experience, including more than 8 years as an Agile Project Manager and Scrum Master, Tarun brings a wealth of knowledge in Agile methodologies and project delivery. His certifications—PSM II, PSPO II, PMI-ACP, SAFe Agilist, PMP, and Google Cloud Digital Leader—highlight his commitment to continuous learning and excellence.

Tarun is passionate about fostering collaborative teams, empowering team members, removing impediments, and promoting continuous improvement. With expertise spanning quality assurance, testing, and Agile frameworks, he has a proven track record of delivering high-quality products and accelerating time to market.

Table of Contents

Preface

Part 1: Fundamentals of the Scrum Framework

1

Introducing Scrum

What is Agile Software Development?

What is Scrum?

The value of an iterative and incremental approach

The Waterfall legacy

Iterative and incremental software development

Why should you choose Scrum?

Introducing the Scrum Master certifications

Scrum organizations and their history

The Level I assessment

The Level II assessment

Summary

Further reading

2

Learning about the Scrum Theory and Principles

The foundation of Scrum

The pillars of empiricism

Inspection

Adaptation

Transparency

The Scrum values

The house of Scrum

Summary

Scrum quiz

Quiz answers

3

Meeting the Scrum Team

Identifying a Scrum Team

Scrum Team accountabilities

Characteristics of a Scrum Team

Introducing the Scrum Master

Scrum Master responsibilities

Things outside the Scrum Master realm

Scrum Master Q&A

Working with the Product Owner

Product Owner responsibilities

Things outside the Product Owner realm

Product Owner Q&A

Getting acquainted with the Developers

The Developers are self-managing

The Developers are a cross-functional group

Developer group size and structure

Developer responsibilities

Things outside the Developers’ realm

Developer Q&A

Summary

Scrum quiz

Quiz answers

4

Attending Scrum Events

Getting ready to Sprint

Deciding on the Sprint duration

Setting the Sprint Goal

Defining Done as working and potentially releasable software

Starting the Sprint with Sprint Planning

Sprint Planning for the Scrum Master

Sprint Planning for the Product Owner

Sprint Planning for the Developers

Keeping on the right track with the Daily Scrum

Inspecting the product during the Sprint Review

Inspecting the team with the Sprint Retrospective

Summary

Scrum quiz

Quiz answers

Further reading

5

Managing Scrum Artifacts

Understanding the value of the Scrum Artifacts

Creating and managing the Product Backlog

Making a commitment – the Product Goal

Creating Backlog items as user stories

Creating Backlog items as features

Refining the Product Backlog

Creating and managing the Sprint Backlog

Making a commitment – the Sprint Goal

Planning for the Sprint

Producing an Increment

Making a commitment – Definition of Done

Summary

Scrum quiz

Quiz answers

Further reading

Part 2: Scrum in the Real World

6

Planning and Forecasting with Scrum

Managing the art of estimation

Choosing an estimation scale

Creating a baseline

Playing Planning Poker

Estimating backlog items using the bucket method

Planning with the product roadmap

Envisioning the product journey with a product roadmap

Forecasting with velocity and burn charts

Calculating team velocity

Burn-down charts

Burn-up charts

Summary

Scrum quiz

Quiz answers

Further reading

7

The Sprint Journey

Refining the Product Backlog

Learning how to apply order to the Product Backlog

The Scrum Master’s duties for Product Backlog refinement

Preparing for the first Sprint

Tracking progress with a Scrum Board

What to do when the Sprint Goal is not achieved

Managing defects

Knowing how to triage defects

Dealing with defects in the current Sprint

Dealing with defects from previous Sprints

Canceling the Sprint

What to do with the Sprint Backlog items

How to wrap up a canceled Sprint

Summary

Scrum quiz

Quiz answers

Further reading

8

Recognizing Scrum Anti-Patterns

Developer anti-patterns

Daily Scrum hijacking

The Daily Scrum grind

Working in silos

Deferring to the Product Owner

Ignoring technical debt

Inconsistent estimation

Product Owner anti-patterns

Solutionizing

Scope creep

The Boss Syndrome

Squeezing the Sprint/no cushioning

Reactive, not proactive

Organizational anti-patterns

Re-shuffling the Scrum Team

Using velocity as a metric

Ignoring the Sprint Retrospective

Scrum Master anti-patterns

The Scrum Manager

The Scrum Administrator

Summary

Further reading

Part 3: The Scrum Practitioner

9

Scaling Scrum

Understanding the need for scaling

Coordinating delivery with the Scrum of Scrums

Frequency and duration

Participants

Agenda

Scrum of Scrums (of Scrums)

Integrated delivery with the Nexus framework

The Nexus Integration Team

The Nexus Events

The Nexus Artifacts

Summary

Scrum quiz

Quiz answers

Further reading

10

Supporting the Developers

Identifying and applying leadership styles

Coaching and mentoring

Sprint Events over-running

Developers not applying the Scrum Values

Developers lacking skills or tools

Developers circumventing Scrum

External dependencies

Facilitating self-management

Dealing with technical debt and other risk factors

Emergency work

Technical debt

Summary

Scrum quiz

Quiz answers

Further reading

11

Supporting the Product Owner

Identifying Done and dealing with Undone

Velocity and Done

Dealing with items not Done

Maximizing value

Product Backlog management

Getting backlog refinement right

Sharing the burden

Dealing with pressure to release

Enabling better Product Backlog management

Communicating with the Stakeholders

Summary

Scrum quiz

Quiz answers

Further reading

12

Preparing for the Online Assessments

Getting ready to take the PSM™ I assessment

The assessment structure and format

What you will need to take the assessment

How to prepare for the assessment

Taking the assessment

What happens after the assessment

Getting ready to take the PSM™ II assessment

The assessment structure and format

Taking the assessment

Summary

Scrum mock assessment

Mock assessment answers

Index

Other Books You May Enjoy

Preface

The Scrum framework was conceived in the late 1980s, to counteract the formal, rigid, and stagnating software development methodologies prevalent at the time. The framework was formalized in the 1990s and its founders, Jeff Sutherland and Ken Schwaber, were instrumental in the creation of the Agile Manifesto and the subsequent spread of the Agile development movement. Scrum quickly became the most popular Agile framework, with huge adoption in both small businesses and the enterprise world. Part of the popularity of Scrum is its adaptability. The Scrum Guide keeps getting updated every few years to reflect current thinking and practices.

This book aims to teach people new to, or inexperienced with, Scrum all about the Scrum framework, from a practical, as well as a theoretical perspective, with a view to obtaining level I Scrum certification. It also intends to help existing Scrum Masters advance their skills and prepare them for level II certification exams. The book consists of three parts. In the first five chapters, we will cover the Scrum fundamentals. The theory and principles of Scrum will be digested, before moving on to cover the Scrum Team, Events, and Artifacts. The second part will focus on more practical knowledge, by examining best practices and tools used by Scrum Teams in the real world. We will learn how to plan and estimate in Scrum, how to monitor progress and deal with different situations within Sprint, and how to avoid some common anti-patterns. Every chapter closes with a short quiz to reinforce the knowledge gained.

The third part of the book reinforces and advances previous knowledge and covers themes used in level II certification exams, such as scaling, risk management, leadership techniques, and others.

Finally, the last chapter is entirely dedicated to taking the certification assessments. It offers practical advice on what to do before, during, and after the assessment exams to maximize your chances of success. This is capped with a mock assessment questionnaire, which closely resembles a level I assessment.

Disclaimer

The statements made and opinions expressed in this book belong exclusively to the author and Packt Publishing Limited and are not shared by and do not represent the viewpoint of either Scrum.org or Scrum Alliance, Inc. This content does not constitute an endorsement of any product, service, or point of view. Scrum Alliance, Inc. and Scrum.org make no representations, warranties, or assurances of any kind, express or implied, as to the completeness, accuracy, reliability, suitability, availability, or currency of the content contained in this book or any material related to this book. In no event shall Scrum.org or Scrum Alliance, including their agents, officers, employees, licensees, or affiliates, be liable for any damages whatsoever (including, without limitation, damages for loss of profits, business information, or loss of information) arising out of the information or statements contained in this book. Any reliance you place on such content is strictly at your own risk.

Who this book is for

This book is for project managers, software developers, and anyone else who wants to understand Scrum and obtain level I and II certifications. This book also helps extend and expand the knowledge and practical skills of existing Scrum Masters. No existing knowledge of Scrum, or any other Agile framework, is a prerequisite for reading this book.

What this book covers

Chapter 1, Introducing Scrum, presents the history and motivation behind Scrum and its usefulness as a product development framework and introduces the different Ievels of certification.

Chapter 2, Learning about the Scrum Theory and Principles, discusses the fundamental concepts behind Scrum, its values, and its pillars. We also explain how these concepts help in applying Scrum successfully.

Chapter 3, Meeting the Scrum Team, explains the role and responsibilities of the Scrum Master, Product Owner, and Developers and their interactions within the Scrum development lifecycle.

Chapter 4, Attending Scrum Events, examines the significance of the Sprint and the Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective events, and their application and utility within Scrum.

Chapter 5, Managing Scrum Artifacts, details the Product Backlog, the Sprint Backlog, and the Product Increment, as well as the commitments undertaken for each of these artifacts. We also delve into the interdependencies between these artifacts.

Chapter 6, Planning and Forecasting with Scrum, ventures into the world of estimating, road mapping, planning, and forecasting. We will learn how to calculate our team velocity, create a product roadmap, and monitor our progress with burn-up and burn-down charts.

Chapter 7, The Sprint Journey, imparts practical advice and techniques for day-to-day working during the Sprint. We discuss how to kick off product development, how to perform Product Backlog refinement, and how to use a Scrum Board under different scenarios, such as when managing defects or canceling the Sprint.

Chapter 8, Recognizing Scrum Anti-Patterns, enumerates common bad practices and mistakes made by the Scrum Team and the Organization, alongside suggested techniques for preventing them.

Chapter 9, Scaling Scrum, teaches ways to apply Scrum when multiple Scrum Teams work on the same product, such as the Scrum-of Scrums, and the Nexus framework.

Chapter 10, Supporting the Developers, describes some advanced techniques and soft skills needed for practicing Scrum Masters looking for level II certification, such as self-management, leadership, and coaching and mentoring.

Chapter 11, Supporting the Product Owner, extends the knowledge gained in the previous chapter, with techniques for identifying value, dealing with undone work, and managing stakeholder expectations.

Chapter 12, Preparing for the Online Assessments, catalogs 25 quiz questions summarizing some of the knowledge of this book and helping to prepare you for taking the level I assessment exam. Practical advice on how to prepare for the exam, and what to do during and after, is also given.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Share Your Thoughts

Once you’ve read The Scrum Master Guide, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.

Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.

Download a free PDF copy of this book

Thanks for purchasing this book!

Do you like to read on the go but are unable to carry your print books everywhere?

Is your eBook purchase not compatible with the device of your choice?

Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.

Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.

The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily

Follow these simple steps to get the benefits:

Scan the QR code or visit the link below

https://packt.link/free-ebook/9781835885024

Submit your proof of purchaseThat’s it! We’ll send your free PDF and other benefits to your email directly

Part 1: Fundamentals of the Scrum Framework

In this part, you will learn what Scrum is, why and when to use it, and gain a clear understanding of the components of the Scrum framework. You will also gain adequate knowledge to attempt Level I assessments.

This part comprises the following chapters:

Chapter 1, Introducing ScrumChapter 2, Learning about the Scrum Theory and PrinciplesChapter 3, Meeting the Scrum TeamChapter 4, Attending Scrum EventsChapter 5, Managing Scrum Artifacts

1

Introducing Scrum

In this chapter, we will introduce Scrum as an Agile framework, defining both Agile and Scrum and discussing the history and principles behind them. We will then explain the value of using the iterative and incremental development life cycle prescribed by Scrum and describe some of the other Scrum benefits. We will close this chapter by talking about Scrum Master certifications.

We will cover the following topics:

What is Agile software development?What is Scrum?The value of an iterative and incremental approachWhy should you choose Scrum?Introducing the Scrum certification assessments

By the end of this chapter, you will know what Agile development and the Scrum framework are, how they improve and optimize software development, and what the Scrum certifications involve. Let’s start by understanding what people mean by the term Agile.

What is Agile Software Development?

Anyone who has been working in software development over the last 10 years or so will have at least heard of the term Agile. People often talk about doing Agile or being Agile but, beyond a cool-sounding buzzword, what is Agile all about? Well, to answer that question we need to look at the origins of Agile Software Development.

Back in the late 1990s, many senior software developers and industry leaders, fed up with the static and inflexible software development methodologies prevalent at the time, were already experimenting with more flexible and responsive techniques and approaches. Between 2000 and 2001, a small group of these visionaries met up to discuss these methods and techniques. The unifying force behind this effort was a desire to be able to quickly deliver working software to end users and get rapid feedback on the software’s impact and scope. In the forthcoming years, the methodologies developed under this philosophy came to be known under the umbrella term Agile.

The Agile philosophy is best captured in the Agile Manifesto (2001), which outlines the following values:

Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

The Agile Manifesto clearly states that “while there is value in the items on the right of this list, we value the items on the left more”. So, it is not an abandonment of the old values, but a realization that some new values (individuals and interactions, working software, collaboration, and adapting to change) are far more relevant in the modern software development world. In addition, they came up with a set of principles (see Principles behind the Agile Manifesto in the Further reading section), emphasizing continuous delivery, frequent feedback, personal interactions, and much more. These principles are the following:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.Deliver working software frequently, from within a couple of weeks to a couple of months, with a preference for the shorter timescale.Business people and developers must work together daily throughout the project.Build projects around motivated individuals and give them the environment and support they need and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development.The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity – the art of maximizing the amount of work not done – is essential.The best architectures, requirements, and designs emerge from self-organizing teams.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

It becomes clear that Agile is not a specific methodology, process, or framework, but more of a mindset, a set of principles and ideals to guide us through the software development process.

This is an important concept to keep in mind: throughout my career, I have heard managers, directors, and developers boasting about being Agile because they have daily stand-up meetings, practice pair programming, or use a Kanban board (more on these in Chapter 7, The Sprint Journey). All these are perfectly good tools to support an Agile development life cycle, but their use alone does not make us Agile any more than wearing a cape and my underwear outside my pants makes me a superhero. To truly be Agile, you must think and act in an Agile manner, consistent with the Agile Manifesto. One of the most popular ways of being Agile is by applying Scrum in your organization or team.

Let us take a closer look at the Scrum framework.

What is Scrum?

In the previous section, we mentioned that in the late 1990s, several visionaries were experimenting with flexible and adaptive ways to develop software. Two of these visionaries were Ken Schwaber and Jeff Sutherland. They produced an Agile framework called Scrum, which was based on using the scientific method of empiricism, rather than strictly following a predefined plan. Scrum embraces Agile, not only because it was created by two of the people involved in the creation of the Agile Manifesto, but also because the Scrum Values are actively derived from Agile principles . In fact, most organizations that have adopted Agile methods use Scrum (see The State of Agile in the Further reading section).

It is important to emphasize that Scrum is a process framework, not a process by itself. It introduces rules, milestones, and checkpoints that must be adhered to, regardless of the underlying development process. The Scrum framework can contain a varied number of popular development methodologies, processes, or techniques, as per the organization’s working practices. Scrum does not tell us how to perform our work; it just sets up a container within which to perform it. We can use whichever development methods and design or release processes we like within Scrum. As long as these abide by the Agile and Scrum principles, it is absolutely fine to do so.

Note

There are many processes, frameworks, and methodologies that fall under the Agile umbrella, other than Scrum. Kanban, 5S, Dynamic Systems Development Method (DSDM), and Extreme Programming (XP) all follow the Agile philosophy, though in different ways than Scrum.

Scrum encourages the adoption of values such as respect for people, openness, and commitment, in order to help us (teams) cope with uncertainty and solve complex problems. It promotes the creation of self-organizing and cross-functional teams that can deliver working software independently and in spite of ever-changing external requirements and circumstances.

The Scrum framework consists of three components:

The Scrum Team: A self-organizing, cross-functional set of people who will deliver the working software.Scrum Events: A few time-boxed events that help create regularity, provide feedback, foster self-adjustment, and promote an iterative and incremental life cycle.Scrum Artifacts: Items that represent work or added value and that provide transparency for the team’s work progress and achievements. Artifacts are also the cornerstone of inspection and adaptation.

The Scrum Team attends Scrum Events and creates Scrum Artifacts and working software (which is called a Product Increment). Events are attended at predetermined intervals and may trigger the generation or modification of Artifacts. Artifacts may be inspected by the Team and also by external inspectors. The following diagram illustrates these interactions:

Figure 1.1 – The Scrum Framework components

The usefulness of Scrum lies in its three main components (Team, Events, and Artifacts) and their interactions. We’ll be discussing these components and interactions in detail in Chapter 3, Meeting the Scrum Team, Chapter 4, Attending Scrum Events, and Chapter 5, Managing Scrum Artifacts.

For now, let us take a look at one of the ways Scrum allows us to work more efficiently and productively with the adoption of an iterative and incremental development life cycle.

The value of an iterative and incremental approach

One of the greatest benefits of using Scrum is that it prescribes an iterative and incremental approach to software development. This is by far the most effective and efficient approach for creating software in today’s world, and in the next sections, we will explain exactly why that is the case. Let us begin by remembering how we used to develop software.

The Waterfall legacy

When I first started programming, we used to build our systems in distinct, single stages: first came analysis, then design, then coding, and so on. Each stage would cover everything we would need to consider delivering the entire system, down to the finest detail. Once one stage was complete, we would move on to the next stage of the development life cycle and never revisit the previous, completed stage. This is now known as the Waterfall approach because each stage resembled a distinct level of a waterfall, with one stage following the other in a sequential, non-repeatable fashion, as illustrated in the following figure:

Figure 1.2 – The Waterfall development approach

As we soon came to discover, there were some serious drawbacks to this approach:

First, it took a long time to deliver software to our users. Since we had to consider every requirement, and design and document every functionality before we could start coding, it would take months, or sometimes years, to progress from system inception to system deployment. By that time, a competitor would have beaten us to the punch by delivering their system first, or the business need for our system would have simply passed, overtaken by circumstances and changes in the market.Second, since we were moving sequentially from stage to stage, any design flaws or false assumptions that were discovered after deployment could not be fixed without a major re-hauling of our system. This took a lot of time and effort.Finally, if requirements were changed by the customer once we were past the design stage, we would have to start from scratch again.

In short, the waterfall approach was inflexible, risky, and time-consuming. It worked well for projects with rigid, unchanging requirements that were not affected by market conditions and were not time-critical. However, as software applications started to become more prevalent in our everyday life and the market expanded and diversified, such projects started becoming rarer. Gone are the days in which consumers were happy to sit and wait for the next version of their spreadsheet application to come out from one of the two companies that produced them, or to wait for their email provider to fix a bug in their email system due to there being no real alternative.

Today, customers have plenty of choices and they value speedy delivery of working software over dependence on monopolistic software providers. For software providers nowadays, time to market is an essential factor in their strategy, and waterfall development is just too risky and rigid to follow. Luckily, the people who came up with Agile methodologies saw this at an early stage, and many of them, especially Scrum, follow an iterative and incremental development approach. Let us find out what that means.

Iterative and incremental software development

Working on a task iteratively means that we continually work toward accomplishing the task, so we labor regularly and frequently toward our goal. As an example, to produce this book, I have been writing on two evenings every week. Incremental work means that we build cumulatively upon our previous work. In the book-writing example, that means that once I finish Chapter 1, I’ll move on to Chapter 2, and so on, until I finish the whole book.

Iterative software development means developing software in small chunks repeatedly, instead of waiting for everything to be finished and delivering a large chunk at the end. It entails breaking down the requirements that need to be implemented and implementing a few at a time. So, instead of having a large, big-bang software delivery at the end of the project, we have many smaller deliveries at regular intervals. These delivery intervals are known as Iterations. In Scrum, we call an iteration a Sprint.

Incremental development means that each iteration builds upon software delivered by previous iterations. So, if we implement feature A in our first iteration (let’s call this version 1 of our system), then in version 2, our users will expect to see feature A and feature B too. Sometimes, we may have to deliver feature A again, but this time have it working better or faster or have fixed a bug in it. The point is that each iteration should offer something more than the previous one. This chunk of working software that each iteration adds to the system is called an Increment. In Scrum, an Increment is not randomly produced but is intended to achieve a specific goal, such as delivering a desired functionality or fixing a specific problem. This goal is decided at the beginning of the Sprint and is known as a Sprint Goal.

The following figure shows the characteristics of an iterative and incremental development approach:

Figure 1.3 – Iterative and incremental development

As shown in the preceding figure, in an incremental and iterative development cycle, the team plans, analyzes, codes, and delivers continually, adding value with each iteration. This approach ensures short feedback loops, which reduces the risk of delivering unwanted or faulty software.

In an incremental and iterative cycle, we deliver working software at the end of each Sprint. So, as illustrated, for Sprint 1, we deliver a crude version of our product that doesn’t do much but outlines what we try to build, with some basic functionality. At the end of this Sprint, we showcase our software to the stakeholders and receive feedback. At the same time, we come together as the Scrum Team to inspect and review what we did well in the Sprint and what we could improve. This gives us valuable information on how to improve the product in the next sprint, but also on how to improve our working practices.

In Sprint 2, we apply the lessons learned from Sprint 1 and deliver a much more functional version of the product with more and better features. This cycle of deliver-inspect-adapt is repeated, Sprint after Sprint, until we have delivered a fully functioning, high-quality product. Inspection and adaptation are key pillars of Scrum (more about these in Chapter 2, Learning about the Scrum Theory and Principles), and this is one of the many reasons why Scrum is so beneficial. But let us look at some other good reasons for using Scrum.

Why should you choose Scrum?

Although Scrum is by far the most popular Agile development framework, as mentioned earlier in this chapter, it is by no means the only one. I am not going to patronize you by telling you that Scrum is the best approach and that you should always follow it unquestioningly. As with every other tool, you need to decide whether it fits your needs. Scrum is very well suited for accelerated delivery in product development, which is an environment where requirements and goals are subject to frequent changes.

Note

Lean development is a way of engineering software that tries to keep procedures and goals as business-oriented as possible. This means getting rid of any wasteful actions that are not adding value to the product while focusing on maximizing customer value. Lean and Agile are development/delivery philosophies that have different origins but overlapping goals. Often people will use the terms interchangeably, as Agile practices sometimes leak into Lean methodologies, and vice versa.

I advocate Scrum and I use it most of the time, but I have worked on products where the Kanban framework was more suitable, due to that product’s focus on discovery rather than delivery. Some of my fellow Scrum Masters have occasionally found that using Lean toolsets, such as 5S, or applying XP techniques may suit a specific project’s needs better. In fact, many organizations use elements from other Agile/Lean approaches in addition to Scrum. However, Scrum is the most popular framework for good reason:

Short, focused iterations allow quick software delivery to customersConstant opportunities for introspection and adaptation allow better product quality and team efficiencyScrum’s transparency allows external Stakeholders to follow progress even without knowing or understanding Scrum

If this is not enough, consider the fact that most Scrum users emphatically state that they will continue to use it, that it offers value to their organization, and that it improves work quality (https://stateofagile.com/).

Introducing the Scrum Master certifications

The Scrum Master assessments are available to anyone who wishes to validate their depth of knowledge of the Scrum framework and its application. Those who pass the assessment receive industry-recognized certifications to demonstrate their level of Scrum mastery. To better understand how these assessments came about, let’s look at how Scrum was organized and how it evolved.

Scrum organizations and their history

Back in the What is Scrum? section, we mentioned that Ken Schwaber and Jeff Sutherland created Scrum back in the 1990s. To better support Scrum and encourage its adoption, Schwaber, Sutherland, and others created Scrum Alliance in 2002 (https://www.scrumalliance.org/). In 2009, Schwaber decided to go his own way and created Scrum.org. Scrum Alliance and Scrum.org remain the only valid and authentic Scrum organizations. They both offer Scrum-related certifications. Scrum.org offers the Professional Scrum Master™ (PSM®) certification at three levels: I, II, and III for a fundamental, advanced, and distinguished understanding of Scrum, respectively. Scrum Alliance offers certifications at the Foundational, Advanced, and Professional levels.

To ensure that both Scrum Alliance and Scrum.org are aligned, that the Scrum content doesn’t digress, and that Scrum remains independent of any organization, Schwaber and Sutherland created a public document called The Scrum Guide. The Scrum Guide contains the definition of Scrum and its components, and all the rules and accountabilities prescribed by the Scrum framework.

Schwaber and Sutherland occasionally revise this document, with the latest version released in 2020. This book is based on and uses terms used in the latest version of The Scrum Guide. The Scrum Guide is essential reading for anyone wanting to take the PSM® assessments, or indeed anyone practicing Scrum.

Now that we know how the Scrum certifications came to be, let us get better acquainted with some of them.

The Level I assessment

Unlike its Scrum Alliance counterpart, the Professional Scrum Master™ I (PSM® I) assessment requires passing an online exam. Here are some details on this assessment:

The exam consists of 80 multiple-choice questions and must be completed within 60 minutes.The pass mark is 85%.The exam is only offered in the English language.Some questions have only one correct answer. Some questions have multiple correct answers. Some questions have only a true or false answer. It is clearly indicated during the exam how many answers are correct for each question.The exam costs 200 US dollars, which are payable online by credit card.

There are no official prerequisites for taking the exam. In other words, Scrum.org does not require you to attend any of their courses, read any of their books, or even have real-life Scrum experience before sitting it. Having said that, allow me to offer you some tips:

As with any knowledge domain, real-life experience makes a difference when taking an assessment. I know PSM® I holders who have passed the exam without having worked with Scrum before, but these are the exception rather than the rule. Any experience you have working in an actual Scrum-based organization will increase your odds of passing.Books by the Scrum creators, such as the one referenced in Further reading, provide some valuable insights that can often prove useful during the exam.The Scrum Open assessment (https://www.scrum.org/open-assessments/scrum-open) is an extremely valuable tool to prepare you for the exam. Some of the questions in it often appear during the actual exam. I strongly recommend taking the Scrum Open assessment before taking the actual exam.

The Level II assessment

The Professional Scrum Master™ II (PSM® II) certification validates your ability as a Scrum Master to apply the Scrum framework, support Scrum Teams, and solve complex problems in the real world. When attempting this assessment, you should have advanced Scrum knowledge and in-depth Scrum Master experience. The exam consists of 30 questions and must be completed within 90 minutes. The following are some other details on this assessment:

The pass mark is 85%.The exam is only offered in the English language.Some questions have only one correct answer. Some questions have multiple correct answers. Some questions have only a True/False answer. It is clearly indicated during the exam how many answers are correct for each question.The exam costs 250 US dollars, which is payable online by credit card.

There are no official prerequisites for taking the exam. However, I strongly recommend that you have first passed the Level I assessment and that you have adequate professional experience working as a Scrum Master.

We will be covering preparation for these assessments in greater detail in Chapter 12, Preparing for the Online Assessments.

Summary

In this chapter, we discussed the concept of Agile development and its nature as a specific philosophy, guided by certain values and principles. Adopting the Agile mindset will help you immensely with applying Scrum and solving everyday problems with your projects. We then introduced the Scrum framework, describing its three components and we reviewed its benefits, namely its flexibility, adaptability, and transparency. Finally, we examined the iterative and incremental development approach used by Scrum and highlighted its relevance to the modern software development world.

We concluded the chapter by talking about the Scrum certifications and assessments.

Throughout the rest of this book, we will expand our knowledge of Scrum and how to apply it, thereby gaining knowledge that will help you to obtain your Scrum certifications and become a successful practicing Scrum Master.

In Chapter 2, we will discuss the Scrum values and principles and how they support and affect the Scrum framework.

Further reading

Principles behind the Agile Manifesto, https://agilemanifesto.org/principles.htmlThe Scrum Guide, https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-US.pdf#zoom=100Ken Schwaber and Jeff Sutherland, Software in 30 Days: How Agile Managers Beat the Odds, Delight Their Customers, and Leave Competitors in the Dust, Wiley, 1st ed., Mar 2012