When there is a defect or problem, we try to do some ‘root cause analysis’ work out where the defect or problem is stemming from and try to fix the cause (hopefully) and not the symptoms of the defect. The same can be done (but is often not) for improving the architecture, rather than just […]

During my career, I’ve worked on a number of things which, in my opinion have been ideal candidates for continuous delivery/deployment. The problem however has always been that there are stakeholders outside of the development team who have concerns other than just getting features live as quick as possible. Different teams in an organisation obviously […]

If we can think of delivery teams as a system, there are certain things that we would try to do with this system. If the system is composed of many sub-systems/applications/services, we’d try to make sure that if there is an issue in one sub-system/application/service, that any impact to other sub-systems/applications/services are minimised. If we […]

Those of you who know me know that I am opinionated about maximising return on investment and maximising the speed of delivery. The more I’ve discussed concepts around software delivery the more I see delivery teams as a system. So I’ve decided to put together a series of Blog posts to explore this further, I’d […]

First of all, I’ll get this out there, I HATE the term ‘Technical Debt’ with a passion, it doesn’t help us in the relaying context, and to those in the business who aren’t working with ‘Technical Debt’, hearing the phrase sounds like hearing ‘my job isn’t easy I have so many problems, please make my […]

I was introduced to someone a little while ago who had the unfortunate job title of ‘non-functional analyst’.  I know what his role is for it’s just the term, ‘non-functional’ within his job title, which suggests that he doesn’t function. Knowing the guy and, seeing his work, it’s quite obvious that he functions adequately.   Anyway, […]

So many people say it’s important to design a system well, but few people discuss why this is important. When we’re working on a new piece of functionality, we try to find out what is it that we are trying to achieve and (more importantly) why we are trying to introduce this new functionality. These […]