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 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/

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/

Myth about Definition of Done being baselined before project starts

definition of done is often looked at a checklist that is set in stone-something not evolving – let us discuss how Definition of done evolves

Common Misconceptions and negative implications

  • Definition of Done is directly compared with Quality Criteria which was used in waterfall. Because of this teams tend to baseline the definition of done before starting the project
  • By baselining the definition of done, product teams and delivery teams don’t get to iterate the quality criteria as they go-along
  • Lot of time then gets wasted in trying to get the product too precise and the releases get delayed

Recommendations

  • Definition of done should be emergent. That means the definition of done should get more and more stringent as the product maturity increases.
  • There is no point in trying to make the Definition of done too stringent upfront. Instead one can always start with “the bare minimum” definition of done.
  • As the product matures, it is often necessary to make the definition of done stronger. It makes sense then to make the definition of done stronger as you go along.
  • However, one must understand that if the Definition of Done becomes stronger, then there may be undone work associated with the product and the product must be brought to the current definition of done. That means, all the undone work must be identified and put back into the product backlog.
  • For example : One could start with a definition of done as
    • Acceptance criteria for functionality is met
    • User Documentation is completed 
    • Integration testing is done
    • Regression testing is done
  • As the product matures, lets say, after 6-8 months, the volumes increase drastically and product becomes slow. Then it may be required to add performance testing into definition of done. So the new Definition of done could become.
    • Acceptance criteria for functionality is met
    • User Documentation is completed
    • Integration testing is done
    • Regression testing is done
    • Performance testing is done
  • So now one must understand that because Performance Testing is added to the definition of done, it is now required to add the “undone work” associated to the last 6-8 months of product that was already completed. And that means, we may have to dedicate some time in the upcoming sprints to get the product to the current definition of done.
  • By doing this, it avoids a lot of initial wait time before we get the product into the market. In the above example if we would have added performance testing initially, a lot of time could have been wasted trying to do performance testing when it was not required. We could have missed the window of opportunity. Our competitors would have released the product earlier than us.
  • It is not just the scope which is iterative and incremental in Scrum. Definition of done (Quality Criteria) is also iterative and incremental.

This article is re-published on WORLD OF AGILE website –https://worldofagile.com/blog/myth-about-definition-of-done-being-baselined-before-project-starts/