Inspect And Block, Or Consult And Enable?
Often in large organisations we have to deal with groups with names like "legal" or "compliance" or to use an example from my days in the healthcare software industry "patient safety". To a project manager, the function of these groups seems to be to throw up obstacles and prevent getting things done. These groups tend to appear out of the woodwork near the end of a project, inspect everything that has been produced, identify a bunch of problems and then block release until they are all fixed. The problem of course is that at the end of a project, everything has already been built so changing things is hard and expensive. There is also a very good chance that the money is starting to run out so these changes would push the project well over budget. Throw in a rapidly approaching release date and a team already stressed with defects and last minute changes, and it's no wonder project managers view these groups with dread.
Of course, these teams are not just a bureaucratic hurdle to be jumped. They do an important job. The organisation could be in serious trouble if they release anything that is illegal or is not in line with whatever regulations they are under. Groups like legal and compliance have the skills and knowledge to make sure that doesn't happen. In the healthcare company I worked for, patient safety was responsible for exactly that - the safety of the patients whose treatment was administered through the software we wrote. They were trained medical professionals, with years of hospital experience, who assessed what we produced and made sure that in the stressful, overworked environment of a typical hospital, that the software could be used without the risk of accidentally administering the wrong drug or the wrong dose or operating on the wrong leg (or even wrong patient) or anything like that. That's a pretty important thing to do. We knew how valuable it was. We still hated dealing with them though. Product managers would jump through hoops to get their product classified "non-therapeutic" so they could avoid a safety review. The downside of course is that there was no safety review. If only there was a way that we could get the value that these groups provide without all the downsides.
Changing culture is easy - just change what you measure
As an agile coach I am always pushing for cultural change. That's what agile is really - it's not a delivery mechanism, it's a fundamental change in the culture of an organisation. What do we mean by organisational culture? There are many definitions but the one that I like is that culture is a shared understanding of values. It's the understanding everyone has of what the organisation thinks is important. Culture drives behaviour - people will seek to maximise what is considered important in the culture and will behave in ways that do that.
The problem of course is that, as anyone will tell you, cultural change is hard. CEOs are tasked with changing culture and spend years failing to do it. People say that the only way to change culture is to change all the people. Or that cultural change only happens when a generation of employees retire. I don't agree. Cultural change is really easy. You just need to let people know what the organisation values. "Hang on", I hear you say, "Just wait a minute. Organisations have been putting out statements for years about what they want in their new culture. People can often quote chapter and verse from the CEO's latest values statement. Millions are spent on flashy communications. And nothing changes."
Before You Start Changing, Measure Where You Are
What's the first thing you do when you look at a map? Find your destination? Maybe. Start planning a route? Sounds logical. But there is something missing. One fundamental step that renders the other two useless. That first step is locating where you are. Obvious really, but essential. Unless you can position yourself accurately on the map, no amount of accuracy in destination identification, or time spent in route planning, will get you where you want to go.
That's obvious when looking at a map. Very few of us (my mother excluded) will locate our destination then confidently set off without working out where we are now. My mother, on the other hand, will locate her destination, see that it is on the left hand side of the map and confidently set out towards the left. Consequently her excursions often end up in interesting places. Trouble is, the same principle applies to organisational change and in that context, very few of us perform the first step. We jump straight into desired state, plan a few actions and off we go. We don't spend much time, if any, on step one. We don't measure where we are first. The result is exactly the same as looking at a map without locating youself on it. You will start off confidently in a random direction and end up... somewhere. If it's at your intended destination that will be by good luck (or the help of someone you asked for directions) rather than good map reading.
Release Predictability. Not Speed.
When talking to stakeholders about why they want their project to go agile, the most common reason they give is speed. Faster time to market. Faster delivery. Fast, fast fast. If you dig a little deeper though, and ask what they mean by fast, they don't say things like "before our competitors", they will say things like "when you promised it". A lot of the time, speed is a kind of code for "no delays". Make us a commitment and stick to it. Don't jerk us around. What they are really looking for a lot of the time is not more speed in delivery but more predictability.
Predictability is really important to the wider business. They may have trade shows booked, advertising campaigns locked in, shareholder briefings prepared. If commitments aren't met, it can have big impacts on the rest of the organisation. I know of one organisation who sent out letters to a million customers advising of a change on a particular date, only for that date to slip by 6 months. Not only is that not a good look, it's expensive too, as a million other letters needed to be sent out advising that the change would not, in fact, be happening, then another million when the new date was announced. Fortunately, an agile approach is ideally suited to giving the business the certainty it needs. How can this be when the agile approach doesn't try to lock down everything in advance? How can you have predictability without certainty?
Blame Culture
Got a team that isn't performing? Won't raise issues in the retrospective? Acting like group of individuals rather than a team? Product owners constantly changing priorities mid-sprint? Scrum masters not protecting the team from interference? Team communicating via email instead of talking? That's quite a laundry list of dysfunction, isn't it? You would think you have a whole bunch of problems to solve, but if you are seeing all of these at once in a team that has been together for more than a sprint or two, chances are you only have one. It's a big one though. There is one really common dysfunction that can cause a whole range of problems. Usually, it's not a problem with the team, it's a problem with the wider organisation. What could well be to blame for your team's problems is...blame.
A corporate culture based on assigning blame for failure can manifest in a wide range of bad behaviours. The first casualty of a blame culture is trust. If everyone is frightened of being blamed for something, they will tend to start deflecting blame to others - "it's not my fault... Fred didn't get his part done in time...blame him!" Naturally, teamwork suffers as people retreat into self-protective shells and start communicating via documents and emails so they have evidence to back up their side of the story when blame time comes round. Naturally, this sort of thing makes teamwork pretty difficult. As soon as blame starts getting handed around, trust evaporates and with it goes teamwork.
Too Big To Fail
The project is huge. It's been running for years. It's late. It's getting later every day. No-one can remember why the project started in the first place. No one is sure why we are still pushing ahead, but the project refuses to die. Money is thrown at it. The project team becomes larger and larger. It becomes harder and harder to get any other projects funded because MegaProject is sucking up all the available money and people. The project has become Too Big To Fail.
We've all seen something like this at one point or another (preferably from a long way away) - a huge project, lumbering on year after year, never delivering anything but consuming every part of the organisation it touches. Everything is diverted into making sure this project doesn't fail. Those on the outside (and many on the inside) wonder why the decision isn't made to kill it off. The original business case has long since evaporated. The project will never deliver the benefits it was supposed to. Why doesn't management pull the pin? The answer is simple - the organisation has fallen prey to the sunk cost fallacy, also known as the gambler's fallacy.
The Measurement Fallacy
As soon as someone starts looking at the topic of metrics, the measurement fallacy pricks up its ears (I always imagine it looking somewhat rodent-like with mangy fur, evil eyes and sharp teeth) and gets ready to emerge from its hole behind the database server. When people start discussing what should be measured in order to keep track of a process, it gets ready to strike. Most people have fallen prey to it at one point or other. Mostly without ever knowing they have been bitten. The bite is painless. The only symptom is that the bitten suddenly assumes that because we can measure something, it must be important. More serious cases assume that the easier something is to measure, the more important it must be. This dreadful scourge is responsible for making Lines Of Code the primary measure of developer output for years.
It's a typical case of a severe bite - we can measure lines of code. Therefore it must be an important measurement. It's really easy to measure so it must be a really important measurement. Therefore we must measure it and use it to drive developer behaviour. Once it sets in, it's hard to shift. Despite the fact that the behaviour it drove - writing masses of wordy code to inflate your LOC counts and never, ever remove code - was completely counterproductive, the LOC (or KLOC) still hangs around to this day.
The Black Ecconomy
When you work in a large company, one of the things you hear quite often is “we have to follow the process”. Large companies, for very good reasons, have a need to standardise their processes. If you have 50,000 staff, having one way to do things makes a lot of sense. No matter where someone goes in the organisation, the process for ordering a new pen, or whatever, will be the same. The problem with defined processes though, is that unless they are regularly reviewed and cleaned up, they tend to accumulate complexity. Each time something happens that is just outside the normal way the process works, someone will add some extra checks into the process to make sure that that situation is now covered. Over the years it will collect enough of these extra checks that your carefully considered and streamlined pen ordering process now requires a 10 page form, 15 signatures and about 4 hours (and in some companies a pint of cockerel’s blood). The end result is that everyone spends all day looking for pens.
Estimation Part 7 - Recap
Over the last 6 posts, I have been looking at estimation. First, we looked at why we estimate, then we looked at some of the pitfalls in traditional estimation methods - the way we mistake accuracy for precision. Then we looked at some of the Agile estimation techniques - story points and T-Shirt sizes and the way they are designed to overcome the accuracy vs precision problem. We saw that while they generally do a good job, they also have some fairly serious pitfalls of their own. In the last two posts, we looked at taking T-Shirt sizing one step further and allowing only two sizes - small and extra-large (too big). By doing this we saw how the main pitfalls in the agile estimation techniques were overcome. We also looked at some of the main objections to story counting and my arguments on how these objections can be overcome.
I'm not the only person to come up with this technique. It's doing the rounds at the moment under the name "No Estimation Movement". Apparently I'm part of a movement. Cool.