Behind the popularity of Agile lies the ever changing and evolving technology landscape, and the constant race by businesses world over to stay abreast of hardware & OS upgrades, customer expectations, and of course, crack the elusive user experience mantra, all within a span of few weeks or months.
Consequently, this adoption of Agile has wrought changes in the practice of Assurance across the SDLC and assurance in an Agile environment is highly automated and commences well before development. In this blog post, we look at the practice of automation in a safe agile environment.
Typically, development takes place in 3 streams – Portfolio, Program and Activity.
- Portfolio Stream – With budgetary considerations playing a major role in this stage, here is where decisions regarding the necessity of a particular feature in the application, expected ROI, its business value, etc. are taken. Here, testers work with Epic owners to create a mock session, a scripted look and feel to help the portfolio mgmt. team arrive at a decision. So, the first set of automation is scripting of mock user stories so that it can be validated with business case for portfolio managers and once part of the backlog, it comes into the next module/stream called Program. In Gate 1 at the end of the portfolio stream, a sign-off for stories, estimates, and test driven acceptance criteria is generated.
- Program Stream – In this stage commences the writing of code for the automation scripts because any penetration, functional testing or other testing that is offered is largely automated with only 15 – 20% of manual testing coming into play. Also by this stage, there will be a working software against which automation will be done and an integration-tested application will be the end product of this stream.
- Activity Stream – The Activity stream is where day-to-day activities such as hardening, ensuring that the user stories are staged, etc. take place. End-to-end integration testing is completed, the regression suite is activated, signed off, and the end product is a release-ready software. The difference between this stage and the previous is that in the Program Stream, system testing is completed and validation of user story in done in isolation. Also within operation there is the value stream, where the user story is validated as an end-to-end user journey along with integration with external systems thereby making it ready for release.