Sprint Zero – An Anti Pattern

What is an antipattern? – An idea which seems good but has more negatives than positives. Click here to read the definition of Anti-Pattern.

Why do people feel that Sprint Zero seems a good idea

When the team start work the team observes these typical problems

  • There is no reasonable Product Backlog from which a Sprint Backlog can be created.
  • Designs are not good enough to start
  • Architecture decisions are often delayed

Team often struggles to create a usable product increment during the first Sprint. Often then, the teams starts with a Sprint Zero so that a usable product increment may not be expected from the team.

At the outset, it looks to be a great idea – especially those who have come from a waterfall mindset and are used to doing a lot of preparation before beginning a project.

Negative consequences of Sprint Zero

Sprint Zero is often considered an agile-sounding term for pre-Sprint preparation work where no increment of product value is provided at all. In reality, the whole intent of the Sprint is lost. To be a Sprint, something of value must be delivered in a clearly time-boxed fashion.

What could be done instead of Sprint Zero

  • In Agile, we believe in just-in-time work. However, in reality this may increase the risk. Hence we should start thinking about the work (which includes designs, architectures, refinement of PB) 2-3 sprints in advance. Not too early, and not too late.
  • Weak product management results in this anti-pattern. Agile does not mean that we don’t have planning. There is a lot of planning in agile. However, the planning is done such that the team has enough work for the next 2-3 sprints. Not having decisions ready, not having a product backlog ready often causes the team to resort to this type of anti-pattern.
  • Critical Architecture decisions, critical design decisions, critical business decisions need to be identified. They may become show-stoppers later and the team may not have enough work for the next sprint.

This article is re-published on WORLD OF AGILE website –https://worldofagile.com/blog/sprint-zero-an-anti-pattern/

Self Managed Team

Scrum Believes in Self Managed Team. That means, the team has the autonomy to organize itself to best complete the work items. Scrum has a completely different attitude to the conventional approach in that it explicitly puts the responsibility of solving problems into the hands of a self-managing team. There is no provision for someone to “make sure” it all goes OK, there is no “safety net” should things start “going wrong”. Scrum believes that the most appropriate people to solve a problem are those who need to deal with it.

  • A key part of self Managed team is that, whatever the solution/design/approach the team comes up with, it is more likely to take into account local issues and current, relevant knowledge that it is more likely to work. This also has an added benefit in that, when things get hard, the team are much more committed to making things work as it is their decision/solution etc. They will find ways for it to work, whereas if it were someone else’s decision they would be less motivated and may say something like “I didn’t think it would work, but it’s some one else’s problem”
  • Previously even a supposedly “empowered team” had a project manager to fall back on, someone who would carry the can if things went wrong (and perhaps take the glory if things went well) and so, when the crunch came, they knew the responsibility would be taken up by someone else.
  • The vast majority of problems (or opportunities) facing our companies and teams today are complex ones. Everything we come up against, or ideas we come up with involve ever-increasing levels of complexity that usually cannot be solved by one person’s mind. Therefore we need to harness the motivated minds of a team where the value of the whole is greater than the sum of the parts.
  • There is nowhere to hide in a self Managed team, everyone is responsible for the performance of everyone. No individual team member is held accountable.
  • Self Managed team can greatly increase productivity, motivation and satisfaction for all concerned. This, coupled with more suitable deliverables is a true win:win scenario. However, in order for the benefits of self-organization to take root and bear fruit, we need a conducive environment for it to flourish. We need to have a culture of “all information is good information”, an understanding that “everyone did the best they could given the circumstances”. What matters is the project success rather than individual success.

Note – earlier version of Scrum Guide mentioned the term “self Oragnized”

Hardening Sprint – An Anti Pattern

What is an antipattern? – An idea which seems good but has more negatives than positives. Click here to read the definition of Anti-Pattern.

Why do people feel that Hardening Sprint seems a good idea?

Scrum Teams are under constant pressure to deliver features. The stakeholders and Product Owners often push the Developers for going to production as soon as possible. 

In these situations, the developers often postpone a lot of work to be done later. Examples include – documentation, code cleanup, defect fixing, commenting of code, hard-coding, bypassing checks etc.

Then the Scrum team introduces a “Hardening Sprint” after 4-5 Sprints to take care of all these pending activities. Therefore introducing Hardening Sprints is generally considered a good idea by a lot of teams.

User of Hardening Sprint introduces following problems

Pending work increases. Many times the Hardening Sprint does not get taken and the work just keeps accumulating

It becomes more and more difficult to tidy up the mess

Teams end up forgetting things later on

Increase in the possibility of the defects since things get fixed later

What could be done instead of Hardening Sprint

Follow the agile principle of “Simplicity” – the art of maximizing the work not done. That is, don’t push more features. Try to complete a lesser number of features with all things done.

