Design a site like this with WordPress.com
Get started

What is SCRUM


SCRUM is an agile framework to handle complex projects. It is lightweight in nature and is matured enough to work with large projects. Ken Schwaber, together with Jeff Southerndown developed the Scrum framework in early 1990s.

Although it is mostly implemented in software development, its popularity in other non-IT domains keeps surging.

Roles: There can be three different types of role in a Scrum project:

1. Product Owner: Works as the liaison between the stakeholders and the development teams. His/Her other duties may include:

  • Representing customers, users and stakeholders
  • Making user-stories
  • Describing a project’s goals
  • Keeping the stakeholders updated on the current status of product
  • Planning and announcing releases

2. Team Member: A team may consist of several members responsible to develop the product. Teams are expected to be self-organizing and cross-functional. Generally, a SCRUM team has 10 members.

3. Scrum Master: A Scrum master challenges the teams to improve, helps in removing obstacles and ensures good Scrum practices. A Scrum master is not a project manager as such teams are self-organized enough to avoid the need of a project manager.

Key Terms in SCRUM

Backlog: A backlog refers to the list of features to be added to a project or, to be developed in one sprint. After the Product Owner describes the user stories, these are shifted from Product Backlog to Sprint Backlog list.

Figure: Items shift from Product Backlog to Sprint Backlog

Planning Meeting: Meetings take place before the beginning of every sprint where the Product Owner selects and highlights the user-stories for the upcoming sprint.

Sprint: A sprint is a timeboxed incremental iteration to develop software pieces. Each sprint usually consists of 30 days of less – based on the teams’ performance and affecting factors.

For example, in the middle of a sprint, if new requirements add to the project, the sprint may take longer than expected to finish. It can also delay due to unexpected complexity in development. The result of each single sprint is a piece of working and tested software – also known as Potentially Shippable Increment (PSI).

Daily Scrum / Scrum Standup: A daily stand-up meeting of usually 15 minutes duration to focus on three key points:

  • Achievement since last the meeting
  • Obstacles
  • Next accomplishment

Burndown Chart: It is a chart that is used to measure progress during each iteration. If X-axis gets the sprints or time and Y-axis gets backlog or workload, then we get:

Figure: Burndown Chart (Backlog vs. Sprint)

Here, each sprint requires 10 tasks or logs to be completed. Note that the actual workflow may vary at times due to several factors, like change in requirements or sudden complexity. The black line refers to the ideal flow to finish the project in 2 sprints.

Velocity: Velocity refers to the total backlog items to be completed in one sprint. In case of the above-mentioned Burndown Chart, velocity of each sprint is 10.

Planning Poker: A game in which team member participate by using deck cards to give their estimation on how much time the next sprint may take to finish. As each member’s estimation is taken into consideration, it helps in fixing a standard time amount for the upcoming sprint. If one member indicates an amount that is far beyond the average amount given by other members, he or she is given a scope to express (AKA Soapbox) why it may take that much time to finish since he or she may know of shortcut ways or complexity that others have not thought of.

Best SCRUM Practices

  • Keeping each team of 10 members or less
  • Daily Scrum should take place at the same time on every working day
  • Allowing experienced remote members join the meetings if necessary
  • Announcing releases based on practical estimation (i.e. 20 week-hours instead of 17.5)
  • Potentially Shippable Increment (PSI) should be working enough to be deployed

Advertisement

Published by Farial Mahmod Tishan

Life-long learner. Developing Flutter apps on Parrot Linux OS .

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

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

Facebook photo

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

Connecting to %s

%d bloggers like this: