In software development, there are two main approaches to software development: linear and incremental. The linear model, also known as Waterfall, is sequential: projects are defined, built, tested, and released.
The incremental model, known as Agile software development, is iterative: projects have evolving requirements and solutions through an ongoing process of feedback and collaboration. Agile projects are twice as likely to be successful than those that follow the Waterfall approach; Agile projects also improve time-to-market by 18-20%.
Any organization that does not go through an Agile transformation will die. It is the same as a company refusing to use computers. Agile is all about fast feedback and thus fast learning. In today’s complex world those organizations win that learn the fastest. – Sohrab Salimi, CIO in the State of Scrum Report
Agile is a set of values and principles around continuous product development that is expressed through various frameworks including Scrum, Kanban, Crystal or Lean Software Development. Of these, Scrum is the most popular, being used by 94% of active Agile practitioners.
What is Scrum Development?
Scrum is, according to the Scrum guide, “a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.” Scrum was co-created by Ken Schwaber and Jeff Sutherland in 1995, with the concept developing into a cohesive set of practices by 2002. With the launch of the Scrum Alliance, Scrum has certified more than 1 million developers in its methodologies.
But what is Scrum development in practice? Scrum is designed to be lightweight and easy to understand. Scrum breaks projects down into pieces (sprints) that allow for greater transparency into the project and numerous opportunities to inspect and adapt the next sprint, the overall project, and the process.
Scrum is inherently customer-centric, recognizing that requirements often change and the overall product backlog will continue to evolve after each sprint cycle. By using a process that is designed with these realities in mind, the end product is ultimately completed faster and better meets the client’s goals.
Let’s have a look at the core concepts of Scrum.
There are three artifacts in Scrum: the product backlog, the spring backlog, and the product increment:
- The product backlog is an ordered list of everything a product needs to be completed. Due to the nature of Scrum, the list is constantly evolving with new feedback and ideas.
- The sprint backlog is a subset of the product catalogue — a fixed set of tasks that are to be completed in a single development cycle (sprint).
- The product increment is achieved at the completion of the sprint backlog, where “completion” is pre-defined, including testing and/or full approval.
Sprint cycles can be as short as a week, with the next sprint beginning as the previous sprint is completed and reviewed. Within the sprint cycle, daily scrum meetings or “stand-ups” invite everyone on the team to share what they achieved the previous day, their plans for the day, and any impediments to getting the work done.
The average scrum team consists of 4-8 people falling into one of three roles:
- The product owner, who owns the vision of the product, determines the product backlog, and is the ongoing relay between the team and various stakeholders/the customer.
- The Scrum Master, whose job is to support the team, removing any obstacles to success. The Scrum Master is adept at facilitating team communication in daily scrum meetings, encouraging process improvements, and ensuring the team adheres to Scrum principles. This duality of roles (supporting and leading the team) is also referred to as a “servant-leader” role.
- The agile development team of developers, UX/UI designers, and QA team members who contribute to each sprint. As needs change over time, the composition of the team is self-organizing.
The Scrum framework is based upon a series of incremental products developed in time-boxed events (e.g. sprints of equal duration). The average sprint event length is 2-4 weeks, with an average of 5 sprint events per project.
Each Scrum event includes the following five components:
- Sprint Planning Meeting
- The Sprint
- Daily Scrum Meetings
- Sprint Review
- Sprint Retrospective
As you can see, there are three levels of feedback in each Scrum event. The daily scrum meetings keep everyone on task and help identify obstacles; the sprint review focuses on the product status and updates the product backlog; and the sprint retrospective focuses on the development process and how the team could be more productive.
How Does Scrum Work?
Scrum is an evidence-based process, emphasizing facts, feedback and agility. In practice, Scrum includes the following empirical process:
- Make a hypothesis
- Test it
- Reflect on the experience
- Make changes
- Repeat the process
We respect your privacy. Your information is safe.
Scrum’s 5 Core Values and Principles
The official Scrum Guide lists five core values and principles that all team members share to help them work together as a cohesive unit.
- Courage. The team must feel confident to share their ideas and feedback, to speak up about obstacles, and to push back when needed.
- Focus. The time-boxed design of each sprint helps scrums stay laser-focused on a finite amount of work. This is reinforced via daily updates on ongoing tasks.
- Commitment. A scrum team is like any relationship: open communication, trust, and communication are key to agile teams working well together and committing to tasks they believe they can complete.
- Respect. Cross-functional teams often come with competing input, but with that must come respect for ideas and for individuals.
- Openness. Hand in hand with courage, team members must be open to the feedback received from others and be willing to adapt to feedback from the team, stakeholders, or customers.
By adhering to these values, team members maintain a productive and professional process that’s always advancing towards the project goals.
The Role of the Scrum Master
The Scrum Master’s responsibility is to ensure the team adheres to the values and principles of Scrum and Agile. The Scrum Master has a key role in keeping an Agile project together and running along smoothly. As the conductor of the orchestra, the availability and focus of the Scrum Master plays a vital role in an Agile project’s success.
The Scrum Master should be focused on one project to allow for rapid responses and flexible sprint planning.
Each Scrum Master should:
- Focus on the critical aspect of keeping everything running smoothly
- Have a deep understanding of the project and the team
- Ensure that the project goals, scope, and processes are well understood by the team
- Support team dynamics
- Be quick to solve problems and overcome impediments
When Should You Use Scrum?
Scrum is not suitable for every situation. It works best for cross-functional teams who have larger amounts of work that will require more than one iteration to complete. Scrum is best applied over a longer time period where the test/adapt/repeat process can show benefits.
Scrum is also well suited to products or industries undergoing rapid change, ensuring that the product being developed continually evolves to meet changing requirements. Lastly, your organization must be willing to be transformative to Agile and Scrum principles, as skipping steps (elements of feedback) or merging roles (product owner/scrum master) are common reasons for project failure.
Net Solutions is an Agile development company, following Scrum and DevOps processes to drive a dynamic, iterative development process of measuring, testing, and scaling projects to meet your business objectives.