Agile methods in software development
Agile methods have become an established concept in software development over the past years. They keep the development process flexible and enable user participation. This prevents unpleasant surprises during the final user test, which tend to occur when a solution is developed without any involvement of its target user base. Functional components of the software are completed during subsequent single, short iterations – the so-called sprints. Iterative ways of working allow for greater scope, as requirements can be adjusted and re-prioritized after each sprint. Especially during complex products, they increase productivity and reduce risk.
Computerized System Validation (CSV) traditionally follows the established waterfall model (V model). It is organized into fixed, individual phases during which technical specifications are first developed and then subsequently tested. Traditional approaches cannot keep up with the development speed, flexibility and, of course, agility of agile project management methods.
As a result, validation remains incomplete, as for example not all changes can be taken into consideration. ARCONDIS has developed a new and efficient solution for this problem.
The solution: agile validation
The objective of agile validation is to ensure the complete documentation and traceability of all changes. This requires the same documents that are needed for traditional validation processes, but the way in which these documents are created differs:
All required validation documents are created during the first sprint; in the following sprints, they are expanded and informally tested. Before each release, a so-called validation sprint takes place, during which the finished component is formally documented and fully tested. This may sound like more work, but it actually reduces the time required for the validation by approximately 20 %.
Especially for requirements definition and test management purposes, the agile validation method is more efficient than its traditional alternatives. For individual sprints only short documents or extensions need to be read. In addition, the agile approach features better risk assessment options, thus minimizing product risk. It increases flexibility by allowing users to respond rapidly to changed requirements and to take advantage of learning effects.
Good communication between the development and validation teams is a key factor, and the ARCONDIS validation team knows this particularly well from its own day-to-day projects. The validation officer is a necessary member of the daily sprint meeting, even though the developer teams have been struggling somewhat to adapt to this.
With the right methods and integration within the team, agile validation saves time and money. ARCONDIS recently proved these benefits during a flawlessly executed agile validation project for a mobile application that allow technicians to enter service reports for clean rooms online. Because the validation took place in parallel to the development, the project duration was cut by more than 20 % compared to the traditional approach.
Important questions that need to be clarified:
Anyone attempting to carry out an agile validation project needs to clarify a number of key issues beforehand to ensure that the final product will adhere to all relevant validation and quality requirements.
- How and when will quality management (QM) become involved?
- When will documentation start?
- When are change management and QM processes applied to the product?
- What is the definition of “done” and how is it incorporated into the validation documents?
Validation aims to support products and their quality, but many still see it as a hindrance. Agile validation is flexible, so this negative reputation can finally be overcome. The new concept supports user-friendly mobile applications that are intended to be launched quickly. It ensures that applications remain compliant throughout their entire life cycle, be they new developments, updates, expansions or adaptations.
■ Thomas Ritzengruber-Marlovits