Question. Do you seriously believe that Boeing and Pizza Hut build their systems in the same way? Hold that thought.

The IT and computing industry is full of people searching for universal truths that can be applied to all situations. Techniques that are totally proven and infallible. Although this statement sounds somewhat confrontational, our industry isn’t alone in this and I suppose it is a reflection of our times: Doing stuff is risky. Dangerous. Not always easy to explain. So it’s natural that people try to look for ways of designing out the risk. That I suppose, is what analysis – in all it’s many guises – is mostly about.

In my 20-odd years in the industry, many different approaches have come and gone. But then again have they gone? Perhaps people have just learned to apply the right set of approaches (or MT&Ts (methodologies, techniques and tools) as people used to call them) to their particular sector: Because whilst it is true that individual projects vary enormously (applying agile to legacy applications is very different to applying it to brand new ‘green field’ developments) there is also an overarching fact that different sectors of industry require a whole different approach. In my view this is also a universal truth.

It seems pretty obvious that if you are working on a system to navigate a spacecraft, manage ambulance emergency calls, or to control train signalling, you need a very different approach to application development to that used if you are working on a data entry application to manage employee training records. Surely there can be no denying that.

In my particular case, I have never worked on spacecraft, ambulance, or train signalling systems and it is quite likely I never will. It doesn’t fit with my interests, skills and expertise. My area is information systems. So in a sense, my opinions – and those of the many writers, commentators and ‘experts’ who haven’t either, can’t really apply their ideas to those cases.

Would you seriously build the examples I quoted using Agile? Or perhaps a better question is “Would you want to rely on the default techniques of Agile? Or would you want to add in something else?”. I don’t know about you but I would. I would want to use something a bit more rigorous than a set of User Stories and scenarios to build something that had human life depending on it. That, before you throw your hands up in horror, doesn’t mean agile doesn’t have a role. I am not suggesting it is dropped. But it absolutely means it has to be augmented by something else, to take into account the specific demands of the sector. You must recognise the differences in how you would approach a project in a different industry.

So. Back to my original question. Do we seriously believe that Boeing and Pizza Hut build their systems in the same way?

Quite clearly: No they shouldn’t.

Conclusions

There are many that will throw their hands up in horror at what I have written here. I even encountered someone fairly recently who said to the effect that “everything should be built to the highest possible engineering standard”.

This is rubbish of the highest Order.

Well, it’s a view anyway. But it is like walking into a Ford dealership and asking why the cars aren’t Porches: As human beings we can clearly build something better than a Ford, so why aren’t we? We should all demand and expect Porches, right? Why would we settle for less? This argument is quite obviously nonsense. We live in an imperfect world with budgets, compromises and constraints and much as we may object to it, a Ford is often acceptable. The alternative, sadly, is quite likely to be an imperfect solution or no solution at all.

« »