Guaranteed Success With Scrum

Written by Mike Cottmeyer Saturday, 7 May 2011 03:43

At this point in my coaching career, I’ve worked with lots of teams, in lots of companies, trying to adopt Scrum. I’ve seen teams do exceedingly well… and I’ve seen a few totally crash and burn. I want to share a few things I believe to be non-negotiable if you are going to give Scrum a try.

1. Teams – You have to have a cross functional group of people that are dedicated to burning down the backlog.

2. Backlog – We have to have an extremely clear, fine grained, prioritized list of stuff to build.

3. Cadence – There has to be some agreed upon interval against we measure progress.

4. Done – The team has to know what done looks like at the end of each interval and some way to know they got there.

For me, that’s the non-negotiable core. Just about everything else in Scrum is derived from one or more of these basic needs. For me, that means everything else is negotiable. It also means that if you can make these four things happen, you wildly increase your chances for success.

Life in the Goldfish Bowl

Written by Mike Cottmeyer Sunday, 10 April 2011 12:40

You really don’t want to be a small animal living in the Cottmeyer house. We’ve tormented our share of Guinea Pigs, Hermit Crabs, Frogs, and Fish. We had this poor little goldfish one time that belonged to my son Daniel. The fish lived in Daniel’s room, so from my point of view, he wasn’t very visible, and over time, was clearly neglected.

Every once in while, I’d visit my son’s room and notice that the fishbowl was in desperate need of cleaning. Not just the bowl itself, but the water in the bowl… this poor little Goldfish was swimming literally in it’s own filth. The water was yellowish brown and just gross. Daniel and I had many conversations about taking care of his pets… he’s gotten better.

The goldfish eventually died, but I’ve been thinking about that little guy quite a bit lately. I’m doing some adoption and transformation work with one particular client, and we really have our work cut out for us. It’s easy from an outsiders point of view to see what’s going on, but the folks inside the company are having a difficult time seeing what we can do about it?

The challenge is that there is so much we have to change to get them healthy, it’s difficult to figure out where to start, and to get buy-in on the right first few moves. I’ve started telling the story about my son’s little goldfish. If you are that little fish, swimming around in that filthy bowl, how do you even begin to see what can be done about it?

If you are in the bowl, how to you even contemplate doing anything about the water? How do you imagine getting out of the bowl, emptying the water, cleaning he glass, refilling the bowl, and getting back into a healthy environment? The dirty water is all around you and it’s really difficult to understand how we can change.

The interesting thing though, is that unless we fundamentally change the environment, it’s almost impossible to make anything better. Daily stand up meetings and retrospectives won’t make any difference if we are in a toxic, low-trust culture. Incremental delivery won’t make much difference without tight integration with our business stakeholders.

Changing the water in our corporate fishbowl requires us to step outside our current context and look at what’s happening more holistically. We have to think about how we build teams, how we align teams with business objectives. We have to look at how we do out jobs, our processes and practices. And we have to look at ourselves and how we operate and how intact with each other.

Most of all, changing the water requires leadership… it requires someone who can get their team to believe that the water can be changed… it requires someone that can keep people safe while they are in transition… it requires someone that has the vision to see what’s possible and who is willing to take the necessary risks required to get us there.

Limiting Work in Process… Are There Any Other Options?

Written by Mike Cottmeyer Friday, 1 April 2011 06:00

One of the big wins of any agile method you pick… Scrum, Kanban, Extreme Programming, AUP… is that you get a built-in ability to balance capacity against demand. This natural throttling of work helps us better manage expectations between the customer and the team. It allows the team to work at a sustainable pace, dramatically reduce thrashing, and helps everyone get more predictable over time.

  • Scrum has us meet with our Product Owner once every couple of weeks during sprint planning. The Product Owner gets to decide what we build. The team gets to decide how and how much, based on their historical velocity.
  • Kanban introduces visual controls and explicit work in process limits to make sure that teams don’t confuse being busy with actually creating value. We can’t start more work, until the other work we’ve already started has left the queue.

When we get in the business of comparing the merits of the various agile approaches, we all kind of assume that limiting work in process is a good thing… it’s just a matter of how of best to accomplish that goal. That said, I’ve actually encountered a few organizations over the past few months that don’t value limiting work in process… they value saying ‘yes’ and then letting the chips fall where they may.

It is politically safer to say ‘yes’ now, give it your best shot, and then deal with the consequences of missed dates, and blown expectations, later after everyone tried really hard to make it all work. In my opinion, this is one of the most challenging barriers to adopting agile… and one of the most corrosive factors to actually sustaining agile in an organization after it has been transformed.

