Sunday, May 12, 2013

Scrum does not have answers for not following Scrum


Over the years, I have participated in, listened in on and watched many discussions about Why people have problems with Scrum.

This is not another post about the WHY of Scrum in an organization (which cannot be ignored!).  It is possible that the appropriate thing to do might be to avoid using Scrum if the organization does not want to use it.  

This post is based on the assumption there is Willingness to do so and a Sense of Urgency.  I will review some concepts based on this assumption.

Consider the following examples;

  • We are doing Scrum but don't have Product Owners
  • We are doing Scrum but don't have a Scrum Master
  • We are doing Scrum but we don't want to do the Sprint Review
  • We are doing Scrum but we don't have cross-functional teams
  • We are doing Scrum but we don't want to have fixed Sprint Time-boxes
(there are of course, many more)

I will use the Sprint Review to expose some thoughts on the matter.

The Sprint Review is a fixed time at the end of the Sprint. Team members can show what they have created as a team during the previous iteration.

Some of the benefits of the Sprint Review include but are not limited to;

For the Team;
  • A sense of accomplishment and reward
  • Motivation knowing that management and other teams are excited about their work
  • Real feedback as to how to improve the product
  • Ability to share their progress with others in the company
  • An increased overall level of understanding between teams
  • Shared ownership between the team and the stakeholders improve relations between teams and stakeholders 
For the Product:
  • Constantly evolving product based on inspecting what was completed by a group of peers and then adapting to improve the product based on that feedback
  • Early removal of risks by attempts to deliver a complete slice of user functionality as early as possible and preferably every sprint.  
  • Attacking technical risks by focusing  on the highest ROI (return on investment) items first reduces overall product risk while building "product knowledge" as those risks are mitigated.
  • A true status of where the product is by demonstrating finished functionality that can be used.
For the Company
  • The ability to have a focused ceremony towards the specifics of what was just created and to have a shared vision of where things might go from here.
  • A Cadence or "heart beat" where people know they will have an opportunity to learn what has been created without having "fear that they missed something".
  • A common place for all involved stakeholders and team members to see what teams are up to.
  • The ability for team members, and stakeholders to have one place to gather all the information they need to have a true idea of where they are at.
  • A forum to present obstacles the team is facing to all stakeholders in a targeted way.
  • To show other impediments to the efficient delivery of complex software.

To continue our scenario;

A senior manager decides that they will "cancel the review for now" because of one of these perceived problems....
  • Product being delivered or shown gives no value to stakeholders
  • Product has many bugs during the demo
  • Team is not showing enough functionality because it is too small or not-cross functional.
  • Product is not aligned with stakeholder vision and is upsetting to them
Scrum has done exactly what it is supposed to do.  It has identified obstacles to the efficient delivery of software and is expecting that you actually correct these things.


Problem: Product being delivered or shown gives no value to stakeholders


A common response: "Well, we'll just stop the review because we're not showing value each Sprint.. Let's come back to the reviews when we are ready"

Possible Response: To deliver value to stakeholders each sprint, hard changes need to be made to the way software is created.  This is the point.  The goal is to adjust practices and procedures to learn how to deliver working software with a high (and reliable) delivery rate.  

It is fundamental that feedback be given by stakeholders early.    

Problem : The product has many bugs during the demo


A common reaction:  "We will have to stop the reviews until we learn how to make reliable software.  We don't want to show our real progress to our stakeholders".

Possible Response: As teams learn to work in a Scrum Timebox, they need to learn new ways of coding, testing, communicating, code check in, pairing, documenting, etc. etc.  This is not easy.  They will make mistakes and have problems (especially at first).


Show the teams support as their skills improve.  Removing the need to show progress may only increase the amount of time until code quality improves.  Let everyone share in the success as you move forward.

Once the teams finally have it, it may be hard to get a rhythm going again, especially after previous reviews did not validate that mistakes are OK.  This gives a perception that reviews are only to show successes.  It needs to be safe to try new things and fail.

Problem:  Team is not showing enough functionality because it is too small or not-cross functional.


A common reaction: "We need to cancel the Sprint Review because the team is not delivering enough functionality each Sprint to warrant a review.  It is a waste of time".

Possible Response: To do Scrum effectively, you need cross-functional teams that have the skills necessary to finish a deliverable completely.  By embracing this idea, it aids in the removal of complexity by changing the traditional mindset of large build-up needed before coding can begin.   

