A typical software development process is sequential (1970s-1990s): define requirements, analyse, design, code, test and deploy. In this process, testing happens towards the end. Problems uncovered by testing at such a late stage can cause costly redesign and delays. The idea of Shift Left is to involve testing teams earlier in the process and to think about testing at all stages of the process.
Shift Left as a principle started with testing but it's beginning to be employed in other disciplines such as security and deployment.
What are the key benefits of Shift Left?
- Shift Left identifies potential roadblocks and bottlenecks early on when there's still scope to change and improve design
- Shift Left reduces risk since many issues are addressed long before the release. Releases can be made faster with better quality.
- Automation is essential. This reduces human errors, increases test coverage and lets testers focus on more inspiring tasks.
- Since teams work closely, some level of white box testing can be done. It's also easier to estimate effort and plan for resources
- With regard to testing, developers can take up some testing tasks (unit tests for example) while testers need to learn to code. This will help them collaborate better and automate tests
- Small iterative changes along with collaboration across teams, code reviews, automation and monitoring are all part of applying Shift Left.
- Deployment procedures should be standardised so that the development and production environments are as close as possible.
What are some of the myths!
- One of the myths is that testing is done by developers and hence?QA?teams will become redundant. In reality,?QA?teams will work more closely with development teams. Developers will be aware of testing needs.
- Another myth is that the return on investment is not proven.?In fact, studies have shown that fixing problems at a later stage is very costly.
- Another myth is that there are no tools to aid in shifting left. In reality, Shift Left is about processes, people and tools. Automation tools play an important role. Same tools that can be used by multiple teams, including testing tools within a development environment, ease the implementation of Shift Left.
I am sure that many organisation struggle moving to shift-left and believe that it is only a paradigm , On the other hand I have seen organisations really implementing shift-left and seeing a whole loads of benefit by testing early using Unit/Integration/Feature/Contract and many more test. I am sure the above points will certainly help your thinking and of-course understand the paradigm little better..
Delivery lead - Australia Retail Product Area
2 年It’s been a pleasure working with you Manish Mitra . And thanks for all the learnings :-)