Slow down – focus on quality rather than speed

Make the Definition of Done more stringent

Focus on engineering practices such as Automations, CI/CD, Automations, TDD

Say NO to a hardening sprint. Do not keep pending activities. This article is re-published on WORLD OF AGILE website –https://worldofagile.com/blog/hardening-sprint-an-anti-pattern/

Myth about Scrum only being useful for small projects

It is a common mis-conception that Scrum is only useful for small projects.

The fact is that Scrum is used for solving complex problems. Complex problem is a problem where there are “unknowns” about requirements or the solution. Read more to find out more

It is a common mis-conception that Scrum is only useful for small projects.

The real fact is that Scrum is used for solving complex problems. Complex problem is a problem where there are “unknowns” about requirements or the solution.

For solving complex problems, the decisions have to be taken based on what has been done in the recent past. It is extremely difficult to base your decisions based on long-term assumptions. This way of solving problems is called Empiricism or Empirical process control. Scrum is a framework based on Empirical Process Control Theory and therefore, used for solving complex problems.

A complex problem may be big or small. Therefore, the size of the problem has nothing to do with usage of Scrum or other frameworks/methods. A few examples of massive complex problems

  • Merger or separation of a bank – When two banks merge or separate, there are a lot of unknown factors on the products in the resultant merged or separated bank. For example, one bank may be a risk-taking bank have an investment product based on a mix of equity, commodities, and derivatives, whereas, second bank might have a more conservative approach based on fixed-deposits, company-fixed-deposits of blue-chip companies and debt market involving only government securities. Now what would be the product applicable for the new merged bank? Would both products be offered by the new bank or would they be another combination product, or if the merged bank carries the image of the conservative bank then should it even offer the risky product? There are a lot of unknowns here. Would the image of a new merged bank be conservative or risk taking? Would the customers of the risk-taking bank accept the conservative products? Would the customers of the conservative bank accept the risky products or accept a risky profile of the new merged bank? This is an example of an unknown scenario. Unless things are tried out, there is no way you could take decisions. As a business, you may try various combinations, but the answers are possible only after trying different products and taking feedback from customers.
  • Development of a medicine or vaccine for an unpredictable disease – The whole world grappled with the Covid-19 pandemic in 2020. The solution to solve this problem was two-fold – either develop a vaccine to prevent the disease or develop a medicine to kill the virus if anyone gets infected. Both were big unknowns. How the infections spread was unpredictable and also how the disease affects the patients was also unpredictable. Scientists and researchers had no option but to use the trial-and-error approach based on the past knowledge of various viruses. However, the majority of the decisions were based on what was the result of the trails done on various animals and eventually on human beings. Again a complex problem where decision can only be taken based on what has been done in the recent past. The decisions cannot be taken based on long-term planning.

Naturally, the approach for solving these kinds of problems is to shorten your planning horizons, try out things, if things do not work then try something else, if things work then try something else to make the solution stronger. So isn’t Scrum a way of solving such problems? Scrum shortens the planning horizon to maximum one month, then uses the inspect-adapt cycles (at the bare-minimum) through Sprint Reviews, Daily Scrums and Sprint Planning. The implementation of the Product Backlog is in-fact a way of adapting the requirements as you move forward and as more is known about the problem you are solving.

Therefore, it is a myth that Scrum is for small projects.

Conclusion

The size of the project has nothing to do with the use of Scrum or not.

  • Scrum is based on Empirical Process Control Theory.  Empiricism asserts that knowledge comes from experience and making decisions based on what is observed.
  • Scrum combines four formal events (Sprint Planning, Daily Scrum, Sprint Review and Sprint Retrospective within a containing event, the Sprint) and three Artifacts (Product Backlog, Sprint Backlog and Increment) to implement empiricism. These events work because they implement the empiricism pillars of transparency, inspection, and adaptation.
  • Thus, Scrum is being used for solving complex problems (unknown requirements or unknown solutions) for small as well as large projects where constant inspection and adaptation is necessary and decisions have to be taken based on what is observed. Scrum Team observes what is happening based on the feedback received and adapts to the changes.

This article is re-published on WORLD OF AGILE website –https://worldofagile.com/blog/myth-about-scrum-only-being-useful-for-small-projects/

Myth about creating multiple Sprint Backlogs before first sprint starts

Some teams treat the Sprint Backlog as just a smaller version of the bigger plan (Product Backlog) and start creating baselined Sprint Backlogs for multiple future Sprints. Is this rught way – read on to discover

Common Misconceptions and negative implications

Some teams treat the Sprint Backlog as just a smaller version of the bigger plan (Product Backlog) and start creating baselined Sprint Backlogs for multiple future Sprints. The negative implication of this practice is that the “Inspect and Adapt” cannot happen. This becomes just disguising the waterfall and calling it Scrum.

