Two steps forward with one shift left
Limitation of the linear development process
Spend enough time in the industry, and you’re sure to have encountered your fair share of development design processes. Often, they’ll be in a form similar to the waterfall design image above, starting from the Design to the Coding, then Testing and, finally, ending in Acceptance and Deployment. What the image doesn’t fully express is how much time and resources is dedicated to fixing the problems that crop up along the way. And, critically, how draining and arduous the process of referring back to previous stages can be.
Why testing in the testing stage is too late
By virtue of its purpose, the testing stage is where the majority of project problems and issues are caught. Here is where mountains of error logs are generated and a proportionally high volume of resources are required to identify and eliminate bugs.
By now, the code would have been months, at best weeks, into development. With each new dependency introduced, each script developed, the code becomes exponentially harder to debug. Developers will often spend long periods of time re-familiarising themselves with solutions they themselves built, but forgot how it works.
Security and Compliance, whether included in the testing stage or in a section of its own, brings its own set of headaches as well. Vulnerable libraries, outdated software and a whole list of similar issues caught here will need addressing, often having regressive effects on other tests and the overall solutions.
All this effort makes organisations unable to adapt to market demands and industry competition, due to slow and unresponsive processes. Time that could be spent performing actual development work and improving processes is, instead, used trudging through the exact same work simply to be able to understand how to solve problems. Mitigating these disruptions is where the shift left philosophy comes in – allowing you to move forward with greater agility.
What is Shift Left?
As the name implies, the Shift Left philosophy is all about the moving stages left in the sequence. In this case (image above), Security and Testing. Immediate efficiencies can be derived by including testers in the Development and Design phase, while also ensuring that developers perform Test-Driven Development. All of these actions will measurably reduce unforeseen delays and disruptions, as well as ensuring enough time and resource is dedicated to fixing these issues.
Debugging solutions that were built only yesterday is a far simpler task than pouring through logs of processes developed months ago and integrated with multiple other projects. Keeping teams lean and flexible makes organisations better equipped to react to market forces and cuts project costs.
Shifting Left is the DevOps way
Having established what Shifting Left is, the question now moves to: ‘How to go about Shifting Left?’ Here is where the DevOps culture and processes comes into play. As a quick refresher, DevOps comes from the idea of combining Development and Operations together and is about continuous feedback and the dissolution of programming silos (groups) to encourage cooperation and quicker responses.
This culture of cooperation, to continually gather feedback and iterate on the solutions allows you to be flexible and adaptable to market changes. Testing earlier also prevents massive fatal errors from taking the entire system down, instead keeping issues small and manageable.
Adopting DevOps also entails embracing automation because, and where there is automation, there are resources to be freed. These automated processes facilitate keeping costs low and permit scalability at the same time. With a sufficiently rigorous infrastructure in place, it becomes possible for future projects to benefit from previously generated solutions and processes, thereby improving business gains.
How to begin
So, how do you begin to embrace DevOps and start Shifting Left? What tools are available to do so? How much process should be moved left and when? Let us at ECS Digital bring you up to speed on what to do using some of the best practices we’ve established in multiple industries. After this course, you will not only have a better understanding of how DevOps will improve your processes, but in a far better position to apply these learning to your organisation. Step forward and we’ll show you how to Shift Left.
Register for our Adopting DevOps training course in Singapore from 7th to 9th May 2019.