Killing the Buddha

September 10, 2014

imagesIJ4EINVG

 

“If you meet the Buddha on the road, kill him!”

This is a popular saying derived from an old Zen koan. When it comes to working with Agile projects I find this saying very appropriate. People who do Agile transformations typically talk about finding the Way (the road) and often speak with almost religious fervor regarding Agile processes.

In fact, Agile is really just one short step away from organized religion. You have daily meetings, attend retrospectives where we examine our patterns of behavior deeply, we worship idols with bizarre names like “Kanban” and “Scrum” and fight (flame) wars over them. We anoint our priests as guardians of that process (yes, I’m talking about you, Scrum Masters), and agonize endlessly over whether we and others are following the right path.

Wow, maybe Agile actually is a religion. That’s pretty scary. I’ve got to go sit down now.

OK, I’m back. What were we talking about? Oh yeah, killing the Buddha. So, given my little digression above, it would be pretty easy to rewrite that old Zen saying like this:

“If you meet an Agile Guru while on your journey (to excellence, improvement, whatever), kill him!”

Now aside from sounding terribly violent, what the heck do I mean by that? It turns out, that having an Agile guru around is pretty limiting when it comes to learning and continuing to grow. Whenever we have a guru like that, what do we do? We defer to his expertise. We wait for him to provide the answer and we stall our own learning journey. Having an Agile guru around can freeze an organization’s development. You end up limited to whatever level the guru is at.

fish

Many organizations have these characters lurking in their midst. Heck, I was one once. I still have a business card with a title of “Thought Leader” emblazoned on it around somewhere. I’m here to tell you it can happen to anybody. One day you are a perfectly decent, self-respecting developer and then WHAM! you become an Agile Coach, or a Thought Leader, or a Lean Sensei, or any number of other wacky guru code names.

You become, THAT guy.

And trust me, you don’t want to be that guy. You know the one, the Agile guy? The guy who simply must render an Agile judgment every time he opens his mouth. The guy who everyone defers to when it comes to do all things Agile. To paraphrase the old Life cereal commercial “Is it Agile? Hey, let’s get Mikey. He’ll judge anything!”

…oh brother, I think I just dated myself straight back to the stone age.

