Categories
Architecture and Strategy Technology

Fix bugs before adding features applies to projects not just code…

The 12 rules of the Joel Test served me well when I was a developer and development manager. In particular the principle of fixing bugs before writing new code. I will be honest though and say that at times to be pragmatic this had to be fix bugs whilst developing new features! But the bugs could not be over looked – after all this technical debt would bite at some point. Generally at the middle of the night on a weekend…

It strikes me that when looking at a typical company project portfolio a similar mistake is being made at a project level. Projects to deliver new capabilities or features are being initiated on a somewhat unstable foundation. You can think of the “bugs” at this level as a highly manual (or prone to failure) process as well as technology related issues. I am not saying here that IT teams shouldn’t innovate or add new features or be business aligned – of course they should. But we all need to grow up a bit and realise that the short cuts that get made to deliver projects on time and budget need to be addressed if we want to do sustainable  business in the digital age.

Sustainable business means not just delivering new products or features quickly; but to be able to continue to do so. To be able to continuously innovate quickly and to respond to market forces. Also building robust, scalable, flexible, secure (etc) solutions that lead to satisfied (hopefully delighted) customers – who aren’t constantly irritated by failings in your services. Of course there is a balance to be struck  and in reality it comes down to having a good strategy (e.g. building flexible, well integrated, adaptable platforms rather than churning out a mess of point solutions). There is also a degree of risk taking here too – being bold and deciding what the capabilities are that you believe the business will need in order to respond to the market – rather than having your hand forced into being entirely reactive.

Often I feel like Enterprise Architecture gets challenged (“what value does it add?”) or plainly just isn’t understood (“sorry what was your job title again”, “what does that mean exactly”). And as EAs we often don’t do ourselves any favours by not making it simple for stakeholders to understand our value proposition. For me this area is a fundamental value and benefit of Enterprise Architecture. In that you have a team who is focused on pulling the Enterprise (or if just constrained to thinking technology the IT estate) towards a sustainable path for future success. In a world where projects are often king its important to have a team thinking about the longer term effects and how to pragmatically address failings.