Fakulteta za računalništvo in informatiko
Opredelitev izhodišč za merjenje in izboljševanje tehnične učinkovitosti in socialne sprejetosti metodologij razvoja programske opreme
Mentor: doc. dr. Marjan Krisper
Somentor: prof. dr. VLADISLAV RAJKOVIČ
Definition of the basis for measuring and improving technical efficiency and social adoption of software development methodologies
A software development methodology can be briefly defined as a recommended means to achieve the development of program systems, based on a set of rationales and an underlying philosophy. It usually includes the definition of phases, procedures, tasks, rules, techniques, guidelines, documentation and tools. Today, many different methodologies exist that should pave the way for more efficient software development and higher quality software. However, in practice not many organizations use formally defined software development methodologies. Three important causes can be identified that at lest partially explain the phenomenon: methodologies are not attuned to the actual organisation and project needs, methodologies do not fit the specific social and cultural characteristics of the development team and the organisation, and the approaches to the introduction of methodologies are often inappropriate. In the past, researchers dealt mostly with technical aspects of methodologies, almost completely omitting their social dimension. That resulted in the methodology rejection as many researchers nowadays recognize. Consequently, in the recent years, the importance of people and their attitude towards methodologies is being stressed, and the research dealing with the methodology adoption is gaining more and more recognition. Unfortunately, the two research areas, one dealing with technical aspects and another dealing with social aspects, remain almost completely unrelated.
The primary objective of the dissertation is to define the basis for measuring and improving technical efficiency and social adoption of software development methodologies. The main contribution is a framework for evaluation and improvement of methodologies that merges both technical and social aspects. The framework defines all steps necessary for evaluation and improvement of methodologies. The particularity of the framework is its ability to consider a methodology at different levels of granularity: from single elements to larger methodology parts. The framework is designed in a way that allows for adaptation to the organisation needs and enables further improvements and enhancements. The framework comprises of four main components: a model for the evaluation of methodology efficiency and adoption, a model for the evaluation of changeability of a methodology and its environment, scenarios for methodology improvements, and a process for continuous maintenance and improvement of a methodology. The framework enables an organisation to precisely evaluate the efficiency and the adoption of each part of its methodology. Using the results of the evaluation the organisation can create suitable scenarios for improvement of the methodology efficiency and acceptability, and scenarios for introduction of the improved methodology parts. The framework enables organisation to continuously evaluate and improve its methodology.
The dissertation also defines the basis for development of a software tool to support the framework. The tool is especially important for evaluation of methodologies on the level of a single element. The tool comprises of: an evaluation module, an analysis module and a module for the creation of improvement scenarios. Prototypes of two modules were developed: a prototype of the evaluation module and a prototype of the analysis module.
The framework was partially tested in two Slovenian organisations dealing with software development. In the first case, using previously mentioned prototypes, every single element of the organisation’s methodology was evaluated. In the second case classical paper questionnaires were used to evaluate larger parts of the methodology. Both tests confirmed the practical value of the framework.