Disclaimer – this doesn’t really describe a single organisation that I have worked at – it’s a collective summary of my experience of working in IT (and that of present and former colleagues) working in medium and large sized organisations. Also the core message probably applies to many other business areas and not just IT in the value of thinking strategically (and the value of Enterprise Architecture).
Many of you reading this working in an organisation over a few hundred people will recognise that IT is often not able deliver effectively. Either in its ability to provide what the business needs today or its ability to be adapted quickly to the demands of the markets it operates in. Often IT systems are fragmented, silo’d and un-able to share data with each other. This leads to horrible/bizarre manual processes (such as manual re-keying of information) to allow business units to work effectively with each other, cross-functionally. It often seems too much of a bold move to take step back and plan or focus on internal IT improvements when there is so much demand for business driven change that needs to be done yesterday.
The key thing that needs to happen to most organisations IT landscape is that it needs to be simplified. The horrible evolved mess needs to be analysed and worked through to understand how to make it simpler. Some technical teams may criticise architects for wanting to make the IT landscape “look prettier”. However I believe that simplicity = ease of understanding, ease of use, faster to change and crucially lower cost to operate. All good things surely? Sometimes a team mentality might be to keep things as complex, messy or misunderstood as possible – so that they are “indispensable”. But that also means they can’t really be promoted. In technical terms – just like you can have very bad messy programming code – the same applies at the IT landscape level across all the different systems and teams.
I believe a lot of the problems are down to the fact that IT systems tend to evolve rather than being properly planned. Of course there is going to be a degree of emergence when organisations are big and complex and not everything can be planned for; but to me if feels a little like many organisations are in a hole and keep digging themselves deeper. By this I mean that due to the lack of roadmapping and thinking more end to end about what data, systems, processes and skills are needed it results in more and more tactical workarounds to keep delivering. Each time a new solution is added it just makes things more complex and harder to change in the future.
Its easier to be reactive and been seen to deliver, deliver, deliver than think strategically alongside delivery. Also thinking strategically is hard work. It takes time to understand the bigger picture, abstract problems, create models and think about where things should go and how they should work. Not only that but its also hard to think about how to transition from the mess you are in today to your target state once you have come up with it.
I fear this is one of the reasons IT professionals can become reactive – simply responding to the next request from the business to deliver something as quickly as possible. And of course delivering for the business isn’t a bad thing – just if its done in a way which doesn’t think about the future state of the organisation or the architecture where problems creep (or flood!) in over time.
IT personnel can promoted to recognise their loyalty (and because of the detailed understanding of the mess that has evolved, and they may even be a one man dependency) rather than their ability to take the next step up (and think more strategically). Sometimes this means that they still have to do elements of their previous roles and don’t actually have time to do their new roles properly. So all this compounds the problem – as they often created the problems in the first place they may not radically change approach – if they even recognise some of the problems they need to be brave to admit they made mistakes in the past that need to be put right. That is if they even have the time to think about them – their may simply be fighting the next fire.
“We’ll fix that in the next phase” – How often are promises made to unpick tactical work arounds and technical debt later on but then never happens.
“This is just how it works around here – we don’t have time to improve our processes and systems as we are too busy delivering”
“Our funding is based on a 12 month period – all work needs to deliver by the end of the year – we cannot have projects that go over multiple financial years its just not how the planning cycle works”.
“We don’t ever decommission anything – we just add new systems but as we don’t know if the old ones are still used for something business critical we leave them alone.”
IT costs then simply build up over time to a point where almost all the budget is spent on running stuff that the business is already reliant on and there is then less and less time or money to work strategically. Leading to a vicious cycle.
What is the answer? Well of course there isn’t a magic bullet but I do think some maturing is needed – becoming more confident in pushing back on certain things in order that a better long term path can be taken. Becoming confident in challenging not only the business but technology management. Making sure that business sponsors prioritise and not just claim that everything is top priority and needs to be done now. But also thinking about the full lifecycle of a solution – not just implementing it rolling it out and then letting it rust. Very few people seem to consider how long systems will be used for – 5 years? 10 years? When should you consider to retire an application? Talking about retirement of a system you are just rolling out seems to be taboo.
Personally I believe you have to try and make time to consider the possibilities of new technology or process approach on your organisation or department – not because you want the technology on your CV but because you can see clear business value – that you can articulate to others. Sell your ideas, if you have to use some of your own time to create roadmaps – they don’t have to be long and complex they can be 1 or 2 page diagrams (showing as is and to be; along with supporting business justification).
Explain the risks of taking a reactive approach – one man dependencies are a massive operational risk for example. Not considering how a solution will scale to meet demand is a reputational risk waiting to happen – run through what if scenarios with your stakeholders to get them to understand why things need to change and/or why investment in internal improvement is crucial. The improvement to IT employee engagement can be a key selling point too – particularly if you have a churn issue in your IT team – ask yourself why people aren’t happy and engaged.
And of course its a balance between getting something out the door quickly which might open up a market opportunity, being engaged with the business and longer term simplicity. You can fall into a trap of being very academic by following architectural frameworks to the letter and getting very theoretical (although a dose of that – i.e. 1-2 determined, principled, purist architects to pull things in a different direction can be healthy for very immature organisations).
One thing I would say is don’t give up on trying to improve – even if its just incremental improvements – maybe to the data models to begin with, introducing a principle, improving documentation, making something more portable or secure (as its generally the non functional requirements like security and scalability that suffer). Think about what the biggest impact will be to the organisation (and in fact what will free up technology team time so you can pick off the next challenge?)
You should reach a tipping point where you can start to deliver things more consistently and with a high level of quality – and then it will then click with everyone else and people will wonder why they didn’t plan more and consider things over a longer time frame before!
Hopefully some food for thought anyway…