An organization mapping exercise

Last night I ran an organizational mapping exercise at the Extreme Tuesday Club. What, you may ask is that?

Well, I learnt the technique from observing Jim Coplien apply it. Jim and Neil Harrison have been running these workshops for some years, their aim was to better understand development organizations and produce the patterns in their book “Organizational Patterns for Agile Software Development.”

Typically they run the workshop with a software development team, at the end of the sessions they have a collection of index cards they can analyze and produce a map of your organization. This map can then guide you through their patterns telling you which patterns your organization is using, which is isn’t using and which it should think about using.

This is a very powerful technique. It will tell you a lot you didn’t know, much that is obvious once it is pointed out and confirm a lot of suspicious various people have. As a tool for change its a great motivator: these guys come in, spend a day with you and can describe you back to yourself.

If you want to improve your software development efforts I strongly recommend getting them to run one of these studies.

Anyway, that is something else.

The sessions I ran with help from Giovanni Asproni and Rachel Davies was not really what Jim and Neil do, it was more inspired by Jim’s workshop. And what we didn’t do was go anywhere near the patterns. In effect, it was a demo of how you might go about mapping the interactions in your team.

So, what did I learn form this?

First thing I learned was that running this in a pub, with people drinking and eating, joining late and leaving early is far from ideal!

Second thing is that the people in the room hadn’t actually worked in a team together. So, we where trying to map an organization that didn’t actually exist. Naturally, each individual had different expectations of what they expected other people to do. The guy playing the “Architect” role had a different understanding of what an Architect would do to the person playing the Customer role.

To make matters more complicated, this was XTC, by definition, the people in the room believed in Agile development, Extreme Programming, Lean Software and all that jazz. Nothing wrong with that in itself but it made things even more complicated. There are few organization which are actually out and out XP, or Lean, or Agile. Everyone has a different take. For example, the person playing the “Project Manager” understood this as an enabler role, more of a coach, while others where expecting him to manage a project.

The other problem we faced was that time was limited – OK, time is always limited but the pub was going to close at 11pm. Having seen the technique used a few times before I knew where time would be wasted so I tried to hurry it along at stages. I probably over did this a little bit but it did allow us to finish in less than 2 hours so leaving time for a discussion.

The discussion that followed was very interesting. We discussed the technique, our companies, our experiences of agile, and how the technique had shown some things that we saw in real life (e.g. a frustrated developer got fed up of project management and testing and decided to talk to the user directly.)

Actually, discussions at XTC are always interesting but I don’t always feel I come away knowing something new. This was different. I got some insights from the exercise – I might write them up in more detail in the next few days or weeks.

The other thing I should say is that although this idea has come from software development its not confined to software development. It could be used to map any organization or process. (Interestingly, a lot of Jim and Neil’s patterns also apply outside of software development.)

Actually, in retrospect, since my objective was just to demonstrate the idea of the technique it may have been better to choose something from outside the software domain, say, getting a car services.

In the middle of the workshop I did have that “O no! Its all gone wrong, I can’t do this” feeling but in the end most people thought it was a great success.

(Who was it who said “In the middle of any change it feels like failure?” – I can’t remember, I think it was a Harvard Business School professor?)

I think I agree with them, it was a success for me because I got to try moderating this technique, it was a success for the participants because they go to see what an organization mapping technique could look like and it was a success for everyone because we did get some insights into the software process.

Do you believe in Phil Crosby?

So I’ve started using a bug tracking system.

Yet hate bug tracking systems – I believe they are wrong, rather than help fix bugs they help hide them, they create excuses for not fixing bugs. They allow us to say “Its in the system” when really we mean “No way will it get fixed.”

So, why have I started using something I don’t like…

He’s the simple explanation: I’ve now taken over some product management duties and I don’t have the people available to fix the bugs. I need to keep track of the problems that are coming up. I also need to show the company “I’m doing something.” Somehow people are impressed when I say “I’ve started using the bug tracking system.”

It also means people accept there bugs.

What we really want to do is not accept them, have zero-tolerance for such errors.

So, the longer version of why I’m using a bug tracking system…

Its a stock of work to be done, a queue, a buffer between now (the time they are discovered) and the time the work gets done. When they do get done…. well, that is the question.

