Scrum Master the (over) protector of the Team – An Antipattern

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 the Scrum Masters feel that they have to always protect the team?

  • The earlier version of the Scrum Guide mentioned the following statement 

“The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t. The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team”

This was interpreted by most Scrum Masters that they always shield the team from the outside world.

  • What ended up happening was that the Scrum Master became a liaison between the organization and the team. This way the Scrum Master became over-protective of the team and literally assumed the role of a “Dad” or a “Mom” for the team.

Some common observations when Scrum Master becomes overprotective

  • Scrum Master deals with all impediments personally, even when the team members may be able to solve themselves
  • Scrum Master filters feedback from stakeholders. Negative feedback is often not shared with the team. Only the goody-goody ones is shared with the team
  • Scrum Master pampers the team by taking care of all administrative stuff (more like a PMO or a secretary)
  • Scrum Master always becomes a bad-cop when it comes to harsh discussions with any stakeholder
  • Scrum Master prevents the team from failing
  • Scrum mom is not really challenging the team
  • Scrum Master does not enforce boundaries and often remains too flexible with the boundaries
  • “Right or wrong – its my team” behaviour starts getting seen

Negative consequences and what could be done

  • Failure is not the opposite of success. Failure is in-fact a necessary stepping stone towards success. Like parents train their kids by letting go sometimes. Parents prepare the child for the real world by helping the child take up challenges. Scrum Master should allow the team to make mistakes and let go. There is no need to be over-protective. Let the team learn by failing. Scrum Master’s job is to keep showing the mirrors when failures happen.
  • A Scrum Master’s good intentions can become an impediment for the Scrum team’s progress. This is particularly true in the case of an over-protective Scrum Master, when her shielding of the team prevents its members from learning by failing.
  • Scrum Master’s job is to make the team independent and ready to face the world and not make them crippled by handling everything
  • The greatest success of the Scrum Master is to see his/her team not needing a lot of bandwidth from the Scrum Master.

This article is re-published on WORLD OF AGILE website –https://worldofagile.com/blog/scrum-master-the-over-protector-of-the-team-an-antipattern/

Scrum Master the solver of all impediments – 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 Scrum Master should solve all impediments

  • In the 2017 version of Scrum Guide the accountability of the Scrum Master was mentioned as “Removing impediments to the Development Team’s progress;”. This sentence was often misunderstood and it was assumed that Scrum Master is the one who runs around and solves impediments.
  • The term “Facilitator” is commonly misunderstood as a “coordinator”. Most teams come from a waterfall background and are used to having a Project Manager. In most organizations, the Project Manager is nothing more than a PMO who coordinates and does administrative activities. The essence of facilitation is to make it easy for the team to get to conclusions and decisions. Impediment solving is only one aspect of the Facilitation.
  • Most organizations implement Scrum Master as a replacement for the PMO responsibilities and expect Scrum Master to run around and solve impediments.
  • From the outside, this looks to be a great idea to have developers do the work and Scrum Master run around and get the administrative stuff done.

Negative Consequences of having a Scrum Master solve all impediments

  • One of the fundamental elements of Scrum is “Self Management” where the team manages itself. The Scrum Master’s job is to teach the team to be self managed and cross functional so that they can get the work done.
  • Team members other than the Scrum Master might be better qualified to solve an impediment
  • People often then shrug off their accountability and expect Scrum Master to be the PMO and even solve problems which they could solve internally
  • Problems are often too complex to be solved by one person and therefore Scrum Master may not be the correct person to solve the problem
  • Viewing an impediment from different angles helps to find effective solutions
  • Many problems have to do with the way how people work together, solving such a problem cannot be done by one person

What could be done to avoid this anti-pattern

  • The first line of defence for the team should be the team members themselves. The Scrum Master must teach the team to do this and not push everything into Scrum Master’s plate
  • The Scrum Master should not get overloaded with solving impediments. The Scrum Master should be an observer, a coach and making sure that facilitation is done.
  • For impediments which actually need Scrum Master’s help, only those Scrum Master should focus his/her attention on.
  • Scrum Master should use his anticipation skills to anticipate issues so that the team can start looking for solutions a little bit in advance.
  • In short, Scrum Master should become a coach and facilitator rather than just being a PMO.
  • To clarify the actual accountability of Scrum Master with regards to impediment solving, the sentence has been reworded in the 2020 version of Scrum Guide to “Causing the removal of impediments to the Scrum Team’s progress” – which essentially means that it is not necessary that everyone just dumps all impediment solving on the shoulders of the Scrum Master.

This article is re-published on WORLD OF AGILE website –https://worldofagile.com/blog/scrum-master-the-solver-of-all-impediments-an-anti-pattern/

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