If a team is not delivering enough during a Sprint because it is too small or does not have cross-functional team membership, Scrum will continue to be noneffective for the organization.

Even worse...When this problem eventually gets fixed, there will be no cadence and process that people are comfortable with to support the efficient exchange of information when it is really needed!  The learning will have to happen when a very expensive resource (a whole team) is looking for ways to communicate, inspect and adapt and has to start training the organization about reviews.

Please note, even a small team can create havoc for the future of the project without any peer and stakeholder feedback.  The size does not remove the need for the feedback.

Problem : Product is not aligned with stakeholder vision and is upsetting them

A common reaction:"We need to cancel the Sprint Review because the team is building the wrong things and we need to make sure that doesn`t happen.  Let`s stop the review so we have time to get more appropriate stuff done".

Possible Response: This is what Scrum is supposed to do.  We want to know now that what is being delivered is not the appropriate product and re-align the teams and product to what is expected.


By eliminating the vital feedback in a shared, focused setting, all the communication is moved into underground or other meetings without a clear vision by all those involved.


Some of us have been accused of  "not trying to be a good team player" or "not working with Scrum to make it work in the organization".

The organization thinks Scrum is a Silver Bullet that should just work as a "tool".  This is sadly, a contributing factor to this issue, but let's stay away from that discussion for now.

Scrum exposes problems.  It does not fix them.  Removing an event from Scrum because it shows a problem only serves to move that problem underground and hide it.

By removing the Sprint Review as intended, here is what you could end up with;

 (Remember, these will all be replaced with other non-focused ways of communicating or achieving these, therefore creating a double-burden on the company.  The Scrum framework itself consumes a large amount of time.  Not using the Scrum events as intended is a huge form of waste).
  • Team members who do not know what other team members are working on 
  • Stakeholders will hold meetings to find out status because of lack of knowledge
  • Mistrust between Scrum Teams and Stakeholders
  • A lack of heart-beat or cadence for people to become comfortable with
  • An uneasy feeling for team members as they do not know if what they are creating will pass peer scrutiny and feedback at some later date
  • Team members wondering if the management and stakeholders care about them or the product and a resulting lack of motivation
  • A feeling of us vs. them
  • A realization by team members that there is actually little support for Scrum at the management level.
  • A Scrum Master who becomes ineffective as information cannot be properly transmitting using the framework
When presented with the above list of problems, some of us try to find "alternate" ways to accomplish things "to be good corporate citizens" ... What we are actually doing is adding more overhead and burden to the company.  We are actually causing harm.

Whether it be to protect our jobs, lack of management understanding, lack of organization desire, etc. just give in, we often have no choice but to "give in".

I too have been in the position of "comply or get out".  I have been fortunate that I keep repeating the same message again and again, and most often (not always), the appropriate people eventually see the light (or let me go).

The worst thing you can do is make up some "alternate" way of doing things.  You are allowing the dysfunction to go underground and actually hurting the company.  Yes, easier said than done, I know.

When forced into a situation that is not right, it will eventually come back to you as a problem to "solve" later. It will be in the form of "Why doesn't Scrum let stakeholders know what is going on?, or "Why are we not getting the value out of Scrum we were expecting?", or "Why do we still have to have status meetings when we are using Scrum.  I thought this was supposed to go away?".

This post is not to address the "Why are we doing Scrum discussion.  I have plenty of other posts about that.  Here are a few if you're interested.
When trying to do Scrum without Willingness and Urgency, you may not get what is expected, so please consider your options before going down that path.  I truly enjoy the Scrum Framework (in the right place and circumstance).  In the wrong place, it hurts (everybody).   

Scrum does not solve problems.  Please do not pretend it does.  Acknowledge that it helps only after the impediments it finds are removed.  Consider the Scrum Code of Ethics when thinking about this.

Try this on for size next time you need to explain why something isn't working when part of Scrum is being ignored.  

Then, at least everyone will be talking honestly.  Instead of making up a solution; Give this a try...  (say it with me)....

Scrum does not have answers for not following Scrum
Mike Caspar



by Mike Caspar
Passionate About Agile



Disclaimer


Once in a while, I need to re-post this disclaimer.

Any posts or comments in this blog are simply MY PERSONAL OPINION and not to be considered as any recommendations or facts provided by any manufacturer, employer, client or associate.