At the team level, people usually understand the problem, and are open, but don’t believe their managers will ever let them throttle back. The higher you go up the food chain, the less connected people are to the day-to-day work, and the more connected they are to the desires of the business. At that level, the deal has been sold and the work just has to get done. It’s up to the lower levels of the organization to figure out how to make it happen.

The irony is that the more we throw at the teams, the more we pressure them to deliver, the less they get done, the more defects get built into the system, and the more technical debt gets accumulated. Ultimately our ability to build working software grinds to a halt and our relationship with the business degrades to the point of open hostility. It’s a vicious cycle that someone has to step up and break.

Any agile method will give you some way of understanding the problem and some tools and techniques to do something about it. We might choose to use a prioritized product backlog and a Scrum board, or maybe a Kanban board with explicit work in process limits. Either way, if we can back off long enough to let the teams stop thrashing, establish a steady cadence of delivery, and a stable throughput… we have a chance to see the problem and do something about it.

Our only other option is to ignore the problem and hope it get’s better. In my opinion, hope isn’t a great business strategy, and ignoring the problem isn’t likely to make it go away. Doing something about your problems though requires taking risks… it requires courage to stand in the face of overwhelming pressure and saying ‘no’… or at least ‘not now’. But really though… what other option do you have?

Product Owner Team Design Considerations

Written by Mike Cottmeyer Thursday, 31 March 2011 05:00

There are some rules of engagement that need to be considered as the Product Owner team forms and begins to operate:

  1. This Product Owner Team is not an ivory tower with unilateral decision making authority – While this team has to be empowered to make decisions, it is incumbent on everyone involved to approach the business stakeholders to create shared understanding and build consensus across stakeholders with competing demands and business objectives.  Solutions should be as inclusive as possible.
  2. The Product Owner Team does not work in silos – The team members are collectively responsible for the output of the Product Owner team.  This team should speak with one voice to the business and the Scrum Teams.  While team members may work independently to gather information, the results needs to be brought back to the team for full consideration with the larger group.
  3. The Product Owner Team does not commit on behalf of the Scrum Teams – The Product Owner team is responsible for making high level estimates and defining a release candidate.  This is more an exercise to determine what is ‘out’ rather than what is ‘in’.  Only after each team has reviewed it’s backlog and provided detailed story point estimates, and assessed those estimates against their established velocity, can we collectively make even a high-level estimate back to the business.
  4. The Scrum Teams are the customer for User Stories – It is not up to the Product Owner team to decide what is good enough for each Scrum Team.  The Scrum Teams will decide if the user stories meet the threshold of the INVEST criteria.  This may require a different level of specificity from team to team.  The goal would be for some degree of standardization over time, but this has to be driven based on the needs of each individual team.

Okay… so what else?  If you were going to put a Product Owner team in place, what kinds of operating principles or design constraints might you be inclined to impose?

Problem Teams & Solution Teams

Written by Mike Cottmeyer Wednesday, 30 March 2011 06:25

I don’t think I have ever done a post for the sole purpose of linking to someone else’s post, so I guess there is a first time for everything.  If you’ve been paying attention for the past few days, you know that my last couple of articles have been around this ‘little talked about’ idea of a Product Owner team.

Well, come to find out, Marko Taipale did a post a few months ago around this very same topic.  I loved his post, especially the idea of the Problem Team and Solution Team.  I think that is a great way of expressing it… it’s something I plan to use sometime.  Here is a link to the post… please check it out.

Public Training Locations

Upcoming Training Classes

2-Day Agile Requirements Course
2-Day Agile Requirements Course
April 7-8 Orlando, FL
Advanced Agile Development with Dr. Alistair Cockburn 3 Day Master Class
April 14-16 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
April 14-16 Reston, VA
3-Day PMI-Agile Certified Practitioner Course
April 28-30 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
May 5-7 Denver, CO
2-Day Agile Requirements Course
May 15-16 Alpharetta, GA
2-Day Certified ScrumMaster Training Course
May 19-20 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
June 9-11 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
June 16-18 Reston, VA
2-Day Agile Requirements Course
June 23-24 Orlando, FL
2-Day Agile Requirements Course
July 10-11 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
July 21-23 Westminster, CO
3-Day PMI-Agile Certified Practitioner Course
August 11-13 Alpharetta, GA
3-Day PMI-Agile Certified Practitioner Course
August 18-20 Reston, VA
2-Day Agile Requirements Course
August 25-26 Orlando, FL