Author: francis

Comparing velocity of agile teams is futile

Background

This relates back to the somewhat thorny issue of estimating how long things will take so people can plan how to allocate resources.

As creators of value giving stuff we need to be able to make promises to our friends and paymasters that they will get the things they need to be able to do their business. Enterprises of all stripes want to know that they can invest a specific amount of cash and have something that will make more cash. Preferably more than they invested, and in a timescale that isn’t too far in the future.

The problem is they can’t. When you are creating something new it is by nature an unpredictable beast. Instead what you have to do is take steps to minimise the cost of mistakes and maximise the results you get.

The cost of mistakes is also why we also work in short iterations because we know we are human and will make them. This isn’t a bad thing, it just lets us experiment and learn without having to bet the farm. Because of this there is a disconnect right at the heart of what’s laughably called software engineering. Businesses invest to make money, any software you create is an investment. However, you can’t guarantee the results or even how long it will take to get somewhere useful and people don’t like that.

The quest for agility

Agile was a response to this, it came from the makers of software who said that they couldn’t reasonably commit to very large projects with any degree of certainty. It’s all about mitigating the risks by trusting people to think small and act small in well bounded contexts. So you eat an elephant one bite at a time – you develop large systems one small iteration at a time, and the small iterations allow the business to change its mind relatively easily and cheaply as well.

Development is a process and you discover things and questions you didn’t know you needed to answer as you follow it through. Small iterations let you answer these questions before they derail you.

Typically a large system is broken down deliverable chunks, and the chunks into projects. The projects become a list of tasks that are small enough for one or two people to understand and deliver. These are then sorted into priority order and a series of iterations are planned roughly.

Then we plan an iteration in detail. Iterations are time boxed. No task should take more than a couple of days at most, and we try and work out how many we can get done in each iteration.

This is where velocity comes in.

Velocity explained

The team get together and give each piece (or story as it’s called in some schemes) an arbitrary amount of effort they think it will take and allocate it a number of points depending in the difficulty. It’s important to emphasise here that the key word is think. They don’t actually know, because if they did they’d be playing the lottery and living the high life. It takes little time to do this and they work out what will fit into the next iteration, plus a couple of extra things that they could fit in if things go well. It’s also not effort, as such, but a yardstick that lets you work with the relative sizes of tasks.

Over time they get a feel for how many of these magical points they can get done in an iteration, and how many certain types of task may take.

Very strong concept to emphasise here is that there is no science in this, the points are what that team think for that specific iteration. The points measure nothing and are only to give a yardstick of what can probably be fitted into a given iteration by that specific team.

So …

  • If you try and use velocity to compare teams you aren’t going to be able to say anything meaningful, and just piss people off.
  • If you say things like you only got 23 points done this iteration and 25 last one, you need to work harder to a specific team they can easily fix it by adding some nonsense to the plan for the next iteration. You’re also demonstrating you just don’t get it.

To complete the process when each iteration finishes the team traditionally check back with the business representative (often called the business owner) and make sure that what they’ve built fits with the business needs. This is known as the demo. If they’ve been doing technical stuff to support future iterations there may be nothing to show.

Good teams then review what they got done in the last iteration and look for ways to improve.

Velocity is how many points a given team gets done in an iteration. It’s worth measuring because you can start finding out whether or not:

  • The project is possible with the people and resources you have
  • The team find certain kinds of task difficult and maybe need some mentoring for them
  • The communication with the business is being properly managed
  • Some tasks in particular areas are taking a lot longer than first thought – you can go find out why before it kills everything

and you can find this all out very early so you can fix it before you’ve wasted huge sums of money invisibly choking on the proverbial elephant.

So velocity is a simple rule of thumb that lets you make sure you can keep your promises and head off any problems early. It’s not a management tool to get more productivity. In fact it has little to do with it. For example a team of very experienced people who’ve been working together a long time might well be able to deliver a lot more  in an iteration, but could easily allocate the same number of points as a less effective team because that’s what they’re comfortable with.  If you were some clueless spreadsheet jockey working far away from the delivery you would have no way of knowing this.

The number is meaningless, except as a rule of thumb for a specific team at a specific time. It’s a very blunt instrument and changes anyway as the teams get better or change their practices.

Consequences

You can’t create a pretty gantt chart and say this will be ready by the 12th of November because you don’t know for sure when things will finish. You can get a range of dates once you have some data. If it must be ready by a specific time you can either use the knowledge you gain to manage scope or make sure that the parts of the project that must ship to make it workable by that date are done first.

You can also get creative. For example Basecamp wrote their billing module after they delivered their first fully featured version because it gave them short term time to put more into the product and left them 30 days to create the billing module.

In software there are no hard and fast rules and you need to take the time to work out how to get the business what it needs, which is capability, not functionality. That’s a topic for a different post.

Can’t install postgis on PostgreSQL 9.4 after running apt-get postgis

I found this question on stack overflow and answered it – then the pedantic site moderators deleted it. So here is the answer again.

On a clean install of postgres and postgis you will see this error because postgis doesn’t have the dependency to pull in the shared library. When you go into psql the command

my_database=# CREATE EXTENSION postgis;

returns:

ERROR: could not access file “$libdir/postgis-2.1”: No such file or directory

found I also needed

sudo apt-get install postgresql-9.4-postgis-2.1

I found it by looking at

apt-cache search postgres | grep gis

Review of Antifragile: Things That Gain from Disorder

