Important changes are taking place in the way many software providers develop their products, ones that have direct impacts on the validation process.
Waterfall development vs. Agile development
For many years, developers have used the “waterfall” model to create their software. This involves creating a fully developed version of the software before presenting it to customers or internal customer representatives for testing and feedback. Each step – plan, analyze, design, construct, test, deploy and maintain – is done one after the other, forming a waterfall visual.
Here, all user requirements are defined before anything is developed. A major drawback to the Waterfall model is that it is often impossible to know all user requirements at the outset of a software development project. Those that are identified often change during the months-long development cycle. Others do not become evident to users until the completed version is put before them. Developers then must go back to incorporate change requests, adding significant time to the process. Validation at the end also can add months to the release cycle.
To help speed the process, software developers are increasingly using the Agile Development model. Here, rather than being created all at once, portions of the software are developed in “sprints” of two- or three-week periods and presented to users for feedback. This is then incorporated into the next sprint, and so on, until a feature-complete product is delivered at the end of the cycle.
Typically included on the agile development team is a validation analyst, who is checking and validating along the way. This, according to Ray Glemser, CEO of IT solutions and services provider Glemser Technologies Corp., can reduce the validation time typically required at the end of the Waterfall model.
Quicker development times are a benefit of the Agile model, but its main objective, Glemser says, is to “get something in front of customers that they can actually use, rather than something we thought they could use 18 months ago with limited input.”
Glemser also notes that software developers are taking advantage of a proliferation of exciting new development tools to help them create deliverables more quickly and more accurately. Collectively known as Development Operations, or DevOps, these include automated testing tools, automated build tools and security and quality scanning. As a result, software development shops are today much more robust environments than in the past, with new roles dedicated to specialized tasks. “It isn’t just a couple of people programming anymore,” Glemser says. “What’s happening in modern software development is that it’s like a factory. This isn’t your grandfather’s software development shop anymore.”
To learn more about QMS validation in the Cloud, download our free Definitive Guide on the subject today.