It does have one attribute that is useful, it allows for prioritisation. So, we can decide which ones need to get done. But then, if we had zero-tolerance there wouldn’t be a need for this. (Or, if there had been more quality built in then we wouldn’t have the need either.)

A keen reader will probably also point out that with prioritisation comes the ability to decide not to do something. Say, we identify 100 bugs, we fix the top 20 and then the people above me decide it is good enough, why use scarce resources to work on such low priority items? If it does the job with these 80 faults why shouldn’t we just save our effort?

I suppose its a bit like building a car, and when it is done you see the faults, you fix some and sell it. Have you saved yourself a lot of work? Have you allowed your workers save time during the construction – thus introducing low priority faults – and later decided which time saving items where worth going back and paying for?

To my mind, if a job is worth doing its worth doing right. If we need to save time and money somewhere we should do it in a conscious management fashion “Don’t develop feature X” – not in a sub-conscious “Joe saved 10 minutes by not tightening the screws” kind of way – doing it this way allows the guys on the production line to decide what is worth saving on.

Really it comes down to “Do you believe Phil Crosby?” – that is, do we believe “Quality if Free” ?

People know what is wrong with a company and what needs changing

They may not tell their managers, supervisors or leaders but they will talk about it with others in the pub, the coffee shop, or at the water cooler, or some other place where it is safe to moan.

It is the work of a good leader to give people a safe place to express these problems in an environment where they can be dealt with. It is the leaders responsibility to listen, understand and see what can be done.

It doesn’t mean it is the leaders responsibility to do something about it. They may decide they need to act, but more often it is their responsibility to ensure the people facing these problems can act to solve them.

All too often people think “nothing can be done” so they moan about it to one another in the pub and absolve themselves from fixing it. Sometimes they don’t feel they can fix it, sometimes they don’t think they are allowed to fix it. In an enabled organization you want people to fix the problems as and when they find them.

I think it was Gerry Weinberg (Secrets of Consulting, 1985) who pointed out that problems can’t survive in the light of day. Once a problem is brought out into the light – or named as Gerry puts it – then your half way to fixing it.

The second half is more difficult: you have to want to fix the problem.

All too often people don’t actually want to fix the problem. Maybe they are scared of the solution, or maybe they fear the consequences of fixing it, or maybe one of many other reasons.


Two things you should know before I get into the meat of this Blog.

First, I have a lot of time for the writings of John Seely Brown. If you’ve not heard of him before get yourself a copy of “The Social Life of Information”.

Second, Wharton Business School at the University of Pennsylvania run an interesting e-magazine called “Knowledge @ Wharton”. Of the newsletters I’m signed up for it is one of the few I actually look forward to receiving.

In this month’s Knowledge@Wharton there is an interview with John Seely Brown, together with John Hagel he has a new book out “The Only Sustainable Edge: Why Business Strategy Depends on Productive Friction and Dynamic Specialization.”

You can get a feel for what the book is about from the interview and it sounds like it might be quite interesting. I’ll add it to my “I should read” list.

Anyway, the reason for mentioning all this comes towards the end of the interview and John Hagel says:

“Ultimately what we see is the re-conceiving of the role of the firm. Traditionally the role of the firm has been to increase the efficiency of transaction costs, whereas we see more and more that the firm has to provide opportunities for capability building of the people within the
firm. If the firm cannot do that, people will leave and seek out environments that can help them accelerate capability building better. It’s a very different way of thinking about what the firm needs to provide to its employees, and the role of the employees within the firm.”

Wow! Your not kidding, this is re-conceiving the firm. I’ve been giving some thought to this since I read it a day or so ago and I think he’s right. Lets take it a bit at a time.

Yes, firms have traditionally existed to produce efficiency in transaction costs. A car manufacture has all the designers, engineers, production staff, distribution, etc. etc. in one entity because they is how they can use them efficiently, no need to ask yourself “Can I trust this supplier?” when the supplier is yourself, no need to go hunting for trucks to deliver your cars when you own a fleet of trucks yourself – you get the idea.

Only building companies is hard. And we know from experience that competition drives down costs – this one of the reasons why US capitalism beat Soviet communism. But if competition results in the lowest costs and prices why don’t we compete for everything? Why shouldthat car manufacture have a fleet of trucks when if he adds competition his costs will be reduced?

