Purpose
– Requirements engineering (RE) and process improvement has been identified as one of the key factors for improving software quality. Despite this, little scholarly work has been done on developing ways to improve the RE process. The situation of RE and process improvement is even worse in small and medium enterprises that produce software. Consequently, the quality of software being produced by these companies has kept deteriorating. The purpose of this paper is to design a framework that will help small and medium software companies improve their RE processes in order to compete favorably with larger software companies, more especially in terms of software quality.
Design/methodology/approach
– A qualitative research approach was adapted. Four software companies in Uganda were purposively selected to participate in the study. Data were collected using questionnaires. The requirements for designing the framework were gathered and refined from both primary and secondary data.
Findings
– The key requirements for process improvement in small and medium software companies were identified as user involvement, use of evolutionary requirements engineering process improvement (REPI) strategy, change management, training and education, management support and commitment.
Practical implications
– The designed framework was validated to ensure that it can be applied in RE and process improvement in small and medium software companies. Validation results show that the proposed framework is applicable and can be used to improve RE and process improvement in small and medium software companies.
Originality/value
– The paper presents an improvement of the systematic approach to REPI by Kabaale and Nabukenya which is decomposed for easy understanding by non-technical readers and users.
Software development usually follows well known process models and standards for development processes. However, these are usually diverse and described in natural language which complicates their automation, adaptivity and verification. The need for process formalisation has long been highlighted, and we have provided a formalisation and translation algorithm to that effect in earlier work. However, to systematically and faithfully formalise heterogeneous processes from different standards and process models, there is a need to utilise uniform concepts to underpin the formalisation process. Metamodels and ontologies have been explored recently to lay a foundation for structuring and expressing additional rigour to process formalisation. In this study, we develop an axiom based metamodel utilising powertype patterns as a conceptual framework to underpin homogeneous process formalisation. The advantage of an axiomatic and powertype based metamodel approach lies in its potential to determine the metamodel basic constituents and formalism as well as its extensibility and adaptability. We formalise the metamodel using ontologies while adopting use cases from ISO/IEC 29110 and ISO/IEC 24744 standards for metamodel illustrations. Ontology based process descriptions enable process automated verification and adaptivity capability through the use of ontology reasoning support engines.
Software process standards and models encapsulate best practices and guidelines for managing and engineering software. For easy accessibility, process standards are usually prescribed in natural language. However, natural language based process specifications can be inconsistent and ambiguous that makes it difficult to monitor and verify if they have been fully implemented and adhered too in a given software project. Besides the process of defining and documenting the necessary evidence to comply with process standard requirements is often manual, time consuming and laborious. In earlier studies, we developed a translation scheme and metamodel for consistent and uniform software process formalisation. In the current study, we leverage the formal process specification to develop a two-step formal process verification approach; first we extract process requirements from the standard documents and translate them into logical axioms. We then augment these axioms with additional information in a process verification ontology. This ontology is then utilised in conformance verification of a performed process. We demonstrate the feasibility of our approach with software requirements analysis process and a case study.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.