Suresh, a scrum master, is preparing for the upcoming sprint planning session along with his product owner Ravi. One of their developers has suggested that the improvements to the search algorithm that she has identified, can be included in the next sprint and address the negative feedback received from the customer on search speed. However, if they include this work in the next sprint, they will have to deprioritize other work that could impact the delivery of the database changes promised to the reporting team and that could impact their delivery of new reports promised to the customer. While Ravi feels that performance improvements are more important, as they will make their customer happy, Suresh feels that database changes should not be delayed as he has committed their delivery to an external team. They are in a dilemma. Can you help them resolve this situation?
There are multiple options for Suresh and Ravi to consider: If they are able to give higher priority to database changes, there is no impact outside their team and they will go ahead with schedule already drawn. In this case, Ravi has to manage the customer’s expectations on performance improvements and ensure that he sees value in other features being delivered and stays positive about the software and the team.
- If they chose to prioritize the performance improvements, then there is an impact on external dependency and in this case, they should not take the decision by themselves. They need to get the program management team involved and consider the impact of delay in meeting the dependency. That decision should be done only at the program level.
- They may also consider the possibility of partially completing both the work items in the upcoming sprint. However, in this case, the work items need to be sliced vertically so that something of value is delivered at the end of the sprint. Further, there could be other constraints, such as resource constraints, that may have an influence on this path.
Ravi and Suresh need to consider these options and make a practical decision that will keep their customer happy. Key point in the case of options (2) and (3), is to make this decision at the program level and not at the project level. The program management may consider taking help from the customer to ensure that customer is in sync with their thinking.