So what do you do when you have an Agile guru? You get rid of him! What if YOU are the Agile guru? Now that’s awkward. Well, your mission is to eliminate that perception. How do you do that?

  1. Keep your mouth shut
  2. Stop telling people what’s Agile (see #1). Use pantomime or something instead.
  3. Bring in, find, unearth or otherwise manufacture someone who has more expertise than you do. Understand that by doing this, you will run the very real risk of learning something. Sorry.
  4. Rinse and repeat until nobody mentions Agile in your presence. Ever.

So if you find yourself or someone you love has become an Agile guru, take heart! There is a cure! The best thing you can do to avoid stifling (and annoying) everyone in your organization trying to get work done is kill the Buddha.


Culture Club

August 6, 2014

pablo-picasso-don-quixote

 

 

 

 

 

 

Recently I’ve been challenged by the question, “Can you change culture?” I think this is pretty common for folks who work in large organizations. The question of culture and how it blocks or allows us to get things done is a thorny one. There seem to be two opposing schools of thought in the agile community on the subject of culture:

  1. You can’t change culture, you can only adapt to it (customize your process to fit)
  2. You can change culture (through influence, good looks, and the right practices)

Of course, perhaps the first question is, “What is this culture thing anyway?” Most definitions of culture are terribly vague and in my opinion not especially useful (although, couched in the delightfully hand-wavy  terms of corporate sociology, they usually sound very smart). Just for giggles, here are some definitions:

  • Culture is the accepted norms of behavior for a group
  • Culture is the collection of social contracts that a group depends on
  • Culture is how we treat each other
  • Culture = people

I forget where I saw that last definition (Tobias Mayer?), but it’s probably my favorite of the bunch. You see often culture is used in conversation to hide or excuse problems with people. It’s kind of like referring to employees as “resources” (Ooh! Now I can be that irritating agile guy who corrects people’s terminology! A word to the wise: Don’t be that guy). So where was I? Oh yeah, culture. So here’s the deal, I don’t like the term culture because it’s just too damn vague. Often times I get a lot more clarity if I use more specific terms to describe the problem. For example:

  • Our culture won’t permit us to do that = Manager X won’t permit us to do that
  • Our culture only supports hierarchical decision making = Bob likes to make all the decisions

Once I take the time to replace culture with more specific terms (Who, What, Where, When, Why), I usually find that the problem feels more manageable to me. More human and less onerous. On the one hand, “Our culture” is vague and hard to put strategy around. On the other, influencing Manager X is a simple exercise in winning friends and influencing people. That’s something I know how to do. People I can work with. Culture…not so much.

So if you accept this definition of culture (culture = people), then your ability to change the culture directly depends on your ability to influence people. That’s Dale Carnegie stuff. It’s not easy, but it can be done – one person at a time. When you are in a small company, that’s not too daunting a challenge – win a handful of people over and you are done. However, in a large company, it’s quite a different matter. In a large company you have to win over hundreds or even (heaven forbid) thousands. That’s a very different challenge – and it’s an order of manure…uh…magnitude more difficult. It can be done, but it’s a long term challenge that may take years – and while some strategies you will use with larger groups are the same as for small groups, often they can be very different. If you are accustomed to trying to change the culture in small companies, you almost have to learn a completely new language in order to try and change the culture at large companies.

But seriously, can you REALLY change culture in big companies? One way to answer this question is to look for examples of successful culture change within large corporations. There are one or two that I can think of:

  1. Richard Semler, SEMCO (As described in the book, “Maverick”)
  2. James Collins, “Good to Great” (A series of stories of dramatic corporate change)

If you accept these stories as true, then the answer must be that culture change can indeed happen. But perhaps you are an inveterate cynic (like me) and don’t believe everything you read in books. Maybe culture change is just something that people with extraordinary power can achieve (like CEOs). Then what hope do those of us who exist much lower down in the corporate hierarchy have? Two thoughts:

  1. Sometimes we have to accept that our sphere of influence is limited. Those limitations are things that are very real like geography. You may only be able to influence folks that you work with in your particular office (which makes a lot of sense). Influencing the rest of the organization is going to be much harder. This has nothing to do with culture and everything to do with constraints. Start small, gather your wins, and grow.
  2. You can just wait. Bide your time. Sometimes you have to wait for the right opportunity. How long should you wait? I don’t know. There is an element of patience when dealing with culture change. You need a lot of patience. Focus, prioritize, and be ready. There’s nothing wrong with that approach.

OK Tom, what if I still don’t buy it. My company is HUGE and there is just no way that I can influence these clowns…er…people. No matter what happens, once an organization gets above a certain number (perhaps the Dunbar number) then it becomes extremely difficult to change. So difficult in fact, that it’s just not worth fighting. If that really is the case (and in many cases it just may be), there really are two approaches:

It may be that there are kinds of change that will never be accepted within some organizations. However, usually, that is a relatively small set of invariants. There usually still remains a broad spectrum of change that can be introduced successfully. Just stay away from the hot buttons. Does it really matter that you introduce every single one of the 12 XP practices? Or would it be enough just to introduce a few (there is still some benefit gained). Can you bring change in small amounts rather than a huge batch? There is plenty of room for creativity in this sort of culture change.

In the end, even after all this, you may come to the conclusion that you can’t change the culture in big organizations. Maybe it’s just too hard. Perhaps you just don’t like Dale Carnegie. I don’t know. That may just be the way it is. If that ends up being the case for you, then saddle up Rozinante. Grab Sancho, and go find some more giants to tilt at. The world is full of them.


Agile Coaching and Training is a Scam

May 5, 2013

con-man4

In the Agile world, coaches and trainers are distinctions that were created in order to create different ways of making money. They have no useful business purpose outside of filling the pockets of consultants with cash.

How can I maintain this? Here’s how I see it now: I (used to) have friends who are trainers. They are normal people like you and me. They typically got their start as project managers and or scrum masters just like the rest of us. At some point they go through a process where they are vetted for the following:

1) An understanding of the vague terms used in the agile lexicon
2) Conformance to religiously held views regarding a process
3) Communication skills & attitude