Antifragile: Things That Gain from DisorderAntifragile: Things That Gain from Disorder by Nassim Nicholas Taleb
My rating: 5 of 5 stars

I enjoyed this book but suspect others might find it a hard read.

Taleb points out that this is the last in the trilogy that includes Fooled by Randomness: The Hidden Role of Chance in Life and in the Markets and The Black Swan: The Impact of the Highly Improbable. He also says you could read the chapters from all 3 in any order if you want to. I got a lot out of the three books but reading them is a labour of love. If you want a quick textbook style explanation go looking for his other more technical works.

You first have to get to grips with his literary, raconteur (although he would prefer flâneur) style. It’s not a textbook and in fact the heavy number based, more academic, arguments are in other documents you can get from his website. Some readers find the style hard to get to grips with, but I like it.

He also makes words up, like Antifragile itself, sometimes for effect and sometimes because he doesn’t feel there is a word that works. I like this playing with words, it amuses me, I play with words a lot myself.

The core idea in Antifragile comes from the ones he explores in the other books. In essence we live in a world that isn’t dominated by the comforting shape of the normal distribution. There are events that are rare but will happen and they completely drown out the rest of the things you come into contact with the other 99% of the time. This is why the Black-Scholes equation is bunk, you can’t take a derivative of a catastrophic disconnect so the risk it gives is useless, without perfect knowledge of the future. It does work when things are stable, for example I’ve seen it used in estimating risks in queues in development processes, but as soon as you are open to catastrophic black swan events the figures it gives are meaningless, in fact dangerous.

If you have antifragility then you can take advantage of these sharp disconnects to make you richer, stronger or happier. He uses as examples where systems become stronger when challenged. Of course these are used mostly metaphorically to show that it does happen out there in the real world.

The bit that had me laughing out loud was his description of the “Soviet-Harvard illusion” where people assume that things that happen together have some connection in reality. He gives the example of a Harvard professor going and lecturing birds on how to fly because they wouldn’t be able to without the series of lectures and growing his or her own sense of importance because of it. This is his beef with academic theorists, none of their ideas have weight in the real world, and if you look at how we actually do things and what the real risks are when you take black swan events into account.

I also liked the Barbell concept, put most of your risk into very conservative places, and a small amount in very high risk (as in the risk is shape is a barbell, yes?). If the high risk pays off all is good, but you’ve not lost much if it doesn’t pan out. On the other hand, most of us go for “medium” risk, which is in fact not medium at all because of the propensity for the economy to have black swan events. This is in fact the riskiest long-term strategy and we’ve all bought into it because it’s been mis sold and feels safest when times are calm. It isn’t because long term times are not calm and never will be.

Similarly, take things like climate change, or fracking. The onus isn’t on the people who worry about it to prove there is a problem. Put simply if you start doing something novel or unusual you must prove it doesn’t change things for the worse – the onus is on the new to prove its safety. We already understand the old works fine. Again, this is about unknown black swans waiting for you.

So, if you want to meet Fat Tony and a host of interesting characters who live in this place, read the books. But remember – they aren’t text books, but a literary exploration of some interesting ideas and you have to be prepared to walk a while with Taleb while he tells you his stories.

View all my reviews

Review of The Tyranny of Experts by William Easterly

The Tyranny of Experts: Economists, Dictators, and the Forgotten Rights of the PoorThe Tyranny of Experts: Economists, Dictators, and the Forgotten Rights of the Poor by William Easterly

My rating: 5 of 5 stars

Easterly is well known economist, who used to be one of the people he characterises as a “Development Economist” in the book. His central thesis is that experts think that the world’s poor don’t worry about their rights; they’re far more worried about their poverty and must be “helped” by the experts’ expertise to get out of poverty. Only then do their rights matter.

Easterly demonstrates with masterful strokes how, in fact, respecting rights is the cornerstone of sustainable growth. You won’t put effort into something if the government can arbitrarily turn up with a truck full of soldiers and take it away from you. If a king can just confiscate what you make you won’t make much, or trade with other people, because what’s the point?

Once the individual’s rights are respected, only then, can growth happen.

He goes right back to Adam Smith’s invisible hand from the wealth of nations and gives a far more nuanced reading of Smith than the current dogma about markets would lead you to believe is the case. For example, Smith would have been appalled by the monopolists cartels that run much of our economy. The invisible hand is, instead, people working in a self-interested way with the limited knowledge at their disposal, with each other, to create an economy that works for them. There is no expert saying how it should work in an abstract sense. There is no way an “expert” can possibly have all of the knowledge needed to create an economy, or have a deep understanding of people’s individual needs. It’s simply too big a problem. The knowledge needed is in no single head, and creates a different structure with a different history depending on what the individuals knew or discovered when they collaborated with each other. Of course, there can’t be any miracles caused by some anointed leader either.

His other target is what he calls the “blank slate” approach. Experts and the dictators that appoint them start from the assumption that whatever poor country they are about to blight is a blank slate, with no history, no already operating, particular, invisible hand that gets things done. So they proceed to impose a way of doing things on people instead of letting them find it out for themselves, and also trample on the rights of those people in the process “for their own good”.

