What Do We Know and How Well Do We Know It? Current Knowledge about Software Engineering Practices

Presented on 20 Jul at ICSOFT 2015

Keynote Lecturer: David Budgen

Abstract: The various prescriptions for how software systems can be developed and maintained make wide use of a set of ‘practice models’ that have become established over the years. Many of these were originally formulated by expert practitioners, usually by codifying successful and largely individual experiences (such as plan-driven forms for software design, software design patterns, testing strategies, etc.). Demonstration of their effectiveness has likewise tended to be essentially anecdotal, making it difficult for the would-be adopter to determine how useful a particular practice might be within their own environment.
Over the past thirty years there has been a growing interest in using empirical studies to help evaluate the effectiveness of software engineering techniques. However, the reliance upon individual human skill that is usually involved in software development, and the difficulty of obtaining adequate number of participants for such studies, also means that these have rarely been able to provide any definitive guidance about how, when and where adoption of a given technique might be appropriate.
More recently, the evidence-based approach has focused upon aggregating studies of a particular phenomenon in order to obtain stronger evidence about effectiveness.  My talk will review what we mean by evidence-based research practices, and discuss how far these have currently been able to provide the sort of guidance that may be able to inform practice and teaching, as well as how they need to evolve in order to achieve better quality outcomes.