Background
In a world with an exponentially growing number of digital products, a fast and effective decision-making process is crucial for successful product design and development.
Due to its flexibility and great results, the Agile methodology is actively used for the development of digital solutions by a broad range of companies, from the smallest boutique firms to the largest international corporations.
There are many Agile methodology frameworks, such as Kanban, Scrum, Lean, and XP. In this case study, we will consider an example of switching to Scrum.
The Challenge
Prior to implementing Agile methodology, the developer team worked on the сlient’s project in Ad-hoc mode, meaning tasks were performed as they arrived in a chaotic manner, and their priority changed day by day. The team was constantly stressed, and most of the developers did not know what functionality they would use the next day. Among other things, product update development and implementation were delayed on an ongoing basis, which caused losses to the client, in particular due to poor prioritization, low team morale and impaired internal communications.
Repeated attempts to improve the development process were made but brought no tangible results, since the adopted techniques had not been adhered to on an ongoing basis.
It is important to note that throughout this time, the team had no Project Manager or Scrum Master. Communication with the client was maintained by a developer Team Lead who had to fulfill the responsibilities of Project Manager, developer, and mentor to his colleagues.
To resolve the situation, the client and the company management decided to attract a Project Manager to the team. This person was tasked with bringing the development process into order, thereby increasing the efficiency and profitability of the client’s business.
The Solution
Documentation
Upon the PM’s arrival to the project, the first step was to collect all project documentation in a single system. Various storage resources such as Google Drive and Docs, as well as email correspondence, were previously used, creating a disorganized jumble. The PM chose Atlassian Confluence for documentation storage, since the JIRA task-tracking system was used in the project. At the same time, he set out to establish effective communications within the team and with the client.
Communications
The client was well aware that regular communication is key to successful development and accurate implementation. The project Roadmap was soon built and the key Milestones were identified.
With this data at hand, it was possible to start planning the first sprint, which laid the foundation for Scrum within the project.
Scrum meetings with the team are the basis of any sprint and Scrum process as a whole. The first challenge PMs and Scrum Masters often encounter arose at this stage: lack of motivation and misunderstandings among the team. Team members were asking, “Why spend time talking when it could be spent on development?”
It is important to note that previously, team meetings lasted 40-60 minutes and brought no constructive results. In the interest of saving time, it was necessary to change the approach to team communications.
At daily Scrum meetings, each team member was required to answer three simple questions:
- What was done yesterday?
- What will I do today?
- What challenges do I need to resolve?
As a result, each team member needed only a few minutes to talk about the scope of work fulfilled the previous day and the tasks planned for the current day. It is also important in a Scram meeting for each employee to get an idea of what their colleagues are doing.
Prioritizing
The Scrum methodology perfectly suited the project, since the client often made urgent requests for the implementation of certain features. In theory, Scrum forbids changing the sprint scope if it has already started. But in practice, the customer-oriented approach does not allow for rejecting the client’s requests. Therefore, the PM had to find a compromise:
- The feature requested by the client was evaluated by the developers.
- The client was given the option to get rid of some functionality from the current sprint in order to implement the requested functionality.
- In this way, time spent on the new feature was compensated for by extracting other, lower priority tasks with the same rating from the sprint.
Demo Versions
When completing a sprint, it is necessary to provide a demo to the client. This is one of the reasons customers are so fond of the Agile development methodology. Within relatively short intervals (iterations – sprints), the customer has the opportunity to test the developed functionality and, if necessary, make changes, which positively affects the client’s satisfaction and the productivity of their business. This is especially true for young startups striving to attract investors. Such companies need to show a working solution to prospective sponsors in the shortest possible time, while investors are still interested. The Scrum approach is ideal in such cases, since it allows for developing an MVP version of the product.
Retrospectives
A retrospective is one of the most important elements in the Scrum process. It is a team meeting following a completed sprint. Team members discuss the sprint itself and measures that could be taken to improve performance.
Retrospectives are often held in an informal setting outside the office. However, for a PM or a Scrum Master, this is full-fledged work. They should draw conclusions from what each team member says to further improve the whole Scrum process within the project. Among other advantages, informal retrospectives establish a positive mood among the team.
Gradualism
It should be noted that the implementation and use of all Scrum elements in the early stages do not always favorably affect the development process. As a rule, it is better to begin from basic elements such as sprint planning, Scrum meetings and retrospectives, so as not to overload the team members and the client with lots of new information about the unfamiliar methodology.
Results
As was expected, the shift to the Scrum-based development process favorably affected all aspects of product development. Each team member had a clear action plan, an idea of what their colleagues were doing and what they were going to do. The team learned to perform the most complex projects quickly and effectively, avoiding costly mistakes and chaos.