Recommendations

  • There should only be one Sprint Backlog. This represents the forecast for the current Sprint. At the end of the Sprint, the Sprint Backlog is emptied. All remaining items are taken back to the Product Backlog. All completed and done items are taken into Increment. The reason why this is done this way is to give opportunity to the Product Backlog to be re-ordered if needed.
  • It is possible that the Product Backlog item changes the order since there might be change of business priorities. If the Sprint Backlog is baselined for multiple sprints at the start then an important opportunity for inspection and adaptation is lost.
  • The discussions in the Sprint Planning result into a new Sprint Backlog based on the business objective to be achieved this Sprint. Even during the sprint, the Sprint Backlog emerges – more details get added and new things get clarified.

This article is re-published on WORLD OF AGILE website –https://worldofagile.com/blog/myth-about-creating-multiple-sprint-backlogs-before-first-sprint-starts/

Myth about Sprint Planning consisting of three parts Part1, Part2, Part3 vs Topic1, Topic2, Topic3

Many teams imagine Sprint planning as 3 parts being done serially – one after another. However that reduces the collaboration among teams – Let us understand why

Common Misconceptions and negative implications

Most teams implement Sprint Planning as three parts – Part 1, Part 2 and Part 3. The Product Owner comes in part 1 and 2, helps with setup of the Sprint Goal (WHY) selection of functionality (WHAT) and then the Developers sits and thinks over the technical (HOW) during the Part 2 of the sprint planning. The implication of this is that PO then does not get involved in the detailing and the road-blocks that team faces and technical feasibility problems that result during the Part 3 becomes a back-and-forth discussion between PO and Developers. This obviously results in a loss of productivity.

Recommendations

  • The whole Sprint Planning process is an iterative, incremental and collaborative process and therefore there are three Topics and not three Parts to the meeting.
  • First topic – WHY – is the business objective
  • Second topic – WHAT – is the selection of the Product Backlog Items which may help achieve the goal. So, it is forecasting what items should be part of this Sprint.
  • Third Topic – HOW – is the discussion of details and feasibility of the items and the help required from Scrum Master or Product Owner to get this done.
  • So, you can consider the WHAT and HOW are iterative in nature where the HOW revolves around the WHAT and joint discussions are necessary. There are possible considerations that may happen to the WHAT because of the HOW. Technicalities do influence to a large extent on WHAT can be done and what cannot.
  • The Sprint Planning Event can end with a decision on THE WHY – Sprint Goal, a forecast of WHAT needs to be done and the HOW for at-least a few things to be done over the next few days. However, the Sprint Planning PROCESS does not end with Sprint Planning EVENT. The Product Owner and Developers keep doing the discussion on the two topics – WHAT and HOW throughout the Sprint. Many-a-times, the teams do these detailed discussions on the HOW for the WHATs after daily scrums on the plan for next 24-48 hours.

So, my recommendation is not to call the Sprint Planning as Part1, Part2 and Part3 but iterative, incremental and collaborative process of Topic1, Topic2 and Topic3 which starts with Sprint Planning and continues throughout the Sprint.

This article is re-published on WORLD OF AGILE website –https://worldofagile.com/blog/myth-about-sprint-planning-consisting-of-three-parts-part1-part2-part3-vs-topic1-topic2-topic3/

Agile Antipatterns

The anti-pattern is a commonly-used process, structure of pattern of action that, despite initially appearing to be an appropriate and effective response to a problem, has more bad consequences than good ones –

Anti patterns are common solutions to common problems where the solution is ineffective and may result in undesired consequences. An antipattern is different from bad practice when It is a common practice that initially looks like an appropriate solution but ends up having bad consequences that outweigh any benefit or there is another solution that is known, repeatable, and effective. – Agile Alliance

Read the following Antipatterns published on this site

This article is re-published on WORLD OF AGILE website – https://worldofagile.com/blog/what-is-an-antipattern/

Some Ideas Formally Included First Time in The Guide – Product and Product Goal

Scrum always was a framework to deliver complex products. However the 2020 Scrum Guide defines “product” and Product Goal formally for the first time

Scrum Guide now formally defines the terms product and product goal

Scrum always was a framework to deliver complex products. However the 2020 Scrum Guide defines “product” formally for the first time . The guide defines scrum as “a vehicle to deliver value”.

A product has a clear boundary, known stakeholders, well-defined users or customers üA product could be a service, a physical product, or something more abstract.

üIt has a clear boundary, known stakeholders, well-defined users or customers üA product could be a service, a physical product, or something more abstract.

