Abstract
Context: Requirements Engineering (RE) is one of the key processes in software development. With the advent of agile software development methods, new challenges have emerged for traditional, prescriptive maturity models aiming to support the improvement of RE process. One of the main problems is that frequently the guidelines prescribed by agile approaches have to be adapted to a project’s context to provide benefits. Therefore, it might be naive to believe that it is possible to propose a prescriptive method of RE process improvement that will suit all agile projects without any alteration. Objective: The aim of the paper is to evaluate a hybrid approach to assessing the maturity of agile RE (REMMA), which combines elements of prescriptive and problem-oriented improvement methods. Method: The usefulness, ease of use, and cost-effectiveness of REMMA were investigated through a case study performed in one of the biggest software houses in Central Europe. Results: The results of the case study suggest that the method seems easy to use, affordable, and is perceived as a useful tool to support the process of improving RE practices in agile projects. Its feature of taking into account the dependencies between practices and the necessity to adapt them to a certain project context was regarded as well suited for the agile context. Conclusions: REMMA, which includes two main components: a maturity model for agile RE (a set of state-of-the-art agile RE practices) and an assessment method that makes it possible to evaluate how well the agile RE practices are implemented, seems to be a useful tool supporting improvement of RE in agile projects.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Requirements Engineering (RE) is one of the key processes in software development. It has been observed that when the RE process is orchestrated properly it can favorably influence the whole software development process [3, 6]. Conversely, problems related to requirements were often identified as main causes of the failures of IT projects, e.g., [4, 8, 9, 18].
With the advent of agile software development methods, such as eXtreme Programming (XP) [1], or Scrum [14], new challenges have emerged for RE. The approach to planning projects has changed from traditional—predictive to adaptive [7]. The need for adaptivity is deeply-rooted in the Agile Manifesto [2] that advise teams to regularly reflect on how to become more effective and make use of the lessons they learned. Although this principle makes the team responsible for improving the software development process, many agile software development methods introduce additional roles responsible for driving the improvement process, e.g., Coach in XP [1], or Scrum Master [14] (we will refer to them as agile coaches). The agile coaches are supposed to have decent knowledge of agile methods to help teams find the best solutions to their problems, as well as be able to convince management to allocate necessary resources to support the improvement process.
Among the different tools that agile coaches can use to support the improvement process, they can employ one of the existing agile maturity models (e.g., AMM [11], SAMI [15]). These tools might be useful for discovering problems in their projects, as they prescribe sets of guidelines related to the proper usage of practices in agile projects.
One of such tools is the approach to assessing the maturity of Requirements Engineering practices in agile projects (REMMA). It is a unique approach. It does not only support the improvement of RE by indicating some practices that need to be tweaked but also it allows incorporating information about how the specific context of a project affects the usage of agile RE practices. Thus, REMMA is a hybrid method in the sense that it combines elements characteristic to both prescriptive and inductive approaches to process improvement. REMMA has been proposed by Ochodek and Kopczyńska in [10]. Although it has been developed using Design Science Research, so its components resulted from several empirical studies, it lacks empirical validation. Therefore, in the paper we present a study with which we would like to fill this gap.
We carried out an exploratory case study in a software house context to understand to what extent the method satisfies its requirements: is perceived as useful (i.e., provides results that correctly reflect the current state of implementation of RE practices in a project), easy to use (can be used by project team), and cost-effective (project team can afford using the method).
2 Case Study
We conducted an exploratory case study to characterize and understand an application of REMMA to assess the alignment of practices within the context of an organization simultaneously running several agile software development projects using the guidelines by Runeson et al. [13].
To formulate the research questions we referred to the theoretical framework of the Technology Acceptance Model (TAM) [17], which was used while creating REMMA to define quality attributes that the method should exhibit. The following determinants of Perceived usefulness (PU) and perceived ease of use (PEOU) were selected—job relevance, output quality, and result demonstrability, and self-efficacy (an individual’s belief that he or she can perform the maturity assessment in his or her project), and perception of external control, which is the degree to which an individual believes that organizational and technical resources exist to support the use of the artifact (e.g., management support). Finally, the authors wanted the method to be cost-effective concerning the effort required to perform the assessment. Thus, the following research questions were formulated:
-
RQ1 What is the cost of performing the assessment?
-
RQ2 How easy to use is the method?
-
RQ3 How useful are the results of the assessment?
Case and Subject Selection. In our study, we decided to look for an organization that could provide us with some ‘typical cases’ [19]. We decided to conduct the study in a software house (we refer to it as Company) that at the moment of conducting the study employed nearly 100 Python programmers, which made it one of the largest software development houses in Central Europe. The company ran approximately seven concurrent projects. It had three locations in Poland. One of their main goals is continuously improving and working towards becoming a truly agile organization.
We were allowed to carry out the case study in three of the company’s project teams. We were also able to talk to a person that had worked at the company for 3 months as a Scrum Master (Coach) with the goal to improve their processes (we will refer to this person as Agile Coach). This gave us the chance to investigate the RE practices from multiple perspectives (Agile Coach, project team members) and triangulate the observations made during the case study. The Agile Coach had cross-sectional knowledge of all the projects and was no longer employed at the time. This was important for us and helped reduce potential biases. Prior to the case study, we had asked the Agile Coach to select the projects (cases) to analyze. He chose three projects, A, B, and C that he thought corresponded to outstanding, good and poor projects with respect to how agile practices were implemented at the time he was working for the company.
All projects developed web-based applications using Scrum for small- or medium-sized organizations that were located in different countries. We describe the projects in more detail in Table 1, to the extent that we are allowed.
Data Collection and Analysis Procedure. We decided to use semi-structured interviews to collect data during the study. The interview guide for the study was prepared by one of the researchers (the primary interviewer), based on research questions. As a following step, the guide was reviewed by the secondary interviewer. We additionally decided to extend the model by adding more context factors than those presented in the detailed paper on REMMA [10]. Based on our experience we defined the following factors: adherence to Scrum, use of XP, team location, team communication type, type of budget, and staff retention. Finally, we decided to test the prepared instrumentation during a pilot study. The primary interviewer conducted an interview session with the secondary interviewer as an interviewee. The pilot interview pertained to the three software projects that the secondary interviewer had participated in during the previous year.
After incorporating all the suggestions and remarks from the pilot study, we proceeded to the actual interview sessions. We began by interviewing the Agile Coach in two sessions. Afterward, we met with the representatives of each project team. We organized separate sessions for each project team. Each session was conducted in Polish, and was constituted by five phases:
-
1.
General Questions—the goal was to better understand the company and project context and to inquire about the interviewees’ experience;
-
2.
Assessment—the primary interviewer facilitated the process of interviewees collectively filling in the assessment form about their project using a prototype version of a software tool supporting the REMMA assessment;
-
3.
Presentation of the method—both interviewers explained the mechanism of practice alignment assessment with REMMA by giving a small presentation;
-
4.
Presentation of results—both interviewers discussed the assessment results with the interviewees. Then the interviewers presented results of the assessment performed by the Agile Coach and asked interviewees to discuss the commonalities and differences between these two assessments;
-
5.
Questions about REMMA and Closing up—the interviewers asked about the interviewees’ impressions of using REMMA and closed up the interview.
Before the sessions, we obtained support for the study from the CEO. During the sessions, we observed that the participants were committed, sometimes even enthusiastic. Both interviewers were present during all sessions. The primary interviewer focused on asking questions while the secondary interviewer tried to reflect and ask follow-up questions. All recordings from the sessions were transcribed by the primary interviewer (7.5 h of the audio recordings) and reviewed by the secondary interviewer. Both interviewers analyzed the collected data according to the guidelines of Charmaz [5]. First, initial coding was carried out incident-by-incident, individually by each researcher. Then in vivo codes underwent constant comparison, and finally axial coding was performed by both reviewers working together. At the end, we discussed the results. The part of our coding scheme that we perceive as relevant to answering the research questions is presented in Fig. 1. To make the codes more understandable to the reader, we substituted their names with exemplary quotations they tagged. We also changed the names of categories to questions. Finally, we used font weight to reflect the number of projects in which the underlying code existed.
3 Results
Cost of Performing Assessment (RQ1). The Agile Coach needed 40 min to assess all three projects while projects’ teams assessed their projects in 20 min (C), 28 min (B), and 38 min (A). All interviewees stated that from their perspective using REMMA did not require much effort. Moreover, they regarded it as an acceptable investment for their current projects. They also claimed that they could afford to perform this assessment regularly, e.g., every sprint (Fig. 1).
REMMA was also indicated as well suited for retrospectives. Conversely, one person asserted that he would not use REMMA when there are multiple problems in the project as“investing in anything other than source code development activities would be treated as a waste of resources”. Taking into consideration the quantitative data related to the effort required to perform assessments, and the positive feedback of team members, we might come to the conclusion that the method seems affordable for an agile project, which is in a relatively favorable situation. Nevertheless, using REMMA might not be the best option if a project is in a dramatic situation.
Perceived Ease of Use of the Method (RQ2).(1) Self-efficacy. At first, we focus on identifying possible problems with understanding REMMA and any spontaneous questions asked during the interview. There was a question regarding the interpretation of the practice assessment scale and the rationale behind it, and about the source of the practices. There appeared ten questions concerning several terms used in the names of practices, e.g., “what is an elevator test?”. These required the interviewers to read aloud the description of the ambiguous practice from the REMMA assessment form. The remaining practices and context factors seemed self-explanatory. As the Fig. 1 shows, the majority of interviewees claimed that they would be able to conduct the assessment by themselves. The Agile Coach concluded the interview by stating that “from my perspective, it is a super tool for the Scrum Master, who can perform the assessment by himself without any great effort”. (2) Perception of external control. Taking into account the previously discussed cost-efficiency of REMMA, we can state that participants considered using the method in their projects. In addition, they suggested that the management might be interested in using the method to “get an overview of the projects.”
Usefulness of REMMA (RQ3).Output quality. Project A: The results of both the team members’ and Agile Coach’s assessments showed that all critical and the majority of important practices were performed in this project at the de facto standard level in basic assessment. There were only two important practices identified as never used. Both assessments indicated that there are certain important practices to be improved, and additional practices to be introduced, in the Knowledge sharing area. Project A was believed to be the best Agile project in the company concerning its process quality. The team members seemed very proud of their success in applying Scrum “everybody says that we do it by the book and even better”. Project B: The Agile Coach assessed the project as middling in applying the Agile principles. Around 80% of critical and ca. 75% of important practices were at least normally used. Two critical, one important, and two additional practices were performed at discretionary-use level. Moreover, two important and three additional practices were never used. There were also five negative influencers (practices insufficiently used) and one practice unfit for the context. The Agile Coach triggered some positive changes during his presence in the company. When we asked to comment on the differences between their assessment and the one of the Agile Coach, the team members easily identified the improvement steps that led them to the up-to-date status. Project C: It had the highest number of practices that required improvement. This state was correctly reflected in the results of the assessment—the project obtained the lowest score compared to the others. Only around 20% and 36% of practices were assessed to be de facto standard or normally used by team members and the Agile Coach respectively. In both assessments, there were 8–9 practices that negatively impacted the usage of other practices and 8 practices unfit for the context. Both assessments also indicated that Customer Involvement, Knowledge sharing areas had the lowest result. The assessment of the Planning area by the Agile Coach showed that the practices were at least normally used. While discussing the Agile Coach’s assessment with the team, they confirmed that the Agile Coach had tried to introduce them, but they were rejected soon after.
We can state that all the interviews approved the results of assessment provided by the method. They also confirmed the appropriateness of each major increase or decrease in influence and contextual assessments. Moreover, we analyzed the codes developed during the analysis of transcripts; we assigned them into categories of the project’s problems, strong points, and context factors. We wanted to find out if they were mirrored in the assessments. We observed that 100% of problems and strong points, described by interviewees, were reflected in the assessments results. In addition, we obtained examples of practice implementation for 75% of cases.
Result Demonstrability. Some of the remarks from interviewees concerned the usability of our prototype tool used to support the assessments. Most of them were related to graphical details, such as colors, or layout. We also received comments regarding different forms of presenting the results. Interviewees suggested that they should be provided in a form supporting a top-down approach to analysis. They stated that, first of all, that the method should be able to provide an overall result of assessment—accurately expressed by a single number. For instance, in REMMA the overall assessment is provided in the form of TL and PIP measures, or a chart summarizing the results of the basic assessment. The interviewees supported this idea with the argument that some people may not be interested in the details of assessment. Second, team members might want to receive a quick report on the current status of their project, without needing to analyze the results. On the other hand, agile coaches and team members who are working on improvement may like to receive more detailed reports. Such reports should help them identify potential problems in their project.
Job Relevance. All of the interviewees stated that they were interested in using REMMA in their projects. Moreover, two interviewees were eager to use it in another project right after the interview. During the sessions, we tried to identify which project roles could potentially benefit from applying REMMA in certain situations (see Fig. 1). The participants indicated that Scrum Master would be the role that would use the tool most extensively for supporting the whole improvement process (identification of problems, defining goals, monitoring the process). However, they also believed that a company owner (management) would consider the tool valuable, as it provides comprehensive information about project status. Overall, REMMA was recognized by project stakeholders as an appropriate tool to make the development team more aware of the current status of a project or to support retrospectives. According to the interviewees, the teams that are unaware of how agile practices shall be implemented may find REMMA particularly valuable.
4 Conclusions
To validate the approach to assessing the maturity of Requirements Engineering practices in agile projects (REMMA) proposed method we conducted an exploratory case study in one of the biggest software houses in Central Europe. The results of the study made us expect that the proposed approach might be useful for agile development teams to identify strengths and weaknesses of RE and provoke improvement. Besides, according to the study participants the method seems cost-effective and simple enough to be regularly used in agile software projects.
Finally, we are aware of the limitations of the case study as a validation method, but we believe that the promising results might provoke further implementation and evaluation of the method by practitioners in various organizations. Moreover, we hope that the paper will facilitate the discussion about the role of project context in the assessment of the agile-projects maturity.
References
Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change. Addison-Wesley Professional, Boston (2000)
Beck, K., et al.: The Agile Manifesto. http://agilemanifesto.org. Accessed 28 Aug 2015
Brodman, J.G., Johnson, D.L.: Return on Investment (ROI) from software process improvement as measured by US industry. Softw. Process: Improv. Pract. 1(1), 35–47 (1995)
Charette, R.N.: Why software fails. IEEE Spectr. 42(9), 36 (2005)
Charmaz, K.: Constructing Grounded Theory. SAGE Publications, Thousand Oaks (2006)
Damian, D., Zowghi, D., Vaidyanathasamy, L., Pal, Y.: An industrial case study of immediate benefits of requirements engineering process improvement at the Australian center for Unisys software. Empir. Softw. Eng. 9, 45–75 (2004)
Elshandidy, H., Mazen, S.: Agile and traditional requirements engineering: a survey. Int. J. Sci. Eng. Res. 4(9), 473–482 (2013)
Kappelman, L.A., McKeeman, R., Zhang, L.: Early warning signs of it project failure: the dominant dozen. Inf. Syst. Manag. 23(4), 31–36 (2006)
May, L.: Major causes of software project failures. CrossTalk-J. Defense Softw. Eng. 11(7), 9–12 (1998)
Ochodek, M., Kopczyńska, S., Nawrocki, J.: A hybrid approach to assessing the maturity of Requirements Engineering practices in agile projects (REMMA). http://remma.cs.put.poznan.pl/about
Patel, C., Ramachandran, M.: Agile maturity model (AMM): a software process improvement framework for agile software development practices. Int. J. Softw. Eng. IJSE 2(1), 3–28 (2009)
Petersen, K., Wohlin, C.: Context in industrial software engineering research. In: Proceedings of ESEM, pp. 401–404. IEEE (2009)
Runeson, P., Host, M., Rainer, A., Regnell, B.: Case Study Research in Software Engineering: Guidelines and Examples. Wiley, Hokoben (2012)
Schwaber, K., Sutherland, J.: The Scrum Guide™. The Definitive Guide to Scrum: The Rules of the Game. Scrum.org (2013)
Sidky, A.: A structured approach to adopting agile practices: the agile adoption framework. Ph.D. thesis, Virginia Polytechnic Institute and State University (2007)
The Commission of the European Communities: Commission Recommendation of 6 May 2003 concerning the definition of micro, small and medium-sized enterprises (2003/361/EC)
Venkatesh, V., Bala, H.: Technology acceptance model 3 and a research agenda on interventions. Decis. Sci. 39(2), 273–315 (2008)
Verner, J., Cox, K., Bleistein, S., Cerpa, N.: Requirements engineering and software project success: an industrial survey in Australia and the US. Australas. J. Inf. Syst. 13(1), 1–14 (2005)
Yin, R.: Case Study Research: Design and Methods. SAGE Publications, Thousand Oaks (2003)
Acknowledgements
We thank the employees of Company for the participation in the study. We especially thank Maciej Dziergwa, Oliwia Gogolewska, Jakub Jurkiewicz, Sebastian Kalinowski, Michał Kwiatkowski, Klaudia Prasek, and Dariusz Śmigiel.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Ochodek, M., Kopczyńska, S., Nawrocki, J. (2020). A Case Study on a Hybrid Approach to Assessing the Maturity of Requirements Engineering Practices in Agile Projects (REMMA). In: Chatzigeorgiou, A., et al. SOFSEM 2020: Theory and Practice of Computer Science. SOFSEM 2020. Lecture Notes in Computer Science(), vol 12011. Springer, Cham. https://doi.org/10.1007/978-3-030-38919-2_58
Download citation
DOI: https://doi.org/10.1007/978-3-030-38919-2_58
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-38918-5
Online ISBN: 978-3-030-38919-2
eBook Packages: Computer ScienceComputer Science (R0)