Ideally, before performing the Sprint Planning session as a team, the Product Backlog Items those will be potentially included in the next Sprint are supposed to be estimated in Story Points. The higher the priority of any Product Backlog Item, the higher is the expected maturity level of that particular PBI. Then, based on the average velocity data i.e. the average completed story points in the past, together with the expected capacity of the team for the next Sprint, the development team decides which PBIs should be included into the scope of the following Sprint. We, as the product owners are supposed to provide the right level of priorization and the overall direction to achieve a Sprint Goal before the planning session. This is basically how Sprint Planning works.
Nevertheless, Scrum teams may face scenarios where there may be strict deadline for a new feature or a solution. In other words, teams could face circumstances where the typical release planning could be not be applicable. To make it more concrete, let’s assume that the total amount of Story Points for a new to-be-developed solution is 100 SPs. Moreover, assuming that based on the proper planning done by PO according to the velocity of the team while preserving the projected capacity , it seems feasible that the team would require 4 Sprints in order to ship the solution. There are chances that, due to a certain reason ( Top Management expectation, natural deadlines such as Christmas, back-to-school season etc.) it may not be feasible to run 4 Sprints as the strict deadline does not allow such a period of time. Let’s imagine that for this example the deadline is just 3 Sprints away. Than the big question is how should a PO react if she/he encounters such a case ?
Okumaya devam et “How does it work in Scrum if there is a strict deadline ?”
One of the many new practices for organizations going through agile transformation is the move from requirement documents to user stories. I’m quoting from Mike Cohn *:
“User stories are short, simple descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system. They typically follow a simple template:
As a < type of user >, I want < some goal > so that < some reason >.”
In the classical approach, there is a requirement document that has been agreed by development and business groups after multiple time-consuming iterations. Even if both parties agree on a document after significant time and start developing the new feature, chances are part of the original scope gets obsolete or changes and things need to be reiterated and perhaps portion of the development efforts have been wasted. This approach is obviously not suitable particularly for time-critical projects. On the other hand, user stories are mutually understandable both for customers and developers and increase the communications between team members and stakeholders. User stories also allow the development team do the practical planning. As Roman Pinchler nicely puts it **:
“User stories are not about documenting requirements; they want to enable you to move fast and develop software as quickly as possible;not to impose any overhead.”
Okumaya devam et ““Working software over comprehensive documentation””
One of key metrics of a Scrum team is Velocity. Even though it’s not mentioned in the Scrum guide, it is still very useful for the Product Owner while planning the Scope of the next Sprint and defining a concrete Sprint Goal.
As the name implies Velocity (consider the team as a vehicle) is a metric calculated by averaging the total amount of Story Points completed over the number of Sprints within the same period. In practice, the velocity of the teams gets stabilized after a certain number Sprints are left behind. As the number of Sprints increases, the velocity starts oscillating in a regular rhythm.
Okumaya devam et “Velocity : Key metric to secure an effective Sprint Planning”
One of the key responsibilities of a Product Owner is looking after the backlog and building and maintaining the Product Roadmap. The Roadmap is a great tool that provides a visibility regarding the Scrum team’s work and to materialize where the team is headed to. It’s a good practice to communicate the up-to-date Roadmap with the shareholders often in order to let them know which new features and bugfixes are planned over the coming weeks and months and to notify if there is a recent change on the planning.
We are running 2 weeks-long Sprints. At the end of the Sprint Review session, as the PO, I’m presenting the PBIs (Product Backlog Item) in priority order and ask openly to my line manager and other shareholders if we share the same understanding of priorities. From time to time chances are my management team and/or shareholders comment on the priority of PBIs and ask changes. On those instances, we altogether discuss about the motives of these new requests and get fully aligned. At the end of the review we as the team get either confirmation from the audiences regarding the priority order or have an updated list of priority. Here below you can see the ~3 months Product Roadmap of our team. (I’ve intentionally made it blurry for confidentially reasons)
Okumaya devam et “How to build, maintain and communicate the Product Roadmap?”
To recall, the fundamental purpose of this blog is to share openly the best practices we had as the Scrum team from a Product Owner Perspective. That’s why it makes sense to share a typical approach we follow while developing new features by cooperating with client development teams with a strict deadline or time pressure. It’s Contract-First REST API Design. A recent example of this was a back-end development of a new Payment channel to sell recurring TV packages to end users through the TV Web portal.
To launch this commercially, the in-house Web portal development team was relying on us to progress further and actively developing the brand-new web pages. Besides, the launch date was fixed and committed to the top-management.
Even though the deadline was approaching, since the earlier Sprint has failed, as the PO, I had to prioritize the relatively small work that was left over at the Sprint Planning event. My perspective was as the whole team had focused to ship the Sprint goal of the previous Sprint and we are pretty close to bring it to Done state, I set a Sprint Goal that dictates to continue to work on the earlier goal and only to take small baby steps regarding the payment solution. My rationale was freezing the work we already had started and progressed a lot and focusing on something totally new wouldn’t be an effective way of utilizing team’s efforts.
Okumaya devam et “How did we benefit from Contract-First REST API Design Approach?”
Let’s imagine a typical Sprint of 2 weeks duration. If the team is delivering software continuously since more than a year it means that the team had run around 26 Sprints past year. Do you think it is feasible that each and every Sprint has been finalized with success? Obviously, it is not surprising that a number of Sprints fail to accomplish the Sprint Goal. Well, even though it’s not the best scenario, a mature Scrum team is supposed to manage mentally and emotionally the consequences of a failed Sprint.
Every professional aims to be successful at personal level. Similarly, everybody enjoys being part of a winning, successful team. Nevertheless, it is very likely that a Sprint could not achieve the targeted Sprint goal and fails due to several reasons such as bad planning, dependencies, challenging Sprint goals, changing scope etc.
Okumaya devam et “How to handle a failed Sprint and how to avoid it ?”
As a best practice, I organize Refinement meetings every second week of our 2 weeks long Sprints. This is really key in order to run an effective Sprint Planning event.
I prefer to use Refinement but not Grooming as the latter has a recent negative meaning.
At the invitation I send to the team for Refinement event, I briefly mention about the PBI that we will talk about. These are mostly the items those have the highest priority and have not been yet estimated. Refinement sessions could potentially get postponed if the team is working intensely to accomplish the Sprint Goal and short in time. That’s why it’s a good practise to schedule it to the very beginning of the second week in order not to jeopardize achieving the Sprint Goal.
Okumaya devam et “Why is Refinement key for effective Sprint Planning ?”
What should be the success criteria of a Scrum team? Is achieving the sprint goal sufficient or one should also take into account the total story points completed ? Perhaps it should be a mixture of those? Should we also keep on eye on the velocity? Apparently, this is somehow a blurry area of Sprint Framework, isn’t it?
As far as I understand, the Scrum guide didn’t specify this precisely. Here below I’m quoting the related section :
The Product Owner discusses the objective that the Sprint should achieve and the Product Backlog items that, if completed in the Sprint, would achieve the Sprint Goal. The entire Scrum Team collaborates on understanding the work of the Sprint.
Let me share my own point of view regarding the condition that defines the success or failure of the Sprint:
At the Sprint Planning event, the product owner should make sure that the Sprint goal is crystal clear for the development team. Ideally Sprint Goal should be a consolidation of interconnected items in an incremental manner that could allow the team to focus and collaborate effectively.
At the Sprint review meeting, the Scrum team and stakeholders try to validate if the Sprint goal has been achieved. In addition to that, we are also checking the percentage of the Story Points completed and the change in the original Sprint Scope. Among the 3 metrics ( Sprint Goal, percentage of completed Story Points and change on the scope) achieving the Sprint .Goal is the most important one. Typically if we agree upon the accomplishment of the Sprint Goal together with stakeholders, as the team we conclude that it was a successful Sprint even if we may fail to complete the targeted SPs. As a team we are actively focused on downsizing and consolidation of Backlog items so that the complete scope could be expressed as a single easy-to-understand Sprint Goal.