Friday, September 28, 2012

Agile Release Planning is not about the Plan...

The past week and a half, I have enjoyed working in France.  I have worked with 3 different companies, and a bunch of great people.

In the third class, we did a 2-day workshop.  The Workshop was mainly about agile release planning. With the real work of that company and those teams.

As with most people, some of the people were waiting. They wanted to wait to do the plan.  They wanted to wait until everything was known.  Until at least much more was known. And, as they know, the Plan would be better if they knew more.

This is a very normal human reaction. (And this group was not unusual in this way.)

But this is not the way of life.

Life changes, we learn.

We must always be changing the plan.  So, we do not do Agile Release Planning to have one Plan.  We start Agile Release Planning now, while we are relatively dumb, so that we can learn, so that we can discover what the plan will become.

And we want to discover that with the crazy human beings that we are working with (the Team) and working for (meaning: the customers).

I say 'crazy' in a most affectionate way.

Crazy in a nice way, crazy in an inexplicable way, crazy in an emotional way.  Crazy in far more ways than we have understood yet.  Because what it means to be human, to be a customer, a teammate, a friend, another stranger on the road…what it means to be this we still do not know.  The customers and the teammates are, for so many reasons, both good and bad, changing all the time.

So… we do some planning, relative quickly, and we ask our co-workers to work with us, and help us figure out what we are doing, and how we shall do it.

Lesson 1: We plan now, even with very imperfect information. And then we evaluate, and think about what we need to make a better plan.  And we do some of the work, and then we learn more, and re-plan.

Let me also add this.  Sometimes it can be true that, before taking a path, some things must be known. Or at least...if we choose one path wrongly, it may be hard to change paths later. So, we want to know more.  If you are convinced you have this type of situation, you have a much higher need for more information early.  So, use common sense.

But we caution you. At least with a software product, and with many other products, from experience we guess that you are again using one of the standard rationalizations for procrastination. "I need to know more first."  Analysis paralysis, as it is often called.  Almost surely, yes, review what you know now, but then learn from taking action.  The school of hard knocks is a wonderful teacher.

Comments?

Saturday, September 22, 2012

Choosing a Scrum trainer/course

This is a question I get from time to time: How should I choose between one course/trainer and another?

This is an important question and deserves some thought.  It does not deserve, in my opinion, a simple answer, as one might get from Zagat's about a restaurant. The choice is very much different than choosing yet another restaurant.  For most, this is a once-in-a-lifetime choice.

