Srcum Framework for Agile Development - A Lightweight Guide to the Scrum Process

What is Scrum

Let’s take a look at the official definition:

Scrum is a framework that helps teams work together. Like a rugby team training for a big game, Scrum encourages teams to learn through experience, to self-organize while solving problems, and to reflect on their wins and losses in order to continually improve. While Scrum is most commonly used by software development teams, its principles and lessons can be applied to all kinds of teamwork. This is one of the reasons Scrum is so popular. Scrum is often thought of as an agile project management framework that describes a set of meetings, tools, and roles that work together to help teams organize and manage their work.

Why Write This Article

Recently, due to the work and the needs of the project, systematic study of the Scrum development process, take this opportunity to organize and summarize this article. It aims to help you quickly familiarize yourself with the Scrum development process and have a comprehensive understanding of it from a macro point of view, so as to help you integrate into the agile team’s working environment more quickly.

Main Text Begins

Scrum process in general is composed of a cycle of work called Sprint (Sprint phase), through a Sprint development cycle, and finally complete a mature product, which is also interspersed with several important meetings, Scrum process is not a general meeting of “formalism”, but to help members better cooperation, it should be leaderless and spontaneous.

In an Agile team, each Sprint cycle usually lasts no more than 2 weeks (4 weeks at most), and we need to make sure that the deliverable for each cycle is “something that actually gets done”. When the time point is reached, the process should stop, regardless of whether the defined goal is accomplished or not. This is partly based on the spirit of contract, and partly to help us identify what didn’t make sense in the current iteration and make dynamic adjustments during subsequent Agile retrospectives. The principle of prioritizing purpose is important in this agile process.

Key Roles in Agile Teams

Product Owner

Product Owners play a critical role in Agile development teams. They are responsible for determining the priority of features that need to be completed in each Sprint and have the flexibility to adjust the to-do list. This means that they need to have a clear understanding of the direction of the product and be able to make informed decisions based on user feedback or market demand.

ScrumMaster

The ScrumMaster is the Agile coach and navigator for the team. Their role is not only to ensure that everyone, including product owners and managers, understands the principles and practices in the Scrum framework, but also to help the organization overcome changes that are often difficult to make to ensure that Agile development can be successful.

They are similar to the development team’s “babysitter”, whose task is to coordinate and guide the team through the various aspects of the Scrum process.They are not involved in specific technical guidance, but rather focus on process guidance. They ensure that the team understands and adheres to the principles of Scrum, including activities such as planning for each Sprint, daily stand-ups, reviews, and retrospectives. They help teams take full advantage of the Scrum framework by providing training, guidance and support.

Developer

Developers are the primary performers in realizing the functionality of a product. They are responsible for coding, testing and delivering high-quality software based on product requirements.Developers usually work in a self-organized manner, collaborating to achieve team goals.

Designer

Designers are responsible for the user interface and user experience of a product. They work with product owners to understand user needs and translate them into easy-to-use, intuitive and satisfying interface designs. Designers typically create prototypes, conduct user testing, and work closely with the development team to ensure the design is implemented.

Quality Analyst

QAs are responsible for ensuring software quality and functional compliance.They are involved in the entire development process, writing test plans and test cases, executing various tests and documenting problems. They work closely with developers to help resolve issues and ensure the delivery of high-quality software.

Stakeholder

Stakeholders are people who have a stake in the project, including customers, end users, business owners, and others. They have significant responsibility for the successful delivery of the product and meeting business needs. Stakeholders work with the team to provide feedback and requirements to help the product owner and team clarify priorities and direction.

In an Agile team, these team members work together to drive the project forward in a collaborative and iterative manner. They ensure that the team is able to work efficiently and deliver valuable increments within each Sprint through continuous communication, collaboration, and mutual support. Each member contributes expertise and skills in their own area to achieve overall team success.

Important Meetings in the Scrum Agile Process

Sprint Planning Meeting

The Sprint Planning Meeting is an important part of Agile development, providing a platform for brainstorming on how to prepare for each Sprint. Typically, this meeting is divided into two parts, focusing on the “what” and the “how”.

In the first part, the team discusses and decides on the goals and priorities to be achieved in the current Sprint. The Product Owner introduces the team to the features and user requirements to be completed and works with the team to determine the importance and priority of each feature. This process involves team members providing their perspectives and suggestions to ensure that the team reaches a consensus on the goals of the work. The result is the generation of a Sprint to-do list with specific tasks and features to be accomplished during the Sprint.

In the second section, the team began to discuss in detail how to accomplish the identified tasks. Together, they subdivided the tasks and broke them down into smaller, manageable pieces. This process involves team members assessing the complexity and workload of the tasks based on their technical skills and experience, and working together to decide how to assign the tasks. This ensures that all members of the team have a clear understanding of the task and can plan and execute the work effectively.

Additionally, as a result, the team generates a task board, such as Trello, at the end of the Sprint planning session.This task board is used to track the status and progress of tasks. Tasks are categorized into different columns, such as Pending, In-Production, and Completed, and team members can move tasks to the appropriate column based on their status. This task board provides a visual way for the team to track and manage the progress of each task, ensuring that the team completes the work on time during the Sprint.

Daily Scrum Meeting (Daily Stand-ups)