He also discusses at length the works of Friedrich Hayek and Gunnar Myrdal. Hayek has been somewhat hijacked by later thinkers such as Milton Friedman but in The Road to Serfdom he outlines why the old state-socialist vision of experts telling us how to live our lives is deeply flawed, if not fascistic, and he also defended the right of the individual to not have their lives decided for them by the state. In contrast Myrdal’s vision of removing children from their families and having them brought up by more “efficient” state-controlled organisations is frankly terrifying. Myrdal’s vision for what we now call the third world suffered from the benevolent expert illusion. He wrote a huge treatise Asian Drama An Inquiry into the Poverty of Nations without once mentioning anything to do with the history and culture of the place or the needs of the people there, but instead talking of them like they are children. Myrdal’s work invented the so-called science of development economics that Easterly’s book is a polemic with.

Easterly makes the point that local custom and democratic tradition meant that Myrdal’s vision in his native Sweden made his ideas about reorganising the family not start. People wouldn’t let this happen because democracy and basic rights mean such harebrained ideas can’t take root. However, in the non-democratic, less developed world they can, due to the lack of individual rights and the dominance of dictators. Of course, the custom and tradition is the product of many generations of trial and error, it won’t be perfect, but the best people have come up with so far. It will almost definitely be better than something just made up in the mind of a Myrdal, because it has been tested by the people living with it.

There is a detailed discussion debunking the myth of dictators promoting growth, and what is a mountain of evidence pointing the other way. Also, evidence of growth is called into question. In the long run you will get periods of apparently high growth for purely statistical reasons followed by low or average, but our human propensity for seeing patterns will credit it to an individual or government because it makes a better story, even when the dates don’t overlap. A far better measure is to look at the growth on average for a region and see if it matches that of neighbouring countries, then see if there is a significant difference that might be caused by the dictator. This explains the miracle of Singapore far better than any story about Lee Kuan Yew being responsible for it.

One of the most striking examples Easterly covers is that of Korea. People living in an area where the land was awful for growing food, and where “experts” may have spent a lot of time and energy getting the crop yield from terrible to bad instead gained skills servicing motor cars, they swapped these skills with the people who had land that could grow food. This became the motor for the massive technology companies in Korea, but if the experts had arrived they all would still be subsistence farmers growing slightly more food than they might have done otherwise on marginal land.

One of the most telling arguments about the abuse of statistics comes when the Gates foundation are taken to task for claiming they reduced infant mortality in Ethiopia. In essence the figures are made up from guesses looking at what might have happened and have no rigour. The Ethiopian government are also rights abusers on a grand scale, and use British aid to drive people of their land and pay for their political prisons, as well as hold people to ransom (vote for us or starve) over political reform. The book opens with the story of some farmers in the USA being forced off their land and moved to model villages so a British company can grow wood there. Of course, this could not happen in a democratic country like the USA, but it did happen in Ethiopia and Easterly uses this to make the point that individual rights against the government are paramount if you want economic progress. They are not a nice to have, at some undefined point in the future. I am personally very angered that my government’s much lauded ethical foreign policy was a smokescreen for this. Of course the government has changed since then, but I am sure the same ignorant, condescending, rights ignoring view holds.

I have used some quite emotional language writing this review, but in fact Easterly is scrupulous in making sure the evidence speaks for itself and does not make any polemical points the way I have here for brevity’s sake. He also goes into some depth looking at an area in New York that is now one of the most desirable places to live that was left alone by the zealous bureaucrats by a process of accident and prevention by protest, and how it was transformed because it was left alone while the invisible hand found a better use for it, this is fascinating and also calls into question the current zeal for tearing everything down and evicting people from perfectly good houses because of some grand plan.

To sum up, this is a well written, engaging book. It recasts some writers who have been unjustly hijacked by some of the more extreme political views of the last half century and lets their ideas breathe. The central thesis, that people find excellent solutions themselves when not interfered with or stolen from by the state, is valid. It also calls into question the grip the monopolists have on our economy, to create a metaphor of my own, the invisible hand has become a strangler’s and Adam Smith would have had no truck with it.

View all my reviews

Survivor bias: an experiment

I write a simple computer program that randomly selects one of two outcomes. I send out letters telling people I can pick stocks and shares that will go up. About 50% of the people I write to think I know what I’m doing and think they might buy subscriptions to my stock picking service.

I do the same thing with the 50% that got the right answer, each time making an ever smaller group think I’m a stock picking genius.

Eventually I will run out of people, but right up to the last two it will appear to them that I really knew what I was doing, when I was effectively tossing a coin.

In the mean time quite a few of them may have subscribed to my stock picking service. Good for me, not so much for them.

The people at the end of this chain of probabilities will think that they are kings of the world, when they are only survivors of a simple process that could have picked anyone from the original group of stock buyers.

I recently attended a virtual course on complexity and discovered the fun simulation language Net Logo. For historical reasons the little actors displayed on the screen are called turtles. I could just as easily build a program that has a population that halves every turn. Is the lone turtle left blinking on the screen at the end a special turtle, did it somehow avoid the grim reaper against the odds? No, obviously not.

If that turtle was instead a person? The story it had to tell would be a story the rest of us would want to emulate because it was a survivor. This is why the biographies of the heroic entrepreneurs are often not that surprising. This is why their opinions quite often don’t differ a lot from those of others in the same cohort.

I used to work for Oracle and read the unauthorised biography of Larry Ellison – it’s an entertaining read and certainly not very complimentary. One of the things that comes through is luck, Oracle came close to going over several times, literally so close that a single large order from Japan saved it. I was talking about Richard Branson with someone recently. If I remember it right he originally had the idea of opening his record stores near tube stations late at night so people travelling home could buy records, he also had an aunt who lent him the money to open these stores. Great idea, but he didn’t have to go to a bank and get laughed at. Again, when Steve Jobs early Apple got some venture capital so they could make things happen – whoa, things started happening! (Thanks to Tim Spencer for this one).

