As mentioned in my previous blog, key business drivers behind applications are: speed & agility, cost reduction, and quality/risk reduction. These drivers are complemented by industry trends and technology advancements that require application transformation initiatives to consider solutions vectored around automation, integration, and self-service.
Starting with speed & agility, as this is a common starting point for senior leaders and executives in the application space, our first thought is often, ‘just code faster’. While advances in SDKs, frameworks, and libraries have minimized the amount the code that needs to written, it doesn’t change the fact that most developers can only type between 40-60 word per minute (or 200-300 characters per minute). Often this pressure to code faster results in poor quality software as developers are forced to take technical short cuts, like hard coding variables, or bypassing steps in the SDLC (software development lifecycle) in order to go faster. So if the answer isn’t ‘code faster”, then how can we accelerate delivery?
We start by asking, what does it mean to be done? If you look at the principles behind the agile manifesto, it is pretty clear:“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” Using this as the baseline, we start to look holistically at the process and tool chain that supports moving changes from a good idea to working software in production, or creating value. This is what we refer to as the Application Delivery Pipeline.
In many enterprises, this pipeline is constricted by inefficient, manual processes, disjointed tool chains, misaligned resources, and technical debt. As expected, these organizations struggle with throughput, agility, and quality. Additionally, they typically have higher costs associated with development and support of applications.
In order to address these challenges, or optimize flow through their pipeline, enterprises need to stick to a few key tenants. They include: regulate the flow of new work into the pipeline by prioritizing work based on strategy and value, align people and tools to accelerate throughput by introducing automation and deconstructing silos, and become transparent in its adherence to process and measurement of success.