Answer: transactions costs, because the savings from setting one trucking firm against another are less than the costs of finding the firm, negotiating a contract, monitoring the contract and paying the bills.

But this is changing, trends in outsourcing – often enabled by IT – mean that transactions costs are falling and it becomes worthwhile to use competition to reduce costs. We are already starting to see the emergence of virtual companies where almost all the activities are

You could argue that in future we won’t need firms because they can outsource everything. But hang on, some firms must exist because they will be the outsourcers!

So, if you are a firm that exists, say you are an outsourcer so you have to do what-ever-it-is you are going to need people. Why would these people work for you?

Well, one answer is they need to pay the rent or the mortgage. But if this is the only reason people work for you the chances are they aren’t going to be very motivated, if you are using the stick rather than the carrot people may go through the motions, they may do something, it mayeven be the thing you want them to do but it isn’t going to be very efficient.

Contrast that firm with the one that does uses the carrot. They create a place where people want to work, where people are enthusiastic, where they are motivated. Suppose they are doing the same – or similar task. Who is going to be the most profitable?

The answer to that question kind of depends on how you see the world and what evidence you decide to look at. For me the answer is the second firm. Trouble is, the second type of firm is much more difficult to organize, operate and manage. It also is also he opposite of the macho images we get from TV and Hollywood: “Do it or I shoot you”, “Make it so”, “I could tell you but I would have to kill you.”

But back to the plot…

Now remember, these firms are outsourcers, other people are giving them business to transact. So, which firm is going to win the bulk of the contracts? Right, the second firm.

So the question boils down to: how do I get these enthusiastic people to work for me? (So I can have a productive workplace and win those outsourcing contracts.)

This is where the Brown-Hagel argument really makes sense to me. It is the firms who give their people the opportunity to grow. Notice the word is grow, not challenge, not highest paid, but growth.

When I think about my own career is a search to improve myself, to learn more and, yes, grow. Sometimes I’ve done this by earning lots of money and using this to travel, buy a house so I can have my own space, buy car so I can experience things; and sometimes I’ve grown by working abroad, and sometimes I’ve just grown by working on an interesting project.
Once I’m not growing I’m not interested in work and my productivity goes down, I start asking: what next?

And then I come home at night. First I might cook – I find growth in cooking, new recipes, new variations on recipes I know, practicing a familiar one or inventing something from what I have in. And then often enough (too often?) I lock myself in my study to work on some pattern paper, or a magazine article, or (re)organising some body I’m involved in, why I might even write a blog!

Or maybe I settle down with a book.

If bed-time comes and I’ve not grown a little, learned a little something, thought about things I kind of feel I’ve wasted my time.

Maybe not everybody will buy into the Brown-Hagel argument, growing isn’t for everyone. But, where you do need them, and where you can take this advantage then I think your onto a winner.

Its the people, stupid

I read in the Financial Times yesterday that Warwick University are revamping their MBA course to increase the element of soft skills.

(As an aside, is it just me that thinks the FT and it’s sibling the Economist are obsessed by MBAs? – maybe this isn’t surprising as they are both owned by Pearson publishing. Anyone whose ever done an MBA will have spent a lot of money books published by Pearson. Before I put ideas of a conspiracy in your mind I’m not saying this. There may be some greater underlying course, e.g. Pearson tends to hire MBA’s as managers perhaps. Anyway, back to my subject…).

(And by the way, the other people who are obsessed with MBA are people who are about to do one and those who have recently done one – sorry, that’s me! – the first group asking “Why do one?” the second group asking “Why did I do one?”)

I don’t know how much emphasis Warwick puts on soft skills and I don’t know how it compares to what I did a few miles up the road at Nottingham University. However I understand their point and think they are doing the right thing.

An MBA course may fill your head full of new ideas, and tools such as IRR, NPV, Real Options, Four Forces, Cash Cows and other such ideas but this isn’t the stuff a manager needs day to day. Day to day you need to work with people; you need to make your operation tick.

Once in a while you will calculate IRR for a project, perform an SWOT analysis and draw up a new strategy but once you’ve done this you have to make it happen. And making it happen is more difficult. It allcomes down to people in the end.

