UCAS moves from waterfall to agile

Agile Test Engineer at UCAS, Gianni AU, explains why testing in an agile way is better than the traditional waterfall approach

In 2015, UCAS initiated a digital transformation programme, which included the adoption of an agile culture, moving away from traditional project management and waterfall development to a responsive change of methodology and agile software development.

At UCAS, development teams typically utilise the scrum methodology and strive to deliver early and often, currently reviewing how agile is scaled, adopting aspects of the SAFE framework. Each scrum team works on a particular milestone to deliver change or something new to the system, while incremental development is divided into sprints. All the usual scrum ceremonies are observed within each team in any given sprint, and ceremonies such as scrum of scrums take place at a higher level.

Development lifecycles

According to AU, waterfall methodologies tend to be more linear and sequential where there are distinct phases of the development lifecycle such as planning, DevOps, and testing, while agile methodologies have a more flexible approach.

AU continued: “In my previous role, there were definitely distinct phases in the development lifecycle. For a new project, business analysts would produce documents detailing what the new development entails. After refinement, DevOps teams would start work based on the document, while testers would start scripting based on the same document. Then when the DevOps work is done, there would be a testing phase. Once all testing was complete and issues were addressed, changes would go into the release pipeline.

“Waterfall has an advantage where you have fixed and known requirements. Given the phases within the model are rigidly defined it is often simpler to adopt and understand, UCAS has taken this approach to early COTS product selection and implementation where testers need to fully understand requirements and capabilities of a platform before procuring. With waterfall methodologies, you can see the end product in sight whereas with agile that vision is less clear.”

‘Waterfall is inflexible’

Despite this, the disadvantages AU found was that the waterfall approach is inflexible, has little feedback throughout the process, and little collaboration between teams.

This is where agile helped him support flexibility, coping better in a fast-moving market where requirements change frequently, as well as keeps motivation high with regular feedback and collaboration between and within teams and something to show incrementally. “Additionally it helps to build trust with our customers ensuring they are part of the development process,” he added.

Furthermore, AU found certain testers find agile hard to come to grips with because of its concepts. He continued: “Everyone in the business needs to have an agile mindset to really reap the benefits of agile.

“I have seen in my previous roles where the dev department works in an agile way but the rest of the business was still stuck with the classic waterfall mindset and this caused a lot of friction.”

Agile practices

Out of waterfall and agile, through previous experiences, the practices he prefers are agile practices, because of the scrum ceremonies, sprints and regular feedback through retrospectives that comes with it.

“Agile has transformed the expectations of the tester role. I think there is an expectation that agile testers need to do more than just ‘test’. Certainly, for me, I’m no longer bound to just functional testing,” he added.

AU also noted that, in order to keep up with changing expectations, he has expanded his skills to automation, performance and security testing and, on top of that, works more closely with members inside and outside of his team through activities such as 3 amigos, chasing up on requirements and sharing knowledge.

Written by Leah Alger