The 5 Longest Lead Times in Software Delivery - Part 2
March 09, 2017

Mark Levy
Micro Focus

Every enterprise IT organization is unique in that it will have different bottlenecks and constraints in its deployment pipelines. With that being said, there are some common problem areas that typically produce the longest lead times in your software delivery process. Here are three more most common areas that generate the longest lead times.

Start with The 5 Longest Lead Times in Software Delivery - Part 1

3. Environment Management and Provisioning

The effective and efficient management of dev, test and production environments is critical to a successful release deployment. The combination of increased business requests, the large number of applications, and multiple application infrastructures have exponentially increased the complexity of managing these environments. There is nothing more demoralizing to a dev team than having to wait to get an environment to test a new feature. Lack of environment availability and/or environment contention can create extremely long lead times, delay releases, and increase the cost of release deployments. Dev and Test environments also often are misconfigured or are so different from production environments that they end up with production problems despite having passed preproduction testing.

Creating these environments is a very repetitive task that should be documented, automated, and put under revision control. You need to implement a process to schedule, manage, track, and control all of the environments in your deployment pipeline. Automated and self-service environmental provisioning will streamline the process to reduce lead times. The environments you create need to be as "production-like" as possible. Your developers will also be far more productive and happy. As you automate the provisioning of your environments your MTTR (mean-time-to-repair) will go down significantly as you will be able to replace your environments on a moment's notice and begin to move towards an immutable infrastructure.

4. Manual Software Deployments

People should not move or deploy the "bits" as machines are far better and much more consistent at deploying applications than humans. You would be surprised at the number of organizations that still manually deploy their code. Automating manual deployment tasks is one of the first things you should look at. You can get a lot of quick wins with automation, and this approach can be delivered rapidly without major organizational changes. The initial effort to document and automate your deployment processes pays off once you start letting the machines perform the work. It is not uncommon for organizations to see deployment lead times reduced by over 90%.

Automate your code and configuration deployments with a single set of deployment processes across all environments. Ensure that these deploy from the same source. Deploying the same way across all of your environments is extremely efficient in both time and cost. By using the same process, it gets tested more often and any environmental issues will be easier to identify. All preproduction deployments should be rehearsals for the final deployment into production. The more automated this process is, the more repeatable and reliable it will be. When it's time to deploy to production, you will be ready. This translates into dramatically lower lead times, less downtime and keeps the business open so that it can make more money.

5. Manual Software Testing

Once the environment is ready and the code is deployed, it's time to test to ensure the code is working as expected and doesn't break anything else. The problem is that most organizations today manually test their code base. Manual software testing drives lead times up because the process is very slow, error prone and expensive to scale out across large organizations. As the velocity of software delivery increases, you have to exponentially increase the number of human resources to test the software changes. Furthermore, manual testing provides lower overall coverage. The time and expense of manual testing forces organizations into the "Batch and Queue" mode which slows the overall flow and dramatically increases lead times.

Automated testing is a prime area to focus on when you need to reduce lead times. Automated testing is less expensive, more reliable and repeatable, can provide broader coverage, and is a lot faster. There will be an initial cost of developing the automated test scripts, but a lot of that can be absorbed by shifting manual tester resources to "Test Development Engineers" to focus on automated API-based testing. Over time your manual testing costs and lead times will go down as your quality improves.

Summary

The velocity and complexity of software delivery continues to increase as businesses adapt to new economic conditions. Optimizing and automating your deployment pipelines will dramatically reduce your lead times and enable you to deliver software faster and with better quality. Delivering software faster means businesses can innovate and test out new ideas more quickly. The business can deliver features and bring on new revenue streams faster, making them agile enough to respond immediately to marketplace opportunity, events and trends.

Mark Levy is Director of Strategy, Software Delivery, at Micro Focus.

The Latest

August 17, 2017

Mobile SDKs (software developments kits); love them or hate them, they're here to stay. They provide our apps with all sorts of functionality that would be incredibly time consuming to build, and they give us another means to monetize our apps. While it would be difficult to argue that SDKs aren’t useful, it’s also hard for developers to get a good idea of the amount of resources used by each SDK once the app is in production ...

August 15, 2017

A common belief within DevOps circles is that automation not only enables greater frequency of delivery and deployment, but improves its overall success rate. Whenever manual intervention is required, the chances of errors creeping in increases. Human error is a significant factor in many an outage, after all ...

August 14, 2017

DevOps and NetOps are both far more generous in their opinion of the other with respect to prioritization of efforts than traditional archetypes purport them to be, and they have a lot in common – even though they may disagree on details – according to a new survey by F5 ...

August 10, 2017

Only 12 percent of organizations can claim that their whole organization is on the path to business agility even though more than two thirds of survey participants agreed that agile organizations are better able to quickly respond to dynamic business conditions, according to a new survey from CA Technologies ...

August 09, 2017

Alongside its clear benefits, DevOps brings unique challenges when developing and operating a mobile environment. Mobile app developers and development teams face a unique set of requirements relating to collaboration, testing, and release. Technology fragmentation, disparate back-end systems, updates that require user action, and poor instrumentation can impede the DevOps process and become critical roadblocks to agile mobile development, ultimately impacting app retention and the bottom line ...

August 07, 2017

A crashing app might be a deal breaker, no matter how heavy the load that an alternative website entry point can handle would be. It is all about quickly verifying compliance against key functional and non-functional requirements in order to meet aggressive release schedules as part of the Go-to-market strategy. This means positioning unit testing, UI testing, API testing, and, of course, performance and load testing — as pillars of SDLC ...

August 03, 2017

Most software developers make themselves easy targets for hackers, even when they are behind a corporate firewall, according to a new survey from Netsparker Ltd. ...

August 01, 2017

Your top priority is to improve application development agility, but you may run into roadblocks put up by a security team that (mistakenly) believes speed is the enemy of effective cybersecurity. A new survey finds a majority of enterprises are working to overcome those roadblocks by integrating security into their existing DevOps methodology ...

July 31, 2017

Agile development compresses software testing cycles, jeopardizing risk coverage and opening the door for software failures. Here's what you can do ...

July 27, 2017

While 75 percent of organizations highlight continuous testing as critical or important, only a minority of survey respondents have made exceptional progress acquiring the necessary knowledge and key enablers to drive digital transformation, according to a global study by CA Technologies ...

Share this