Are all companies dysfunctional?

I’m from software development, when I was an undergraduate I used to love the fantasies my lecturers used to tell me about Formal Methods. If only everyone could specify their program formally then everything would be good. I loved these stories. And then I tried it.

They didn’t work like I was told they would, they didn’t solve anything, they moved the problem somewhere else. Now later in life I don’t believe they ever could – you see, I’ve discovered the soft side of software development.

After formal methods fell from the pedestal I read a lot on software process practice. I could see how you could make it all work like clockwork. This was good. And then I worked for a company certified to ISO 9001 – it was hell.

I never got started with CMM before I worked for a company that was introducing it. There is a lot of good in the CMM literature but it is a ruler to measure things by, not a thing that stands high by itself. Anyway, its upside down. The top layer is “self improving” and this is what you need right at the bottom.

Now I’ve been to business school and have a qualification to prove it. So I’ve worshipped at the feet of great companies, GE, Sony, JCB and others – my personal favourite was SAS Institute. I’ve read how it should be –Porter, Hamel, Levitt, Womack and others. (At least Tom Peters is entertaining – particularly since he’s happy to be inconsistent; may favourite is Henry Mintzberg, he knows things are not as they are “supposed to be” and he’s happy to say it. His great insight: things change over time, ideas emerge.)

Yet I work in business, and the company I work for is pretty enlighten, intelligent people and, at least on the face of it, its managed well. Still, I can find dysfunctional areas. Does this mean the company is doing something wrong? Is there some great thinker/author they’ve missed out on?

But then, every company I’ve ever work for has had some degree of success. Even one or two really really bad places have had successes, or at least a successful history. So why is it so difficult to find a company with gets it right?

Does your employer get it right?

Where is the company that knows its customer, isn’t stuck-in-the-middle, practices lean manufacturing, values innovation, develops software in a Agile way with CMM level 5?

I’m forced to the conclusion that such places don’t exist.

If such placed did exist we need so much literature?

And actually, if such a place did exist wouldn’t it be a bit boring to work at?
Somewhere in all companies there is dysfunction. This brings opportunities and challenges. It doesn’t necessarily mean the company is doomed – although it may be. The important thing is
self-awareness, is the company and employees aware of a problem?
(Problem: its difficult to admit your dysfunctional when your interviewing someone. So you paint a rosy picture, and when they join they get disappointed.)

It maybe they are aware, they are trying to fix it, or they are routing around it – who cares if your front line people can’t get their innovations accepted up the chain if the R&D department have great pipeline of new ideas?

No, its when people don’t know about dysfunctional that there are real problems. How can you deal with an issue if you are blind to it?

I’m sure I’ll return to this topic as I write more in this Blog.

Specification documents are boring

Have you ever read a specification document? I did today and I was reminded why I don’t like them.

They are boring. Even when they are telling you something you didn’t know they are boring.

They are boring because they follow the “form follows function” mantra. The function of a specification document is to communicate what one person wants (or thinks they want) to a second person who is responsible for implementing it. But there is more, the first person wants to specify exactly what it is they want, so thinks are set out in simple fashion, e.g. bullet points, no prose. Supposedly this limits ambiguity.

It also provides an audit trail so they can go back and see what has been done and what isn’t.

Yet in communicating from A to B they fail. They fail because they are boring and person B, the receiver, is going to switch off. The receiver is likely to read what they want to read, they will quickly get a feel for what they think the document says and proceed to read it like that. (Remember, the meaning of a message is decided not by the sender but by the receiver.)

Ambiguity still exists, in fact, because the document is so boring it can be difficult to pay attention enough to spot the ambiguity. And because everything is presented as bullet points it can be difficult to understand how the different parts hang together.

I suppose it does provide an audit trail but this is more damming than it is positive. We create an audit trail because we expect things to go wrong, we expect to need to trace back and apportion blame. So, we set up an adversarial relationship.

And when you’ve worked with a few requirements specification you know they are frequently the subject of battles so you don’t approach them with any enthusiasm. So you find them even more boring.

The result? Requirements documents fail on all counts; they fail to communicate, they fail to provide an mechanism for getting things done, they fail to enthuse, and they set up a bad work environment – so things are more likely to go wrong.