There is an unknown population of other people and businesses that didn’t make the cut, or that stayed small service companies that are still around but not mega corporations. Probably 99.99% of them. Jobs himself acknowledged this with the famous analogy that the things joining the dots together are only apparent when you look back and make a story of them. In my last post I talked about pareidolia, which is the human tendency to invent patterns where none exist. We can all find stories up like this; if I hadn’t answered a job advert in the Independent I wouldn’t have met my wife, my kids wouldn’t exist and, like, wow man (sarcasm off). We make a causal chain of events but forget the massive part that chance plays in what happens to us. If the University had placed the ad in a different paper on a different day, who knows?

Survivor bias makes the winners’ stories compelling, but there are another 9999 (or many more) stories of other people we never hear. Remember this, next time someone tells you that you must emulate this or that hero of theirs. Success needs an element of luck, and the same person may not be lucky twice. Napoleon used to ask of a general is he lucky? He was no fool. We all love 37 signals’ (now Bascamps’) story, but there was luck there. Lots of people have tried their formula without getting what they have, or even losing everything.

This isn’t meant to sound like a doom and gloom principle, far from it, what it is saying is you need to find your own way that works for you. You also need to take that opportunity when it falls into your lap and do something with it. But you aren’t any more special than anyone else. It doesn’t matter. What matters is being clear about what you want and sticking to it.

Generic is the wrong answer

Dear reader, cast your mind back to the time when you first wanted to put some information on a website.

You had to trust the crusty programmer types, and if you wanted changes they wouldn’t necessarily be able to do them at any great speed. This was fine in the stone age, around the year 2000 or probably earlier. Then, one day, the technology started to catch up with the aspirations and everything had to be done at internet speed. So crusty developed less crusty tools that let things happen quite a bit quicker.

We suddenly had content that people created for themselves. Never to be outdone the constant search for simple generic solutions to be everything meant that the companies that made the very expensive PC based tools for document management had a go at creating something. Some of their original big corporate customers kept on with them. These systems don’t work for the internet, except when you are creating some kind of library, which is the metaphor they started with.

The more considered approach was to treat managing content like it was a solved problem. The content management system (CMS) was born (or at least became more mainstream) and allowed you to manage your catalogue in one place so you could, you know, sell your stuff to people that wanted it.

Then we fell victim to the illusion of best practice. Problems are in a space where they seem to be the same, so we (software engineers, academics and other people who should know better) develop generic solutions. I mean, content is just abstract stuff that we let those tricky user types create so they can pay us. We can just pull something open source or off the shelf and say off you go to them and get back to important stuff like arguing over which 20 year old text editor is best.

But here’s the thing. The pattern user -> catalogue -> put catalog on the interwebs in front of customers is the same, but the user / business / enterprise is most definitely not. Most (not all) open source CMS were created for a small community to share info – they do that really well. However, a commercial company that sells white goods does not have even remotely the same needs as one that sells online holidays where the stock is a multi lingual database of hotels they have a relationship with. They need content management, the thing, but not in the same way, and the OSS solution is probably completely wrong. Also – you don’t want your site to look exactly like your competitors or you are competing on price, which is suicide.

Human beings are subject to pareidolia. Seeing patterns that aren’t there in the data. This is also related to clustering, confirmation and congruence biases. When it meant running away from the wind in the grass because you thought it was a lion that was ok. Now we look for levers to fix and change things that often don’t exist. Eric Reiss calls this robots in the Lean Startup. He cites the case when the US manufacturers couldn’t work out how the Japanese were getting such massive productivity gains so they went to see and saw robots. After a robot installing frenzy the US was still far behind. The Japanese spent a lot of energy understanding how they did things first and put the automation in where it made sense, gradually, and always testing the results, for their specific needs. Good practice, but hard to emulate without a complete culture change. Pareidolia (and the other biases) put robots inside processes that were still broken. In knowledge work this is even easier because adopting the latest fad is only the cost of a couple of books and some (more) training, until your organisation fails catastrophically. Danger, Will Robinson.

Best practice only works in very simple environments where all of the problems are completely understood. Buying a CMS from someone assumes that they understand your needs properly. They probably don’t. It’s dangerous.

Good practice means the using the skills of analysing the problem properly and divining the principles you should follow. A company should control its own content; after all that’s what it’s selling. This means layout, search, everything. However you might use a markup language and a standard group of elements for layout to make it easy for non-web heads to create that content. Find levers for the easy stuff, for the things that do have generic solutions that work.

Startups don’t want to spend money on stuff like a CMS that is tailored to their needs and will tend to go for the OSS solution. I think that they need to start small and find out what those needs are, just like everything in the lean approach. So don’t buy one, and don’t slavishly pull in an OSS one that will bite you and turn out to be an expensive mistake. Create something as simple as possible that meets your needs, then you will know what the needs are and where the pain is. Then you can use good practice to get to where you want to be. Then you can find the metaphor that works for you, and let your competitors try and shoe horn someone else’s into places they don’t work.

Best practice implies generic – generic means cheapest and also (face it) BORING.

Good practice is searching for the right metaphors and being patient enough to wait for them to appear. And, of course, those metaphors are the ones that work for you, might not be right for someone else.

Why I hate todo list apps

I recently had a twitter discussion about why I don’t like using Basecamp.