The good news: Most people (I'll say 95%ish) are happy with their choice. Or so I hear. But did they make the best choice for them?  Very very hard to know.

Here are some criteria for you to consider. I believe you can think for yourself once you have some context or framework (a key Scrum theme).

1. Date, location, price. Yes, of course. You may think I am biased, but of those, by far the least important should be price.  Because in relation to the benefit, it is trivial.  OK, these three were obvious.

2. Course/workshop goal.  Yes!  What is the real goal of the course and the goal or goals of the instructor.  Even though they all say "CSM course", they do not have the same goal(s).

My goal is this: I want results for the attendee, for the team, for the customers.  To me, those results are the only things that count.  But I am sure many other CSTs (trainers) would say something different. Or would not agree.  Or would at least word that challenge differently.

3. Instructor personality: Yes.  Trainers have different personalities. And this affects how you learn.  How would you learn about this?  Well, one way is to read the trainer's blog. You might want someone who is the opposite personality to you.  Interesting ideas.

4. Instructor background: Not simple.  But if you are in finance in NYC, you might want a trainer who knows finance in NYC.  And a zillion other examples.  It can also be argued that, other things equal, the buyer should get it from someone who is from a different background. Maybe.

5. Instructor teaching approach: Each trainer has a somewhat different teaching style. To give an overly simple example: some use mainly a slide deck, some have no slide deck at all.  One related idea (theory): the training style should match your learning style.

6. Experience with Scrum. Some instructors have more experience with Scrum than others.  Jeff Sutherland and Mike Cohn would be good examples of that.  They have been doing Scrum for many many years.  (Oh, you thought I would only recommend myself?  Wrong.)

7. Accuracy of describing Scrum.  Umm. Some trainers understand Scrum better.  I do not know how wide the divergence is amongst the Scrum trainers.  I do know you will not hear the same thing from each one. Even about what I call 'the bare bones of Scrum'.  And certainly not about what things to add to 'the bare bones' to make it work better, but maybe that is different than 'accuracy of describing Scrum'.

8. Ability to explain the 'abstraction' of Scrum in a way that seems (is) do-able and practical in your specific situation.  Umm. Seems pretty important, right?  And yes, it is related to some of the other things already said.  But it is different.  One suggestion: read the trainer's blog.

9. Workshop or not. My colleague Catherine Louis got me, against my better judgment to try doing a third day Workshop. So, now I do that all the time. Most Scrum trainers do not. Or they do a different kind of thing.  In any case, that is an important part of the choice, in my opinion. Suffice to say that I think the Workshop is very valuable, based on feedback from the attendees.

I am sure there are more criteria. But that is a good start.

One thing I suggest you not pay attention to....

First, there is a thing called NPS (Net Promoter Score).  It is used a lot on normal products, and many smart people (not all), think it is very good. I usually mention it when talking about the Business Value of products.
First, I think the course/experience/situation in a CSM course is very different from a normal product.

OK. Some trainers gather an NPS score. From attendees who have just completed the course.  I do this also. (For me, I find the information somewhat useful.)  Each trainer attracts, for many reasons, different kinds of attendees.

If you get a chance to compare NPS scores across trainers, don't.  You do not yet have enough information to compare those numbers.  After you have taken the course from both trainers (of course, the first trainer will bias your observation of the second), you will almost have enough information to compare the NPS scores between both those classes.  If you could see only the NPS for each course (and both trainers would likely show those numbers to you, if you asked).  But NPS numbers averaged over a year's worth of courses will not be meaningful.  To you (although perhaps a trend line might be meaningful to each trainer).

In general, for all the trainers I know, the NPS will be high, and the differences between the NPS scores will not be meaningful. Certainly compared to other factors.  IMO.

Hope that helps. Interested in your comments.

***

Monday, August 27, 2012

The Team and the Implementer Role

There has been, in several places, some good discussion about the roles in Scrum.  And soon the discussion turns (explicitly or implicitly) to 'what is the Team and what does it mean?'

The Team

The full team is what is most important.  Product Owner (PO), ScrumMaster (SM), and Implementers.  Together.  About 7 in total. Ideally 100% dedicated to one set of work (one vision, one product backlog).

They will be motivated, responsible, pigs (in the chicken and pig story), etc.  They will help each other, self-organize, become a strong complex adaptive system, create knowledge together.

If there are problems, it is clear where the problems lie. (Maybe in the Team, maybe outside. But clearer.)  And clearer who or what is affected by the problems (the Team is less effective in building the product).

It is where business and technology meet. And most of the biggest issues are resolved where business and technology meet. (Ok, a complex statement that I will not fully explain here.)

It is this (full) team that wins or loses.  (Yes, a Scrum team can lose.  This is not a failure of Scrum. And Waterfall would not have been better.  Just longer.)

Key Issue 1 - PO part of Team?

There is justified concern, based on experience, that if the PO is part of the Team, he will force the Team to commit to more stories in the Sprint than the Team should.

Well, yes, this has happened. And many other dysfunctions can happen with any set of people, no matter how you configure them. But it should not happen.

First, the PO is typically involved in the process of getting the stories done each sprint.  He provides, or should provide, the business value information and the detailed requirements in a JIT (just-in-time) or flow way during the sprint.  Example: When the implementers ask questions during the sprint (and they always should), the PO should get an answer ASAP (if not sooner). [I also favor the Agile Spec idea, where a mini-spec for each story is ready JIT before the Sprint Planning Meeting.]

Second, the PO gets one vote amongst 6 or 7.  So, the other implementers should be able to out-vote him if he gets too crazy.

Third, let's take an example where the PO will be on vacation. If that case, the PO might say: "We should not sign up for 7 stories, we should only sign up for 6 because I will be on vacation one of these two weeks." So, the PO's input could be valuable that way.

Fourth, I find it is often the implementers themselves who over-commit. And the PO who wants and needs them to be realistic.

So, thinking of the Implementers (only) as the decision makers on the Sprint commitment is typically not that useful.  But, agreed, when we have the dysfunction of the PO trying to get the Implementers to over-commit (I do, sometimes, see that) it is wrong.  But that dysfunction can happen in any case, and mere talk about that 'Dev Team' as distinct from the full Scrum Team will not help much at all.  I find.

Key Issue 2 - "The Dev Team" idea

There is a lot of talk in the Scrum community about the Dev Team, as distinct from the full Scrum Team. (The Dev Team only includes the Implementers, is the idea.)

I find this way of talking, this use of words, generally unhelpful. Confusing, especially to beginners. And confusing later.  (We often have to ask: "Did you want me to call the full team or just the dev team?  And why?").  And just not very helpful.

Yes, the implementers do things 'together' some and talk just amongst themselves.  And I think we can say it that way.  If I want to say it quickly, I call them "the Doers".  Just two syllables in 'doers.'

Should they have an SM or a PO in some of these discussions or in this work?  I find it virtually universal for the first two years that the SM and PO are not involved enough.  In part because people just are not used to thinking about them.  It is a paradigm shift.

The Dev Team idea perpetuates the notion, to some degree, that there is still a concept of a 'technical success' distinct from a business success.  And that is not good.

There are only business successes.  I hope we have recognized that.  We deliver business value or we do not. Or more or less business value.  But "well, we did what we said we would do, and it is real neat technically" are both fairly useless notions.

Result 

So, you can see that the phrase "Team" (meaning the Team role that much Scrum documentation talks about) or "Team Role".... I don't like either of them.  Again, to me they are more confusing than helpful.

And you can see that I strongly feel that the issue of whether the PO is part of the team is also fully settled: Yes. (This is discussed in two earlier blog posts.)

Now, what I am talking about above is how we learn and how we teach and talk.  But in the end, the words are not that important.

The real question is always: what did we do?  What did we accomplish?  What shall we do?    The words can help or hurt a bit, but if you are acting the better way (despite always having some problems with words), then things are pretty good.