How do we fix this?

Well, I don’t have any hard tried and tested solution so these are just ideas:

  • On site customer, this is what Extreme Programming recommends and it seems to bring benefits
  • Close in Product Manager, if you can’t have a customer have a Proxy Customer, a Product Manager
  • Use verbal communication in addition or instead of written, involve everyone
  • Rather than try to specify everything down to the last detail allow people to engage on a voyage of discovery, involve them in finding the requirements
  • Paint pictures and visions, allow people to flesh out the detail themselves
  • Tell Stories

Stories are something that interests me. They are a topic I expect to return to over the course of this blog. In the meantime I’ll just recommend one book. It is The Springboard by Stephen Denning, Butterworth Heinemann (2001).

What’s the story behind the story?

I read in yesterday’s Financial Times (21 May 2005, London edition) that convenience grocery stores are growing their sales faster than overall grocery market, 5% growth as opposed to 4.2% growth for the whole market. The piece also mentions that over the whole year convenience stores are expected to grow 25% more than supermarkets. (Full story here, subscription required.)

What I wonder are the forces behind this growth? Why are small grocers growing so much faster than the big ones?

I’d like to think that customers have finally got fed up with “buy 2 get one free” type offers that obscure the real price and discriminate against those on low income or single people.

David Anderson has an interesting piece in his blog noting how the batch size for grocery purchases in Japan is much smaller than is typical in the USA. I’d say that UK purchase size is generally smaller than in the USA but is catching up. After all, it’s in the interests of WalMart-ASDA, Tesco and other big retailers to sell more. I read (the FT again?) or heard (BBC radio 4?) recently that half of all food in the UK is wasted. While I don’t think this happens in my house I can imagine its true, we do throw away lot of food, especially the “buy 4 widgets get 2 widgets” type where we can’t possibly eat 4 widgets before they go off let alone 6!

Anyway, I digress, I would be surprised if enough people where getting so upset with larger batch sizes and buy-get-free offers to bring about the statistics mentioned at the top.

Next theory: the sanity factor – sanity as in clean, rather than not-crazy. In the last few years most of the big boys of British grocery retailing have moved into the convenience sector: Tesco, Sainsbury’s, etc. Compare one of the small Tesco Express stores with your traditional local convenience store. The Tesco may not actually be cleaner but it looks cleaner, we are being offered a brand, something know, something safe, as opposed to a one-off at the corner shop. (Some of the more traditional local stores have also started to up their act, install bigger windows, use brighter colours.)

So, simply an improvement in the quality and branding of local stores is one factor I think.

Next, I think these changes in the market reflect some lifestyle changes. There has been an increase in city living in the last few years. Such people have the option of convenience stores – people living our in the suburbs, particularly on new middle class estates, probably don’t have any option but to get the car out and drive to the large supermarket.

One lifestyle change has effected me directly: Internet grocery shopping. We started doing this about a year ago – shortly after I got rid of my car. At first we bought everything online. Gradually though we’ve switched to buying more stuff locally. We still have the Ocado van visit us every regularly (9 to 14 days) but this tends to be the big heavy stuff, stuff we can store. I’ve been increasingly using my local high street to buy fresh stuff.

At first this felt strange, going to the butchers and asking for beef-mince, pork chops, etc. Almost like something from one of those “learn French” school textbooks. I’d never done it before – or very rarely. I came from a generation brought up on supermarkets.

Now I’ve got use to this way of shopping I love it. My butcher has a better selection of meat than the supermarket although the green grocers doesn’t compare so well and I feel more involved in the locality. I’m also convinced it cheaper.

I’d love to think that as more people shop online the high streets of the country will experience a renewed importance. In particular, I’d love my high street to get a renewed importance. Acton High Street needs: a baker that doesn’t shut at 10am, a good deli where I can buy fresh cheese, good quiche and fancy continental foods, plus a good off license wouldn’t go amiss. Of course I could just accept that this is Acton and move a couple of miles down the road to Chiswick!

Before I finished, one more point on those statistics. However you look at the grocery market it is growing. This doesn’t seem right. How can a market just grow and grow? After all, economic theory tells us that as people get richer a smaller portion of their income goes on food. So I can understand more clothes shops, more book shops and so on but groceries? Why is the sector expanding?

