Shift-Left!!!
What is shift-left, and why is it so important?
The Software Development Life Cycle (SDLC) encompasses a commonly understood sequence that begins with requirements and concludes with Release Candidate independent testing. The cycle remains the same for DevOps, Agile, Highly Iterative, and Waterfall. Given the previous methodology order, the print cycle length ranges from hours/weeks to months.
What is shift left?
This comes from the classic SDLC approach, which is linear. Here, I have aligned the SDLC order to be compliant with the ASPICE standard:
SDLC order: Requirements, Architecture, Design, Implementation, Code Reviews, Test, Release
Shift-left is the practice of trapping bugs and improving understanding earlier in the SDLC (moving from right to left).
Shift-left is intended to accomplish:
Consistent understanding of the project (requirements, architecture, designs, peer (code) reviews, tests)
Seek and destroy misunderstandings, issues, and bugs earlier in the life cycle
Another look at SDLC for Software and Firmware [estimated cost to fix a requirements issue]:
Requirements (leftmost) [$10]
Architecture [$100]
Design (high and detailed) [$1000]
Implementation [$10000]
Peer/Code reviews
Testing (including regression) [$100000]
Unit
Integration
Requirements, Design, etc.
Feature, Function, Performance, Reliability, etc.
Alpha
Beta
Release Candidate. This is just a check. No bugs/issues should be found!
Customer Found Bug (rightmost) [$ 1 M+]
NOTE 1: Although the cost has both pro’s and con’s it seems to be a good estimation. For proof, just search the web for Cost of Quality (CoQ) Formulas.
Bing search results below:
NOTE 2: In my experience, a bad requirement costs significantly more than $1000 if found during the test cycle. Analysing the issue alone will overshadow this. For example, a one-hour meeting of critical team members (Requirements Engineer, Architect, Design Engineer, Developer, and Tester) will cost approximately $500. This is to formulate what is broken and agree on the following steps to get answers. Once the correction is found, Corrective actions add another set of costs. The cost depends on the severity of the failure and the complexity of the corrective actions.
Note 3: Engineering cost includes salary, benefits, and any costs to the company.
Why should you implement the shift-left mindset?
Improve quality,
Reduce the cost of developing, testing, and time to release.
Reduce the negative impact of finding early failures later in the SDLC
Significantly reduce the cost due to bugs found by customers (which impacts more roles than engineering).
Reduce negative impact on the product and the brand, which may lead to brand tarnishing, marketing issues, and sales reductions.