SCRUM | The Complete Guide
SCRUM is an informal product development methodology, used to guide the product from design to completion. The process advances incrementally, and is often iterative. The guidelines that define the process are very basic and product development occurs in small pieces. Each completed piece is built upon by the next stage. The process remains flexible, since an important principle is the understanding that the customer requirements are fluid and ever changing. This means that a stage completed may need to be revisited occasionally and repeatedly.
This process challenges the traditional product development approach, which is usually sequential in nature with requirements locked down in the initial goal setting stages. Instead, the aim is address new and unpredictable challenges throughout the process and allow the development team to efficiently deliver deadlines and respond to new challenges.
In this article, we look at 1) SCRUM values, 2) history of SCRUM, 3) how SCRUM works, 4) major roles, 5) advantages of SCRUM, 6) disadvantages of SCRUM, 7) benefits of SCRUM, and 8) challenges with SCRUM.
SCRUM is one of the Agile software development methodologies which are all based on the same principles as mentioned already. The Agile Movement has revolutionized modern software development and engineering through its values principles, champions and philosophies. SCRUM remains the most widely recognized and used of these methodologies and the Agile principles directly govern it. These are:
Individuals and Interactions over Processes and Tools
Though necessary, processes and tools will be useless if the team does not have a strong relationship of trust and communications. It is the team’s responsibility to identify challenges and resolve them as well as to work closely with other teams within the organization to work on issues beyond immediate team control.
Working Software over Comprehensive Documentation
For SCRUM to be successful, there needs to be a functional working result at the end of each incremental step. Though necessary design, analysis and testing needs to be properly documented, it is critical for the product to be ready to feed into the next stage of development.
Customer Collaboration over Contract Negotiation
It is vital to involve the customer as part of the solution and the team and not view them as just a means to financial reward. The SCRUM product owner needs to act as a bridge between the team and the customer and create a strong collaborative environment.
Response to Change over Following a Plan
All necessary information regarding the product and progress is available for the entire team to view and work on. Any problems that are creating a backlog or are emerging need to be discussed openly and worked on immediately. This is a vital element to the success of the process.
These core Agile principles then develop further into the core SCRUM Values, which are:
- Focus – The team focuses on only the key issues at one time and works towards delivering timely results
- Courage – Support, collaboration and teamwork allows the team to courageously take on greater challenges
- Openness – The open and supportive environment allows discussion and sharing of concerns, allowing issues to be resolved quickly and efficiently
- Commitment – The collaborative way of work allows team members to feel in control of their own areas and strengthens their commitment to the goal
- Respect – Shared successes and joint failures encourage mutual respect and an appreciation of each other.
HISTORY OF SCRUM
The first definition of SCRUM came from Hirotaka Takeuchi and Ikujiro Nonaka in 1986. They described it as means to increase speed and flexibility in commercial product development. They used the terms holistic or rugby approach to describe it. In the game of rugby, scrum is used to describe the process where the game begins again after a small violation of the rules. The methodology was first employed by Ken Schwaber at his company (Advanced Development Methods) in the 1990s. Eventually the term was standardized when Jeff Sutherland, John Scumniotales and Jeff McKenna worked on it at Easel Corporation. Schwaber and Sutherland worked together to combine their papers and experiences into the body of knowledge that is SCRUM.
HOW SCRUM WORKS
The Scrum framework is an orderly and organized set of basic principles which allow the team to focus on core product development without being bogged down with non-essential tasks and activities.
The Scrum process can be broken down into three major phases.
At this point, work is done on basic project planning and rudimentary design decisions.
2. Sprint Cycle
The basic unit in the Scrum process is the sprint. A sprint is one iteration of a specific duration. With basic planning complete, work begins on product development through an iterative cycle of generally three or four weeks. Sprint cycles are a repetitive process, and continue till the development process concludes. A basic principle of the Scrum process dictates that the product demonstrated at the end of each sprint be in complete working condition.
The Sprint cycle may involve a number of meetings to ensure collaboration and encourage communication. These are:
- Sprint Planning Meeting – Here, the team decides the work to be done in a particular sprint cycle. The work to be completed is identified and the process for getting it done is identified and communicated. This meeting should not last more than 8 hours.
- Daily Scrum Meeting – These are conducted every day to encourage communication and ensure that everyone is on the same page. Specific rules govern this meeting such as team preparedness, punctuality, fixed meeting location and time and fixed meeting duration.
- Sprint Review Meeting – In this meeting, results of the current sprint cycle are demonstrated along with a review of the process. Any work left incomplete is also discussed. If changes need to be made to any process step, then those are discussed and incorporated. This meeting also has a time limit
- Sprint Retrospective – In this meeting, the concluded sprint is discussed among the team members with an aim to work on continuous process improvement. Best practices may be noted as well as areas of improvement.
Once all required sprint cycles are concluded, the project itself is brought to a closure and the product prepared for release.
The Scrum team consists of three core roles and may also include several supporting roles. Scrum only defines core roles however, as these are the individuals dedicated to the process and tasked with actually producing the product being developed.
The product owner is the individual closest to the business end of the project. They are responsible for creating a bridge between the development team and all relevant stakeholders and have the responsibility of satisfying all relevant parties.
This complicated task is achieved by managing the flow of work and identifying what areas and items need to be worked on in a particular sprint. This information is contained in a product backlog, which the product owner will maintain and communicate to the team to ensure clear understanding of priorities and roles.
Since Scrum is centered on a close knit team, everyone has the responsibility to be productive and ask relevant questions to ensure the best possible outcome. Despite this support, this is a unique role and needs to be taken on by one nominated individual.
A major responsibility of the product owner is to create a clear channel of communication. Expectations and priorities need to be conveyed from the stakeholders to the team and back from the team to the stakeholders. They will be responsible for demonstrations to stakeholders, announcement of important releases, progress reports on team status and milestones, updates to stakeholders on the process, and negotiations regarding priority shifts, funding and timelines.
The product owner needs to be empathetic and should be able to speak the language of different stakeholders, given differing roles, backgrounds and levels of understanding.
The development team is cross functional and made up of a variety of backgrounds and skill sets. The team may consist of between 3 to 9 people and these are the people who perform the actual development work on the product. This ranges from initial analysis to design, technical communications and testing among various other roles.
The development team needs to be self-organized and dedicated to the project full time. The team has the task to deliver on each sprint cycle goal as planned and agreed upon. A list of tasks is drawn up and the team assesses how much can be completed in one cycle and what method will be used to reach this development goal.
The final core role is that of a Scrum Master, who is a member tasked with supporting and helping team members follow processes. This person needs to be well versed in the Scrum methodology and terminology and should be able to impart this knowledge to others.
The Scrum Master may also have the responsibility to remove roadblocks from the team’s path. These may be external to the team or any issues within the team. Despite this onus, he needs to foster a sense of self sufficiency within the team that allows them to address any issues and resolve them.
Interestingly, this is not a traditional team leader role but more of a buffer between the team and distracting external influences. This buffer system helps ensure that a pure scrum framework remains in place, is understood by all and works smoothly to achieve each sprint goal.
ADVANTAGES OF SCRUM
There are many advantages of the Scrum methodology. Some of these are:
- If the nature of the product allows, each sprint cycle results in a complete product that may be ready to market. This may help a company operating in a competitive industry to reduce time to market
- The sprint review requires product demonstrations and review at the end of each sprint cycle. This is a built in step by step testing mechanism and may allow for changes in scope or nature of the product development.
- Project requirements remain open to change and any new information or requests can be added along the way, ensuring a relevant and updated end product.
DISADVANTAGES OF SCRUM
As with all frameworks, there are points to be wary of as well. These include:
- Planning and organization of the project may become a challenge if the initial goals provided are unclear or lack direction.
- If the end date is also flexible, there may be a tendency to prolong the development process beyond an optimum point with constant new design demands. This may also cause problems with defined timelines and resource allocations.
- New requirements and uncertainty may create an intense project cycle with tight deadlines and high levels of stress.
- The requirement for frequent meetings with set guidelines require resources and time.
- The scrum team needs to be mature and dedicated and willing to look at their work critically. The team should also be strong communicators and foster trust within the team.
BENEFITS OF SCRUM FOR…
The Scrum process holds a variety of benefits for each unique stakeholder. Some of these are:
As a customer, the responsive nature of the team may be a highly valued function. Instead of long processes and requests to change initial requirements, changes may be welcomed and quickly incorporated. Additionally, product life cycles are reduced with each cycle offering a somewhat complete product that is tested and demonstrated.
This process may allow vendors to invest in only highly specific materials and reduce overhead costs as well as time to market. This will result in more satisfied customers and higher retention rates and advocacy
Since all tasks are clear and directed, unproductive work is eliminated and there is more time to dedicate to work that makes a difference and is valued by all stakeholders.
These managers are generally the product owners in a Scrum framework and are able to ensure a satisfied customer since the process is aligned for customer needs and requirements. There is ample opportunity to prioritize and deliver true value.
Project managers who may take on the role of Scrum Master have the benefit of simpler and more realistic planning and tracking of the project. They are exposed to task level progress and this awareness makes all the difference in successful and timely project monitoring. This in turn allows issues to be identified and addressed efficiently.
CHALLENGES WITH SCRUM
Scrum requires close collaboration and constant communication within the team. It also attempts to address certain basic challenges of a more traditional development process. Some of these challenges are:
Most traditional approaches to product development set goals and note requirements at the very initial stages of the process with little room for adjustment. However, the requirements of any project generally remain fluid and can often change drastically during the course of the development process.
Time, Cost, and Quality Estimates
Traditionally, timelines and resource requirements for a project are estimated at the beginning of the process. It is then decided how much can be achieved within these requirements. Or, based on requirements, time and resources may be loosely estimated often proving too optimistic or more than needed. This is often an inaccurate prediction.
Incorrect Progress Reporting
With inaccurate estimates on all major aspects of the project, the development team may be faced with the difficult situation of reporting incorrect levels of process or constantly battle with the management on progress.
Though it is often used in a software development context, Scrum has actually been used successfully by various companies in a number of different fields showing its transferability and adaptability as an important product development concept. The basic nature of the governing principles is one reason for this variety of use and allows Scrum to be used both on its own and as guiding methodology for other product development methods.
Intro to SCRUM in under 10 Minutes
The Scrum framework offers a unique point of view in product development processes. Whether used independently or as an accompaniment to other methodologies, it can offer tremendous benefits and advantages. Though simple and basic, the scrum framework should be understood and implemented completely to ensure that maximum utility is devised for the product development.