Thursday, April 18, 2013

Scrum exposes problems. It does not fix them.


I regularly hear people making statements such as "If we do Scrum, it will solve our problems".

The reality is in fact, it does exactly the opposite.  Scrum helps to expose problems.  In some way, you could view this as purposely creating them.

Let me explain.... The Scrum Framework is deceptively simple.  If followed properly, it will quickly show impediments to the development process.  As work continues, it will expose an increasing number of obstacles.  This is it's purpose.

Scrum does not fix a company or a system.  The fixing needs to be done by the company, team members, and management.

By exposing impediments, Scrum allows the removal of obstacles to the development process.  Due to it's time-box nature, it improves the focus of the teams and organization to fix those problems.

By removing those obstacles, it allows the team to go faster.

Think of a balloon filled with helium with several layers of straps and barriers keeping it down.

The balloon wants to climb, but cannot because of barriers holding it back.

Some people think that the measure of "velocity" can be used to "push" a team to go faster.  This is the equivalent of just pushing harder on the balloon to have it try and force the straps out of the way.

In a Scrum context, we realize that pushing the balloon harder to go up when a strap is holding it down only stretches the balloon to it's limits and will eventually cause it to explode as opposed to climb.

Work to remove the straps holding the balloon back, and it can be free to climb.

As the balloon climbs and more barriers are removed, it can start to move at it's natural rate (flow).

The benefit of Scrum is the removal of obstacles, not the solving of problems.  The problems Scrum expose need to be addressed.  Only then can the performance of the team increase.

The reality is that Scrum solves no problems at all.  Scrum exposes problems.

If Scrum shows you something that is hurting the development process, you need to adjust the process to remove the delay to the team.

Having the team changes its' way or worse; trying to change Scrum so you do not have to deal with the information, only serves to allow the straps to remain secure.

Trying to adjust Scrum to allow the "straps" to stay in place and just keep pushing will not fix the problem Scrum has shown.  What is intended is the direct application of pressure to remove the obstacle.

Please don't tell people that Scrum fixes problems.  Remember, Scrum exposes them.


by Mike Caspar
Passionate About Agile



Friday, March 8, 2013

Is Trust Binary? - Seek to turn on the "Trust Bit"

I believe Trust Is Binary.  

To me, Trust cannot be partial.  You either trust someone, or you don't.

You can be in a state of distrust until you hit a certain point and then you flip the 0/1 bit and come to a point of trust.  

You may even trust someone completely and then have them do something to lose that trust.  It's a 0 or 1 thing.....  Binary.

Eventually a person that you distrust to some degree may do something to help you switch back to trust. 

You cannot say "I trust you partially". 

Perhaps I have been naive in my life, but to me, when I trust someone, I do so explicitly.  This approach has caused me some disappointments.  That being said, the occasional problem caused by this will not override the benefits of trust in others.


Market conditions, family situations, boredom, incorrect skills, or a multitude of reasons can change outcomes.   Things do and can go wrong, but I know it is RARELY because I have mistakenly given trust.  

To tell someone you trust them and then to give them only partial trust is untruthful. You don't really trust them.  Be honest about it.   

Trust is Binary

This brings up an interesting dilemma.... Where do you start?   

Do you start from a position of trust with everyone?  Any experienced business person knows this might be unwise.  Or is it?  Do we knowingly get into business deals where we know we cannot trust the other party?  Isn't that relationship destined to have problems?

Trust is such an important thing that I have gone out of my way to deal with people and companies I feel I can (or want to) trust.

Consider the "Agile Prime Directive" as it relates to Retrospectives and Reflection... 

"Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand."
--Norm Kerth, Project Retrospectives: A Handbook for Team Reviews

An interesting statement.  It simply requires "Trust".   

It doesn't say we "sort of understand".  It doesn't say we "partially believe".  It says "truly believe".  PERIOD.

The assumption is that trust is existent, and is Binary. It is either there, or it is not. A one or a zero.

Life is easier when your peers can learn and solve problems together instead of worrying about trusting each other.

Consider this the next time you do a Retrospective or Engagement meeting.  Ask each other, "Do we trust each other?".  Being honest and truthful about the answer might take a lot of pressure off everyone, even if the answer is no.  At least you will know where you really stand, and something to look forward to when trust can be achieved.....

"Seek to turn on the Trust Bit".  (corny I know.. had to say it) :->

