Scrum is the widely used and most popular framework of Agile methodologies. Most of the project managers practicing agile prefer to use scrum due to its simple and easy to learn approach.
What is Scrum?
Scrum guide defines, "Scrum is a framework within which you can employ various processes and techniques. Scrum makes clear the relative efficacy of your product management and work techniques so that you can continuously improve the product, the team, and the working environment". The Scrum framework consists of Scrum Teams and their associated roles, events, artifacts, and rules. Each component within the framework serves a specific purpose and is essential to Scrum’s success and usage.
Scrum is not a process, technique, or definitive method rather It is a process framework that utilizes incremental processes in a larger framework that leverages cross-functional teams to achieve their goals along with adapting to changes. The main objective of Scrum is to establish small pieces of a release quickly rather than focusing on all the smaller steps that take place within each sprint and iteration.
The Three pillars of scrum theory
- Transparency : Significant aspects of the process must be visible to all the responsible members part of the process. The process must implement a set of common standards accepted and shared to all.
- Inspection: The team must frequently inspect Scrum artifacts and progress toward a Sprint Goal to detect undesirable variances. The inspection should be done cautiously so that it should not deter work but must be done to see the progress within a defined timeline.
- Adaptation: Any deviation outside the accepted limits identified during the inspection process must be looked into and should adapt to achieve the goals of the sprint & final product.
The scrum events
Scrum defines various events which can help to inspect and adapt within the defined timeline. These are:
- Sprint Planning: The event defines the sprint timelines and its goals. The sprint is a time-boxed period during which a potentially releasable product Increment is created. Generally, the length of the sprint should be 2-4 weeks but could be even shorter in case needed. Sprint plan meetings are also time-boxed that decides the artifacts to be delivered and the priority of these artifacts. Sprint plan meetings should also be completed within 4 hours for a 2 weeks sprint.
- Daily Scrum: This is often called standup meeting which is a 15-minute time-boxed event for the Development Team. The Daily Scrum is held every day of the Sprint. At it, the Development Team plans work for the day. This optimizes team collaboration and performance by inspecting the work since the last Daily Scrum and forecasting an upcoming Sprint work. The Daily Scrum is held simultaneously and place each day to reduce complexity. The key objectives to discuss with each member are 1. What did I do yesterday 2. What I will deliver today 3. Do I see any impediments and who can help me to solve this
- Sprint Review: A Sprint Review is held at the end of the Sprint to inspect the Increment and adapting the Product Backlog if needed. During the Sprint Review, the Scrum Team and stakeholders collaborate about what was done in the Sprint. Based on that and any changes to the Product Backlog during the Sprint, attendees collaborate on the next things that could be done to optimize value. This is an informal meeting, not a status meeting, and the presentation of the Increment is intended to elicit feedback and foster collaboration. This is also time-boxed and should be done within 2-4 hrs. The result of the Sprint Review is a revised Product Backlog that defines the probable Product Backlog items for the next Sprint. The Product Backlog may also be adjusted overall to meet new opportunities.
- Sprint Retrospective: This is the final team meeting of the sprint which determines what went well and what did not. It also focuses on how the team can perform better in the next sprint. The retrospective meeting is attended by the ScrumMaster and the team. This meeting offers the team an important opportunity to focus on its performance along with identifying various strategies that can bring continuous improvements in their processes.
The Scrum Team
The Scrum Team consists of a Product Owner, the Development Team, and a Scrum Master. Scrum Teams are self-organizing and cross-functional. Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team.
Cross-functional teams have all competencies needed to accomplish the work without depending on others not part of the team. The team model in Scrum is designed to optimize flexibility, creativity, and productivity. The Scrum Team has proven itself to be increasingly effective for all the earlier stated uses and any complex work.
The Product Owner
The Product Owner is the sole person responsible & accountable for managing the Product Backlog. The product owner prioritizes the features and requirements of the product to the development when each sprint starts. Their job is to answer all the questions that the development team might have pertaining to requirements and specifications.
The Development Team
The team of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint. They are self-organizing. No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality. Development Teams are cross-functional, with all the skills as a team necessary to create a product Increment The development team must be of team size of 3 to 9 members.
The Scrum Master
The Scrum Master is responsible for promoting and supporting Scrum as defined in the Scrum Guide. Scrum Masters do this by helping everyone understand Scrum theory, practices, rules, and values.
The Scrum Master leads the entire team through the daily Scrum removing impediments to the Development Team’s progress. He/She helps the product master Facilitating Scrum events as requested or needed and is the sole person responsible to leading and coaching the organization in its Scrum adoption.
Scrum’s artifacts represent work or value to provide transparency and opportunities for inspection and adaptation. The three artifacts communicate key information to the Scrum team that they must be aware of during product development.
The Product Backlog
The Product Backlog is a prioritized list of everything that is known to be needed in the product. It is the single source of requirements for any changes to be made to the product. The Product Owner is responsible for the Product Backlog, including its content, availability, and prioritization.
The Product Backlog lists all features, functions, requirements, enhancements, and fixes that constitute the changes to be made to the product in future releases. Product Backlog items have the attributes of a description, order, estimate, and value. Product Backlog items often include test descriptions that will prove its completeness when “Done.”
Product Backlog is refined from time to time and is an ongoing process in which the Product Owner and the Development Team collaborate on the details of Product Backlog items. During Product Backlog refinement, items are reviewed and revised. The Scrum Team decides how and when refinement is done. Refinement usually consumes no more than 10% of the capacity of the Development Team. However, Product Backlog items can be updated at any time by the Product Owner or at the Product Owner’s discretion.
The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus a plan for delivering the product Increment and realizing the Sprint Goal. It also defines the items that are required to produce an increment that meets the "Done" definition. The Sprint Backlog is a plan with sufficient detail that changes in progress can be understood in the Daily Scrum. The Development Team modifies the Sprint Backlog throughout the Sprint, and the Sprint Backlog emerges during the Sprint.
Its important to note that only the Development Team can change its Sprint Backlog during a Sprint. The Sprint Backlog is a highly visible, real-time picture of the work that the Development Team plans to accomplish during the Sprint, and it belongs solely to the Development Team.
Benefits of using Scrum
- Transparency: Transparency is the key objective & achievement of the scrum. Transparency and visibility make scrum an exposure model to help the project team accurately identify issues and more accurately predict how things will go as the project progresses. Since the visibility is already defined, each member of the scrum team has the same visibility.
- Early failure early fix: The inspection at frequent intervals helps to find the issues and gives the chance to adapt instantly. The product owner & the stake holder's can see the product after every sprint and respond to any possible failure or changes needed to correct or align the product fitting the idea or the current market needs.
- Early adaptation leading better quality: Scrum allows to inspect and adapt at each sprint and hence the customer gets a better-aligned product with respect to the idea. Gives a better chance to adapt to market changes if any has come through during the course of time
- Higher customer satisfaction: Since the product owner and the stakeholders can see the product at the end of every sprint and give their feedback, bring in any possible changes it gives much higher satisfaction.
- Reduced delivery time: Scrum reduced delivery time of the end product due to increased collaboration, transparency, inspection and early adaptation. This is why scrum is widely used for developing MVP products.
- Reduced failures and higher ROI: Scrum helps mitigate the risk of absolute project failure. One of the major challenges with traditional methodologies is spending large amounts of time and money with no return on investment due to various factors. Scrum reduces this by delivering tangible products early and forcing scrum teams to fail early if they are going to fail at all through.
- Better project management: Scrums events like daily stand-ups, sprint reviews, and retrospective meetings and clear definition of done gives better control over managing the project.
Challenges with scrum
With so many benefits there comes some challenges as well which need to manage. Here are some:
- Scope creep: Scrum encourages changes but it could lead to scope creep also if it hasn't been managed properly. If the knowledge of Scrum principles is inadequate people may not understand the volume of changes to be considered and keep on changing it often.
- Resistance to Change: People are resistant to changes not in scrum or programming but in general and nature becomes a limitation due to the nature of scrum. If the development team is resistant to changes the core principle of scrum fails.
But in general practice other than some limitations scrum provides a solid framework to deliver successful projects. If you are looking for a versatile team with a good scrum experience you can contact IcodeLabs for more details....