Scrum has existed in the world of technology for many years, but it is a topic that continues to prompt many questions, even among communities that extensively use this framework. Although the definition of scrum as a framework is intentionally light and easy to remember, difficulties often arise when companies try to implement it. So, what is scrum and why is it worth using for software projects?
The most important benefit is time and with technology and markets changing fast, time can be precious. Michał Łaszcz, Business Analysis Competency Leader at ITMAGINATION explains why scrum helps you save valuable time when designing and building new software.
According to the 2020 Scrum Guide, the definition of scrum is:
Scrum is a lightweight framework that helps people, teams, and organizations generate value through adaptive solutions for complex problems.
Source: The 2020 Scrum GuideTM
The most common application of scrum is in software development, although it can also be applied to any project or product intended to deliver value to an end-user. Examples of applications of scrum include the development of devices or equipment, services, marketing products, and cloud-based solutions.
Scrum serves as a framework for behaviors and actions that can be used to manage the creation and development of products. It is important to note that scrum is not a process or technique used to create output and it is not intended to be an exhaustive description of how to behave to achieve goals.
Instead, scrum aims to put forward general guidance on relationships and interactions that are then supported by a wide variety of processes and techniques. Rituals, events, and activities (e.g., sprints) are all considered important tools that can be used as part of the framework.
Events outlined in the scrum framework are used to introduce regularity and to minimize the need to organize other types of meetings (that are not covered as part of the Scrum framework). All events are subject to ‘timeboxing,’ which means there is a maximum time limit that should not be exceeded.
At the heart of the scrum framework is the sprint – a time within which the project team aims to deliver a ready-to-use product, functionalities, or iterations of a product. Sprint durations, typically agreed upon at the start of a project and usually lasting around 2 weeks/sprint, should not exceed one month. And, once started, a sprint should not be contracted or extended.
Projects using the scrum framework are delivered by scrum teams. Within each scrum, there are defined roles, events, artifacts, and rules. Each of these elements serves a specific purpose that is essential to achieving success.
Scrum teams are self-organizing and cross-functional in nature. The self-organization of the team is based on the team independently deciding on how best to execute the work and deliver the value expected.
The idea is that the team should not be directed by individuals that do not form part of the scrum team. For a team to truly be cross-functional, it means that it has all the competencies that are considered essential to the successful delivery of the desired end product and that the team is not dependent on the provision of skills by people outside of the scrum team.
Given that the team will be self-organizing and will be looking to source all the skills and services it needs from within, it is vitally important that you consider the caliber, experience, and skills profile of your team. Team composition can be the difference between success and failure, so it is important that you get the right people. That might mean looking outside your organization or blending your in-house team with external resources.
Scrum is a universal language and serves to bring people from different organizations together without the need to spend excessive amounts of time thinking about how they should work together.
One of the key characteristics of the scrum way of working is the frequent delivery of products iterations. By working together and using the same rituals and events consistently, the team will continue to make tangible progress towards achieving its end goal. The iterative approach has many benefits, such as:
Scrum teams typically have three main roles: Product Owner, Scrum Master, and Developer. There is typically one Product Owner, one Scrum Master, and several Developers.
More details about roles in scrum teams can be found in the November 2020 edition of the scrum guide.
Meetings are a measure of success in scrum projects. Some might say that scrum projects feature too many meetings. However, meetings provide a crucial role in getting work done. Thanks to the frequency and consistent nature and structure of these meetings, every member of the project team is kept fully informed of the progress of the project.
The most common meeting in scrum projects is the ‘daily standup, which is a daily meeting of the Developer team. Such meetings should last around 15 minutes and should be used by the team to plan the work for the day ahead.
This is used by the project team to define the goal of the next sprint and to agree on the work that needs to be done to meet this goal. An output of this meeting is the ‘sprint backlog’ which should be created as a team effort.
The ‘sprint review’ is, as the name suggests, a meeting during which the most recently completed sprint is reviewed. This is an opportunity for the scrum team and project stakeholders to analyze what has been done as part of the recent sprint, to share feedback, to review the state of the product backlog, and make suggestions about the next sprint with the intention of maximizing its value.
Otherwise known as the ‘sprint retro’ or the ‘sprint retrospective’ (often referred to as simply ‘retro’) is an opportunity for the scrum team to recap their activities in the previous sprint and, if necessary, suggest and introduce changes that will enhance performance and increase satisfaction in the next sprint.
At ITMAGINATION, we have been applying the scrum framework to projects for many years. This applies to projects run by ITMAGINATION and when ITMAGINATION employees work as part of teams for clients (e.g., extended delivery center). Our commitment, familiarity, and experience with scrum mean that we can manage a diverse range of challenges and help our clients achieve their goals.
Today, such is the popularity and acknowledged the value of using the scrum framework, that very few clients need persuading to use the scrum framework. Scrum gives us the best possible chance of delivering projects on time and on budget while retaining the flexibility to adjust course within a project to adapt to changing needs.
An understanding of how to use scrum and our experience of using scrum across a diverse range of projects for a broad range of clients from many different sectors reflects a commitment to quality and adhering to industry best practices. For clients, working with an experienced, scrum-proficient partner like ITMAGINATION also represents an opportunity for their own organization to learn and absorb best practices.
At ITMAGINATION, we build scrum teams according to the specific needs of our clients and their projects. We can build teams to deliver on projects entrusted to ITMAGINATION, we can build teams on behalf of our clients (to work on projects they run) and we can contribute team members to complete or provide skills that our clients might be lacking. Our experience of working in these diverse ways enables ITMAGINATION’s clients to benefit from a level of flexibility and agility that they might not be able to achieve otherwise.
Remaining true to the scrum framework, we select the right people to ensure that the team has sufficient seniority and experience to self-organize, and we look at the specific skillsets of each team member to ensure that the team is sufficiently cross-functional that it can manage all or most of the in-scope work without looking outside the team for support. These can be production specialists, although, at ITMAGINATION, we also see value in proposing roles such as QA and security specialists, DevOps engineers, business analysts, system analysts, and user experience (UX) designers.
Our scrum experts follow the duties as outlined by the latest scrum practices. But their experience of having worked on a wide range of projects for a diverse range of clients means that they can adapt quickly and easily to different scenarios and are especially effective in those environments where familiarity with and maturity of scrum use is relatively low. In such instances, an ITMAGINATION Scrum Master can add extra value by helping the client organization become familiar with scrum and derive maximum value from the framework.
From the client’s perspective, the Product Owner has the most significant role. He or she is responsible for grooming the product backlog in a way that maximizes the value of each delivery (i.e., the output of a sprint). The Product Owner gathers and builds the requirements based on input from stakeholders and organizes work to deliver on these requirements and achieve stakeholder satisfaction.
It is a crucial role in the creation and delivery of any digital product as the way requirements are gathered involves has implications for key variables such as the budget, time taken, the likelihood of stakeholder satisfaction (accuracy of requirements), and overall success of the projects. And the way he or she grooms the backlog has implications for how much value will be delivered during each sprint, which has implications for stakeholder sentiment along the way. Within the project team, the Product Owner represents the voice and interests of the client or stakeholder.
Whether the Product Owner role is occupied by an ITMAGINATION professional or not, we typically recommend the involvement of a Business or System analyst. This person can support the Product Owner in managing the requirements, which means analyzing, defining, and documenting them. Depending on the needs of the client and their familiarity with complex IT projects, the Business Analyst can assume greater responsibility and take on the role of Proxy Product Owner.
This can help alleviate the responsibility on the client team and allow them to focus, for example, on liaising with the business. The Analyst focuses on breaking down requirements, documenting them, and assumes responsibility for communicating them to the Developer team. The Product Owner function should support the Scrum Master by ensuring all business needs are communicated fully and it should facilitate productive communication between all relevant project stakeholders.
At ITMAGINATION, we believe that the scrum framework can be applied to a variety of projects, whether they be ‘start-up’ type projects, where speed to market and shipping a Minimum Viable Product (MVP) is of paramount importance, or for large-scale, long-term enterprise-level projects. In both scenarios, the application of the scrum framework helps provide clarity around roles, and an assurance of regular, tangible progress on projects (e.g., new releases or additions of functionality. Check out our earlier blog post on how, where, and why to use scrum to learn more.
At ITMAGINATION, we can run IT projects on your behalf using the scrum framework or support you by providing experienced scrum-proficient experts to work on your projects to boost your organization’s familiarity with and expertise in using Scrum. If you feel like your organization could benefit from faster delivery, better visibility on progress, and clear roles for your IT projects, talk to ITMAGINATION.