by Mike Caspar
Passionate About Agile

--------------------------------------------------------------------------------------
References:

Agile Prime Directive --Norm Kerth, Project Retrospectives: A Handbook for Team Reviews

Thursday, January 31, 2013

Agile Coaches need to put more Focus on the Future, Not the Past


I recently woke up in the morning after thinking most of the night about how to help two new internally appointed Agile Coaches to become more effective in their organization.

The new coaches were unable to cross the "history vs. future barrier".  In other words, they had a habit of  "rewinding the past negatives" instead of crossing the line to "talk about the positive future".  This was caused by years of history where they work.

History vs. Future Barrier

This morning it hit me (quite by accident when reviewing and old post).

The following approach should help:

We should remind them directly that they will be Coaches, and with Coaching comes a certain level of Responsibility.... One of the biggest responsibilities is the one to be Positive and find some light when things look bad.  Of course, sometimes directness and brutal honesty are needed, but let me not get diverted..

Remind the new coaches that "being negative" won't help their team and is inappropriate for them.  Caution! If handled incorrectly, it could appear that you are asking them to be untruthful... this is not the intent.

You could ask them; "Do you think telling the team there is no way they will complete the project on time over and over again is something a coach should be doing?.   How do we know there aren't people on the team who feel differently?  Do you think it's good for morale?"

Personally, I might explain that the Mental Energy for everyone could be put to good use in getting the first Feature out the door.   There is of course (a given)  the need to report important information to the company and be truthful, but that doesn't say anything about the need to be negative.

To me, it's more about negativity.  If the people who are supposed to be motivating others are constantly saying it can't be done, well.. probably, it won't be.  The fact is, we are using an Agile Framework and we BETTER be delivering value after 1 or 2 Cycles or a different discussion needs to happen.

I would explain that.. hey.. the reason external people are so aggressive is that they don't see anything until near the end of the project... change the visibility and tone of information and the aggressiveness will eventually go away.  

Focus on what's important.. Helping their teams deliver value (and quickly) (not as in push them but focus on value delivery).  

At the same time, an improvement in the External communication or information radiators will surely help. If Information Radiators are maintained with care, professionalism and are truthfulness, teams will not NEED to tell anyone they won't make the "complete scope".  The information shown will allow the management to be part of the "solution" and will significantly reduce stress for everyone.

I thought it might just share my thoughts about this for those that are interested.

Agile coaching is a big responsibility.  If you are learning to coach, you must learn to leave the Negative Past behind and focus on the Positive Future.


Mike Caspar
Passionate About Agile

Friday, December 28, 2012

Transparency - We weren't ready for that!

As many readers have experienced, working towards Agility is hard to do.

Many of us talk about technical details, process, C level executives, managers, change management, culture and a large variety of other things as to why becoming Agile is difficult for a corporation.


Perhaps the real reason is much simpler than we think --->  Transparency.


I believe it is possible that the reason Agile is tough to take in large corporations is Agile's approach to transparency.


