Welcome to the future of Scrum. Let's call it ScrumGPT, a personal Scrum assistant that can transform the software development process as we know it.
Scrum is undoubtedly the most popular framework used by software engineering teams today, due to its exceptional ability to facilitate fast iterations and continuous improvement. However, despite its many benefits, I have heard from numerous teams that there are challenges associated with its efficiency and perception. Unfortunately, many individuals view this framework as a time-waster, with some team members—especially developers—disliking meetings.
But with the introduction of LLMs (Large Language Models) and generative AI capabilities, we are about to experience a monumental moment in the software development lifecycle, specifically in Scrum and other Agile processes.
What Should Remain Human?
When it comes to collaboration and communication, there is simply no substitute for healthy human interaction. To achieve success, teams must be united in their goals, express any concerns that arise, and offer feedback to one another. This applies not only to running the process and achieving objectives, but also to creating an environment where team members can express their thoughts and feelings.
The future of software development will be shaped by two key factors:
1) Self Management: First, self-managed teams will transition to self-managed processes. This means that much of the Scrum process, including prioritization, estimation, and task assignment, will be automated.
2) Strategic Decision Making: Second, there will be a shift from operational decision making to strategic decision making. Currently, teams are inundated with numerous daily decisions, ranging from task assignments to risk assessment. However, many of these daily operations will be automated, allowing managers to focus on more strategic decision-making at critical junctures.
Here are my thoughts on the impact AI has and will have on Scrum in the near future
Prioritization: When it comes to prioritization, there is often a wealth of data to consider, such as customer feedback, product analytics, cost analysis, and more. Currently, this process requires endless discussions and preparations to determine the best way to move forward. However, with the help of LLMs, all this data can be quickly and easily synthesized to create the right context for efficient prioritization and goal-setting. And if you have external constraints, simply inform your ScrumGPT agent and it will be taken into account. Plus, if you're ever skeptical about the AI-generated priorities, you can easily drill down to see how the decision was reached.
Estimation: This is one of the most debated challenges in software development. It's difficult for humans to consider all the variables and unknowns, often resulting in the commonly heard phrase:
"We can't estimate because we don't know what we don't know."
While there are some developers who are better at estimating than others, and senior developers with more experience generally have better estimations, time constraints can affect accuracy. However, AI has the capability to analyze all available data, both past and present. Imagine having a CTO with 1000 years of experience estimating projects and tasks from millions of companies. It's safe to say you could trust their estimations more than a less experienced engineer. Additionally, if you have new constraints or a specific developer in mind for a task, simply communicate that to your ScrumGPT agent and they will take it into account. One important disadvantage is that an important goal of this process made by humans is to make sure the team is aligned on the requirements and complexity of the tasks, things that can sometimes come up only in a discussion. I do believe that the machine will be able to join this discussion and ask the right questions, though.
Sprint goals: These can be set automatically based on all relevant data and context, similar to how prioritization is achieved.
Capacity planning: Capacity planning will be significantly improved through the use of available data from different systems like HR, calendar, and source control, as well as historical data to understand developer capacity and consider task complexity and bug-prone areas in the code.
Task Optimization: ScrumGPT can help optimize task assignment by auto-assigning the best team member to each task based on prior work and other parameters. This includes distributing priorities and task complexity to ensure optimal progress towards the Sprint goal. With ScrumGPT, it's like having a Waze for the dev team to show them the best routes towards achieving their goals.
Status Alerts: After selecting a route and beginning the journey towards the sprint goal, unexpected obstacles may arise. ScrumGPT can help by providing alerts for incidents ahead and recalculating the best course of action. ScrumGPT can determine who needs to be informed, what questions to ask, and what additional information is required to make informed decisions.
Risk Mitigation: Identifying risk and team members in need of help can be a challenge, as some developers may not be aware that they are stuck or require assistance. ScrumGPT can help by identifying potential challenges, alerting the team, and finding solutions to overcome them. This ensures that no issue goes unnoticed and that every team member receives the necessary support to overcome any obstacles.
Demonstrating the 'work': ScrumGPT can assist in showcasing the work completed during the sprint by automatically creating reports, charts, and dashboards based on data collected during the Sprint. This can help the team visualize progress made and communicate this information effectively to stakeholders.
Gathering Feedback: ScrumGPT can assist in gathering feedback from various sources, such as user reviews and customer feedback. It can then analyze this feedback and provide insights into what customers are saying about the product, identify areas for improvement, and help prioritize the backlog.
Automating meeting preparation: Automating meeting preparation is a valuable feature for developers who often find the task of reflecting on the previous iteration and generating comments for the retro meeting to be tedious. ScrumGPT can eliminate this pain point by briefly speaking with each developer and using data analysis to determine the most relevant and useful comments they should provide during the meeting.
Increasing engagement: In addition to generating comments, ScrumGPT can also prepare the entire meeting by leveraging data-driven insights and interactive games to increase developers' engagement. By handling these tasks, ScrumGPT allows team members to focus on what really matters—reviewing progress made during the Sprint, identifying areas for improvement, and developing actionable plans for the future.
Last but not least, many of the challenges related to Scrum are due to poor collaboration and communication of the Scrum team with stakeholders. Misalignment on the goals, false expectations on delivery and high tension are just a few examples. ScrumGPT can help align everybody on the goals and objectively set the right expectations. Think about it as a consultant for the stakeholders, one that can tell the CEO, “listen, you can stretch things here but take into account you need to give up on this and that, and consider the potential burnout if you decide to do this,” or tell the product owner, “I advise you to align your team on this point because according to their discussions it seems they don’t understand the Sprint goal.”
ScrumAI, or ScrumGPT, has the potential to transform the software development process as we know it. With the help of LLMs and generative AI capabilities, backlog refinement, estimation, Sprint Planning, daily standups, sprint reviews and retrospectives can be mostly automated, allowing teams to focus on the Sprint goals, strategic decision-making and collaboration. However, while AI can optimize the process, it cannot replace the importance of healthy human interaction in creating an environment where team members can interact, express their thoughts and share their feelings.