As organizations scale their agile efforts and work across distributed locations, integrate products across business units, and develop solutions with their partners and become suppliers, they are facing integration challenges at an even bigger scale. I will be discussing some of the challenges and solutions in upcoming postings.
The worlds of testing, development and the operations teams had already been struggling to collaborate in the software industry (with or without agile) and only recently have been able to reconcile to some extent, led by aggressive ALM (application lifecycle management) vendors and the upcoming DevOps movements. But the sheer size of integration due to scale complexities has further exaggerated this problem !
But the agilistas have many tools to beat this complexity and the challenges can be overcome by combining these. Reflecting back and recognizing the power of available techniques - from extreme programming methodologies to the power of automated testing - the agile toolkit offers a heavenly state of "Continuous Testing", which allows the organization to reduce the costly integration errors and provide continuous visibility to the business stakeholders while maintaining continuous high quality benchmarks.
Continuous Testing is based on the integrated framework of continuous integration (build stage) and continuous delivery (deploy stage) pipelines, which allow the engineering teams to run multiple builds and deploy cycles per change (using a continuous integration server) and performing the testing activities in parallel, across the various application life-cycle stages. The term ‘continuous testing’ was coined in 2003, to run the tests continuously to enable rapid feedback, while the source code is being changed.
I will be discussing more on the details of Continuous Testing in my upcoming series. Keep watching this space....