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

December 14, 2017

Around one in five business leaders indicating that their software budget had increased 50 percent or more over the past three years to support digital transformation projects. However, the increased software development investment has not translated to greater security budgets or awareness of the security risks insecure software introduces: only 50 percent of business leaders surveyed understand the risk that vulnerable software poses to their business, according to Securing the Digital Economy, a report from Veracode ...

December 13, 2017

Metrics-oriented thinking is key to continuous improvement – and a core tenant of any agile or DevOps philosophy. Metrics are factual and once agreed upon, these facts are used to drive discussions and methods. They also allow for a collaborative effort to execute decisions that contribute towards business outcomes ...

December 11, 2017

The benefits of DevOps are potentially enormous, but simply identifying the benefits is not enough. A faster time to market may be a good customer story, but with no directly measurable monetary return, the value of DevOps can still be questioned at board level. Businesses want more than promises if they are to sign off on financial decisions: they need to know the Return on Investment (ROI) as well, with facts and figures that demonstrate what they will gain ...

December 07, 2017

Modern businesses are migrating to a cloud-based model for hosting sensitive data to reap the benefits of agility and cost savings as well as to keep pace with customer demand. Cloud-Native methodologies such as DevSecOps, continuous delivery, containers and micro-services are essential building blocks in the digital business revolution. However, moving information and technologies from hardware to software poses a security concern – translating to a top challenge for both IT and the C-level, as applications built on top of micro-services and containers in a Cloud-Native environment utilize a wide variety of secrets for their proper functioning ...

December 06, 2017

There was a time in cybersecurity strategy when most IT leaders considered perimeter and endpoint guards like antivirus and authentication controls to be the sum of network protection. But as attacks continue to increase in frequency and sophistication, leaders and DevOps teams have been focusing on the role of backup and disaster recovery in mounting a strong defense ...

December 04, 2017

In this blog I will summarize and share with you some wisdom about the biggest problem – okay, problems – in the field of software testing right now. While this is not an exhaustive list, these four bad habits have emerged as the predominant themes ...

December 01, 2017

The majority of testers – 63 percent – are responsible for both API and UI testing, according to the State of Testing 2017 Survey conducted by SmartBear Software. With the growth of methodologies like Agile and DevOps, testing teams have been shrinking and the line between roles increasingly blending ...

November 29, 2017

Companies today face a digital dilemma. How can they understand and discern if their approach to transforming their company to meet today's digital consumer is the right one? ...

November 27, 2017

It has been argued that Dev and Ops teams should work more closely together for some time. For many, the benefits of a closer relationship are clear, and the debate has moved on from if to how, but for lots of companies there are several types of walls to tear down ...

Share this