It’s a bit weird, I love Rails and it originated from the need to create a stable framework to create Basecamp. DHH and his colleagues were generous enough to share it with the rest of us and I’ve been using it for years to great effect. I admire DHH and the guys at the company and have read their books. But I hate their product. Using it makes me feel depressed.

I can’t see the flexibility others see anywhere. They are a poster child for great design and easy UI and it’s pretty dull and obvious, maybe that’s what the fuss is about. I’ve used it off and on for years and it doesn’t seem to have substantively changed in all that time, yet there are allegedly changes and improvements happening to it constantly. It’s also boring, even more boring than the bazillion sites you see built on top of Twitter Bootstrap – because they usually have some metaphor the coders are exploring and bootstrap’s a quick way to make it presentable while they experiment.

But the main thing is I can’t stand todo list apps.

This comes out of the way I work and think. I will write todo lists on paper and cross them off, but for anything bigger than just me (and up to 5 items) I need to visualise it and look at the flow and commitment of work. You can’t do this with static text-based lists without doing a lot of counting in your head. As far as I can work out you can’t create a different visualisation (in Basecamp) where you have a private list taken from other lists of things you care about today in the order that matters to you without creating another list that isn’t linked to the original tasks so you’d have to close everything twice. It hasn’t changed in years.

In the physical world you can do this with sticky notes or file cards and a bit of blu tac to put each piece of work into something that can be visualised and moved about. It doesn’t have to be complex, but nicking ideas from scrum and kanban around allocating points for pieces of work and limiting your work in progress (WIP) you can come up with something that lets you look at your pipeline and your commitments so you can start to have grown up conversations with other people about priorities and schedules. Limiting your WIP also gives you a far better chance of actually getting something worthwhile done. This is a big win over boring lists, but harder to understand at first.

Todo lists are, I think, a great tool for linear thinking and controlling.*

The metaphor lists give you is the linear instruction manual, codes, all you can do is change their priority and create more items. They also suffer from being unbounded, so you can just keep adding to them and never finish. There’s a very interesting time management book by Mark Forster called Do it Tomorrow. In it I found the idea of a closed list. This is a list you don’t add to and work on until it’s done – he’s discovered this makes you more productive and also you start tackling the tasks you really don’t want to do because you can’t close the list off until you’ve done them. This is a great antidote to procrastination. It’s also limiting your WIP. In fact it’s a different take on the same idea as a personal productivity booster.

So, in essence, for me the list metaphor stifles your ability to think and visualise without a lot of effort breaking out of the mental straightjackets it puts you in. There are better metaphors that allow you to easily move work about and discuss it properly with stake holders. So use them a little for small tasks, but for the big stuff – use bigger metaphors. I also think gantt charts cause similar cognitive blindness when you use them for anything other than checking if you are still on track.


* Aside: I was going to use the phrase command and control. The original meaning of this was simply that military operations have a designated officer who is responsible for seeing the mission through. How that officer does it is not defined. Some systems thinkers, for example John Seddon, use this term to mean enterprises where the people doing the work are not expected to show any initiative and be told what to do all the time so everything costs a fortune and is badly done by people who could do a much better job if left alone to do it properly. Military operations don’t work like this, people are trusted to do what their training tells them so they can achieve their objectives, see commander’s intent. Seddon’s meaning seems to have triumphed in systems thinking debates, however.

Towards a Lean Manifesto

Towards a lean manifesto

Tiny steps make things of beauty

Over a hundred years ago somebody thought it would be a good idea to make everything in tiny little steps. Each step could be done by an idiot pulling a handle. The hard part of the work was working out what the small steps were and how to put them in an order that would produce something as useful and complex as, say, a car. This somebody was Henry Ford.

If you want to make several things you need to reconfigure the more complex machines. Because this takes time and effort you will try and make sure you make lots of pieces with the complex machines before each change over. If you suddenly need to make something else because of a change in demand, the demand will have to wait.

If one of the parts of the long process to make something useful starts making things that are defective in some way the idiot will carry on pulling the handle, because that’s what they are paid to do. They aren’t paid to think or even notice that pulling the handle is making broken things.

You have to ask yourself: why do people think this is a good idea? and, who is the idiot? The person pulling the lever is at least getting paid to do it.

Before this components were made to approximate dimensions and a factory consisted of highly skilled workers putting these parts together and fettling them. Every car was in essence hand made and no two were identical, parts could not be swapped without refitting. This is where the job title of fitter comes from originally. It was a highly skilled craft job. Ford changed all this and made his cars essentially the same, and also made them so that they could be maintained by someone with a decent set of teeth and a hammer.

In essence the discovery that dividing labour up, and making the parts produced by that labour much more standard, and placing them on a moving conveyor where they are assembled in order was the beginnings of what we call mass production now. It didn’t need the highly skilled workers. That said, even Ford’s factory still had people who had the job of fettling cars that weren’t quite right, and they used to ship ones that had faults. It didn’t matter as long as they were being shipped. If you could read and were in possession of the kind of tools you would find in a farm you could get it running and the price was right.

By the way, the assertion that Ford said you can have any colour you want as long as it’s black is a myth. The early model T’s were dark green and navy blue.[^ModelT]

Beauty turns ugly

If you worked in one of these factories you were dehumanised. You were pulling a lever and didn’t need much education. Ford famously paid his workers well. He could afford to because he was producing so many cars at a relatively low cost. He still had a lot of trouble getting enough people to do this, and turnover was quite high.

