• 08Nov

    A while back I wrote about how I thought Economics was a discredited discipline.  Economists have not only failed totally and utterly to predict the global economic crisis and to explain what has happened, but no attempt is made to understand it and where they went wrong. Furthermore no attempt is made to even admit they don’t know what is going on and adapt their ideas.

    If an engineering disaster occurs - a train crash or bridge collapse, the engineering profession has clear procedures to attempt to explain it, and if they can’t, there are equally clear procedures to investigate and make recommendations for improvement. These recommendations can be quite damning.

    I see nothing of this in economics. I see no economist appearing on the media saying “apologies, but we don’t really understand the situation, we are in unchartered territory”. No “lets attempt to improve and discover more”. How can one expect to improve if that is the case? The arrogance of economics seems to be beyond words.

    Stephanie Flanders - BBC Economics editor - wrote a piece recently here which just about sums it up. I especially like her phrase:

    ” Somehow, somewhere, large parts of the profession seem to have lost their way - or at least lost their connection to the world as it is. ”

    I’m glad I was never daft enough to study economics.

  • 04Nov

    The other day I met with some ex colleagues, one of which pulled out a copy of the ‘Toyota Way’.  I couldn’t resist asking a question which has been on my mind for some time, but that nobody seems to ask:

    Does the entire Toyota Corporation (around  316000 employees worldwide according to Wikipedia) operate on lean and Kanban principles, and if not, why not?

    Unsurprisingly, we didn’t really come up with an answer and after discussing the book, plus (at length) kanban and lean etc.  Eventually we changed the subject.  BTW, I would be prepared to bet a substantial amount of money that Toyota doesn’t entirely operate on lean and kanban principles; But if that is the case, what are we to make of it?

    It has always made me curious, frankly, as to why the Toyota production process has been singled out for such interest within the IT profession.  It’s obviously a good process - but, equally there is little point in having a great production process if what comes out the other end isn’t wanted by the customers.  So there is obviously much more going on inside Toyota that is worthy of being scrutinised.  Product development and design would be interesting areas to look at, and there is some commonality with bespoke IT projects in this area, I would suggest.

    So I wonder why it isn’t looked at?

    This leads me to wonder whether looking at production processes is actually the best fit for IT.  Production processes are, very roughly, based around repetition and optimisation on the basis that the more you do the same thing (BTW this is quite different to a similar thing) the better you will get at it.  Once you get very good, you can start taking an interest the wider issues and have a say in how the work itself is organised. This is where issues around reducing waste and the like come in.

    Don’t get me wrong: The Toyota Way is an interesting book and, like many others like it, makes very interesting observations and has good ideas - but it doesn’t really get to the core of some of the specific issues around bespoke development projects, or how to deal with the ‘unusual’. Maybe it’s not intended to of course. A while back I set the cat amongst the pigeons in a meeting by asking if anybody actually had any knowledge of how Toyota run their IT operation? (It would be rather ironic if it turned out they run their development projects on waterfall wouldn’t it…!)

    So let me make another recommendation - a book I bought about 8 or 9 years ago called The Challenger Launch decision. This talks - in considerable depth about the Challenger space shuttle disaster of 1986. Now this might sound like a rather dramatic example to cite, but actually it covers many issues that will be familiar to people engaged in bespoke software development.  Furthermore it actually transpires that there reasons for this particular failure are rather less complicated than you might think.

    I won’t spend too much time reiterating about the disaster itself as you probably know it well:  Primarily the disaster is remembered as a technical failure. The fault lay in the rubberlike O-rings.  The primary O-ring and it’s backup, the secondary O-ring, were designed to a seal a tiny gap created by pressure at ignition in the joints of the Solid Rocket Boosters. However, O-ring resiliency was impared by the unprecedented cold temperature that prevailed on the morning of the launch. Upon ignition, hot propellant gases impinged on the O-rings causing them to fail, creating a flame that penetrated the first aft field joint of the right Solid Rocket Booster, then the External Tank containing liquid hydrogen and oxygen.  The result was a catastrophic explosion.

    Technology was not the only culprit, however.  The NASA organisation was implicated.  The Presedential Commission created to investigate the disaster revealed that the O-ring problem had a well-documented history at the agency.  The first documentation on it appeared in 1977 - nearly 4 years before the first shuttle flights.  Furthermore the commission learned of a midnight-hour telephone conference on the night before the launch between NASA and Morton Thiokol in Utah (the contractor responsible for the Solid Rocket Boosters). Worried Thiokol engineers argued against launching on the grounds that the O-rings were a threat to flight safety.  NASA managers decided to proceed.

    The book explains the sociology of the disaster and the decision making around it.  It shows how mistake, mishap and disaster are socially organised and systematically produced by social structures.  No extraordinary actions by individuals explain what happened: there was no intentional managerial wrongdoing, no rule violations, no conspiracy.  The cause of the disaster was a mistake embedded in (according to the book) the banality of organisational life and facilitated by an environment of scarcity and competition, elite bargening, uncertain technology, incrementalism (interesting), patterns of information, routinization (interesting), organisational structures, and a complex culture. Some of the issues the book deals with are these: Scarce resources and compromised excellence: NASA’s environment of institutional consensus had changed to one requiring political allegiances to secure funding.

    I point out the phrases incrementalism and routinization purposely because they will obviously strike a chord with the agile movement.  In the Challenger case, these were cited as problems and causes of the disaster itself.  I draw no conclusions from this, but it’s interesting.  The ‘routinization’ point is especially interesting.  In the book, it describes a mind set called ‘production culture’ where - to cut a very long story short - people become so used to doing the same thing over and over, they start to become blind to the risks and dangers of it.  This in conjunction with another mindset called ‘normalisation of deviance’ means people get complacent. They also start to bend the rules to - again to cut a very long story short - accommodate what they ‘got away with last time’.

    I will return to some of these topics later.

  • 25Oct

    The other day a debate heated up in the office (again) about the internal re-charge model we have to live under. I’ve written previously here about the issues, but the main consequence of recharging is to set-up barriers between the IT operation and the business users and this almost always has a negative effect.  It leads to an inability to properly engage and support the business users.   There is a wider issue in organisations about re-charge models, since they aren’t always applied just to IT:  I think I’m right in saying that booking a meeting room in our organisation costs £400.  I think you would probably join with me in believing that a reasonably intelligent primary school child would view this as nonsensical.

    The only possible advantage I can see in re-charging is that enables money to come in to a department throughout the year.  It also, to some extent, prevents the department from being viewed as an ‘overhead’ and therefore something to cut at the earliest opportunity.  If you abolish re-charging there is also the danger of endless board-level argument along the lines of ‘why should my department contribute to the IT budget when I don’t get much out of it etc’.   (To which I reply: well you’re part of the organisation and as such we’re all in it together).

    So there are dangers in abolishing re-charging. If you are looking to Beyond Budgeting to save the day, forget it: it promotes the idea of internal markets, recharging, trading companies and the like, and seems to perpetuate the myth that all these things lead to efficiencies and and a better organisation.  I have seen the heart torn out of organisations that have implemented these sorts of things, so no:  Beyond Budgeting isn’t the way forward.  What we need is a return to a simple structure where you decide what you are going to do and you simply employ people to do it.  Simple.  No barriers.  No labyrinthe accountancy. No complexity.

    I am against re-charging, but it is important to have arguments in place to counter those that will start viewing IT as an overhead: This is easy to do by the way.

  • 13Oct

    It won’t have escaped your attention that the web and media industries have been engaged in a deep and meaningful debate over paying for content.  The article here gives a bit of the myriad of background, but you will be aware of the general issues.  The answer in my opinion very simply, is yes.  You should pay.   The tricky bit is how.  The simple reason that paid for content is such a difficult subject is simply that people are uneasy about handing of their credit and debit card details to web/internet companies unless they absolutely have to. And who can blame them.  They will do it for physical goods: Amazon, ebay, Supermarkets and the like, because these are services that have a clear benefit in terms of delivered goods; but to hand over cash to view any number of content sites - news say - is a different matter.  It’s irritating, slow, and people are concerned about security.

    The reason pay as you go phones took off also isn’t accidental:  It isn’t because of the cost - it’s probably cheaper if you are on a tariff ( although I wouldn’t know myself as I am on pay-as-you-go).  The reason is that the pay-as-you-go option disconnects your payment/bank details from service itself.  If I want to give up my phone, I can just stop paying.  It’s fairly anonymous.  Also, if I change banks (and in the current climate anything can happen), my phone is one less thing to worry about informing.

    The idea of paying for a service in an over-the-counter way (i.e. just handing over some cash for a newspaper, magazine or other ‘old media’ as some refer to them), is quite a different experience having to hand over your trusted bank payment details for the electronic equivalent of the content. This just isn’t something most people are happy with.  And who can blame them.

    No-one disputes that newspaper and magazine circulations have plummeted in recent years and this is almost certainly down to the internet [See note below], it seems to me though that there is more to this story than immediately meets the eye.  If in the past, people had been forced to hand over credit or debit card details at the news stands to get their printed newspaper, this circulation decline would have happened much earlier. It would also have resulted in a much more dramatic delicline than anything the web has delivered:  At least free newspaper web sites give the opportunity of advertising revenue for the provider.

    So, let me offer a new proposal:  You buy a voucher or card in the newsagent or similar shop, in the same way that you would buy a lottery ticket, mobile phone top up card, public telephone phonecard etc (or even the way you used to buy your newspaper).  This card has a unique ID on it:  You enter this ID on the relevant part of the newspaper/media web site and it gives you access to the content you wish based on how much you purchased.   The access could either be time-limited, or perhaps limited to certain sections depending on what you bought.   Like a printed newspaper or magazine, lottery ticket etc., registration information need not be provided by the user - the experience is anonymous.  You should be able to register if you want, and this gives you additional benefits in return.  Perhaps the physical newspaper or magazine actually IS the voucher:  It has a unique number printed in it.  They seem to be able to do this kind of thing for competitions when they want to - so it’s clearly possible…

    So, In essence, you still buy something from your newsagent/newsstand:  just not the physical printed item. Personally, I would be quite happy to buy a voucher or card that gives me on-line access for a nominal charge.  But I don’t want to hand over bank payment details thank you.  And yes, people should pay for content, and yes, they probably will.  The problem is that content providers seem to be overlooking many of the available models for doing this:  Paying for something need not equate to handing over a bank card, endless registrations and yet more and more usernames and passwords.

    [NOTE]  I don’t believe the same applies to all branches of the media:  Television and Radio viewing is actually going up.

  • 11Oct

    It sounds a bit pedantic but I get rather perturbed when I hear people referring to every IT system as ’software’. I work in an area that mainly develops internal business systems and, frankly, I don’t believe this is software: Internal business systems are - well, Internal business systems. As far as I am concerned, ’software’ is something you either go out and buy or download.

    You might think this distinction isn’t very important, but I think it is fairly obvious that if you are producing ’software’ in the true sense of the word (e.g. working for Adobe on the next version of Photoshop), this is quite different for working for an internal IT operation on their expenses claim system and that furthermore, both these environments will need different skills,techniques and methods. For one thing, in one case you are creating something directly for users that you quite possibly know, and can visit and talk to, and in the other you are dealing with someones abstract view of what the users might want. The whole culture is different.

  • 21Aug

    I came across an article here about the new Olinda digital radio: This is currently in the prototype stage and has been developed by BBC Audio and Music in conjunction with a 3rd party company. In essence the basic unit is a DAB radio but It includes innovative features like modularity and social networking in a physical device. On the side is a studded, magnetic connector for plugging in expansion modules. This is an open, standardised hardware API - with defined connections and defined protocols for the data. It’s a bit like the expansion port on an iPod.  In the picture below, the middle unit has Six lights which show when a close friend is listening to the radio, using wifi and Radio Pop, the BBC’s website for sharing ‘now playing’ information. Each light is a button: you can tune in to listen along with them, discovering new stations via your social network.

    One additional module is a tear-off player module for kids. It records all their favourite childrens’ radio progamming and then unplugs to become a standalone MP3 player.

    Olinda Digital Radio

    Olinda Digital Radio - How cool is that?

    Olinda Kids Tear-off

    Olinda Kids Tear-off

    I wouldn’t mind one of these when it becomes available, I must say.

  • 20Aug

    Although I’ve had this post drafted for quite a while, recently I have been involved in an actual situation which brings home quite graphically what I am about to talk about.

    Recently I was asked to write regression tests for one of our applications.  The app itself is a fairly new in-house development and went ‘live’ about 2 and half hears ago, so doesn’t fall into the ‘old-legacy-nightmare’ category.  I say ‘live’ because it has never been used quite as extensively as it should be. Given that it supports - or should do  - quite an important part of the company it seemed odd it wasn’t being used as much as it should be. Up until I got involved, I’d heard various people talk about this and wondered why there were usage problems, considering alot of time had been spent building it. I did hear some anecdotal evidence that it was rather buggy and problematic but there wasn’t anything concerete to back this up.   As is the way with these things, the people involved with building it in the first place have also long since departed.  I’ll add that the application and much of the business logic around it isn’t intuitive either - my organisation tends to thrive on labyrinthine rules amd terminology sometimes.

    It didn’t take me long to discover that the application is rather buggy and problematic. There are number of areas where the business rules are not fully understood (either by IT or the users in some cases), links to other systems are difficult to untangle in terms of data.  There are areas of the application that have ‘never been used - i’m not sure why’ according to the users. Some parts won’t ever be used and should be dropped entirely, some areas where the business itself has altered and where some housekeeping is needed to alter it. There are some terminology and usability issues (one quite key page reports status information as yellow text on a grey background).  Generally there are quite a number of bugs and ideosyncracies including some weird bugs that only seem to occur on UAT, with no reports of the same thing happening on Live. Despite it all, though, there are relatively few runtime errors and it seems fairly stable. It also has the basis of a very good application: It certainly isn’t all doom and gloom by any means.

    Oh, I should add that part of it will be redesigned, but the redesign can’t go live until my regression tests are done. Nice.

    I’d like to focus on a few important points here: The first is that the application isn’t fully understood by IT or the users and to some extent the users are looking to IT to educate them.  The second is that it’s fairly new - so it ought to be a shining example of a modern forward-looking application but instead seems to have been poorly implemented, third, the situation illustrates why the definition of ‘done’ or ‘delivering value’ isn’t whether it is running on the live hardware:  It is whether people actually are using it properly.  To put something live and then walk away is to do a massive disservice. Applications (and most importantly, the people using them) - need a certain amount of nurturing and support especially early on.  This pays dividends later, believe me.   Oh, and the fourth issue is how the heck do you write regression tests for an application along the lines of what I have just described? …

    In a future post I’ll explain a bit more about how i’ve gone about it, but in essence what I did initially is to create a Use Case in the Alistair Cockburn style for the entire application.  This was in my own style with 4 vertical swimlanes:

    • name of the page and how you navigated to it including an extract from an Enterprise Architect model I created of the overall page flow;
    • an ID assigned to the page or key function on the page: I’m still dithering with this - I like the idea of it as it makes support more straightforward and the users can simply refer to ‘page 1.2.1′ as opposed to ‘that page you get to by clicking edit on the manage users page that has a red section at the top’;
    • the use case itself - which merely describes the ‘happy’ path but written in a higher-level style than any subsequent tests would need to be This should give just enough information to get you up and running using the application and most importantly in a language users feel happy with;
    • Screen grabs of the page itself, plus notes about business rules, pre-existing bugs or any other issues and (hopefully) statements of where value is created or prevented.

    The point about doing this is twofold:

    Firstly, now, there is a common description of what the application is supposed to do and I have explained to the users that this exists as a resource for them to refer to equally to IT;  also that we should aim to refer to it and build on it continuously.

    The second point is critical:  I don’t see how you can expect people to write tests if they haven’t been through this process:  If you dive straight into the tests, you run the risk of immersing yourself into too much low level detail and can’t-see-the-wood-for-the-trees.

    This brings me on to the main points about UTBTDD which simply means “understanding the bloody thing - driven development”.  The principle is that you can’t expect people to be productive - either within or outsode IT unless there is some common understanding, and recognise that development projects are collaborations.  This needs to be developed and improved on continuously irrespoctive of what projects you happen to have on the go at the time:

    #1: The end-user requires support from IT not the other way around:

    I have written previously in these pages about the way I get slightly concerned when the end-user is regarded as a font-of-all-knowledge super-human with all the answers and whose role in life to be at IT’s beck and call.  It’s important to recognise that (a) they may just be doing a job they have inherited and picked up, (b) might not know anything anyway and (c) they actually have job to do themselves.  It is IT’s role to support them in their job, not to act as answering service to make up for IT’s deficiencies. If a year ago we had enough knowledge to build a system and it got signed off and went live, why don’t we have enough today to answer questions on it? It is now in it’s most important phase: actually being used. That is where we need to focus.  In many of the situations I find myself in, I am perceptive enough to realise that what the users are often thinking (though not openly saying) is “you tell me!  you’re the IT department…”  or “you built the application - you should know - we’ve been through all this before…” More to the point I agree with them.  We should be in a position where the ‘current’ state or ‘as is’ position should be understood by IT well enough for us to respond swiftly, and preferably to actively educate and support the users. There will always be exceptions of course, but our focus should be on the proposed improvements and new requirements and looking ahead to the future.

    This doesn’t in any sense mean we should neglect the current situation - far from it.  Whilst we have to look ahead, the ‘here and now’ is obviously vital.

    #2: Custodianship of applications is critical:

    Don’t just build the thing and walk away.  You will need to support it and the people using it deserve the same level of engagement from us as we expected from them during the period when it was built.

    #3: Writing tests and understanding the system are totally different things:

    If you asked an examiner to write geography examination questions you wouldn’t expect him to go away and immediately start learning and understanding geography.  You would expect him to already know the subject and to focus on the job at hand - writing the questions. More importantly you would expect him to write the right questions, and that is where the effort lies.  It is the same for us:  We need to understand the fundamentals before you think about writing tests so we write the right things not just anything.  How else do you know you are testing for the right things? How do you know you will be getting insight from them? Especially since what you are testing might have been in place for many years and isn’t obvious.

    #4: Automation is not the most important thing:

    The important thing isn’t automation. It is ensuring you have knowledge to do what you need to do. Automation doesn’t improve your knowledge. It is also important to remind ourselves that automation is just simulating what a human would do, but even then, only a certain type of human. Get a real human in (maybe even your parents) and they will often point out things your tests never thought of. Personally, I have always had something of a distrust of automation because I think it can make people complacent. I also think people run the risk of focussing on automation over the point behind what they are doing in the first place. I’ve certainly seen evidence of this.  On the other hand, though, we are all human beings and we’re brought up to some extent with the idea of that anything ‘automatic’, ‘robotic’ or otherwise not needing human intervention is always a good thing.  Fine, but just don’t overstate what you’re achieving by using it.

    #5: Change is not the problem:

    People get concerned and anxious about ‘change’ within an organisation, but often I don’t think this is the problem.  Understanding what you have today is the problem.  Once you have that sorted out and understood and explainable the ‘change’ is actually the easy bit.

    #6: Blessed are the poor (support team) for they shall inherit the application:

    The agilists that believe in ‘travelling light’ usually go rather silent when I ask them what the support teams will be working from once the application is live.  They presumably are expected to support their application based on knowledge received telepathically.  As I mentioned above, the key thing isn’t getting the application live and walking away, but making sure people are properly supported and responded to once it is live.

  • 29Jul

    The other day I saw a presentation by Dan North on Behaviour Driven Development.   I’ve seen some presentations previously on this, as well as having read loads of articles and posts.  As ever, there is little to disagree with, really. On the surface It all makes sense and the ideas are reasonable enough.  There are, of course a number of quite significant omissions in BDD - and if you’re not a developer some basic realities of life tend to get washed over somewhat.  This might not be a problem as such - merely an indication that extra techniques and activities need to be happening outside of BDD to make it work.  That’s fine by me, although some people do insist on getting very emotional and defensive if you dare to start suggesting that agile methods don’t give you everything you need.

    BDD is, by Dan’s admission, something that came from the developer community (he himself is a developer) and therefore the developer viewpoint tends to prevail.  Having been a developer myself, I can spot a whiff of the ‘nobody-else-exists-except-for-developers’ syndrome from miles away. Development is the kind of activity that leads to a certain degree of selfishness: Even I found myself lapsing into it sometimes, despite the fact that I was never a typical developer (having come from an analytical background), coupled with the fact I always deliberately try to have as open a mind as possible about techniques and methods.  Dan states the need to ‘reach out’ to other groups in the industry - such as analysts, project managers etc. and ‘get them on board’.  Quite how, isn’t explained, though.

    The presentation began, as presentations of this nature inevitably do, with a look at the horrendous ‘traditional’ ways of doing things using ‘linear’, ‘upfront’, and ‘waterfall’ techniques. There was a reflection on how they never worked: Again, reasonable enough and good examples and observations were offered up.  He’s right too; or at least I think he’s right: I have to admit I’ve worked on waterfall projects that did work.  I’ve never been quite sure how it all went right, perhaps it is just the human memory selecting out the horrendous parts….  I think the answer is quite a simple one, actually.

    The thing about the so-called ‘traditional’ ways of doing things, is that they weren’t created by the technology and IT professions saying ‘lets develop a really intransigent and beauracratic way of running projects that deliberately screws ourselves up’:  They came about because projects need finance - often quite alot of it - and with that comes the need to explain to finance people, banks and so on, in advance exactly what you are going to do with the quantities of other people’s money you are asking for.   With that comes the need to explain, argue, and predict. That in turn leads to ‘upfront’ descriptive work.    Have you ever tried to get investment for a business proposition without detailed plans?  It’s not easy, and more to the point, if you dont have them, you’ll get shown the door pretty quickly. If you’ve ever seen Dragon’s Den you’ll have seen evidence of this…

    In my view, these ‘traditional’ approaches aren’t something you can blame on IT directly. I can see how they came to be, and It isn’t a conspiracy. I blame it on arcane financial procedures and the professions around them - accountancy and the like, that force people into operating certain ways - often the wrong way.

    As an aside, I finally managed to get hold of a copy of ‘Beyond Budgeting‘ not so long ago, as a result of an other meeting I went to by Craig Larman a while back.  I had high hopes for this as it seemed to offer something totally new. Unfortunately one of the central planks of Beyond Budgeting seems to be internal re-charging between departments, internal markets and so on.  Having seen many organisations degraded by this (at best, it causes barriers to be set up between colleagues and at worst the whole organisation is virtually torn apart), I find it hard to accept this. Sorry.  But it is good that people are at least challenging the traditional stranglehold that finance people have over our lives.

    Back to BDD.  As I said, It’s all kind of fine,  although it still seems to suffer from the same oversights that most agile methods seem to: That is there is always a big assumption that there will be a large supply of knowledgable people inside IT and outside of in the user community to answer questions and provide detailed knowledge on demand.  If, like me, you find that is often not the case, little or nothing is offered up to help. I think to some extent this is the big paradox of the agile world:  As an analyst, I am expected (among other things) to write acceptance tests and often to know a system down to minute detail. This is fine - that’s exactly what I should be able to do. But If I create artefacts and documents to assist me in doing this, it is dismissed by some as some kind of bureaucratic folly; On the other hand, I am still expected to respond to people’s questions, provide the tests, respond swiftly to the enquiries, explain a system to top management and so on. Again, fine - but what I am supposed to do it from?  A collection of memories? I’ve never been keen on that…

    The poor end-user (or ‘customer’ as we are now forced to call them) by contrast, is expected to be a font-of-all-knowledge-super-human at IT’s beck-and-call. They can easily find themselves caught between an unsupportive IT department and the fact that they themselves possibly just picked up the system and what went with it, as an accident of the job they found themselves in.

    It is time to think about what needs to be done outside of agile. This leads me to a piece I wrote here about what I loosely and rather boringly call ‘knowledge management’ and some of the problems I often come up against.  It’s important to realise that much of this is driven by what developers come to me with.  At least every week (and sometimes every day) I get developers telling me how they don’t understand the system they are working on and need clarifications and assistance. Not unreasonable and perfectly understandable.  Separately the end-users often have uncertainties and questions of their own. What is going through their mind is often “why are IT asking me this?  They built the system?  Isn’t there anyone around around that can assist me in ensuring I understand it properly and am doing things right?”

    In my next post I’ll explain more.

    …Oh - and i’ll tell you about UTBTDD..

  • 21Jun
    Half the money I spend on advertising is wasted; the trouble is I don’t know which half.
    John Wanamaker(attributed)
    US department store merchant (1838 - 1922)

     
    I’ve been involved in a number of organisations that at one time or another have done ‘value for money’ exercises.  To cut a long story short, I usually have issues with this because, frankly, I don’t think value for money exists:  It is a abstract concept that exists in people minds - rather like ‘the perfect lasagne’ or a ‘brilliant restaurant’.  Paradoxically, that doesn’t mean it doesn’t exist. People have - and should have - very clear and strong ideas about their applications and projects and their relative worth. If they want to describe this as ‘Value for Money’, fine. The problem is that it is difficult to demonstrate it for sure. Like “Tescos’s is better value than Sainsbury’s” (something I’ve heard people have passionate debates about), you’ll never prove it. It’s just instinct im afraid.

    We live in a world where people seem to expect absolute certainty and think that everything can be turned into a science: The idea that you might be developing something on the back of instinct and passion rather than a formula the finance people can work out with a calculator will sit uncomfortably with some, but that is the reality - benefits of technology are often intangible and unpredicable.  Get over it.

    An example of this came to mind when I was at an event run by a large UK department store many years ago. The web was in it’s infancy and my company (me, really) had done some work developing their first web site. Later, they had added ordering facilities for a selection of their products.

    I got talking to a lady that turned out to be very senior in the Marketing area of the organsiation.  Very briefly, she was moaning that although they had invested alot of money into the site (much to my annoyance they had done most of this through a rival company), there didn’t seem to be much evidence that it was generating sales:  The site itself seemed to get alot of hits but the rate of ‘conversions’ (turning these into sales transactions) was quite low.  Overall sales for the company as a whole were doing OK though, but there was pressure to consider the web investment and perhaps even drastically cut it back.  She was dissapointed with what was happening and asked me for my opinion.

    “Isn’t it obvious what is happening?” I said.  Silence, shrugged shoulders.  “People are going to the site, looking up product information and stock details and then going into the shop to buy it” I said.  “I probably would”. I continued “so the site is doing a valuable job and providing a service (and a return) but not in a way that anyone intended”.

    “Interesting” she said.  “I hadn’t thought of that - how do we prove it?”.  I explained that you can’t and I suppose if I had really wanted to be clever I could I could have quoted John Wannamaker above who famously said “half the money I spend on advertising is wasted, the trouble is don’t know which half”: It’s probably best I didn’t - I always thought it was Lord Lever that said it.

    The marketing lady got another glass of red wine and changed the subject.

  • 13Jun

    I have always had a concern about the way User Stories are sometimes regarded as all you need to build something.  Don’t get me wrong, they are a good technique to focuss the mind and provide high-level statements of intent.  The problem is when people do a workshop, come up with a set of stories, and before you know it development is starting.  Very worrying.

    Before User Stories become the norm, people used a variety of techniques for expressing these statements (the requirements in other words…) but often it became problematic.  Typically you ended up with granularity problems - some statements represented massive pieces of work taking weeks or months, others were very small, but hard to progress because they had a large number of dependencies.

    User Stories at least give an ‘out of the box’ solution to some of these issues, but they still need to be supplemented by something more.

    “I think we’ve demonstrated on this project that you can build a system just from User Stories”  One lead developer said to me not so long ago.

    “Of course you can” I said. “You’ve been on the project for a year and a half. You’ve had time to build up your knowledge. What if someone new came in with no knowledge of anything?  How confident would they feel, do you think?”  Silence.

    He had a point, of course.  If you are woking on something for a long period you have the luxury of getting to know it ‘inside out’. This gives you the ability to ‘travel light’ and also gives you the confidence to think beyond the work itself and to start considering about how you structure and organise it.  The lead developer in this case probably didn’t need the User Stories either, frankly.

    Being on a single thing for a long period and getting to know it intimately, is what you would expect in the lean world, given it’s background in production and manufacturing. In production environments people will be working in gangs or on lines doing a single activity. They become experts and then gradually become confident enough to make judgements about how the process itself should be altered.  It occurred to me the other day, that most of the ‘lean’ and ‘agile’ proponents I have met within IT, also tend to be people that are working on single products or single developments and have done so for some time.  They are therefore, to some extent in a ‘comfort zone’.  I never seem to encounter many ‘lean’ proponents that are spread across multiple projects with multiple stakeholders, and that require multiple domain and technical knowledge day to day.  This might be pure coincidence of course, but personally I think it is quite significant.  The people that work in this type of environment are the ones less likely to want to ‘travel light’ and more likely to want a different approach to agile - or rather agile ’supported by something else sitting outside it’ perhaps.

    As I have said previously in this Blog, if you think User Stories are all you need, all I can say is - good luck.

« Previous Entries   

Recent Comments

  • What I was trying to Illustrate is the contrast between a 'p...
  • Very good blog – enjoyable read! Why did you start talkin...
  • Very insightful stuff Mr Dorey. Can't say I always agree wit...
  • Hi Mike I agree with most of what you have raised. I trust ...
  • Interesting comments - thanks. I can accept that there isn'...