WHAT IS SCRUM? – PART 1

Thanks to International Scrum Institute for their support to the content of this article.

In this Article:

Scrum is a lightweight agile project management framework mainly used for software development. It describes an iterative and incremental approach for project work.

OVERVIEW OF SCRUM FRAMEWORK

Back to top↑
Scrum can be used in all kinds of software development: for developing complete software packages, for developing only some parts of bigger systems, for customer or internal projects.
The Scrum Framework implements the cornerstones defined by the agile manifesto:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

The Scrum Framework itself is very simple. It defines only some general guidelines with only a few rules, roles, artifacts and events. Nevertheless each of these components is important, serves a specific purpose and is essential for a successful usage of the framework.
The main components of Scrum Framework are:

  • The three roles: Scrum Master, Scrum Product Owner and the Scrum Team
  • A prioritized Backlog containing the end user requirements
  • Sprints
  • Scrum Events: Sprint Planning Meeting (WHAT-Meeting, HOW-Meeting), Daily Scrum Meeting, Sprint Review Meeting, Sprint Retrospective Meeting

Important in all Scrum projects are self-organization and communication within the team. There is no longer a project manager in a classical sense. In the Scrum Framework the Scrum Master and the Scrum Product Owner share his responsibilities. However, in the end the team decides what and how much they can do in a given project iteration (Sprint).
Another central aspect within the Scrum Framework is continuous improvement: inspect & adapt. The Scrum Teams have to frequently inspect and assess their created artifacts and processes in order to adapt and optimize them. In the midterm this will optimize the results, increases predictably and therefore minimize overall project risk.
The Scrum Framework tries to deal with the fact that the requirements are likely to change quickly or are not completely known at the start of the project. The low-level requirements are only defined at the time when they are going to be really implemented. In Scrum, changes and optimizations of product, requirements and processes are an integral part of the whole engineering cycle.
Another cornerstone of the Scrum Framework is communication. The Scrum Product Owner works closely with the Scrum Team to identify and prioritize functionality. This functionality is written down in user stories and stored in a Scrum Product Backlog. The Product Backlog consists everything that needs to be done in order to successfully deliver a working software system. The Scrum Team is empowered to only select the user stories they are sure they can finish within the 2-4 weeks of Sprints. As the Scrum Team is allowed to commit their own goals they will be more motivated and work with best possible performance. The Scrum Master is another important role in the Scrum Framework as it works as a servant-master with the Scrum Team. His/her main tasks are to make the Scrum team understand how Scrum operates, to protect the Scrum Team from external interruptions and to remove impediments that hinder the Scrum Team to reach its maximum productivity.
The Scrum Framework in its simple form is best used for smaller, one-team projects. But with the introduction of additional roles like the “Chief Scrum Product Owner” it is also usable in bigger multi-teams and/or distributed-team projects.

SCRUM ROLES

Back to top↑
Within the Scrum Framework three roles are defined:

  • The Scrum Team
  • Scrum Master
  • Scrum Product Owner

Each of these roles has a defined set of responsibilities and only if they fulfill these responsibilities, closely interact and work together they can finish a project successfully.

Scrum Roles & Stakeholders

THE SCRUM TEAM

Back to top↑
Within the Scrum Framework all work delivered to the customer is done by dedicated Scrum Teams. A Scrum Team is a collection of individuals working together to deliver the requested and committed product increments. To work effectively it is important for a Scrum Team that everyone within the team

  • Follows a common goal
  • Adheres the same norms and rules
  • Shows respect to each other

When setting up a new Scrum Team one always has to keep in mind that no new team will deliver with the highest possible performance right from the beginning. After setting up the team it has to go through certain phases as described by the Tuckman-Model: Forming, Storming, Norming, Performing. How long it takes until the Scrum Team is in the Performing Phase depends on the team, and yet it normally takes about 3 Sprints until the teams is mature enough to deliver their results in a predictable way.

Tuckman Model

Characteristics of a Scrum Team
Scrum Teams always have the following characteristics:

  • Team members share the same norms and rules
  • The Scrum team as a whole is accountable for the delivery
  • The Scrum Team is empowered
  • It is working as autonomous as it is possible
  • The Scrum Team is self organizing
  • The skills within the Scrum team are balanced
  • A Scrum Team is small and has no sub-teams
  • The people within the Scrum Team work full time in the team
  • People are collocated

Rules & Norms