The highly inflexible approach to building the cars also meant that producing new models was really difficult once the line got rolling. The entire assembly plant had to be reconfigured for every change. A new model could mean months of close down and disruption and then trying to reassemble the workforce you’d laid off.

Inflexibility had another cost, if sequences of operations were done in a way that was suboptimal changing them was nigh on impossible. If you multiply something that even adds a few seconds to a process by several million cars then this becomes a significant cost you can’t do anything about.

Workers could be added and removed depending on the demand, and were regarded as disposable and replaceable, which is how a lot of capitalists still operate.

Once upon a time in the East

After the second world war there was a small company called Toyota trying to make cars for the domestic market in Japan. They didn’t have a lot of capital to buy many different machines, and neither did they have lots of orders for the same kind of car. They also had to cope with a law that said they weren’t allowed to lay people off if they had no work for them. This meant they needed to be able to produce different types of car from the same set of equipment without a lot of ceremony and also that they needed to keep their workers happy and productive for 20 or 30 years.[^MachineThatChangedTheWorld]

Their productivity was about a third of that in Germany. This was in itself a third of the USA. So around 10% of the most productive people around.[^Bryant]

They tried many things and managed to get changing the complex machinery that stamps out body parts down to a few minutes when on paper it should take hours or even days. If things needed to be moved around to make the line run a little quicker they were. Workers were expected to become problem solvers, not beasts of burden. If pulling the handle meant creating defects you pulled a different handle that stopped everything until the problem was solved.

You got paid more depending on your seniority, on what you could bring to the organisation, not on your job title. The more senior you are, the better problem solver you have become. There’s also little point in jumping to another company, you will be paid a lot less and have to start again. The Western approach of having a narrow specialism and then progressing from junior to senior while hopping from company to company did not apply. Taiichi Ohno, one of the shepherds of these ideas, talked about creating work that’s fit for humans. This makes machines the slaves and humans the masters, which is the way it should be.

By the late 1970’s the productivity picture went entirely the other way.

Efficiency

Mass production is obsessed with efficiency, doing each step as fast as possible. Things that are relatively slow end up with piles of stock upstream of them. Things that are relatively fast end up with nothing to do. If each step is run as efficiently as possible you come to find that the system as a whole is anything but efficient. There’s a term for the efficient approach: local optimisation, as in each person optimises what they do with no regard for the system as a whole.

Instead Ohno traded efficiency for effectiveness. Not just doing but doing the right thing. Only making things that need to be made. Effectiveness is making enough to meet the needs of the business with a cadence that minimises the amount of defects, of stopping when defects are found and finding the root cause of them.

Piecework, which is where workers are rewarded for making a number of pieces, is an early form of trying to use targets to make things work properly. But if you have to make 15 widgets to get paid a living wage by the close of the working day you will make them any old how, and maybe try to make some more if you will get paid for them. So the human being will keep pulling the lever because that’s what they’re paid to do by the idiot who owns the lever.

Quality

After something has been made it’s a bit late to see if it works properly. If you have thousands of them and they’re all broken it is also a very expensive mistake. If you optimise each step for its own sake you this is where you end up. Everybody has been doing their best by staring at their feet instead of looking at how what they do fits with everyone else.

If your culture is a problem solving culture, where everyone is listened to, then good quality will just become something you are, rather than something you do after the fact.

Silos

It’s easy to point at manufacturers of stuff and say they should eschew local optimisation in their production processes. It’s also easy say that there are benefits in pulling groups of similar products together and creating systems that can switch between them easily.

In knowledge work we can say that this doesn’t affect us because we don’t make a physical product. We can make sure that our department is as efficient as possible. We can incentivise with targets and arbitrary bonuses.

If you take a few steps back from this and think of the departments that make up an enterprise of any size you will find that you have processes that pass information between them. You will also find that there are places where this information (or stock, in fact) is gathered and starts decaying and becoming a problem. It’s the same issue of local optimisation but hidden away in the rough and tumble of operating a company; you have the departments because that’s what everybody else does. What you know, of course, is that everybody else is also struggling with quality and getting things done but just accepting it as part of the status quo.

In Lean Thinking Womak and Jones talk through a case study of a manufacturer of stretch wrapping machines. They attack the production problems and get a 40% (and more later) increase in capacity without employing any new people, they shrink their lead time from months to less than a week. Because they no longer needed to hold onto lots of unusable stock they did this without needing any more space. They no longer have to ask people to expedite orders because all orders are being delivered on time or early, the average number of defects falls from 6 per machine to less than one. They pay their workers well above the industry average because they are so much more productive so everybody wins. All of this is amazing. Then they realise that their sales process takes up to six weeks.

You need to turn the searchlight on the whole enterprise. Just because you make something intangible doesn’t mean you shouldn’t question your thinking and how you do things. In some ways it’s much easier for you because you haven’t got the expense of moving heavy machines about to make your production lines more effective, in others it’s bad because you don’t see the pain. A pile of physical things costing you money and decaying into worthlessness is easier to see.

The silo metaphor is used to describe the separation of concerns into their own departments. People work for departments, not the enterprise, and their objectives align with that narrow view. Then of course we can start playing the blame game. A siloed organisation is maladaptive and usually blind to its own faults. This is one of the reasons small companies are much more nimble – they have less silos, less accretion of bony substance to choke on.