Once they are hit with the golden hammer, anointed by the powers that be, given the blessings of the bishops, or certified, they can charge large amounts of money to provide the same training over and over…and over…

Or they can just go out on their own and do it without any such approval. Of course if they do that, then they have to survive based on whatever actual skills they may have. They have to come up with their own material that isn’t provided by some governing authority. They have to market their skills all by themselves, and it’s a cold and unforgiving consulting market out there.

Regardless of which path you choose to take, are you doing anything that a good scrum master or a project manager couldn’t do? No. Training is part of any good manager’s role. Many scrum masters that I know have actually given CSM training at one time or another – and done quite well. Furthermore, the agile training that I’ve seen isn’t rocket science. It takes only marginal presentation skills to successfully deliver agile training. It’s not original material. It’s not like you have to know how to write code. In fact, most trainers I know, can’t write code. Are these really the people who are going to tell software developers how to work?

It’s nice work if you can get it.


Value Creation is a Dialog

April 25, 2012

Day two of trying to live the first principle of the 12 principles of the Agile Manifesto (“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”). So far so good. I spent much of the day co-training a class. It was a unique training because we asked the attendees to pick the topics that were most valuable to them, prioritize them, then taught the material. Finally we finished up with periodic retrospectives throughout the day. It seemed fairly obvious that this was a great example of asking the customer what they value, delivering the value, then checking to see if they thought it was really useful. After an entire rather exhausting day of this, it occurs to me that continuously providing value is actually a dialog (or perhaps an ongoing experiment) that works like this

  1. Ask what value you can provide
  2. Attempt to provide that value
  3. Ask the customer if they got the expected value
  4. Adjust and repeat

I think that value cycle lies at the heart of a lot of Agile processes. You see this in the sprint reviews and retrospectives on projects. It really is the PDCA cycle all over again. But speaking for myself, I think I’m going to have to modify my approach this week. Here’s a sample:

  • Ask friend: How can I provide value
  • Friend: Buy me a beer
  • Beer provided
  • Ask friend: So, how’s that beer?
  • Friend: Excellent! Too warm! Too foamy! bitter, etc.

Value delivered.


Developing Games Fosters an Experimental Mindset

January 21, 2012

So, for the past week or so, I’ve been developing the Impediments Game. You can see some of my efforts: interation 1, iteration 2, Interlude, and Iteration 3. Now I have no experience or expertise designing games, so as you might imagine, there has been a great deal of trial and error involved in this process. Whenever you add a new element or change an existing rule or component of the game play you are doing it with some sort of hypothesis in mind. For example, If I add “Accelerator cards” it will give the players a way to overcome the negative impact of impediments. That’s the kind of hypothesis I’m talking about. How do we actually run an experiment to test the hypothesis? We play the game!

Game play gives us the tangible feedback that we need to validate our hypothesis. Playing the game gives us both subjective and objective data. How does the game play feel? Was it fun? How long did the game take? How many cards did you use? Which strategy won out?

What I’m experiencing as I play the game is a lot of different questions – questions that can form the foundation for the next experiment:

  • How would the game work without cards (I could try using points…story points? The person with the most story points wins?)
  • What could I add to the game to promote teamwork? Would there be some sort of benefit accrued by helping your opponent?
  • Should elements like risks, impediments, and accelerators have a limited lifespan?

Of course the real joy of games is that you can run your simulations over and over and tweak things until you are happy with them. That’s what I mean by an experimental mindset. I see all too many teams that seem unable to come up with meaningful experiments to try and modify their performance. They have a hard time coming up with the “What if…” part of the mindset. Perhaps they should be playing, or even better, making their own games.