This definition clarifies the misconception that a product is a tangible item and a service which is inherently intangible can not be termed a product and as such scrum teams cant work on a service , the guide now states transparently that

  1. A Product has has a clear boundary, known stakeholders, well-defined users or customers.
  2. A product could be a service, a physical product, or something more abstract.

A product goal is defined as the long-term objective for the Scrum Team. It describes a future state of the product which then serves as a target for the Scrum Team to plan against. This goal is included in the product backlog and in fact is a “commitment” that drives “what” gets added in the product backlog.

Scrum team has one product goal and the team must fulfill or abandon the goal before moving on to next product goal

Scrum Guide 2020 – What’s New?

Scrum Guide 2020 – What’s New?
Excitement is in air. The new scrum guide is out. Like always there is a great curiosity among agile enthusiasts to see how the guide to scrum has evolved.

Excitement is in air. The new scrum guide is out. Like always there is a great curiosity among agile enthusiasts to see how the guide to scrum has evolved.

Over the years Scrum Guide has changed considerably. A very key point to keep in mind would be that “Scrum” has not changed – Jeff and Ken have inspected and adapted the guide to Scrum so that Scrum is articulated clearly and concisely.

Here, in this series, I have articulated my understanding and perspective on how the guide has evolved in its latest avatar. Some Of the themes I want to explore in this series are::::

  1. Purposefully Incomplete – First time, the authors have put it on the paper that scrum guide is Purposefully incomplete. In my eyes, this drive to make things less prescriptive is behind many of the changes in scrum guide.
  2. Some Ideas Formally Included First Time in The Guide – Some ideas and Principles like Lean , product goal , formal specification of commitments are formally included first time in this guide. Some of these were already practiced by many as a beneficial. Now they are included in the guide formally. This formal inclusion helps to further the Scrum cause of focusing on value
  3. Some Changes That Bring in More clarity – Along with concepts formally included for the first time, we can see some small but significant changes. These changes bring a wonderful clarity. Some items in this list are rewording of scrum master being a servant leader or the team being “self managing” instead of “Self organized”
  4. What Has NOT changed – Perhaps the most important theme, I want to explore. Scrum is delightfully incomplete and its a very satisfying exercise to contemplate what has not changed and more importantly why? These are the aspects of scrum that provide the anchor to our thought process.

Myth about Sprint Review being a sign-off event or a demo forum

Teams some times think of Sprint Revierw as a “sign off” from the Product Owner – this reduces the opportunity to get feedback from stakeholders –

Common Misconceptions and negative implications

Sprint Review is thought to be a “sign-off event by the Product Owner” or “a demo forum by developers” by most organizations. This is an INCORRECT understanding of the Sprint Review.

Sprint Review is actually a feedback solicitation forum. The Scrum Team seek feedback from the stakeholders during the Sprint Review. This helps address the deviations. The Product Owner and Developers work together on a day-to-day basis. The Product Owner DOES NOT wait till the end of the sprint to give feedback to the Developers.

Recommendations

  • Product Owner needs to participate during the Sprint and provide feedback throughout the Sprint to the team. This gives an opportunity to the team to work on the feedback by the PO and adapt if required. This also gives opportunity for the PO to get the product ready by the time the Sprint ends.
  • Product Increment is considered as an INPUT into the Sprint Review and not an output as thought by many people. Therefore, sign offs (if any) have to be done before the Sprint Review starts. Also the sign-off – if anyone has to do – it has to be the Product Owner. That’s why the word “Owner”.
  • When the Sprint Review starts, the Product Owner and Developers have to be in sync with what is being shown to the stakeholders. If both the roles are in sync, then Sprint Review becomes an excellent opportunity to solicit feedback from stakeholders – who could be sales teams, marketing teams, sponsors, end-user representatives etc.
  • If one wants to use the word “Demo”, then my recommendation is to use the word during the Sprint when Developers demos the product continuously and seeks feedback from the PO. Demo should be ongoing and day-to-day where-as the Sprint Review is the minimum opportunity to solicit feedback from stakeholders.
  • Some may argue that getting Increment is impossible considering that stakeholder feedback happens in a Sprint Review. What we really recommend is that Sprint Review should be a “minimum” forum to seek feedback from stakeholders. Scrum does not stop you from getting more feedback from stakeholders during the Sprint.
  • The objective of the Sprint is to get a “usable” Increment at the end of the Sprint. This is possible if feedback is taken frequently from stakeholders – at a bare minimum during the Sprint Review. The Product Owner feedback should be day-to-day

Sprint Review therefore, is an informal opportunity for the Scrum Team to solicit feedback from stakeholders and make sure that the deviations are addressed.

This article is re-published on WORLD OF AGILE website –https://worldofagile.com/blog/myth-about-sprint-review-being-a-sign-off-event-or-a-demo-forum/