The Benefits of Shift Left Security
To avoid risks and exposures, it’s critical to develop software apps that are tight as a drum when it comes to security features—right from the get-go. This approach to app development is known as shift left security. In this post, we’re going to give you an in-depth explanation of what shift left security is, what shift left security approaches there are and why, in the long run, it’s crucial to your success.
What is Shift Left Security?
The shift left security approach to app development is not new. It was first introduced in the 1990s and evolved with the introduction of DevOps and DevSecOps in the 2000s. The shift left approach focuses on security-by-design-and-build, which means that security should be considered from the very beginning of the development process; right from the inception stage. Unlike other approaches, which only start to tinker with security features at the testing stage, shift left application security develops measures, countermeasures, understands vulnerabilities and brainstorms potential attack vectors right from the very moment someone, somewhere got the idea for the product.
This approach can be applied to any type of software development, but it is especially important for organizations that are developing software products that are subject to regulatory compliance or that have a high risk of a data breach.
The shift left security strategy focuses on securing the design, development and testing phases of a product. It goes hand-in-hand with the app’s development right from its inception stage, through its initial stages all the way to its launch—and as it matures in the client’s hands it updates its strategies and algorithms to current cybersecurity trends.
The term shift left security was coined by Larry Smith in 2001. Smith lived by the maxim “test early and often.” It has since been adopted by other industry analysts and is now a commonly used term among companies that focus on software security.
The Benefits of Shift Left Application Security
Testing early in a product’s life cycle is important and can help prevent issues that, until the adoption of shift left security, were only caught in the late testing stages—weeks away from product launch.
It took years for Larry Smith to consistently tout the benefits of his shift left protocol before it became an industry standard. Up until 2011, testers weren’t involved in the initial planning of software. They were generally relegated to the final stage of a software’s life cycle. This meant that insufficient resources were being allocated to testing and problem solving—to finding issues that may hurt the operational status of a product.
By detecting and correcting issues late in the game, companies were throwing away vast amounts of money. Why?
Developers learn from their mistakes, and since they weren’t shown their errors early on by testers they weren’t improving their software. There was no learning curve.
The cost of remediation was lower when fixing an issue or vulnerability at an early stage rather than near completion or, worse, after it was released. The developers had to create software patches post-launch to fix errors that should have been caught early on. This meant companies were investing heavily in updates.
Remember when Apple introduced Face ID? On the day of the launch during the keynote address, the software failed to detect Tim Cook’s face, repeatedly, and wouldn’t give him access to his iPhone. By the time the feature finally launched two weeks later the problem had been addressed, but the stigma of that day lingered. It’s the stuff of tech industry folklore. Since then, the company has invested heavily in shift left security—and their products, primarily their iOS launches, have delivered exemplary performance since.
Efforts Aren’t Wasted
Shift left can detect defects in performances, requirements, architecture and design early on. This means that you won’t have to waste significant effort and money fixing them; not only that, you won’t be funding features that are defective.
Debugging is Easier Earlier
As software matures, it becomes more complex and debugging becomes harder. Identifying, localizing, fixing bugs is easier during a product’s early life cycle.
Reduced Code Coverage
As we encapsulate our software—bundling data or restricting access to a product’s components—white box testing becomes too restrictive. It’s normal for developers, at that stage, but this also gives the tester less code coverage, which means that they can’t detect certain errors.
Leave it for the Update
The main problem with testing at a later stage is that companies have schedules to maintain. As the launch date approaches, testers have less time to detect, let alone fix, problems they uncover. They are up against a deadline the company simply can’t miss. So, what’s the solution? Launch the product and postpone fixes—leave it for updates or for software patches. Fixes are delayed for older versions of the software. In many cases, this creates what is referred to as technical debt with the consumers. Most often, companies pay off that debt; some companies can’t. In many cases, the project starts to grow too large and by the time they decide to fix the issue it’s too late—countless start-ups have been sunk by an issue that could have been easily detected through shift left strategies.
The Cost of Bugs
Fixing bugs is an exponential problem with an exponential cost. Most defects end up costing more to fix than it would have cost a team to prevent them in the first place. As your software becomes more complex and reaches maturity, the cost of fixing an issue grows. Not only have you been investing in wonky, defective code, now you have to double down and invest in fixing those issues. These effects compound and can end up costing you more to resolve during the testing stage than if they were fixed early on. The answer is to shift left early and often.