Here are some examples (it is important to realize that in an Agile environment, all of the following examples might be very public within the organization).


  • The Product Owner does not know the value of the stories they are presenting to the team and the team rejects them.
  • The team realizes early on in a project that what they are delivering will give no value to the company and it becomes very clear the project has no ROI (Return On Investment).
  • The team cannot complete it's stories because it takes 3 weeks to get a user account on a server.
  • The team keeps track of interruptions and presents the information as a reason for losing 50% of their productivity (this doesn't include the cost of "context-switching").
  • The team reports that because of internal team member conflict (which they are working on), they estimate they lost 30% of this Sprint or Cycle capacity.
  • During the retrospective, the team has figured out that they have two senior level managers giving them opposing goals and report it as something they would like fixed.
  • The company is having problems with a product line and has reported to the team members they are losing market share.
  • There will be a corporate reshuffle and the team members are asked how they wish to re-organize themselves.
I know that there are many more examples that might come up for you.  Consider your own list.


I recall a comment from a previous customer who hit the nail on the head. He said to me after reading a published retrospective...  "We are not ready for this!"

I can't tell you how many times I've heard the phrases "Agile is about transparency", "We want transparency from the team", "We want to do Agile because we are looking for transparency".  Often the assumption is that the team is the one causing delays, acting improperly, slacking off, and the list goes on.  The common misconception is that transparency is only about showing what the team is doing wrong. 

Realistically, it is rarely the case that the team is the cause of all problems.  Of course, they may have some issues. That's part of being human.

What happens almost immediately during a new transition is that things start to become "transparent" and the real causes of delay start to appear.  This is immediately uncomfortable for people who weren't expecting it.  Perhaps in your case, the "transition" is only happening in one small part of the company.  Consider the effects of this transparency where it shows issues in other groups who didn't see it coming!

What can we do about this?  Why not warn them?  Why not give them some training and coaching?

transparency graphic
Why not be honest about the fact that the information coming out of the teams will at times be uncomfortable?

Please, take the opportunity to talk about Agile values in your corporations. If you do not know why Transparency is so vital, please seek out an Agile Coach, Mentor, friend.. Whatever it takes.


The Agile Manifesto has many references that would involve transparency such as "Business people and developers must work together daily throughout the project."  Previously, many problems would not have surfaced which this principle will expose.  

The Scrum Alliance Code-of-Ethics says the following ; "When we make errors or omissions, we take ownership and make corrections promptly. When we discover errors or omissions caused by others, we promptly communicate them to the appropriate individual or body. We accept accountability for any issues resulting from our errors or omissions and any resulting consequences."

OpenAgile has a simple idea about this. It simply indicates it's purpose as follows; "The purpose of OpenAgile is to create an environment in which people are free to express their true nature and capacities to contribute to the betterment of their organization."


By spending a bit of time on this, you can make your transition a bit friendlier.  Once people realize that transparency is expected and what it really means, the change will seem less frightening.

What's making it difficult for many corporations is that we haven't truly explained what will happen when information in the company becomes open and up front.

Remember, transparency is a two-way street!

by Mike Caspar
..........
References : 
Agile Manifesto Principles - http://www.agilemanifesto.org/principles.html
Scrum Alliance Code of Ethics - http://www.scrumalliance.org/pages/code_of_ethics

Sunday, December 2, 2012

Only one to choose - Choose the Sprint Retrospective or the Reflection and Learning Step of the Engagement Meeting


I've been finding this a recurring question for a while, so I thought I might share some thoughts on the subject.  People have been asking, if you can only do one thing from Scrum or OpenAgile, what would it be?

When deciding what the most important part of your Agile Framework is, think about the Retrospective (Scrum), or the Reflection and Learning part of the Engagement Meeting (OpenAgile).

This meeting is a focused way for an individual, team, community or system to improve through continual learning.

Many corporations who have adopted Scrum have started with procedural parts of Scrum such as the Daily Scrum or the Planning Meeting.  The teams "go through the motions", yet no significant changes are made to the way work is done.  Many team members simply don't grow as individuals this way.

Scrum's Retrospective Meeting is a meeting where team members focus on improvement of themselves, the overall system, or their processes.

Often, the results of the meeting are the discovery of system-wide obstacles. If adjusted, these changes will allow the team to work more efficiently.  Sometimes the meeting may simply expose friction between team members that needs to be worked on (not managed).

The OpenAgile Reflection and Learning Parts of the Engagement Meeting focus on learning about our environment, system, community, and each other. 

By focusing on increasing our capacity to learn, we allow ourselves to be open to new ideas and things to try in our global "system".  As a result, our ability to "be of service" to our community is significantly improved.

The words are slightly different but the idea is similar...

"Let's go back and look at the last period of time we worked together and learn from that.   Based on what we learned, we can do something different next time and see how that works out."  Improvement is incremental, not batched.


If you are a ScrumMaster, or Process Facilitator, consider doing things to make the Retrospective the most important part of your Agile Mindset.

This one simple meeting, has the ability to drive any framework, team, or system to improve quickly.  It also allows continual learning and improvement to continue.

If you really want to have some fun with the meeting as well, some self-improvements to consider includes reading Ester Derby's book, Agile Retrospectives: Making Good Teams Great or taking a course in Innovation Games.

For me at least, it's always great when this meeting is taken seriously by teams and by the company.  The leaps and bounds teams can make are incredible.  This is because they can quickly and easily see what new things they need to learn and what improvement they can make .. now.

Ignoring this important meeting is just way too slow.

by Mike Caspar

References : 

OpenAgile Engagement Meeting - http://www.openagile.org/wiki/Engagement_Meeting
Innovation Games - http://www.innovationgames.com