Developing the Impediments Game – Part 4

January 20, 2012

So today was a day to make a few changes and take stock of where things are at. The first change I wanted to make was to double the length of the game from 20 spaces to 40:

Changing the board like this actually raised a few interesting questions about the game for me. First, what does each space on the board represent? It could be:

  1. A square, just like on the sidewalk, just a position to advance to…
  2. It could represent a unit of time, like a day, or a sprint
  3. It could represent a position in a queue or a backlog

In this case, for right now I’m going to just keep it simple. I haven’t assigned any particular meaning to the spaces (although the astute observer might notice that they are now arranged in rows of ten, just like some sprints…). All I really want to do right now is insure that the game is sufficiently long enough that I can guarantee that whatever strategies each player of the game uses has a chance to fully play itself out in the duration of the game. In the first iteration of the game, with only 20 spaces, the game could play itself out in 4 rolls of the dice. That seemed too short, so I’ve switched to 40 spaces.

The other thing I felt it was important to do was to spend some time just playing the game and question the value that I was getting out of it. So I played this longer version, but just with the impediments, not with the risks. I learned that if I played two players with equal strategies – in other words both doing the best they could to win given the circumstances of each roll of the dice, the game felt a little frustrating. You spent your time trying to move toward the finish and were constantly being assaulted with impediments. It felt pretty tedious.

That brings up an important point: in most board games there are both positive and negative things that can happen to a player, even if they all just occur by chance. The classic “CandyLand” is like that. Playing with just impediments is kind of depressing. Especially when you can’t do anything other than pay their price. That’s where adding an element like risks to the game allows you to start doing something to proactively avoid impediments. Integrating risks into the game makes it feel much more interesting. Apparently dealing with impediments doesn’t feel nearly so bad when you have a strategy to deal with them. I think there might be some keen observations on learned helplessness lurking under that observation someplace.

What else can I do to give the player ways to deal with impediments? How about some Accelerator cards?

What would accelerators be? Here are some examples:
  1. TDD
  2. Pair programming
  3. Continuous Integration
  4. Continuous Deployment
  5. Automated testing
  6. Retrospectives

Each one of these things are the types of activity that a team can use to mitigate the impact, or even completely avoid some kinds of impediments. Time for more cards! I’m going to have to hit the office supply store soon!


Developing the Impediments Game – An Interlude

January 18, 2012

I know what you’re probably thinking by now: MORE on this silly game? Well, yes (I’m so embarrassed). You see, it just gets more interesting as I continue to play with it. Today I decided that I needed to improve the impediments cards in the game. In previous iterations, the cards had the word impediment printed on one side and the impact or cost of the impediment was printed on the other side. I thought it would make the impediments much more interesting if I used some real world examples. So, using the list of 100 impediments that was compiled by William Wake, I added an impediment description to each card. Now they look something like this:

What I like about having actual examples of impediments on each card is that players now get familiarized with different kinds of impediments while they play the game. Players actually might learn about different kinds of impediments! That’s kind of a nifty idea.

You see I have a confession to make: so far the game has been a way for me to try and model my own hypothesis about how impediments and risks impact teams. For example:

Hypothesis: A team that deals with impediments will have a higher velocity than at team that doesn’t address their impediments.

Hypothesis: A team that deals with Risks will have fewer impediments to deal with and subsequently higher velocity.

I confess that these are not complicated hypothesis, but they pose the kinds of assertions that I would like to validate. It turns out that constructing a game with rules that define the boundaries of the problem is a really fun and engaging way to test the validity of those assertions. But as I build out the game further, I’m starting to realize that games can also have learning objectives as well. Perhaps I ought to define some of those. For example:

  • People who play this game will learn about different kinds of impediments – some that they may not have ever considered before

Well, that sounds like a pretty good thing to me!

So now I’m thinking about the game a little differently. I’m looking at the games not only validating my own hypothesis about how impediments and the way we manage them (or fail to) impacts teams, but also providing a tool for teaching others about what impediments are and how they work. I think more people should create games!


