A theoretical framework for requirements engineering and process improvement in small and medium software companies - Kabaale, Edward; Mayoka Kituyi, Geoffrey (Business Process Management Journal, 2015)
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.
Keywords: Process design; Process; Process analysis; Software engineering; Process improvement; Reengineering