Causes and Mitigation Practices of Requirement Volatility in Agile Software Development
Abstract
:1. Introduction
“What are the primary causes of RV in software development projects?” and
“Which strategies have agile practitioners found to be effective in reducing RV?”
2. Causes of Requirement Volatility
3. Agile Practices to Reduce the Impact of RV Causes
4. Methods
4.1. Research Approach
4.2. Participants
4.3. Data Collection
4.3.1. Identifying the Prerequisites for Using Semi-Structured Interviews
4.3.2. Retrieving and Using Previous Knowledge
4.3.3. Formulating the Preliminary Semi-Structured Interview Guide
4.3.4. Pilot Testing of the Interview Guide
4.3.5. Presenting the Complete Semi-Structured Interview Guide
- Disclaimer;
- The Definition of Volatility;
- Participants Project Experience;
- Strategies for Mitigating RV;
- Agile Practices to Address RV;
- Challenges and Lessons Learned;
- Final Thoughts and Recommendations;
- Conclusion.
4.4. Data Analysis
- Definition: In the initial stage, we identified the codes that were relevant to the study’s objectives and provided a concise definition for each code. These brief definitions served as a quick reminder during the coding process [26]; see Appendix B.
- Full definition: To ensure consistency and clarity, we further elaborated on each code by providing a more comprehensive definition. This full definition helped to avoid ambiguity and provided clear guidance for the coding process, ensuring that each code was applied consistently across the entire dataset [26]; see Appendix B.
- Example quotes: Lastly, we compiled a selection of quotes from the interview transcripts that exemplified the use of each code. These examples served as benchmarks to ensure accurate and consistent coding throughout the analysis. To enrich the analysis and serve as a quality control procedure, the codebook was updated by researchers iteratively until the study team reached a consensus, confirming a consistent and agreed-upon approach to the analysis. With the codebook in place, the two researchers then proceeded to apply the codes to the interview transcripts and systematically organize and categorize the data [26]. This process allowed for the identification of emerging themes and patterns, which were further refined and iteratively adjusted by the two researchers (A.M., J.M.K.) to establish the credibility and validity of the results as new insights were uncovered. By adhering to this rigorous and structured approach, the study’s thematic analysis ensured a comprehensive understanding of the data, ultimately leading to more robust and meaningful findings. Moreover, to further guarantee trustworthiness, reflexive conversations were conducted to discover whether the researcher’s previous attitudes about RV may have influenced his bias and consequently the outcomes of the analysis.
4.5. Ethical Considerations
4.6. Validity and Reliability
4.6.1. Validity
- Internal validity: This study ensures internal validity by employing a well-defined research design, purposive sampling, and a rigorous data analysis process. The adoption of qualitative research methods, such as semi-structured interviews and thematic analysis, allows for a comprehensive exploration of participants’ experiences related to requirement volatility (RV) in agile software development. This in-depth approach facilitates a profound understanding of the phenomenon and supports the identification of effective management strategies. The emphasis on internal validity is vital for establishing causal relationships while controlling for potential confounding factors [31]. Therefore, it can be argued convincingly that this study exhibits a robust degree of internal validity, adhering to established criteria.
- External validity: In this study, the qualitative research design encompasses participants from diverse countries, industries, and roles, ensuring a wide range of perspectives. The inclusion of such diverse participants contributes to the external validity of the study, as it increases the potential for the generalizability of the research findings to different settings or populations. This emphasis on external validity aligns with the viewpoint emphasized by Patino et al. [31], who emphasized the importance of understanding the broader applicability of research findings. By incorporating participants from varied backgrounds, this study strengthens its external validity and provides a more comprehensive understanding of the phenomenon under investigation.
4.6.2. Reliability
- Consistency: To ensure consistency, this study implements a robust methodology that includes a well-defined interview guide, a standardized transcription protocol, and a meticulous codebook development process. By using the same interview guide for all participants and consistently applying the codebook during thematic analysis, the study guarantees the reliability and consistency of its findings. Kasirye et al. [32] stated that to achieve consistency, their study adheres to standardized protocols, establishes clear criteria, and maintains transparency throughout the research process.
- Reproducibility: This study provides a detailed overview of its research methodology, including the design, participant selection, data collection methods, data analysis process, and ethical considerations. By providing clear and specific descriptions of these aspects, the study enables other researchers to replicate the study and obtain similar results [32].
- Accuracy: To ensure accuracy, this study implements a rigorous data analysis process using NVivo software. This software enables the systematic identification of patterns, themes, and insights within the interview transcripts. The researcher also ensures accuracy by conducting a thorough review of the transcriptions generated by Aviro AI, confirming that the data accurately reflect the participants’ experiences. Kasirye et al. [32] highlighted the importance of rigorous research methods, documenting the research process meticulously, and conducting data collection and analysis procedures with care. These practices contribute to the accuracy and reliability of the study’s findings.
5. Results
5.1. The Primary Causes of RV in Software Development Projects
5.1.1. Market Feedback and Competition
“The market conditions impact the requirements on a very granular level because when market conditions evolve, the organization changes, its shifts, its goal a little bit to accommodate that.”
“We were constantly studying our competitor, and we could see we need to do this better.”
“for us to consider multiple ways, we need to be aware of different things that are evolving outside in the technology market.”
“If we are working in a competitive market, then this also may end up with us changing our strategy. So, for example, you plan to have a kind of feature after six months, but due to some change in the market, you start to see that the competitor is starting to build something that appeals to the customer. So, this may also end up with us changing our plan and trying to build something in a different way or in a faster way.”
“We are done developing, like the MVP, before we do like a test and, you know, get feedback from some beta clients…, …Taking feedback from customers is important… something that gets you to value faster.”
“Within the first two weeks, two months, I’ll be regularly talking to the customer to see how satisfied they are, what they think of it. I wouldn’t push it here to carefully get that data. Feedback is very important.”
“You ask them to have a kind of round on what you have presented today, and then you can ask them, for feedback. So this is gonna be a healthy way to build a good product.”
“good survey where we understand what they need and what they need to be done. And yes, we came across that.” “…most leads of the video calls, we have chats with them. We collaborate because people are not always ready to answer surveys.”
5.1.2. Communication
- The lack of transparency and openness in communication:
“in terms of communication, I think it’s important because most people get assumption is bad…, …if you don’t communicate, there’s no way you can know what’s going on or what the other person is thinking which is very important.”
“So you have this kind of communication and make sure that everyone is aware of what is the correct status of the product…, …. make sure that, people are transparent, during for what they are sharing.”
“If the client is not on board with the development team or the production support team, they might think that, yeah, we are not working on it…, … We want them to have that visibility.”
“I think it’s an art and it’s very few people who have in the software industry, everybody must have that clarity.”
- Missing details in communication:
“you get that requirement, you did the analysis, you did the design, everything is clear, but you communicated things in a bad way or not in a correct way to the development team. So this may end up that you are building a product that no one asks it for, or we have a kind of miscommunication”
“fruit and the developer’s best fruit or what developer would like is an orange. Are we comparing, apples to apples? No, we’re not. they asked for an apple, we’re doing an orange. Well, in the document it might just say, a fruit,”
“When we talk to somebody, it’s impossible to capture everything. So what I do is, I, everything has to be documented somehow…, …So nobody, there’s no room for miscommunication. If you have not, like today you have this recording. If you misunderstood something, I said, you can go back.”
- Poor communication between team members:
“the bad communication, of course, between the employees in the team, it, also decreased the productivity… … the miscommunication, the lack of communication between the team members. Also, I noticed there, within the same project, different people have different information”
“While it was once when the developer forgot which, she forgot to discuss which environment that is, deployed. So that’s one miscommunication that we had. So we, they deployed the effects on two dev, but then testers only have, access to the testing environment.”
- Communication between the development team and external stakeholders:
“managing stakeholders, keeping them updated of what’s happening, especially when it comes to decision making, on products is important to control requirements.”
- Reluctance to discuss and ask questions:
“And if you think that you’re not getting answered, ask more. There is nothing called a stupid question. So move on with your questions, and make sure that you get answers. Make sure that you question until you get the answer that you’re looking for.”
“Sometimes, I also notice that many managers, don’t feel comfortable, to ask, …, … They feel shame to discuss. They feel uncomfortable discussing…., … during one of the meetings, when I met the third person, I asked personally, could it be possible not to ask us the same pre-preparation of the documentation from the team in such a tough, time in one day? She said, yes, of course, but why? But you, the manager didn’t discuss this issue with me. So, which is the lack of communication.”
5.1.3. Stakeholder Engagement
“So we have like weekly meetings, so, not just for the requirements, but also for the product. So, every time, it is, back and forth, between requirements and the product.”
“are always in contact with the customer. So we have like weekly meetings, so, not just for the requirements, but also for the product. So, every time, it is, back and forth, between requirements and the product”.
“And if the stakeholders think, no, maybe this could be changed. Then again, we go back to the same process. So we open the same requirement and update the requirement, and whatever has to be changed, we start working on them.”
“if the customers want to do something very specific to themselves, I must be sure it can be customized, that part…, … showing them a demo and demonstrate how, how this chatbot or how this product is working and what is the capabilities of it, what can be done, and what can be done in the future.”
“Every implementation will undergo some of the other kind of revision, because in the end, we have multiple people, right, pitching in with their opinions, and every person has a different opinion. So with that, some of the other amount of change is expected.”
“the customers and their knowledge. It comes into play in such situations because when they don’t know what they want, they can lead us around the bush.”
“you already know that, okay..., the management will come with their requirements. You might have changed from, customers you can have from, you know, outside team. So you try to touch base with all of those people and, you know, update your requirement before you start work”
5.1.4. Interplay of Expertise and Domain Knowledge
“What happened when feature sets were not understood when the user stories were not understood, is when things went wrong…, …technical understanding plays a huge role. It plays a big role because if you don’t understand the solution properly…, …the issue with not understanding the issue requirement. So you need to have a good technical understanding.”
“If your customer does not have the knowledge and thereby doesn’t understand the value of the technology, the first thing he’ll argue is, why do you need so many hours to implement this? Because we pay and develop hours, right?…, … the truth is, because of their lack of understanding, they don’t know the value of my time and what I’m doing.”
“So knowledge, when people who have prior experience with a certain product come into the picture, almost always a finer detail would be, written down. That happens very often.”
“domain knowledge is kind of a key…, … we would understand much better how the data flows and where it is restricted. And within that restriction, we can have back and forth on these requirements and things like that.”
5.1.5. Regulatory Compliance
“There’s a very probability that when you do see the regulations, what the policy is, the government policies are concerning that program. It could change your requirements a bit…, … it should be part of your plan, your previous planning, or you know, the things you have to check before you kick off. Say, okay, these are the requirements for the product. What do the regulations say about this product? What is the policy out there?”
“the regulations can always change. And, if there is a change, then we will again, rework it. So, because at the end of the day, we can’t sell products without their, without compliance with the regulations.”
“The developer took a database backup from the live environment to test in his test environment back in another country. Now, when he did that, he was violating GDPR laws. If people got to know they’re in big trouble”
“We cannot use the production data either because the environment doesn’t compliment it, or it can be because of this HIPAA violation…, …when being a product owner or being a scrum master or being this business analyst, those are the folks who should communicate that to the development team saying that we should mock up the data,”
“If we are doing something, for China, there are a lot of changes that take place in a very short time, it can also occur, within the project phase. So our project phase is roughly one hour, one year. And, at the start of the project phase, they might have given us a requirement, at the middle of the project phase.”
5.1.6. Requirement Ambiguity and Uncertainty
“So mostly developers don’t like to read. And, so if you, if you give them user stories, and of course if the user stories are much..., … And so basically, because they don’t do that, they kind of make assumptions…”
“If it’s not clear, we take it in our hands and we do what we think is correct.”
“in my experience, most of these things came into play because communication fails, because I don’t think anyone understands what they’re talking about until they have a tangible product.”
“concept is great, it works excellent, the intent is great, but when it comes to the practicality on the floor, the challenges are, it is all about the people that make a difference, okay? If you don’t have the right people, and if you don’t have the rightly experienced people, these things all fall apart”
“The project has been completed, but now the product is in production. But then they’re asking, or the client is asking for a rollback. Why? Because it wasn’t the actual product that they asked for.”
“there would be, clients that aren’t really, defined at the beginning. And, the client would only be able to find out, I need this, type of feature in the product while the software development life cycle is already in the middle. So, this, that’s why this happens. That’s why some requirements come in the middle because of that.”
5.2. Strategies That Agile Practitioners Think Are Effective in Reducing RV
5.2.1. Agile Ceremonies
“sprint events, they help with communication a lot because there’s like touch points in time to time, so that helps, with communication.”
“during sprint reviews, we try to go through what happened during the last sprint and try to see if we can have a demo of what happened. So we see progress in life. Otherwise, it’s more like a two-week status update of what was done. And, sprint for perspective is about three questions where we ask about the good things that happened during the sprint, what were the challenges we faced, and things that can be improved.”
“Communication is super important, within your team and also with, management. So managing stakeholders, keeping them updated of what’s happening…, … important you tell them early on that, you know, keeping that for like, a week or two weeks. So of course, that’s what daily stand-ups are for, from communicating with your internal every day.”
5.2.2. Agile Artifacts
“I usually call this high-level product requirements. So basically that’s what comes out of our ideation…, …We just have like bullet points…, … develop that into like detail product requirement agreement…, …that we break it down in user stories.”
“feature leading user story, and then what is the functionality that this user story is expecting. And so from that, we get, how do we navigate this, certain functionality. So, and then we, create possible scenarios to test this specific, functionality. So for example, they want a login page for, this certain, user or client. So we needed to test using the code of this client. And then we need to create, positive-negative testing. We need to test, we also need to do unit testing. So we, it’s very, there’s gonna be like a lot of scenarios from that.”
“we discuss if we can take it up based on the bandwidth we see for our teams, and then we, create epics and stories out of them.”
“our part is starting with here, acceptance criteria, and we are giving the functional requirements in here for a basic story.”
“So to make sure that we are clear about requirements and what we are building. We do have the UAT or user accepted testing, which means that we have a phase that the user or the customer or the representative or the customer, maybe in that case, the product owner, just reviewed the ticket or what we have built.”
“Typically we’ll use, Wireframes, we’ll use cases, to translate the requirement into something understandable by the technical solutions team.”
“Gathering these all issues created in Jira, in a backlog. I say, this is important to us because we need to use backlog, and we need to, separate the issues and order them respectively their priorities…, … deal with them at the first phase of the project, and we deal with them, a solid backlog, maybe backlog.”
“We have documented all the lessons learned with the customer. For example, the customer has made some changes. There is some change in, the person, the contact person, the, the new contact person has, different opinion about this thing, or the different, preference with the color of this thing, all these things are documented, and we have this as lessons learned, in a file.”
“We use git to document all the code like we have all the code, stored in the git, and if some part of the code has to be changed, we know what has to be changed. And like we have this history of, code implementations and changes. So, it has never been a problem.”
5.2.3. Agile Teams
“you need to have a different kind of person in terms of their experience in a team. If you have only seniors, it, couldn’t be as well done. Or if you have only juniors, it couldn’t, well. You need to have verity, different ages, different cultures, and your team must be, very, verity…, …my team only I have juniors, so they couldn’t, understand very well…, … So all issues were some slower.”
“I need, also a senior developer in my development team for some specific project, not only juniors, because they are very new and they are not, familiar with this kind of, methodology, and they do not easily understand the requirements, and they are, that’s part that causes us to decrease our velocity and maybe causing to rework in the future.”
“If we have a new person in the team who’s not used to the development process, then he’s always given, a partner, godfather kind of person. So he’s always given help who will coordinate with him and make him learn the things that we do. This helps to Clarify requirements and reduce ambiguity”
“It increases the misunderstanding of requirements definitely because we lose some know-how, but, every member, who leaves the project or changes to another project has a period so that he can, educate and he can tell the new person who will continue the work, with all the know-how and, information that is required. So every time, we have somebody who’s going away from this project teaching somebody new how it is done.”
“It’s important to keep your team happy. I would say motivated… mainly, it’s, it’s very important because if your team is happy, then… it’s very helpful for addressing effectively the challenges of any change in requirements. And, you have a team that wants to do work and they’re helpful and you know, they’re innovative as well.”
6. Discussion and Future Directions
7. Challenges and Limitations
8. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Appendix A
Semi-Structured Interview Guide
- This interview is being conducted for research purposes and may be recorded and transcribed for further analysis.
- The information provided will be kept confidential and anonymous.
- Participation in this interview is voluntary, and you may withdraw at any time.
- Open-ended questions will be asked, but you are free to discuss any additional information you feel is relevant.
- The results of this interview may be published, but no personal identifying information will be included.
- By agreeing to participate in this interview, you acknowledge that you have understood the disclaimer.
- What is Requirement Volatility?
- General Questions
- Name
- Country of Residence or Work Location
- How many years of experience do you have in agile software development projects?
- What is your role in the Agile software development process?
- Size of the organization (number of employees)
- Requirement Volatility
- In your experience, what is the main source of changing requirements for software products?
- Major impacts of requirement volatility on Agile software development projects?
- How has RV affected project timelines, budgets, and overall quality?
- How do you manage requirement volatility in software development projects?
- How do you document changes in requirements?
- Communication
- Have you experienced any communication barriers during software development projects in the past?
- Have you ever faced any misunderstandings or requirement changes due to communication breakdowns in software development projects?
- Stakeholder
- How important do you believe stakeholder engagement is for the success of software development projects?
- How frequently do you use user stories to convey requirements?
- Expertise
- How often does your team face difficulties in understanding and interpreting requirements?
- To what extent do you think a lack of domain knowledge among software developers or customers impacts requirements, compliance, and security?
- Regulatory Compliance
- To what extent do you believe regulatory compliance affects requirement volatility in software development projects?
- How do you ensure that the software development process meets the required regulatory standards?
- Strategies for Mitigating Requirement Volatility:
- What strategies have you found to be effective in mitigating requirement volatility in Agile projects?
- How do you incorporate these strategies into your Agile development process?
- Can you share any specific examples or case studies where these strategies were particularly successful?
- Agile Practices to Address Requirement Volatility
- In your opinion, what improvements could be made to Agile practices to address requirement volatility more effectively?
- Are there any tools or techniques that could be particularly beneficial in managing requirement volatility in Agile projects?
- How can organizations support Agile teams in adapting to and managing requirement volatility more effectively?
- How can Agile ceremonies, such as daily stand-up meetings and sprint reviews, improve communication among team members?
- Challenges and Lessons Learned
- What challenges have you encountered while managing requirement volatility in Agile projects?
- Can you share any lessons learned or best practices that have emerged from your experiences in managing requirement volatility?
- Final Thoughts and Recommendations
- Based on your experiences, what recommendations would you give to Agile practitioners seeking to better manage requirement volatility in their projects?
- Is there anything else you’d like to share or any additional insights regarding requirement volatility in Agile software development?
- Conclusion
Appendix B
- Brief definition: Market feedback and competitionFull definition: Influence of customer feedback, competitor strategies, and market trends on the project requirements. Example: Introduction of a new product by a competitor, customer feedback suggesting a change in product features.
- Brief definition: Lack of communicationFull definition: Insufficient or ineffective communication among project stakeholders. Example: Misunderstandings between team members, unclear project objectives or requirements.
- Brief definition: Lack of stakeholder engagementFull definition: Inadequate involvement of project stakeholders in decision-making and collaboration. Example: Stakeholders not participating in project meetings, limited input from stakeholders during project planning.
- Brief definition: Lack of expertiseFull definition: Limited knowledge or skills among team members, leading to difficulties in project execution. Example: Team members not familiar with specific technologies, lack of experience in a particular domain.
- A brief definition: Regulatory compliance definitionFull definition: Adherence to legal, industry, or organizational regulations and standards. Example: Compliance with data protection regulations, meeting industry-specific safety requirements.
- Brief definition: Requirement ambiguity and uncertaintyFull definition: Unclear or ill-defined project requirements leading to confusion and misinterpretation. Example: Vague project goals, conflicting requirements from different stakeholders.
- A brief definition: Agile CeremoniesFull definition: Regular meetings and events in agile project management that facilitate communication, collaboration, and decision-making. Example: Sprint planning, daily stand-ups, sprint reviews, and sprint retrospectives.
- A brief definition: Agile ArtifactsFull definition: Tangible outputs in Agile project management used to track progress and facilitate collaboration. Examples: Product backlog, sprint backlog, user stories, and burndown charts.
- A brief definition: Agile TeamFull definition: A cross-functional, self-organizing group of individuals working together to achieve common project goals in an Agile environment. Example: Developers, testers, designers, and product owners collaborating to deliver increments of the product.
References
- Nerur, S.; Mahapatra, R.; Mangalaraj, G. Challenges of migrating to agile methodologies. Commun. ACM 2005, 48, 72–78. [Google Scholar] [CrossRef]
- Alsaqaf, W.; Daneva, M.; Wieringa, R. Understanding Challenging Situations in Agile Quality Requirements Engineering and Their Solution Strategies: Insights from a Case Study. In Proceedings of the 2018 IEEE 26th International Requirements Engineering Conference (RE), Banff, AB, Canada, 20–24 August 2018. [Google Scholar]
- Curcio, K.; Navarro, T.; Malucelli, A.; Reinehr, S. Requirements engineering: A systematic mapping study in agile software development. J. Syst. Softw. 2018, 139, 32–50. [Google Scholar] [CrossRef]
- Anjum, S.K.; Wolff, C.; Toledo, N. Adapting Agile Principles for Requirements Engineering in Automotive Software Development. In Proceedings of the 2022 IEEE European Technology and Engineering Management Summit (E-TEMS), Bilbao, Spain, 22–24 May 2022. [Google Scholar]
- Dasanayake, S.; Aaramaa, S.; Markkula, J.; Oivo, M. Impact of requirements volatility on software architecture: How do software teams keep up with ever-changing requirements? J. Softw. Evol. Process 2019, 31, e2160. [Google Scholar] [CrossRef]
- Madampe, K.; Hoda, R.; Grundy, J. A Faceted Taxonomy of Requirements Changes in Agile Contexts. IEEE Trans. Softw. Eng. 2022, 48, 3737–3752. [Google Scholar] [CrossRef]
- Kassab, M.; DeFranco, J.; Graciano Neto, V. An Empirical Investigation on the Satisfaction Levels with the Requirements Engineering Practices: Agile vs. Waterfall. In Proceedings of the 2018 IEEE International Professional Communication Conference (ProComm), Toronto, ON, Canada, 22–25 July 2018. [Google Scholar]
- Daud Haiderzai, M.; Vranić, V. Identifying and Involving the Real End User in Software Development: Towards a Pattern Language. In Proceedings of the 27th European Conference on Pattern Languages of Programs, Irsee, Germany, 6–10 July 2022; pp. 1–11. [Google Scholar]
- Gupta, A.; Poels, G.; Bera, P. Using Conceptual Models in Agile Software Development: A Possible Solution to Requirements Engineering Challenges in Agile Projects. IEEE Access 2022, 10, 119745–119766. [Google Scholar] [CrossRef]
- Salmani, A.; Imani, A.; Bahrehvar, M.; Duffett-Leger, L.; Moshirpour, M. A Data-Centric Approach to Evaluate Requirements Engineering in Multidisciplinary Projects. In Proceedings of the 2022 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Prague, Czech Republic, 9–12 October 2022. [Google Scholar]
- Canedo, E.D.; Toffano Seidel Calazans, A.; Cerqueira, A.J.; Teixeira Costa, P.H.; Seidel Masson, E.T. Agile Teams’ Perception in Privacy Requirements Elicitation: LGPD’s compliance in Brazil. In Proceedings of the 2021 IEEE 29th International Requirements Engineering Conference (RE), Notre Dame, IN, USA, 20–24 September 2021. [Google Scholar]
- Moyon, F.; Beckers, K.; Klepper, S.; Lachberger, P.; Bruegge, B. Towards Continuous Security Compliance in Agile Software Development at Scale. In Proceedings of the ICSE ‘18: 40th International Conference on Software Engineering, Gothenburg, Sweden, 29 May 2018; pp. 31–34. [Google Scholar]
- Moyón, F.; Méndez, D.; Beckers, K.; Klepper, S. How to Integrate Security Compliance Requirements with Agile Software Engineering at Scale? Product-Focused Software Process Improvement. In Proceedings of the 21st International Conference, PROFES 2020, Turin, Italy, 25–27 November 2020. [Google Scholar]
- Madampe, K.; Hoda, R.; Singh, P. Towards understanding emotional response to requirements changes in agile teams. In Proceedings of the ICSE ‘20: 42nd International Conference on Software Engineering, Seoul, Republic of Korea, 27 June–19 July 2020; pp. 37–40. [Google Scholar]
- Herdika, H.R.; Budiardjo, E.K. Variability and Commonality Requirement Specification on Agile Software Development: Scrum, XP, Lean, and Kanban. In Proceedings of the 2020 3rd International Conference on Computer and Informatics Engineering (IC2IE), Yogyakarta, Indonesia, 15–16 September 2020. [Google Scholar]
- Lorca, A.L.; Burrows, R.; Sterling, L. Teaching motivational models in agile requirements engineering. In Proceedings of the 2018 IEEE 8th International Workshop on Requirements Engineering Education and Training (REET), Banff, AB, Canada, 21 August 2018; IEEE: Piscataway, NJ, USA; pp. 30–39. [Google Scholar]
- Project Management Institute. A Guide to the Project Management Body of Knowledge (PMBOK Guide), 6th ed.; Project Management Institute: Newtown Square, PA, USA, 2017. [Google Scholar]
- Moran, A. Managing Agile: Strategy, Implementation, Organization and People; Springer International Publishing: Zurich, Switzerland, 2015. [Google Scholar]
- Tenny, S.; Brannan, G.D.; Brannan, J.M.; Sharts-Hopko, N.C. Qualitative Study; StatPearls Publishing: Treasure Island, FL, USA, 2017. [Google Scholar]
- Dybå, T.; Prikladnicki, R.; Rönkkö, K.; Seaman, C.; Sillito, J. Qualitative research in software engineering. Empir. Softw. Eng. 2011, 16, 425–429. [Google Scholar] [CrossRef]
- Campbell, S.; Greenwood, M.; Prior, S.; Shearer, T.; Walkem, K.; Young, S.; Bywaters, D.; Walker, K. Purposive sampling: Complex or simple? Research case examples. J. Res. Nurs. 2020, 25, 652–661. [Google Scholar] [CrossRef] [PubMed]
- Palinkas, L.A.; Horwitz, S.M.; Green, C.A.; Wisdom, J.P.; Duan, N.; Hoagwood, K. Purposeful Sampling for Qualitative Data Collection and Analysis in Mixed Method Implementation Research. Adm. Policy Ment. Health Ment. Health Serv. Res. 2015, 42, 533–544. [Google Scholar] [CrossRef] [PubMed]
- Guest, G.; Bunce, A.; Johnson, L. How Many Interviews Are Enough?: An Experiment with Data Saturation and Variability. Field Methods 2006, 18, 59–82. [Google Scholar] [CrossRef]
- Kallio, H.; Pietilä, A.-M.; Johnson, M.; Kangasniemi, M. Systematic methodological review: Developing a framework for a qualitative semi-structured interview guide. J. Adv. Nurs. 2016, 72, 2954–2965. [Google Scholar] [CrossRef] [PubMed]
- Bryman, A. Social Research Methods, 4th ed.; Oxford University Press: Oxford, UK; New York, NY, USA, 2012. [Google Scholar]
- MacQueen, K.M.; McLellan, E.; Kay, K.; Milstein, B. Codebook Development for Team-Based Qualitative Analysis. CAM J. 1998, 10, 31–36. [Google Scholar] [CrossRef]
- Lumivero. Company—About Us—Lumivero. Denver. 2023. Available online: https://lumivero.com/company (accessed on 19 May 2023).
- Leech, N.L.; Onwuegbuzie, A.J. Beyond constant comparison qualitative data analysis: Using NVivo. Sch. Psychol. Q. 2011, 26, 70–84. [Google Scholar] [CrossRef]
- Rana, J.; Dilshad, S.; Ahsan, M.A. Ethical Issues in Research. In Global Encyclopedia of Public Administration, Public Policy, and Governance; Farazmand, A., Ed.; Springer International Publishing: Cham, Switzerland, 2021. [Google Scholar]
- Leung, L. Validity, reliability, and generalizability in qualitative research. J. Fam. Med. Prim. Care 2015, 4, 324–327. [Google Scholar] [CrossRef] [PubMed]
- Patino, C.M.; Ferreira, J.C. Internal and external validity: Can you apply research study results to your patients? J. Bras. Pneumol. 2018, 44, 183. [Google Scholar] [CrossRef] [PubMed]
- Kasirye, F. A Conceptual Paper on Ensuring Quality in Qualitative Research; Department of Communication, International islamic University Malaysia: Kuala Lumpur, Malaysia, 2021. [Google Scholar]
- Ke, T.T.; Sudhir, K. Privacy rights and data security: GDPR and personal data markets. Manag. Sci. 2023, 69, 4389–4412. [Google Scholar] [CrossRef]
- Neto, F.G.D.O.; Horkoff, J.; Knauss, E.; Kasauli, R.; Liebel, G. Challenges of Aligning Requirements Engineering and System Testing in Large-Scale Agile: A Multiple Case Study. In Proceedings of the IEEE 25th International Requirements Engineering Conference Workshops, Lisbon, Portugal, 4–8 September 2017; pp. 315–322. [Google Scholar]
- Oakley, A. HIPAA, HIPPA, or HIPPO: What Really Is the Heath Insurance Portability and Accountability Act? Biotechnol. Law Rep. 2023, 42, 306–318. [Google Scholar] [CrossRef]
- Mäkiö, E.; Mäkiö, J.; Kowal, J. Implementation of Task-Centric Holistic Agile Approach on Teaching Cyber Physical Systems Engineering. In Proceedings of the America s Conference on Information Systems: A Tradition of Innovation, AMCIS 2017, Boston, MA, USA, 10–12 August 2017. [Google Scholar]
- Marnada, P.; Raharjo, T.; Hardian, B.; Prasetyo, A. Agile project management challenge in handling scope and change: A systematic literature review. Procedia Comput. Sci. 2022, 197, 290–300. [Google Scholar] [CrossRef]
- Beck, K.; Beedle, M.; Van Bennekum, A.; Cockburn, A.; Cunningham, W.; Fowler, M.; Grenning, J.; Highsmith, J.; Hunt, A.; Jeffries, R.; et al. Manifesto for Agile Software Development. 2001. Available online: https://agilemanifesto.org/ (accessed on 20 April 2023).
- Cohen, D.; Lindvall, M.; Costa, P. An Introduction to Agile Methods. Adv. Comput. 2004, 62, 1–66. [Google Scholar] [CrossRef]
- Bano, M.; Zowghi, D.; da Rimini, F. Power and Politics of User Involvement in Software Development. In Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 2018, Christchurch, New Zealand, 28–29 June 2018; pp. 157–162. [Google Scholar]
- Dalpiaz, F.; Brinkkemper, S. Agile Requirements Engineering with User Stories. In Proceedings of the 2018 IEEE 26th International Requirements Engineering Conference (RE), Banff, AB, Canada, 20–24 August 2018. [Google Scholar]
- Nilsson Tengstrand, S.; Tomaszewski, P.; Borg, M.; Jabangwe, R. Challenges of Adopting SAFe in the Banking Industry—A Study Two Years after Its Introduction. In Proceedings of the 22nd International Conference on Agile Software Development, Virtual Event, 14–18 June 2021. [Google Scholar]
- Villamizar, H.; Kalinowski, M.; Viana, M.; Fernandez, D.M. A Systematic Mapping Study on Security in Agile Requirements Engineering. In Proceedings of the 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Prague, Czech Republic, 29–31 August 2018; pp. 454–461. [Google Scholar]
- Smith, J.A.; Larkin, M.H.; Flowers, P. Interpretative Phenomenological Analysis: Theory, Method and Research; Sage: London, UK, 2009. [Google Scholar]
Code | Country | Role | Experience | Company Size | Duration | Word Count |
---|---|---|---|---|---|---|
P1 | Austria | Product Owner | 3 | 600 | 53 | 8388 |
P2 | Nigeria | Product Manager | 3 | 300 | 66 | 9314 |
P3 | USA | Lead Analysts | 3 | 33k | 41 | 6289 |
P4 | Philippines | Tester | 1 | 50 | 51 | 5687 |
P5 | Armenia | Product Owner | 7 | 70 | 52 | 6483 |
P6 | Sri Lanka | Business Analyst | 1.5 | 50 | 64 | 11,226 |
P7 | Germany | Scrum Master | 12 | 50 | 70 | 8934 |
P8 | Egypt | Scrum Master | 8 | 200 | 69 | 11,689 |
P9 | Canada | Product Owner | 10 | 2000 | 50 | 7123 |
P10 | Turkey | Scrum Master | 6 | 1500 | 91 | 10,583 |
P11 | USA | Scrum Master | 7 | 600 | 83 | 12,085 |
P12 | Sweden | Squad Lead | 5 | 75k | 61 | 8055 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Mohammad, A.; Kollamana, J.M. Causes and Mitigation Practices of Requirement Volatility in Agile Software Development. Informatics 2024, 11, 12. https://doi.org/10.3390/informatics11010012
Mohammad A, Kollamana JM. Causes and Mitigation Practices of Requirement Volatility in Agile Software Development. Informatics. 2024; 11(1):12. https://doi.org/10.3390/informatics11010012
Chicago/Turabian StyleMohammad, Abdulghafour, and Job Mathew Kollamana. 2024. "Causes and Mitigation Practices of Requirement Volatility in Agile Software Development" Informatics 11, no. 1: 12. https://doi.org/10.3390/informatics11010012
APA StyleMohammad, A., & Kollamana, J. M. (2024). Causes and Mitigation Practices of Requirement Volatility in Agile Software Development. Informatics, 11(1), 12. https://doi.org/10.3390/informatics11010012