On Product Ownership

November 1, 2011

Recently I’ve been dealing with disengaged product owners. You know the type: they don’t show up for the stand-ups, when they come to the standup meeting they don’t bring any stories and instead simply review whatever the team has brought to them – and then leave early because they have more important things to do. When they show up for the demo, they obviously don’t recognize the stories and simply give tacit approval to the work that the team has done. And the scrum master marks the work as accepted. The only time they express any opinion about the project is if it is late. Otherwise they are off in other meetings for projects that seem more attractive to them.

Call me a jerk, but these are the product owners that I least like to deal with. I almost prefer an actively hostile product owner – at least then I know that they care! Instead these ghost product managers do nothing to engage the passions and the commitment of the team. Soon I find that the team is coming to me and saying, “We don’t see much value in the work we are doing…” This is a very bad sign for a team. When you hear this from a team you can rest assured that you have a product owner who at best is distracted or at worst just doesn’t care.

Of course part of the problem is that I just haven’t worked with that many really good product owners. I think they are a rare breed. However, I saw something the other day that gave me pause. I was watching a coordination meeting for a big program that was getting started. The meeting was being run by a talented facilitator and there was a very charismatic product manager who was conveying a very obvious air of “being in charge”. You could tell that he had an ego the size of Texas. He was comfortable with public speaking, he used terms that were dramatic and conveyed a sense of purpose and commitment. He also conveyed the sense that he was confident an knew what he was talking about. People would defer to his knowledge of the business domain. He was brash, arrogant, had a full head of hair, and I almost instantly despised him. I know that type of guy all too well. He was just like me – with hair. What a jerk!

I saw him again a couple of months later and he was still selling the hell out of his program. I remembered thinking to myself, “Does this guy ever quit?” There he was in front of the team. He was basically reaffirming the value of the product that they were all trying to deliver. He was still selling the heck out of it! At the time I’m afraid I must confess I did not recognize the value of what he was trying to do. It all seemed a bit too “high school cheerleader” to me. So instead I settled for quietly loathing his presence.

So lo and behold, there I am a month or so later working on my own program. And I don’t happen to have a product owner who is charismatic, energetic, or at least has a face. No, instead I’m working with some guy I’ve only met once who lives on the east coast and who has not shown up for a planning meeting in recent living memory. The project is stumbling along, like many of them sometimes manage to do. Schedules are slipping, impediments are being worked around rather than being resolved, and we all pray for the day when we get to work on another project. And then it hits me.

I need to sell this baby. Well, somebody does anyway. It’s probably more suited to the product owner’s role, but in their absence somebody’s got to do it. Otherwise this project will just quietly fade into obscurity. Perhaps it should be put out of it’s misery. If you can’t get the product owner to care, then maybe the best thing to do is to let it die. But there is another school of thought here. Leadership on projects is not always clear. By that I mean that sometimes the product manager is a strong leader, sometimes the project manager is a strong leader, and yes, sometimes that giant dork, the development manager is a strong leader too. Sometimes, but not always. In fact the chemistry has been a little different on nearly every team that I have ever worked on. The fact is that the leadership may be hard to find, it may lie in different, even unexpected places – but it must be there somewhere.

One thing to keep in mind is that your leadership needs are going to vary based on the size of the group you working with. If the project you are working on is a nice little single team project with just a couple of iterations to it, then you probably don’t require much in the way of overt and active leadership. In that case it’s probably enough for the team to be well functioning and trusting each other. The commitment is small enough that it doesn’t require any particular skill of vision or any additional requests for re-commitment. The value of these small projects is often small enough that everybody usually feels that they are easily achievable and they don’t require much additional motivation to achieve.