Some growth will be due to an expanding economy and higher incomes, some will be down to clever retailers finding new ways to sell us more food we won’t eat and some of it will be people buying further up market, e.g. organic carrots instead of regular carrots. But what else is driving it?

Many of the answers to these questions are probably contained in the IDG report cited by the FT but that will probably cost me several thousand pounds to read. So, I’ll have to stick to hypothesising.

At the end of the day I don’t know what forces are at work here, and forces are important.

Yes I Blog – second Blog entry in one day

Maybe it’s odd that I’m writing a second Blog entry in one day – I’ve just finished the first! – but I have something else to say.

I’m just in the process of updating my website to refer to my Blog, which means I have to take down a page that said:

  • “Strange but true. OK maybe not strange to you but some people have asked me if I keep a Blog and I say No. I then go home, think about it and decide it would be a good idea but I still don’t do it. Why not?”

Well, as you can see I do now. So I should answer the two reason’s I gave for not Blogging:

  • “Firstly I keep a work diary, by keeping it closed I can think more freely. I think it was Dag Hammarskjold (second secretary general of the UN) who advocated “open agreements arrived at by secret means”; (In contrast to Wood Wilson who called for “open agreements openly arrived at”.) His logic was that sometimes you needed to change your position, and this was easier done in secret. I feel the same way.”

Well, maybe I’m making a rod for my own back and I’ll regret it later. For the moment I’d like to try Blogging, lets see what happens.

  • “Secondly, my writing is too poor to keep a Blog. I do publish – on this website and elsewhere – a lot of writing. But this has usually been much edited and changed before it sees the light of day. This allows me to exercise my thoughts and get them into clear(er) English.”

In writing this Blog I’m going to attempt to address this problem. Hopefully, I can keep my ideas to “bite sized chunks” which don’t need much editing. Secondly, I beg the readers forgiveness.

Lets see what happens.

Flexibility, design and process

Software is, in theory, infinitely flexible. I can take the software from my toaster and, with enough modification, get it to run a nuclear power station. OK, I’d have to be pretty odd to want to do this, and one could argue whether it is the same software (does it pass the Mary Rose test?*) but you get my point.

(*The Mary Rose Test, the Mary Rose, is a wooden battleship from Henry VIII’s navy that is preserved in Portsmouth. Imagine I decide to renovate the ship, so every day I replace one of the aging planks of wood with an identical replacement. Now, further imagine that I use the planks I remove to build a copy of the Mary Rose. When I am finished which is the original? And at one point, if any, did it change?)

Much of software design is concerned with removing your flexibility: encapsulation, data hiding, cohesion. Sometimes you actually improve things by removing the option. (Less is more.)

The same is true in development processes. Often a company cries, “We need a flexible development process” because… we need to respond to anything a customer can throw at us, all our projects are different, etc. But I wonder how many of the organizations that say this actually do vary their process? In my experience companies like to say this but the only real variation that occurs is the number of people on the project. The actual project process is left vague and ill defined “for flexibility.”

If there really is no similarity in the projects that organizations do then I wonder if the organization really exists for a particular reason. What is the core competency if no two projects are the like? Far more likely there is similarity in some way.

So, what we need is to cut off some options to ourselves. I’m not saying we need to document our process – heaven forbid! Nor am I saying that we need to call in process experts to advice us on how to do the project. What I’m saying is we need some kind of process base line we can talk about, some reference point. For if we can’t talk about it we can’t describe it and can’t modify it. Within that we need to give ourselves some constraint, leaving all our options open makes for too much uncertainty.

With all that said its important to note that process must come from the bottom up. It is for the people who live and breath the process to decide what they are doing. That doesn’t mean they can’t be influenced in their decisions, nor does it mean they can’t be lead or challenged to do better. It may just boil down to showing them that things can be different and providing them with the tools and options to do it differently.

And when they find a better way of doing things the people above them should use their leadership to support it, and to help others see the benefits and change too.

The worst thing we can do is to just assume that tomorrow will be a repeat of today. We should ask teams to do better, to change, to improve but we should also give ourselves boundaries and rules to work within. And we should, from time to time, question those boundaries and rules.