Of course their environment defines some of the norms the teams have to follow, but some rules and norms are developed during the Norming phase. This set of common rules is quite important. Otherwise the team members would have to constantly waste valuable time to switch between different value systems and rule sets. Examples for such norms and rules are:

  • Time and location of the Daily Scrum Meeting
  • The Definition Of Done (DoD) used to decide if work is finished or not
  • Coding guidelines
  • Tools to use

Accountability

The Scrum Team as a whole is responsible to deliver the committed delivery in time and with the defined quality. A good result or a failure is never attributed to a single team member but always the result of the Scrum Team.

Empowerment & Self organization

The Scrum Team has to be empowered to define

  • What it will commit to deliver at the end of the sprint
  • How the expected results have to be broken down into tasks
  • Who will perform the task and in which order they are performed

Only if the Scrum Team is empowered to decide these things it will work with the highest possible motivation and performance.

Balanced set of skill

Individuals within the Scrum Team will most certainly have specialized skills and focus. However to achieve best possible performance it would be optimal to have a balanced set of skills. Only then the Scrum Team will be able to deal with the ever-changing challenges and can act as autonomous as it is possible. On one hand this means that a Scrum Team should be multidisciplinary (developers, tester, architects etc) right from the beginning. On the other hand this also means that each team member should learn a little bit of each other’s specialization, e.g. a if required to finally reach the committed goal a developer should also perform or write tests. As a consequence this also means that within the Scrum Framework it is not differentiated between e.g. “tester” and “architect”, they all share the same title “Scrum Team Member” even if the primary skill is not to develop production code.

Size of the Scrum Team

Scrum Teams are small. The ideal size is 7 +/- 2 people. If there are more people the communication overhead gets too large and the team should be split into multiple Scrum Teams. These Scrum Teams should be coordinated and communicate with each other but otherwise work independently.

Collocation

To minimize unnecessary communication overhead each Scrum Team should be collocated. If work has to be spread over multiple locations, independent Scrum Teams should be created.

Responsibilities of the Scrum Team

The Scrum Team and each of the team members has certain responsibilities which have to be fulfilled:

  • They have to breakdown the requirements, create task, estimate and distribute them. In other words this means that they have to create the Sprint Backlog.
  • They have to perform the short Daily Sprint Meeting.
  • They have to ensure that at the end of the Sprint potentially shippable functionality is delivered.
  • They have to update the status and the remaining efforts for their tasks to allow creation of a Sprint Burndown Diagram.

THE SCRUM MASTER

Back to top↑
Broad speaking it is the job of the Scrum Master to ensure that the Scrum Team adheres to the Scrum theory, practices and rules. The Scrum Master is part of the Scrum Team and acts as a servant-leader for the Scrum Team. In the beginning this will be a full-time job so that the Scrum Master will not be able to directly contribute to the Sprint results. However after some Sprints the processes will settle so that the workload for the Scrum Master will drop and he could actively contribute to the Sprint Goal. Since it is crucial that there is trust between the Scrum Master and the other team members it would be ideal if the Scrum Team selects the Scrum Master itself. However, in reality most often the Management selects the Scrum Master. To get the required trust the Scrum Master should have no line-management responsibility for one of the team members. Otherwise the necessary open communication and decision finding will be hampered.

Responsibilities of the Scrum Master

The Scrum Master has several important responsibilities:

  • Guard the Scrum Team from external requests and disruptions
  • Act as a change agent and adapt processes to maximize productivity of the team
  • Coach the Scrum Team
  • Remove impediments for the Scrum Team
  • Ensure efficient communication between the Scrum Team and the Scrum Product Owner
  • Facilitate the various Scrum Events

In order to effectively do this, a number of skills are helpful:

  • Moderation
  • Coaching
  • Development know-how

Guarding the Scrum Team / Removing impediments

An important job of the Scrum Master is to guard the team members from “urgent requests”. Line-Management or the Scrum Product Owner will often try to assign new, unplanned and not committed requests to the team or individual team members. However one of the key aspects of Scrum is that all deliverables and work-packages are known and committed by the Scrum Team before the Sprint and that the Scrum Team can work 100% on these deliverables. The job of the Scrum Master is to discuss such requests and to either postpone the request until the next sprint starts or to cancel the current sprint and start-over. The developers within the Scrum Team should only concentrate on developing customer value by delivering potentially shippable functionality. The Scrum Master helps by removing impediments that block or hinder development. Examples could be organizing meetings, clarifying questions or performing supporting work.

Change agent

One of the cornerstones of the Scrum Framework is continuously improvement through inspect & adapt. The Scrum Master hosts and moderates the Scrum Retrospective Meeting and his job is then to facilitate the change of the identified shortcomings.