Then there is the more complicated project, really more of a small program. These projects might have two or three different phases, milestones or releases to them. They generally take longer than your typical individual project and they require more commitment on the part of the organization and the team. The added risk and uncertainty, simply due to that introduced by the increased scope and the concomitant unknowns make these projects more worrisome to all involved. We’re not talking major fear, uncertainty and doubt here, but we are talking about the kind of program where, with just a few things going wrong, the mood can swiftly change from, “We think we can do this” to “We’re all going to die!” These are the types of projects that require someone, an engaged product owner – someone who will consistently paint a clear picture of the overall goal and help the team understand and appreciate the value that they are delivering to the customer and the organization. It may not take all that much, and you may even find that you can get away without it, but like I said, it’s much more likely in these situations that you will find that life goes a lot smoother with someone who is willing to actively rally the troops.

Finally, there is the genuinely large program – to me this is any program that has 3 or more teams, each of whom has multiple overlapping milestones that they need to hit in order to deliver the program successfully. Often times these teams are also distributed/dispersed teams as well. These are the programs where you need one hell of a good salesman. You need someone who is good at bringing people together and helping them feel like they share a common goal. Someone who is good at working with large groups of people – this can’t be the kind of person who will shy away from a room filled with 50 people. They need to be fairly energetic and be able to tell a compelling story. And they need to know the business really, really freakin’ well. They have to have some sort of very real respect within the group. For the really big programs, you probably need more than one person like this. Or maybe not. When I have worked with the multiple leader scenario I have also see a lot of infighting, which can be death for any project, large or small.

These are just some observations and speculations. They aren’t based on any kind of empirical data. To a certain degree they are based on observations of things that I have seen missing in myself as I work with teams. They are also what I often need from a product owner. Teams really need leadership as much as anything else from the product owner. However, leadership is one of those intangible skills that is very difficult to impart in some sort of training class. Certainly it is not the kind of thing that you will find in any sort of product owner certification course. The point is, I think teams need it from the product owner, some more than others, but they all need it.

Of course I suck at things unless I find some sort of way to formalize it into a set of things that I find easy to remember. So how would I formalize what I am asking for here? First I would bring back a much stronger emphasis on the project kick off meeting. This is the first opportunity to sell the project/program to the team and it is very important that you do it well. Second, I would put together regular status updates with the group, perhaps along the lines of key milestones that would serve to bring the group together and reinforce that original commitment to the project. Finally, I will treat impediments very aggressively and review them with the product owner and make sure that not only are they aware of them, but that they are taking an active role in resolving them as well. The team needs to see that the product owner is just as committed to removing project impediments as anyone else – perhaps more so.


The Fractal Beauty of Process

May 2, 2011

There is something about a well designed process that I find mesmerizing. It really doesn’t matter if it’s XP, Scrum, Lean, or Kanban the end result is the same: for some brief period I find myself seeing the patterns of the process everywhere I look. For example, a few months ago I finished reading yet another book on Lean (Poppendieck’s latest or something like that). There I was in the kitchen washing the dishes after dinner and wondering…

…why I always did the dishes in such large batches?

…and what would happen to our dish throughput if everyone washed their own dishes? Is that one piece flow?

…and would my family understand the benefits that would accrue from such a change? Would an experiment back this up?

…should I use a kanban board to reflect my weekly dishwashing progress?’

And so it goes. Sometimes it’s like a fever. Process Geekitus. I guess for some folks a process has the allure of helping to explain how the world should work. That’s a pretty seductive proposition when you stop and think about it. What’s wrong with being passionate about your work? Nothing! I can think of some great examples:

  1. Personal Kanban
  2. GTD (Getting things Done)
These are examples of processes that people have incorporated into their day to day lives. They’ve managed to take a process that works for groups and make it work for individuals or vice versa. I’ve seen it done both ways and I find it equally compelling. Patterns within patterns. It’s really rather lovely.

How to Start a Science Fair

March 2, 2011

Tired of doing the same old tired demos? Maybe it’s time that you tried a science fair format instead. When we first adopted Agile, we had six teams that were all synchronized on the same sprint cycle. This meant that at the end of the 2 week sprint there was a Friday that was full of demos all day long, back-to-back. Some of our project stakeholders found themselves in the unfortunate position of having to sprint from meeting to meeting, just to keep up with all the demos.

