Software Lifecycle Integration

Disjointed tools have inundated the application lifecycle. At its roots, tool diversity is a good thing. Over the past few years, it has transformed the way software is built via Agile methods, open source tools and differentiating vendors. But it has also wreaked havoc on the decade-old promise of Application Lifecycle Management (ALM) and DevOps.

We need a new kind of infrastructure to deliver on that promise in a world where every member of the extended software development and delivery team can choose the tools that make them most productive. The time has come for an lifecycle integration server that allows information to flow freely between developers, testers, business analysts, administrators and others. This infrastructure will enable us to connect the best offerings in ALM in order to create a Lean Software Lifecycle, and implement a build-measure-learn loop that connects business ideas to customer deployment, and back again. We need a set of common data models and architectural patterns. Most importantly, we need to establish the common artifacts that will connect the lifecycle.

When outlined on a whiteboard or diagram, the architecture of today’s tool stack resembles a half-eaten bowl of spaghetti, with meatballs corresponding to the various tools selected by stakeholders. We have two choices, either find a way back to the homogenous and single vendor solution of the 1990s, or embrace heterogeneity and come up with an infrastructure that provides end-to-end collaboration and traceability across best-of-breed tools.

We call the category of infrastructure that will enable this: Software Lifecycle Integration (SLI).