Facilitation of Scrum Events

The Scrum Framework defines several meetings that have to be organized and facilitated by the Scrum Master:

  • Daily Scrum Meetings
  • Sprint Planning Meetings
  • Sprint Review Meetings
  • Sprint Retrospective Meeting

SCRUM PRODUCT OWNER

Back to top↑
The Scrum Product Owner is a central role within the Scrum Framework. Most of the responsibilities of the classical product manager and the project manager are combined within this single role. He represents the end customer and/or other stakeholders and is responsible for maximizing the value of the product by ensuring that the right work is done at the right time.
As a consequence this means of course that the Scrum Product Owner has to work very closely with the Scrum Team and coordinates their activities over the whole lifetime of the project. No one else is allowed to tell the development team to work from a different set of priorities.
The Scrum Product Owner has a number of responsibilities:

  • Managing the Scrum Product Backlog
  • Release Management
  • Stakeholder Management
  • Work closely with the Scrum Team

Of course the Scrum Product Owner can delegate certain activities (like physically maintaining the Scrum Product Backlog), but in the end he remains responsible.

Managing the Scrum Product Backlog

The Scrum Product Owner is the only person allowed to manage the contents of the Scrum Product Backlog. This means he has to:

  • Create, maintain and clearly describe the Scrum Product Backlog items
  • Prioritize the items to best achieve goals and mission
  • Ensuring that the Scrum Team understands the items in the Scrum Product Backlog

Release Management

The Scrum Product Owner is responsible for reaching the project goals. He creates and maintains the release plan and decides about deliveries, functionalities and therefore about the costs of a project.
He manages the Scrum Team by creation and prioritization of appropriate Scrum Backlog items.

Stakeholder Management

External stakeholder should not communicate directly with the Scrum Team. Instead the Scrum Product Owner should collect and discuss required functionalities with the different Stakeholders (e.g. customer, marketing, service etc). These requirements are then combined and filtered before giving it to the team in the form of prioritized Scrum Product Backlog Items.

Work closely with the Scrum Team

For a successful project it is important that the Scrum Product Owner and the Scrum Team work together very closely. He is responsible that everyone in the Scrum Team understands what is required.
The Scrum Product Owner is also responsible for checking and accepting the Sprint results during the Sprint review session.

This just a brief, yet more details to come later.

References: INTERNATIONAL SCRUM INSTITUTE, You can find a lot of useful information about Scrum and Scrum Certification Programs on thier website.

About Wafi Mohtaseb

Software Development & Management Specialist, Technology enthusiast, Project Management Professional PMP, Agile Certified Practitioner PMI-ACP, & Certified ScrumMaster

11 Responses to “WHAT IS SCRUM? – PART 1”

  1. Mahes Kumar, PMP, CSM Reply February 26, 2012 at 8:26 pm

    Good write up Wafi. It is really a simplified write up on Scrum fundamentals. Please share the Part 2 also.

  2. Good blogging!

  3. Hi Wafi, I have a question here. What drives the adoption of SCRUM over other Agile methodologies, such as XP? Also, when is part 2 of this series coming?
    Thanks,

    • Hi Fadi, I would like to thank for such a good question. If we want to compare Scrum & XP, both do have similarities in terms of incremental & iterative development. Scrum is more into the management of the project (how to manage the project requirements), while XP is an engineering practice (Test Driven Development, Pair Programming…). You can combine both Scrum & XP together (Scrum defines your framework; XP defines your engineering practices) and they perfectly fit.
      The good thing about Scrum that it can be used in industries other than software, since it’s a management discipline.
      The next post will be coming soon. Thanks

  4. Thanks Wafi!

  5. Hi, you’ve post here a quite beneficial data for everybody who searching to learn a lot more details on this topic. I read it with most enjoyment and believe that every person can apply it for their own use. Thank you for beneficial post. Searching to read more from you.

  6. hi!,I really like your writing so much! share we keep in touch more approximately your article on AOL? I need an expert on this area to solve my problem. Maybe that is you! Having a look forward to look you.

  7. Thanks for that awesome posting. It saved MUCH time 🙂

  8. Way cool! Some extremely valid points! I appreciate
    you writing this post and the rest of the site is also really good.

  9. Nagendra Gupta (India) Reply January 28, 2018 at 9:04 pm

    Dear Wafi,
    Congrats to you for drafting & putting up the article so well. Being myself a Agile practitioner & certified CSM & CSPO, I can vouch for extremely valid points articulated in most simple wordings. Keep writing Buddy !!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: