Practices and Challenges of Managing
Requirements Interdependencies in Agile Software
Development: A Survey
Indira Nurdiani
∗, Ronald Jabangwe
∗†, Kai Petersen
∗ ∗Blekinge Institute of Technology, Department of Software EngineeringKarlskrona, Sweden
{indira.nurdiani, ronald.jabangwe, kai.petersen}@bth.se
†Lero, The Irish Software Engineering Research Centre, Regulated Software Research Centre,
Dundalk Institute of Technology, Ireland {ronald.jabangwe}@dkit.ie
Abstract—Context: Agile software development is popular among software startups. Managing requirements interdepen-dencies in Agile software development is a relatively unexplored topic. If requirements interdependencies are neglected, it can cause unexpected cost increase and this can be detrimental to startups given the limited resources that they have.
Objective: The objectives of the study is to explore and identify practices and challenges associated with managing requirements interdependencies in Agile software development. Method: We employed a web-based survey as a data collection approach. To analyse the data we used open coding as the data collected was primarily qualitative.
Results: The results shows that 50% of respondents consider requirements interdependencies. Agile practices such as Kan-ban/Scrum board, retrospectives, and iteration planning, were used by the respondents in the context of managing requirements interdependencies. A number of tools like Jira and Git were also identified in the survey. Challenges identified were inefficient processes, incremental modification rate, and dependencies to other services.
Conclusions: Requirements interdependencies should be man-aged early in the startup lifecycle because it can be expensive and complex as the software evolves and grows. Agile software development still lacks support and guidelines for practitioners to manage requirements interdependencies as part of agile methodologies. The findings in this study can help startups with, for example, identifying useful practices and understanding the challenges they will face. However, more research needs to be done to support software startups to maintain an efficient process in managing requirements interdependencies despite their growth.
Index Terms—Agile software development, requirements inter-dependencies, software startup, survey.
I. INTRODUCTION
Software startups typify new and young software companies that aim to grow and eventually become an established com-pany [1]. Agile software development has been increasingly adopted by software statups due to the uncertainties often faced by software startups [2]. With Agile software develop-ment requiredevelop-ments are elicited incredevelop-mentally throughout the development process [3]. However, requirements rarely exist in isolation, they are often related to each other in a complex
manner [4]. If requirements interdependencies are neglected, it can cause unexpected increase of cost and negatively influ-ence project success [4], [5]. Therefore, the management of interdependencies should be considered as early as possible in the startup lifecycle.
This study presents findings on requirements interdepen-dencies in agile software development. Agile software de-velopment is a light-weight dede-velopment methodology that focus on short iterative cycles, and enables flexibily and quick response to change. Requirements interdependencies refer to the relationship or contraints between two or more requirements.
Requirements interdependencies are best discovered as early as possible. We argue that software startups, from conception and as they evolve and grow, should take heed and manage re-quirements interdependencies. As software startups grow they may pivot to new strategies[6] and this results in changes in one or more requirements, and those changes can consequently result in the need to alter other requirements. This is because of the interdependencies between the requirements. Understand-ing these interdependencies can significantly have a positive effect on cost and efficiency of implementing changes. This can improve the competitive edge of software startups that are often running on limited resources and in time constraint environments that demand short time to market cycles in order to succeed. As the startups grow, management of requirement interdependencies helps them to anticipate growth, size and complexity of the software product, and makes it easier to implement changes.
However, in Agile software development requirements are implemented incrementally, and changes are welcomed throughout the development [7]. Therefore, managing inter-dependencies between requirements in an incremental devel-opment, like Agile software develdevel-opment, is critical [8].
Currently the management of requirement dependencies using Agile practices is a relatively unexplored research topic [9], [10]. In this study we explored current practices, challenges, and impacts of requirements interdependencies
in Agile projects through a survey. The results presented help software startups understand the practices and challenges for managing requirements interdependencies, and thus they can use this information as input when planning associated management processes.
The remainder of this paper is structured as follows: Section II presents related work. Section III presents the review steps. Section IV presents the results and analysis of the survey. Section V presents the discussions of the results. Section VI presents the summary and conclusions of the paper.
II. RELATEDWORK
There is an extensive body of knowledge pertaining to requirements interdependencies. However, there is very little empirical work to examine requirements interdependencies in Agile software development [9].
Carlshamre et al. [8] performed a survey that was deployed in five case companies. The survey was aimed to investigate the interdependencies among top 20 requirements from each case company. The results of the survey indicate that 20% of requirements are responsible for 75% of requirements dependencies. The survey is not focused on Agile software development. However, the survey results indicate that re-quirements interdependencies are critical in the incremental development.
An experience report by Schalliol [10] indicates that as the size and complexity of the system grows, it becomes more difficult to sufficiently understand the dependencies among story cards. The experience report also indicates that stories are rarely independent of one another. Just because each story is dedicated to a functionality, does not necessarily mean they are not interdependent. To mitigate the lack of mechanism in Agile software development to manage story interdepen-dencies, additional documentations are created to accompany the story cards. The experience report indicates that managing requirements interdependencies is still a missing part in Agile software development.
Martakis and Daneva [9] conducted an exploratory study on requirements dependencies in Agile software development using focus groups. The results of the study show that require-ments dependencies are also encountered in Agile projects. Requirements dependencies are the responsibility of individual team members. The emphasis of continuous communication in Agile software development is shown to be a critical factor to mitigate risks due to requirements dependencies. A number of tools are used by the participants to keep track of requirements such as, JIRA, pivotal tracker, Rally, etc. Currently there is no dedicated Agile practice to manage requirements dependencies.
There is a growing body of knowledge for software startups, however there are no studies linked to requirements inter-dependencies. This paper serves to initiate the discourse on the topic for software startups. With the popularity of agile within software startups, this is a research topic that requires attention. Early adoption of practices and understanding of challenges for managing requirements interdependencies can
have a significant positive impact on change implementation efficiency and cost going forward as a software startup grows and evolves. Current literature indicates the importance of managing requirements interdependencies in iterative develop-ment like Agile software developdevelop-ment. Despite its importance, managing requirements interdependencies is still a missing part in Agile software development [10]. The lack of empirical investigation of requirements dependencies in Agile indicate the need to further explore and investigate the state of practice with respect to managing requirements interdependencies.
III. RESEARCHMETHODOLOGY
A. Objectives and questions
The aim of this study is to explore current practices and challenges in managing requirements interdependencies in Agile software development. The following research questions are formulated:
• RQ1. What are the practices used by practitioners in
man-aging requirements interdependencies in Agile software development?
• RQ2. What are the challenges faced by practitioners in managing requirement interdependencies in Agile soft-ware development?
To address the aim and answer the research questions, we performed an exploratory qualitative survey.
B. Sampling Strategy
Linaker et al. [11] suggest to define the sample by specify-ing the target audience, unit of analysis, unit of observation, search unit, and source of sampling. In this study they are defined as follows:
• Target audience: Software engineering particularly inter-ested in agile approaches, having the need to manage requirements dependencies. As argued before, the topic is of particular interest for startup companies.
• Unit of analysis: Practitioners working with agile soft-ware development.
• Search unit and source of sampling: Communities and
professional groups discussing Agile software develop-ment, as in such groups experienced practitioners can be found. Personal contacts working with agile software development.
Given the characterization above, our sampling strategy was classified as convenience sampling. The sampling strategy was primarily relying on the first authors’ personal contacts and known professional groups on Agile software development on LinkedIn. As the survey design (see next section) was exploratory we utilized open-ended questions, which are time-intensive to answer. Hence, as a first step we utilized this sampling strategy to get an initial idea about the views and experiences in practice.
C. Survey Design and Components
The data collection instrument is a web-based questionnaire developed using SurveyGizmo 1 2.
In the survey, we provided a definition of what requirements interdependencies entail in the context of Agile software development. In the survey, we used the term “backlog items” that include user story cards, metaphors, epics, etc., to refer to requirements. This survey consisted of primarily open-ended questions, since little is known pertaining to the tools, practices, and challenges in managing requirements interde-pendencies in Agile software development.
The main questions that were asked in the survey are the following:
• Demographic and contexts questions. The respondents were asked to provide demographic information pertain-ing to his/her experience. Also, brief contextual informa-tion pertaining to the development effort that they were involved in.
• Managing requirements interdependencies. we first asked if the respondents considered requirements interdepen-dencies. If the respondents said ”No”, they would be asked to provide a motivation why requirements inter-dependencies were not considered, and then the survey would end them. If the respondents said ”Yes”, they would be directed to the subsequent parts of the survey.
• Practices, tools and challenges. We asked the respondents, in open-ended questions, to describe how they manage and identify requirements interdependencies. We also asked the respondents to list five practices and/or that they used to manage requirements interdependencies. The respondents are also asked to describe what caused requirements interdependencies and their impacts on their projects. In the end of the third part of the survey, we asked the respondents if they face challenges in managing requirements interdependencies. If the respondents said ”No”, the survey ends. If the respondents said ”Yes”, they are then asked to list up to five challenges.
D. Data Analysis
We used qualitative coding as a data analysis approach [12]. Qualitative coding was selected because the survey contained primarily open-ended questions. The steps in the data analysis are as follows:
• The answers from the respondents were tabulated based on a particular question using a spreadsheet. The first author utilized the open coding procedure that is part of the Grounded Theory approach. A text fragment is assigned to a code representing the fragment. This allows to identify similarities and differences in answers, and to count codes, which allowed us to transfer qualitative in-formation into data showing the frequencies and patterns across the answers.
1www.surveygizmo.com
2The survey instrument is available from: http://www.bth.se/com/inu.nsf/
pages/requirements-interdependencies-in-agile-survey
• The second and third authors then reviewed the codes that
were assigned by the first author independently. If the second or third author disagreed with the first author’s code assignment, a discussion was held to resolve the disagreement.
• For the codes, we then counted the number of responses underneath each code.
E. Validity threats
Multiple threats to validity have to be considered when reflecting on the results of the survey. The sampling approach was convenience sampling. Different roles have answered the survey, with the majority being developers followed by Scrum Masters. Hence, other roles such as consultants are not fully represented. Even though interesting and rich data could be obtained, this limits the generalizability of the results.
There is generally a risk that questions may be misunder-stood by the respondents due to different terminologies. Hence, we piloted the survey with a number of colleagues and students at the masters level who have experience in Agile software development.
The length of the survey also provides a risk, as many textual responses are needed. In order to mitigate this risk, the survey was only distributed to individuals that were interested in the research.
The coding of the results may be influenced by the expe-rience of the researchers. Hence, in order to reduce bias, the first author initially did the coding, and then the other authors independently reviewed the results of the coding.
The primary limitation on this study is that the questionnaire in our survey was not limited to just software startups. The target population were those that have experience on agile software development and requirements management. This, however, has a positive implication on the usefulness of our findings as they are based on opinions from experts from industry with key experiences, which are traits that are rare in software startups.
IV. RESULTS ANDANALYSIS
A. Overview
There were 56 people that started the survey. But from the 56 we received 52 complete responses. From these 52, there were practitioners with different roles, which are: (1) developers (28 respondents), (2) analysts (5 respondents), (3) Scrum master/coach (8 respondents), (4) Quality Assurance (QA) and testers (5 respondents) (5) managers (4 respondents), and (6) consultant (2 respondents).
Out of 52 respondents, 26 (50%) respondents indicate that they consider requirements interdependencies, 13 (25%) respondents indicate they do not consider requirements inter-dependencies, and 13 (25%) indicate that they do not know. Table I summarizes the reasons expressed by the respondents why they do not consider requirements interdependencies.
One of the top reasons for not considering requirements interdependencies is the simplicity of the project. Other com-monly reported reasons are because considering requirements
TABLE I
REASONS FOR NOT CONSIDERING REQUIREMENTS INTERDEPENDENCIES
Reason Count Simple/trivial projects/tasks 4 “Not my role” 3 Unawareness 2 Pilot project 1 Adding Overhead 1 No dedicated personnel 1 Modular system components 1
interdependencies is not part of the respondents’ roles and unawareness. A number of respondents also indicate various reasons including, the current project is only a pilot project therefore requirements interdependencies are not considered. Issues related to effort, e.g., adding overhead and lack of personnel, also motivate some respondents for not considering requirements interdependencies. One respondent indicate that the modularity of the system under development allow him/her not to consider requirements interdependencies.
Figure 1 shows how many respondents consider require-ments interdependencies according to roles. Most roles, to some extent, consider requirements interdependencies, except consultants.
When we look back at the reasons for not considering requirements interdependencies and their roles, three devel-opers indicate the reason is because it is not part of their responsibility to consider requirements interdependencies. One Scrum master and one consultant who do not consider require-ments interdependencies indicate that the reason is because the project is simple.
We also examined whether ones’ experience might influence ones’ consideration in managing requirements interdependen-cies. In Figure 2, we can see that respondents with varying work experience may or may not manage requirements in-terdependencies. Respondents with very little experience (less than 1 year) and rather experienced ones (between 6 and more than 10 years) are for the most part involved in managing requirements interdependencies. Respondents with medium
0 5 10 15 20 25 30
Developer Analyst Scrum
master/coach QA/tester Manager Consultant Yes No Don't know
Fig. 1. Managing Requirements Interdependencies According to Roles
experience between 1 - 6 years of experience seem to have varying involvement in managing requirements interdependen-cies. 0 5 10 15 20 25
< 1 year 1 - 3 years 3 - 6 years 6 - 10 years > 10 years
Yes No Don't know
Fig. 2. Managing Requirements Interdependencies and Experience
We also examined respondents’ perception of project suc-cess and managing requirement interdependencies. From Fig-ure 3, we can see that most respondents perceive that their projects are successful and rather successful. Most of the respondents who perceive their projects to be successful (13 out of 21) also indicate that they consider requirements in-terdependencies. Twelve out of 29 respondents who perceive their project to be rather successful also indicate to consider requirement interdependencies.
Respondents who consider requirements interdependencies also perceive their projects to be successful. However, this does not mean that considering requirements interdependencies lead to more successful project. More data needs to be collected to better understand the impact of managing requirements interdependencies and project success
Fifty percent of our respondents indicate that they consider requirements interdependencies in their development effort. However, 25% of them indicate that they do not consider requirements interdependencies for various reasons. The quan-titative data suggests that one’s role does not influence one’s consideration of requirements interdependencies. However, our qualitative data indicates that three developers mentioned that their role does not require them to consider requirements interdependencies.
B. Causes of Requirements Interdependencies
Seventeen respondents provide the causes of requirement interdependencies (see Table II. However, three respondents provided unclear and ambiguous answers, therefore they were not considered.
The following is the list of items that caused requirements interdependencies:
• Task dependencies. One task needs to be completed before the other can begin, e.g., the database needs to be set up before a piece of code that stores data to the database can be written and tested.
0 5 10 15 20 25 30 35 Successful Rather Successful Rather Unsuccessful Unsuccessful Yes No Don't know
Fig. 3. Managing Requirements Interdependencies and Project Success TABLE II
CAUSES OFREQUIREMENTSINTERDEPENDENCIES
Cause Counter
Task Dependencies 4 Functionality Dependencies 4 Technical dependencies 3 Stories included in an iteration 1 System’s lifecycle 1
Don’t know 1
• Technical dependencies. A library source code might be required for another piece of source code to work.
• Functionality dependencies. One functionality might be required for another feature to work, e.g., for a login function to work, an authentication function is needed.
• Stories included in an iteration. How the stories are included in a sprint/iteration.
• System’s lifecycle. The lifecycle of the system under de-velopment dictates how requirements are interdependent. The top three causes of requirement interdependencies seem to be overlapping. On one hand it is true, on the other hand, they represent different point of views. Task dependencies is a high level view of perceiving requirements interdependencies. Functionality dependencies is a rather straight forward cause of requirements interdependencies. If two functionalities are dependent on each other, they have interdependent require-ments. Technical dependencies is a low level view of per-ceiving interdependencies. Although technical dependencies is at code implementation level, they might influence the requirements interdependencies.
C. Tools and Practices
Seventeen respondents indicated how they identify require-ments interdependencies. The respondents answers are sum-marized in Table III.
Four out of 17 respondents indicate that they use a tool to identify requirements interdependencies. Three respondents indicate that identifying requirements interdependencies are identified by another person in his/her team or project. Three respondents indicate they use common sense, logic,
or intuition to identify interdependencies. Meanwhile, two respondents manually check the backlog items to look for interdependencies. Another mechanism to identify require-ments interdependencies is the analysis that is done during an iteration planning to discuss which stories that are included in an iteration.
Other mechanisms were also identified, they include: how metaphors are sliced into different stories to identify require-ments interdependencies, team feedback, task distribution, and a backlog workshop.
We also inquired from the respondents to list practice and/or tools that they adopt to manage requirements interdependen-cies. Respondents can enter up to five practices and/or tools. We have 26 respondents who provide lists of practices and/or tools.
Most respondents use issue tracking and project manage-ment tools. The most popular tool is JIRA (10 out of 26 respondents). Other tools include, Team Foundation Server (two respondents), etc. Apart from commercially available tools, a number of respondents also report the use of bespoke tools that are developed in house. Other tools used to man-age requirements interdependencies include text editors and spreadsheets. The list of tools can be found in Table IV.
Apart from tools, nine respondents also report a number of practices used in managing requirements interdependency, see
TABLE III
REQUIREMENTINTERDEPENDENCIESIDENTIFICATIONMECHANISMS
Interdependencies Identification Mechanisms Count
Using a tool 4
Someone else’s responsibility 3 Common sense/Logic/Intuition 3 Manually check backlog items 2 Analysis during iteration planning 1 The way stories are sliced 1
Team feedback 1 Task distribution 1 Workshop 1 TABLE IV TOOLS Tools Counter Jira 10
In-house developed tool 3 Database repository 2 TFS 2 Git 1 Redmine 1 CASE tool 1 Google docs 1 StoryMaps 1 Spreadsheet 1 Text editor 1 Confluence 1 Replicon 1 Storify 1 Wiki 1 Pronto 1
TABLE V PRACTICES
Practices Counter
Kanban/ Scrum board 8
F2F Meeting 2
Iteration planning meeting 1
Retrospective 1
Check pre-requisite 1
TABLE VI
COMBINATIONS OFPRACTICES AND/ORTOOLS(P&T)
No P&T 1 P&T 2 P&T 3
1 Kanban/Scrum board Google document 2 Spreadsheet Kanban/Scrum board 3 F2F Meeting StoryMaps
4 Kanban/Scrum board Iteration planning meeting Retrospective 5 Jira Kanban/Scrum board
6 Kanban/Scrum board Jira Pronto
7 Jira F2F Meeting
Table V. The use of Agile and non-Agile practices such as, face-to-face meeting (F2F meeting), sprint planning meeting, retrospective, and Kanban/Scrum board is also reported.
We also identified seven respondents who use combinations of Agile practices or combinations of Agile practice and other tools. Table VI summarizes tools and/or practices that are used together. Given the low number of respondents who reported combinations of Agile practices and other tools, we were unable to find common patterns or trends.
Most respondents are relying on tools to manage require-ments interdependencies. Only nine out of 26 respondents indicate that they use Agile practices as part of requirement interdependencies management. Our data also indicates that managing requirements interdependencies is not fully sup-ported by Agile practices. It shows from the low number of respondents who mentioned the use of Agile practices. D. Impacts and Challenges of Requirements Interdependen-cies
A total of 19 people responded to the question. However, five responses were unclear and ambiguous, and hence they were excluded. Based on 14 responses, we identified that requirements interdependencies could have both positive and negative impacts. Table VII summarizes the list of impacts of requirements interdependencies.
Delay is the most commonly reported negative impact of requirements interdependencies. Other negative impacts include conflicts, if one component changes it requires changes in others, and dependencies on other services.
However, not all impacts of requirements interdependen-cies are negative. Requirements interdependeninterdependen-cies can also improve understanding of the system under development, optimize the content of an iteration, and uncover previously unknown bugs.
Our data shows that requirements interdependencies can lead to delays and conflict. However, requirements
interde-pendencies can also have positive impacts. Our survey data is limited, however, it emphasizes the need to further investigate the positive and negative impacts of requirements interdepen-dencies and their effect sizes.
Out of 26 respondents who indicate that they consider requirements interdependencies, only three of them indicate that they face challenges.
Out of three respondents, we identified the following chal-lenges:
• Difficulty to determine effective process to manage de-pendencies
• Difficulty to keep track of dependencies as rate of mod-ification increases.
• Dependencies to other service platform.
Despite the possibility of having negative impacts, most respondents do not find managing requirements interdepen-dencies to be challenging. This could be attributed by the support provided by the tools. However, we cannot make strong inference, since our survey did not inquire why they do not find managing requirement interdependencies challenging.
V. DISCUSSIONS
Our survey shows that 50% of the respondents consider requirements interdependencies. The findings indicate that in Agile software development, managing requirements interde-pendencies is often overlooked. One of the top reasons is because of the simplicity and triviality of the projects. Another top reason that respondents point out is that taking require-ments interdependecies into consideration is not part of his/her roles. Our findings appear to contradict findings reported in [9], which suggested that requirements interdependencies is a concern for all practictioners.
In our survey, we also asked the respondents perception regarding the success of their projects. Most respondents indicate that their projects are successful or rather successful. Most respondents who consider requirements interdependen-cies also indicate their projects are successful. However, one respondent who considers requirements interdependencies indicate that his/her project is unsuccessful. There are also a number of respondents who do not consider requirements interdependencies but still perceive their projects to be rather
TABLE VII
IMPACTS OFREQUIREMENTSINTERDEPENDENCIES
Positive Impacts Count
Improve understanding of the system 1 Improve contents of an iteration 1
Uncover latent bugs 1
Improve coding effort 1
Synchronize planning 1
Negative Impacts Count
Delay 6
Conflicts among team member 1 Ripple effect of changes 1 Dependency on other service platform 1
successful. Existing studies [4], [5] indicate that not consider-ing requirements interdependencies can negatively influence project success. However, the studies done in [4], [5] are not specific to Agile software development contexts. Our survey shows that there is an indication that putting little attention to requirements interdependencies could still lead to successful projects. This finding also raises the question whether Agile software development is the factor that leads to successful projects, despite the lack of consideration on requirements interdependencies. However, more studies need to be conducted to collect more data.
In this study, we also found a number of mechanisms to identify requirements interdependencies. Our findings suggest that practitioners do not have appropriate guidance for how to identify requirements interdependencies in Agile software development. Practitioners are making the best use of the existing tools and practices. This is reflected by a number of respondents who indicate that they use common sense and intuition in identifying requirements interdependencies. Our study shows the need to provide guidance for practitioners to identify requirements interdependencies. Especially, as the size and complexity of the product grows.
Our study also identifies a number of tools and Agile practices that are used in identifying and managing require-ments interdependencies. Although the Agile manifesto advo-cates interactions over tools [13], most respondents use issue tracking or project management tools to manage requirements interdependencies. Some respondents use simple tools like text editor and spreadsheets. However, our survey did not query the respondents on how exactly these tools are used. Some respondents also use Agile practices in combination with other tools to manage requirements interdependencies. Our study shows that Agile practices themselves are not sufficient to manage requirements interdependencies. Our study corrobo-rates with an experience report by Schalioll that shows that Agile practices are not sufficient to manage story interdepen-dencies [10]. Future studies also needs to look into how to combine tools and Agile practices to achieve efficiency in managing requirements interdependencies.
A number of, both positive and negative, impacts of require-ments interdependencies are also identified through the survey. Delay is the most commonly reported negative impact of requirements interdependencies. However, requirements inter-dependencies can also improve iteration planning and coding effort. Our study shows the adverse impacts of requirements interdependencies. This finding further emphasize the need to better understand how requirements interdependencies are managed and what impacts the management approach might lead to.
Despite some negative impacts of requirements interdepen-dencies, most respondents do not find managing requirements interdependencies challenging. One respondent indicates that that the increasing rate of modification makes managing requirements interdependencies challenging. Our finding indi-cate that requirements interdependencies may be manageable at small scale. However, it will become more challenging as
the size and complexity grows, as expressed in [10].
The findings are important for start-ups, and hence need to be clearly positioned in this context. Giardino et al. [14] stress that startups deal with frequent changes and thus agile software development is considered the most viable soft-ware development methodology in the startup context. This makes research on agile generally relevant. As pointed out by Giardino et al. “customers often steer requirements, and developers must be ready to embrace change from day one”. Changing requirements often leads to inconsistencies and confusion if the traceability of interdependent requirements is not well managed. Updating and maintaining requirements thus becomes a major effort, while Paternoster points out that in start-ups the number of resources are very limited [15]. Thus, if traceability between interdependent requirements is not managed well the people working in the startup have to repeatedly figure out how requirements relate to each other, that is without traceability this has to be done over and over again. Given that (a) start-ups use agile processes as their dominant approach [14], and (b) have few resources at hand, it is important for them to consider how to manage the traceability of interdependent requirements in an Agile context. Furthermore, Thorpe et al. [16] point out that it is important to be able to share and understand knowledge. Traceability helps in organizing the knowledge by showing related requirements. Startups may use this paper to identify practices of how traceability is managed in an agile context, which is highly relevant for them as argued above. That also means that research on Agile software development in general is of high relevance for start-ups and needs to be experiences related to experiences with agile need to be shared among the companies.
VI. CONCLUSIONS
The aim of this study is to explore practices and challenges associated with managing requirements interdependencies in Agile software development. To achieve the aim, we conducted a qualitative survey. We received 52 complete responses from practitioners.
Our survey shows that managing requirements interdepen-dencies is being overlooked in Agile software development. One of the main reasons for not considering requirements interdependencies is the simplicity of the project. Our study also identifies a number of Agile practices such as, the use of Kanban/Scrum board, F2F meeting, retrospective, etc., being used in managing requirements interdependencies. The use of Agile practices are often accompanied by the use of other tools such as, spreadsheets and issue tracking tools.
Most respodents do not find managing requirements inter-dependencies challenging. However, we identified a number of challenges, which are: determining effective procees, increas-ing rate of modification, and dependencies on other service platform.
Our study shows that currently Agile practices are not sufficient to support management of requirements interdepen-dencies. More research needs to be done to better understand
how requirements interdependencies are managed in Agile software development.
More research needs to be done to better understand how requirements interdependencies develop as the size and complexity of the product grows. There is also a need to research and understand how to improve the scalability of Agile practices, and the combinations of Agile practices and other tools. The aforementioned future work can furthure help software startups maintain an effective process as they evolve and grow.
The findings of the systematic reviews on software engi-neering start-ups [14], [15] looked at the topics researched. Research on managing requirement interdependencies has not been found in the context of start-ups, though it is important as argued in our paper. Hence, case studies on how to utilize traceability of interdependent requirements in Agile and start-ups using Agile are needed, as the survey was of exploratory nature giving a first insight. That is, it was a first step in understanding how requirements interdependencies is handled, which has to be further investigated. Case studies would be suitable as they complement the survey findings with an in-depth understanding.
ACKNOWLEDGMENTS
We would like to thank Professor Samuel Fricker, Numan Manzoor and Umar Shahzad for their feedback and contri-bution in improving the design and distributing the survey. This research is supported by the Science Foundation Ireland Research Centres Programme, through Lero - the Irish Soft-ware Research Centre (http://www.lero.ie) grant 10/CE/I1855 & 13/RC/20194.
REFERENCES
[1] S. M. Sutton, “The role of process in a software start-up,” IEEE Software, vol. 17, no. 4, p. 33, 2000.
[2] J. Bosch, H. Holmstr¨om Olsson, J. Bj¨ork, and J. Ljungblad, Lean Enter-prise Software and Systems: 4th International Conference, LESS 2013, Galway, Ireland, December 1-4, 2013, Proceedings. Berlin, Heidelberg: Springer Berlin Heidelberg, 2013, ch. The Early Stage Software Startup Development Model: A Framework for Operationalizing Lean Principles in Software Startups, pp. 1–15.
[3] L. Cao and B. Ramesh, “Agile Requirements Engineering Practices: An Empirical Study,” IEEE Software, vol. 25, no. 1, pp. 60–67, Jan 2008. [4] ˚A. G. Dahlstedt and A. Persson, Engineering and Managing Software Requirements. Berlin, Heidelberg: Springer Berlin Heidelberg, 2005, ch. Requirements Interdependencies: State of the Art and Future Challenges, pp. 95–116.
[5] M. Daneva and A. Herrmann, “Requirements prioritization based on benefit and cost prediction: A method classification framework,” in Proceedings of the 34th Euromicro Conference Software Engineering and Advanced Applications (Euromicro 2008), Sept 2008, pp. 240–247. [6] E. Ries, The lean startup: How today’s entrepreneurs use continuous innovation to create radically successful businesses. Crown Books, 2011.
[7] K. Beck, Extreme Programming Explained: Embrace Change. Addison-Wesley Professional, 2000.
[8] P. Carlshamre, K. Sandahl, M. Lindvall, B. Regnell, and J. Natt och Dag, “An industrial survey of requirements interdependencies in soft-ware product release planning,” in the proceedings of the 5th IEEE International Symposium on Requirements Engineering, 2001, pp. 84– 91.
[9] A. Martakis and M. Daneva, “Handling requirements dependencies in agile projects: A focus group with agile software development practi-tioners,” in the proceedings of the 7th IEEE International Conference on Research Challenges in Information Science (RCIS 2013), May 2013, pp. 1–11.
[10] G. Schalliol, “Challenges for analysts on a large xp project,” Marchesi, et al.,(eds.) Extreme Programming Perspectives, Pearson Education, Indianapolis, IN, 2003.
[11] J. Linaker, S. M. Sulaman, R. Maiani de Mello, M. Hoest, and P. Rune-son, “Guidelines for conducting surveys in software engineering,” 2015. [12] C. Robson, Real world research, 2nd ed. West Sussex, UK: John Wiley
& Sons, 2011.
[13] K. Beck, M. Beedle, A. van Bennekum, A. Cockburn, W. Cunningham, M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries, J. Kern, B. Marick, R. C. Martin, S. Mallor, K. Shwaber, and J. Sutherland, “The Agile Manifesto,” The Agile Alliance, Tech. Rep., 2001. [14] C. Giardino, M. Unterkalmsteiner, N. Paternoster, T. Gorschek, and
P. Abrahamsson, “What do we know about software development in startups?” IEEE Software, vol. 31, no. 5, pp. 28–32, 2014.
[15] N. Paternoster, C. Giardino, M. Unterkalmsteiner, T. Gorschek, and P. Abrahamsson, “Software development in startup companies: A sys-tematic mapping study,” Information & Software Technology, vol. 56, no. 10, pp. 1200–1218, 2014.
[16] R. Thorpe, R. Holt, A. Macpherson, and L. Pittaway, “Using knowledge within small and medium-sized firms: A systematic review of the evidence,” International Journal of Management Reviews, vol. 7, no. 4, pp. 257–281, 2005.