For those readers who work in the IT function, this is why you are always the blame monkey: you have too many masters. More enlightened organisations that are now breaking their offerings down into product groups or using product focussed multi functional teams that have the job of meeting specific customer needs directly without having to go and beg for resources from several different departments. This usually means the middle management tier are no longer required. Their job was originally to co-ordinate between the silos. When you have no silos you don’t need to negotiate and there are no empires to defend. These companies are winning, they actually manage do do the more with less mantra without it being another corporate self delusion.

Value

The thing to pursue in your quest for effectiveness is value. Value is that thing that your customer has in their hand and wants to pay you for. Whatever you do, this is what matters. If you look at what you do and can’t see value then you know that you should stop doing it.

One of the first things that you need to be able to do is see what your constancy of purpose is – whose problems do we solve, how, and what makes us special? This gives you your value proposition. Then you can use this to examine what you do and throw out all of the things that don’t fit. It’s very liberating.

The British Olympic rowing team spent 4 years with the mantra does it make the boat go faster? They took this single minded approach after losing by a few hundredths of a second. It meant that every decision they made suddenly became easier, there was no deed for debate. If it goes faster, keep doing it, if not stop doing it. Very simple.

Flow

A customer expresses a need. The steps you follow and information passed between people to meet that need are the flow. The flow is different for each organisation, even in the same industry each will have its own history and steps it follows when the people working there worked out how to do things. This is why best practice is often a myth. Unless of course that best practice is a way of thinking about customer needs.

You can go on waste walks, where you follow a customer need for value all the way through and look for where you are doing things you shouldn’t. Ohno had three things he used to say you need to do when working to improve things.

  • Go see
  • Ask why
  • Show respect

In the West we are awful at showing respect and we often stop at the first answer when asking why. Ohno developed a technique called the 5 whys – you keep asking why until the primary reason is uncovered. It may well be a lot more than 5 times, or only two or three. One of the main purposes of this is to get past the blame game and off to the root causes of problems.

Showing respect means that you should never treat the people doing the work like idiots or fools. They are doing what they were told to do, and if there is anything they perhaps shouldn’t be doing it’s roots lie in how the work was originally organised. Quite often they know a better way and can tell you what it is once you remove the earplugs of arrogance and compromise.

Dirty flow

If the next step in a process can’t happen because the information or thing passed to it is wrong or incomplete then you have to go back and fix it. The flow is dirty. This is often a place where you find hidden costs, and is often why silos are so bad – the problems inside each department aren’t obvious because that department works well in its own terms. It’s only when you look at the interfaces you start to see where the pain is.

This is why the purchasing department buys cheaper tools that make the creation of defective products so much easier. This is why competing on costs is an insanely bad idea.

Visualise the work

One of the most useful and easy things you can pick up from this is the Kanban board. Kanban just means something like sign in Japanese. The boards are used so that everybody working can see where the work pieces are. They also limit the work in progress (WIP), if you hit a WIP limit you know there’s a problem before it causes you a lot of pain.

You can create Kanban boards for every endeavour, I use Personal Kanban, which in essence consists of the sentences visualise the work and limit the WIP for most of my work. I have to switch between projects so I have many boards.

It doesn’t have to be a board, people have used mind maps. When I ran a workshop recently someone just drew a picture with some illustrations of that things looked like and some arrows. The important thing is that everyone can see what’s going on.

Compromise is bad

Good enough isn’t good enough. If you only expect 80% from a process or person then you will be lucky to get 50%. Always striving for 100% means you can uncover ways to improve. Again this means leaving egos at the door and questioning everything.

Goldratt’s book The Choice talks about his approach to problem solving. He was regarded as a genius by many of the people he worked with because he could see problems with great clarity.

Goldratt would look at very complex seeming systems in manufacturing, retail or project management and seem to be able to get to the kernel of what they are about. In the book he says that it doesn’t matter what the veneer of complexity is (one company profiled makes hundreds of products with a bewildering variety of products and variations) you can find a couple of simple levers that drive the whole business. He insists that it’s not genius, it’s taking the time to see clearly and not compromising on good enough.

He said was that we become habituated to difficult problems and start living with them. This cognitive blindness means that usually takes an external consultant or new manager to point out there is a better way. In order to reduce conflict we compromise with whatever’s causing the pain and then act like it can never change. You should never listen to or be taken in by compromises like this. Just as there is always a simple lever, and there is always a way to address problems where everybody wins, you just have to push really hard at it.

Typically his consultancy would find huge savings by applying their knowledge of constraints for the client, and then find at least the same again by helping the client work out problems with suppliers and customers, and then find even more by going around the loop again. Never believe you’ve finished in the process of improvement. Today’s great idea can work for a while and then become a bad idea. Things change – it’s the only certain thing in life.

Ohno would strive to improve product lines that were being phased out until the very last day, you can still learn from the improvements and why not keep your money in your pocket?

Slack

If you work for an efficient organisation and dare to be stood around you will be told to find something to do. Effective organisations have slack, where people can think about things and also where they are available to meet short term needs or swarm on problems. In finance they talk about liquidity, which means that not all of the resources are committed. Some of them are kept back so that they can be used to overcome short term problems in the market. You can do the same thing with people. But, please, stop calling them resources. Staplers and pencils don’t have initiative or drive, they are very bad at problem solving without the help of a friendly human.

Experimentation

Not all of the changes you try will have a positive effect, sometimes they will make things worse. This is part of discovering what works. You need to have experiments that can fail without destroying the company. You also need to say what success and failure look like before you make any changes. You may not be able to say anything quantitative, or only guess at an improvement. This is fine.

