Product Verification and Validation during Software Development

Andreas Slott Jensenius

AbstractThe software development process of an organization can play a vital role for the success of the organization. Choosing a methodology or choosing not to use a methodology, can be a critical choice. An important reason for using a software development methodology in the first place is to be able to deliver products on time and budget. However, some methodologies does not include answers to the two questions "Are we building the product right?" and "Are we building the right product?", which is known as verification and validation respectively. Instead this is left up to developers to obtain these goals with no clear guideline or structure. Other methodologies focus on other areas, which might be verification and validation related, but they are then restrictive in their use and not widely applicable. The nature of software products is that they are used everywhere, and this large variance is also reflected in the large variance when it comes to different projects and teams. Many different methodologies exists - most with either niche uses, or too general to provide meaningful contributions to all three aspects of development - being on time and budget, verification, and validation.

This project aims to develop a methodology that encompasses both getting the product built on time and budget, but also focus on the questions of verification and validation, while being adaptable to a large range of projects and teams.

To accomplish this goal, state of the art methodologies was investigated and taken apart to understand their individual practices, what areas they are challenged in, and where they excel. Scrum was chosen as the basis of the framework, both for it's wide usage in the industry but also for being flexible and light on restrictive, inter-dependent practices.

The understanding from this literature study is then used to develop a framework for software development, that allow it's users to extent the core of the framework using elements in a provided toolbox to suit the needs of each individual team and project. The practices within both the core and toolbox of the framework are all aimed to deliver software products of sufficient quality, built to provide value to the customer, and on time and budget.

The developed framework is tested using a real project provided by IT Minds. The results of this test has been mostly positive, with some suggestions and improvements suggested both by the author, the project owner, and a project lead from IT Minds. The major selling points of the framework are it's information gathering process, which allows developers to really understand their customer, and the adaptability to many different projects- and team types which the toolbox provides.
TypeMaster's thesis [Industrial collaboration]
Year2015
PublisherTechnical University of Denmark, Department of Applied Mathematics and Computer Science
AddressRichard Petersens Plads, Building 324, DK-2800 Kgs. Lyngby, Denmark, compute@compute.dtu.dk
SeriesDTU Compute M.Sc.-2015
NoteDTU supervisor: Christian Probst, cwpr@dtu.dk, DTU Compute
Electronic version(s)[pdf]
Publication linkhttp://www.compute.dtu.dk/English.aspx
BibTeX data [bibtex]
IMM Group(s)Computer Science & Engineering