On the flip side, we had teams that complained that they had no idea what other teams were working on. Everyone did their own demo and didn’t have to attend other team’s demos. As a result we had strong silos developing between the teams. To combat this problem we tried what we called a “Science Fair” format for our product demos. The science fair works like this:

  1. The science fair is one-hour long, all the teams and stakeholders show up. This means if you have 5 or 6 teams like we do, that you need a pretty good-sized room with a nice projection system and lots of chairs.
  2. We do food. We arrange to have a couple of platters of sandwiches around so that we can feed the ravening horde…er…developers.
  3. Q&A during the demos is encouraged.

Other than that, it was really pretty simple. We started with just a few rules for the teams.

The rules of the game (first pass):

  • Each team will need to have a PowerPoint slide prepared with an outline of accomplishments for the last sprint – that way we can post it on the live meeting while you give your update. If there is some cool UI/widget/tool to show off, then bring it on. Send the slides to me and I’ll bundle them up.
  • The product owner gives a quick intro for each team
  • Each team gets 10 minutes max to present what they have done over the last sprint.
  • Demo’s of live software are encouraged

So we put this in place. We had one scrum master serve as the moderator, calling on teams in predetermined order and keeping everyone on time. The initial reaction was that this was a huge improvement over our previous demos. Teams could now see and ask questions about what other teams were working on. In addition, the overall time commitment for demos went from 6 hours of non-stop demos, down to 1 hour. However, there were some trade-offs. Teams only had 10 minutes to give their demo, and some teams felt that this was not enough time to show off what they had done. There was some flexibility in the schedule, so we were able to let some teams do longer demos from time to time. The other problem was that some teams with no obvious UI for their products (transaction processing) had a hard time putting together a meaningful demo. “Hey look! We changed the ‘0L’ to a ‘7F’!” Just didn’t seem to pack the same punch as demos where there was a full-fledged customer UI.

So, we persisted with the Science Fair format for another year. Over that time we noticed a few things happening:

  1. Fewer and fewer demos of working software were happening. Teams would show up with a deck of PowerPoint slides instead.
  2. The audience was dwindling. With less live software being shown, the excitement level was much lower and many stakeholders lost interest. Only part of the team was showing up.
  3. Q&A was missing. When we started the science fair, after it was over the room was buzzing with 1 on 1 conversations where people were quizzing each other on their work. You could feel the curiosity in the air. That had gone away. Now we finished a Science Fair and then we all simply migrated back to our desks.

Realizing this, we decided to change the rules a bit in order to revitalize the Science Fairs. Here are the new rules:

The rules of the game (second pass):

  • No PowerPoint. Nobody wants to see your stinking PowerPoint.
  • The product owner gives a quick intro for each team
  • Each team gets 10 minutes max to present what they have done over the last sprint.
  • Demo’s of live software are really strongly encouraged, like almost mandatory. Almost.

We added a few other things that helped as well:

  • Prior to each Science Fair, all of the Scrum Masters get together half an hour in advance and coordinate with each other to lay out the demos. We found we really needed this time to get together and make sure we organized ourselves before the Science Fair. We’d occasionally fail to do this and frankly nothing screams incompetence to your stakeholders like a poorly run demo.
  • We added a X-Team Summary at the end of the Science Fair where we would talk briefly about department wide progress on goals like quality and time to deliver (some metrics that we use to measure ourselves). It gave people a nice wrap up on the overall progress of the teams as a whole.

These changes to the rules seem to have fairly dramatically revitalized our Science Fairs. We have a packed house every time, and the dialog has returned to its normal mildly combative level (“Are you *sure* that’s a smart idea? What about X?”). Overall, the results seem to have paid off for us. Compared to what we were doing before most people feel that we are making better use of our time. The X-team transfer of knowledge has increased and the feedback for each team is much higher. Teams are generally only bringing working software to the table and they are getting better questions raised as a result.