We have been involved in a lot of software changes where all we were supposed to do was ratify a pet idea coming from the board. So there wasn’t any point in calling it an experiment or even collecting any data. If you are doing this just be honest about it or it devalues the process.

Small batches

An accidental product of the Toyota way of organising work was they used small batches to make relatively small runs of specific cars. Then they realised that this meant they were only making what they needed to without having to create a lot of stock and the machines were running at the right cadence to deliver.

Jim Benson, one of the originators of Personal Kanban, says that big batches can kill and I agree with him. They take up space, they decay over time, and if you have introduced defects you end up with lots of them instead of a few you can throw away or recycle.

This also means that you probably don’t run into constraints in the way Goldratt talks about, where they control the whole process. Small batches and reasonable buffers stop constraints from … constraining you. That said, understanding Goldratt’s ideas gives you some more tools if you become stuck.

Buffers

If there are a lot of steps to deliver value you can have one of them stop working for a while because stuff happens. You need to be able to keep moving, so having a small buffer upstream of any complex or expensive processes means you can keep running while you sort it out. These processes are your constraints.

Projects are evil

If you want a can of beans you can go buy one. If you want to do something new or different with your customer you can’t go buy that capability. Projects start from the false assumption that you can buy things like market share or better quality. What you can do is experiment and overcome your ignorance, then you can see how the knowledge you have gained can be used to improve or avoid mistakes.

Budgets are evil

Budgets buy projects that buy beans, not capability. Instead a pool of money for experiments is needed. This mitigates risk and makes sure you aren’t throwing your money at white elephant projects that won’t add value.

So a budget becomes how much you are willing to spend on experiments discovering new markets or enhancing what you’ve already got. You can stop spending when you realise it’s not worth it any more and do something else. This is also very liberating.

It does mean that the simpleminded invest a couple of bucks and get four bucks back model doesn’t work. It used to in the days of massive brands and lack of choice, which ended in the 1980’s.

A Lean Manifesto

We acknowledge that lean has become a brand. Despite this we feel it is less compromised than agile has sadly become, and also has a much broader remit that software alone.

In brief:

  • Preferring work that’s fit for humans over humans fitting work
  • Preferring shared visualisation over unread documentation
  • Preferring rational continuous improvement over slogans
  • Preferring testing over guessing and waste
  • Preferring 100% over good enough
  • Preferring collaboration over winning
  • Preferring feedback over fire fighting
  • Preferring value over bureaucracy

Everything we do is contingent on discovering a better way

Theory comes from doing and seeing

Theory is contingent on discovering better theory

The only constant is change

If we learn we do not fail

Deming and the 95%

A few people have commented on twitter about Deming’s contention that 95% of what you see is down to the system and only 5% is down to the individual. They keep asking where he got the 95% from.

He used to run a course, which is still available as a book: Four Days with Doctor Deming. At the very beginning of the course he invited the participants to play a game with red and white beads. There’s a youtube video describing it here. The you pick up beads with paddles, the workers are rewarded for picking up white beads and punished for red, even ‘fired’.

When you look at the numbers for the game it turns out that the workers have no control over the physical process of selecting the beads. In one trial someone may do really well, and in another badly and get ‘fired’.

In statistics we use confidence limits. When we take a new measurement you look at it and can perform some analysis to say how likely it is that the measurement falls inside the existing set of measurements. Typically we use the 95% confidence limit to say that there is a one in twenty chance that the measurement doesn’t fit what we were expecting. If it falls inside then we have what’s known as the null hypothesis, that there isn’t any noticeable effect for that particular measurement.

Deming’s point was that in most processes any effect that the individual may have is swamped by the system their are part of, in fact the variability they cause is just part of that system overall. So if measurements are falling within the confidence limits you can’t point to one person over another and say they’re better or worse.

So changing things, for better or worse, mean you have to change the entire system. It’s an iron rule, the system always wins. No amount of arbitrary targets, shouting, or wishing can change this. I cover this in more detail in the video talks on my consultancy website.

A life without the standards police

In any complicated endeavour there are some things that can really cause you to get a little stuck and working on stuff that’s just not important. When working with teams it’s pretty important to ensure that each team has a similar approach to things like how they realise architecture, lay out applications and code, which of the excellent JavaScript libraries they use and so on. Otherwise it starts to create silos and mean that there is waste when you try to manage the flow across teams.

One way of doing this is to have some kind of gatekeeper who inspects everything and makes sure it complies. This is the standard backwards command and control way of assuring quality: do the inspection after you can perform any intervention that might resolve the problem. It also means you have guaranteed that there will be a bottleneck. Of course, you can have it in front of any work, where there is some kind of oversight. This just means the delay is upstream of any value instead of down.

Instead, there’s an old trick, which is to have swat teams. These are teams made up of experienced individuals who know each other well and work together. Their job is to start new projects, but not finish them. They also work with teams that are stuck or lagging to help them get past whatever problems they have.

The swat team hands off to the less experienced team that will finish the job, it means that there is already a body of knowledge of how we approach things, what the architecture is, etc. built into the project. Of course, this will require pairing and patience. But it means that work gets started well, in a standard way, with all of the levers for continuous improvement in place, by people who know how to do this. Then it’s picked up by others who learn what the standard approach is, without a gatekeeper and a lot of bureaucracy.

This is a team version of staff liquidity, which is discussed in the Commitment book. Staff liquidity uses experts’ knowledge and skills in such a way as to make sure there is enough slack to deal with emergencies and still get the work done.