On The Train Or In Software Development, Know The Landscape To Avoid Missteps

In some ways, developing applications has parallels to developing metro rail systems. Like the Underground or other rail systems, delivering applications to their final destination (a production environment) has many stops along the way where parallel workstreams often converge. And like a trip on the Underground, a journey toward continuous delivery can be seen as having many different rail lines that need to operate in parallel and coordinate with one another.

The traditional software delivery lifecycle (SDLC) consists of five phases: planning, development, testing, release and operations. These tasks are often handled by separate individuals or teams, requiring a handoff between them.

In the planning phase, business leaders and product managers create a list of requirements for a given application or feature. Once the business and functional requirements are solidified, the developers can begin work. After development, the code gets passed along to the testing group for functional testing and so on. Within these five phases, there are multiple different tools, technologies and processes -- things like application release automation, databases, orchestration tools and the like -- that can come from many different technology providers.