The Daily Scrum Meeting, also known as a stand-up meeting, is an important practice in Agile development teams. The goal of this meeting is to share information in a short period of time and promote collaboration and self-organization among team members. To stay productive, the meeting is usually kept under 15 minutes and is spontaneous. For example, in our team station meetings are usually organized on a rotating basis.

In the Daily Scrum meeting, team members report three things in turn:.

  1. they share the work they have accomplished since the last meeting. This helps the team understand each member’s progress and ensures that the work is on track.
  2. they discuss what they plan to accomplish next, which helps the team coordinate and collaborate to achieve the overall goal.
  3. they raise any issues that are preventing them from doing their work. this helps them to identify and resolve problems in a timely manner to keep the work running smoothly.

An important suggestion is that managers or people in authority should preferably not attend the meeting. This is to avoid members feeling “watched” and thus pressurized to be truthful. A free and trusting environment is important so that each member can openly share progress and problems, facilitating teamwork and improvement.

Iterative Planning Meeting

The Iteration Planning Meeting is an important part of Agile development. During the Iteration Planning Meeting, team members analyze the product requirements in detail and break down large tasks into smaller manageable tasks. This helps the team to better understand the specific requirements and scope of each task, and to be able to more accurately estimate the time and resources needed to complete the task. Through this process, the team is able to gain a clear understanding of the tasks to be accomplished in the next Sprint.

In addition, the Iteration Planning Session reviews what has already been accomplished. Team members can share what they have accomplished in previous Sprints and discuss the results and lessons learned. This helps the team learn from past experiences, improve workflow and increase efficiency.

It usually takes place in the middle or at the end of a Sprint, rather than for things that have already been accomplished in the current Sprint. This is because it is primarily for preparing for the next Sprint. The team will use this meeting to sort out and refine the tasks for the next Sprint and prioritize and plan for them.

Sprint Review Meeting

It usually takes place after the end of each Sprint, which usually lasts an hour, is used to review and fine-tune product development, not just to present results to leadership.

Unlike a traditional “demo,” a Sprint review meeting focuses on getting participants to actually try out the completed software. This hands-on experience better demonstrates the software’s functionality and features, as well as potential issues and improvements. By allowing participants to use the software themselves, the team can gather feedback and input to further improve the product.

During a Sprint review meeting, the team looks at the product with relevant stakeholders. This includes team members, product owners, and other relevant stakeholders. Together, they discuss the features, functionality and usefulness of the software and evaluate and adjust it. This process of collaboration and feedback helps the team better understand user needs and make improvements accordingly based on the feedback.

The purpose of this meeting is to ensure that the team reviews and adjusts the product at the end of each Sprint to better meet user needs. By actually trying out the software and gathering feedback, the team is able to identify and resolve issues in a timely manner, improving the quality of the product and the user experience.

Sprint Retrospective Meeting

The Sprint retrospective, also known as a “Retro”, is a key part of Agile development. It follows a review meeting and is designed to look at and adjust the team’s workflow and environment. The goal of this meeting is to get team members talking about how to improve the way they work, rather than just focusing on problems.

During a Sprint review meeting, team members actively participate in the discussion, sharing their views and experiences of the work process. This includes a look at collaboration, communication, and decision-making within the team. Through open discussion, the team is able to identify problems and bottlenecks in the current workflow and seek solutions. This collective reflection and exploration helps the team grow and improve together.

Notably, Sprint retrospective meetings don’t just focus on problems; they also emphasize a form of appreciative inquiry. This means that team members praise and recognize each other for their accomplishments and progress in the Sprint. This positive feedback and encouragement helps to build a positive work atmosphere and inspires motivation and creativity in team members. The conduct of this meeting is critical to the development and continuous improvement of the team.

Extra Tips

Based on the information above, I’m sure you already have some understanding of Scrum. Here, I have summarized a few extra special considerations for leaders who want to transform their teams into Agile teams. First, when implementing Scrum, it is important that managers do not force their teams to use the method; Scrum emphasizes team self-management and team space, so successful implementation requires active participation and buy-in from team members.

In addition, managers should allow team members to understand the principles and values of Scrum on their own. They should understand how Scrum works and how it facilitates collaboration, increases transparency, and improves the value of delivery. This self-directed understanding can be achieved by providing relevant information, recommending reading material (e.g., my blog), or organizing training.

Finally, the team should be encouraged to try a Sprint in a pilot environment so that they can experience the benefits and challenges of Scrum first-hand. This Sprint can be used as a learning and exploration process where the team can assess whether Scrum is a good fit for their work environment and project needs. This experimental approach helps team members understand Scrum in practice and form their own views and opinions. Regardless of the final outcome, managers should respect the team’s decision. If the team feels that Scrum is not appropriate for their situation, the manager should respect their opinion. If the team decides to continue using Scrum after the trial, the manager should provide support and resources to ensure the smooth implementation of Scrum.

Summary

This article describes the detailed points and additions to the Scrum framework for Agile development, including a definition of Scrum roles, an overview of the overall process, and an overview of key process control meetings.

At the end, I hope that this will help you to better understand Agile development and put it into practice : )

Reference

  1. What Is Scrum and How to Get Started. Atlassian. https://www.atlassian.com/agile/scrum
  2. Deemer, P., Benefield, G., Larman, C., & Vodde, B. (2010). The scrum primer. Scrum Primer is an in-depth introduction to the theory and practice of Scrum, albeit primarily from a software development perspective, available at: https://www.goodagile.com/scrumprimer/scrumprimer.pdf.