There can be no doubt that Agile development methodologies, have enabled many enterprises to begin developing and deploying critical I.T. systems in a much more rapid manner. The 9th Annual State of Agile Survey, published by VersionOne in 2013, showed that 94% of all companies taking part in the survey, now use Agile methodologies in their DevOps endeavours.
Yet there are still problems with the Agile process, despite its effectiveness. The most fundamental being the disconnection between sprint driven DevOps teams, and traditional testing and QA doctrines.
What happens when DevOps is forced to slow down due to inefficient QA practices? Well, there is a danger that the development process begins to look very much like traditional Waterfall methodology. With the twist that it is then QA that is driving the process.
How do we break away from this almost transactional approach to testing? Empowering our Agile driven DevOps teams to continue working efficiently, without hitting a QA roadblock?
One potential solution, is to implement a continuous testing regime. At the heart of such a regime, sits the premise of testing early, testing faster, testing often, and to embrace automation. Automation through the use of tools such as browser automation, intelligent code repositories etc., delivers a vehicle for performing QA on new builds much faster.
[See Also:Vertical Slicing in Agile Development ]
This automated testing should in theory, take new builds and parse them for catastrophic issues. The process is driven by the Dev team, without integration with traditional testers at this stage. If successful, the build is turned over to QA proper for efficiency and performance testing. The feedback from which, is fed back to the Dev team.
We can see we have an easily recognizable loop here, and one that fits well with Agile methodologies. Dev to Ops integration, to pre-testing (automation), on to full QA and then either back to Dev, or into production.
Application platforms are a lot more complicated today than they were a dozen years ago. Consider advanced technologies such as geo beacons, wearables and smart tech. These applications run multiple layers, across multiple transports.
For these kinds of advanced applications, standard testing and QA practices simply cannot provide the granularity required, to ensure that every build is checked fully. In this case, automation of pre-testing is the only logical choice, the only option that is Agile enough in itself to test these kinds of applications.
Bringing testing and QA into the Agile process more closely makes sense. It is a natural evolution in many ways. Just as Ops was brought into the loop, to speed up integration and delivery, we need to do the same for testing.
So we are heading more towards a fully integrated DevOpsQA environment, which will make sure that Agile methodologies can keep up with the ever-changing requirements that users put on technology. A fully unified feedback loop, from Dev, through Ops, into QA and back to Dev.
Everything you need to know about outsourcing technology development
Access a special Introduction Package with everything you want to know about outsourcing your technology development. How should you evaluate a partner? What components of your solution that are suitable to be handed off to a partner? These answers and more below.