Abstract
In this paper, we address the efficacy and pragmatics of mixing two primary strategies for requirements prioritization in order to incorporate the benefits of both plan-based (PB) and agile development methods while avoiding their drawbacks. As it is intractable to directly study the performance of strategies on real projects, we conducted a comprehensive empirically based simulation under a variety of conditions of requirements dynamism, project size, and duration. Simulation results suggest that a mixed strategy for requirements prioritization seems to work best in all but cost for typical levels of dynamism on average. Our findings also indicate that, as theorized, PB and agile strategies perform well within opposite extremes of dynamism. However, they do not outperform the mixed strategies even within their home grounds – that is large and complex systems with stable requirements for PB, and small and dynamic projects for agile methods. Given the unknown, unknowable, or variable nature of dynamism and the dramatic differences in effectiveness for agile and PB strategies under extreme development scenarios, a mixed strategy appears to yield the best results overall. We introduce two mixed strategies – simply adding cost–benefit (CB) to the agile approach, and a more sophisticated ‘hybrid’ (HY) approach that modulates development iteration size to maximize the expected CB for each iteration. We propose a step-by-step method to implement this HY strategy. We provide a structured analysis of the benefits and assumptions of agile and PB requirements prioritization methods (e.g., Pareto optimization), and outline a framework for analyzing and assessing the effectiveness of strategies including several new metrics. This research can furthermore serve as a framework for future validation of the proposed mixed strategies using actual software projects.
Similar content being viewed by others
Notes
We have been documenting several cases in industry where this phenomenon has actually occurred.
References
Abrahamsson P, Salo O, Ronkainen J and Warsta J (2002) Agile Software Development Methods: Review and Analysis Vol. 478 VTT Publications p. 478.
Aurum A and Wohlin C (2003) The fundamental nature of requirements engineering activities as a decision-making process. Information and Software Technology 45, 945–954.
Balci O (1995) Principles and Techniques of simulation validation, verification and testing. In Proceedings of the 27th Conference on Winter Simulation, pp 147–154, IEEE Computer Society, Washington DC.
Beck K (2001) Extreme Programming: Explained 7th edn, Addison-Wesley, Boston.
Boehm B (1991) Software risk management: Principles and practices. IEEE Software 8 (1), 32–41.
Boehm B (2003) Value-based software engineering. ACM SIGSOFT Software Engineering Notes 28 (2), 4.
Boehm B and Turner R (2004) Balancing agility and discipline: evaluating and integrating agile and plan-driven methods. In Proceedings of the 26th International Conference on Software Engineering, pp 718–719, IEEE Computer Society, Washington DC.
Bui T (1987) Co-oP: a Multiple-Criteria Group Decision Support System for Cooperative Decision Making. In Lecture Notes in Computer Science. Springer Verlag.
Cao L and Ramesh B (2008) Requirements engineering practices: an empirical study. IEEE Software 25 (1), 60–67.
Ceschi M, Sillit A, Giancario S and De Panfils S (2005) Project management in plan-based and agile companies. IEEE Software 22 (3), 21–27.
Cockburn A (2000) Writing Effective Use Cases. Addison-Wesley, Boston.
Cohen M (2005) Agile Estimating and Planning. Prentice Hall PTR, Englewood Cliffs, NJ.
Damian DE and Zowghi D (2002) The impact of stakeholders’ geographical distribution on managing requirements in a multi-site organization. In Proceedings of the 10th Anniversary IEEE Joint International Conference on Requirements Engineering, pp 319–330, IEEE Computer Society, Washington DC.
Hammond KJ and Burke RD (1997) A plan-based approach to information agents. Department of Defense report, Department of Computer Science, University of Chicago, Chicago, IL.
Hofmann HF and Lehner F (2001) Requirements engineering as a success factor in software projects. IEEE Software 18 (4), 58–66.
In HP, Olson D and Rodgers T (2002) Multi-criteria preference analysis for systematic requirements negotiation. In Proceedings of the twenty-sixth International Computer Software and Applications Conference on Prolonging Software Life: Development and Redevelopment, pp 887–892, IEEE Computer Society, Washington DC.
Karlsson J (1996) Software requirements prioritizing. In Proceedings of the second International Conference on Requirements Engineering, p 110, IEEE Computer Society, Washington DC.
Karlsson J and Ryan K (1997) A cost-value approach for prioritizing requirements. IEEE Software 14 (5), 67–74.
Kleindorfer GB, Leindorfer GB and Ganeshan R (1993) The philosophy of science and validation in simulation. In Proceedings of the twenty-fifth conference on Winter Simulation, pp 50–57, ACM, New York, NY.
Lehtola L, Kauppinen M and Kujala S (2004) Requirements prioritization challenges in practice. In Proceedings of 5th International Conference on Product Focused Software Process Improvement, pp 497–508, Kansai Science City, Japan.
Lubars M, Potts C and Richter C (1993) A review of the state of the practice in requirements modeling. In Proceedings of the IEEE International Symposium on Requirements Engineering, pp 2–14, IEEE Computer Society, Washington DC.
Moisiadis F (2002) The fundamentals of prioritising requirements. In Proceedings of the Systems Engineering, Test and Evaluation Conference, pp 108–119, Brisbane, Australia.
Oren TI (1981) Concepts and criteria to assess acceptability of simulation studies: a frame of reference. Communications of the ACM 24 (4), 180–189.
Paetsch F, Eberlein A and Maurer F (2003) Requirements engineering and agile software development. In Proceedings of the Twelfth International Workshop on Enabling Technologies: Infrastructure For Collaborative Enterprises, p 308, IEEE Computer Society, Washington DC.
Patton J (2008) How I stopped worrying and learned to love prioritization. [WWW document] http://www.stickyminds.com/sitewide.asp?Function=WEEKLYCOLUMN&ObjectId=14004&ObjectType=ARTCOL&btntopic=artcol.
Poppendieck M and Poppendieck T (2003) Lean Software Development: An Agile Toolkit. Addison-Wesley, Longman Publishing Co. Inc., Boston, MA.
Port D, Kazman R and Nakao K (2007) Practicing what is preached: 80–20 rules for strategic IV&V assessment. In Proceedings of IEEE Conference on Exploring Quantifiable Information Technology Yields (EQUITY), Amsterdam, Netherlands.
Port D, Olkov A and Menzies T (2008) Using simulation to investigate requirements prioritization strategies. In Proceedings of the conference on Automated Software Engineering.
Ramesh B, Cao L, Mohan K and Xu P (2006) Can distributed software development be agile? Communications of the ACM 49 (10), 41–46.
Regnell B, Host M, Nattoch DJ, Beremark P and Hjelm T (2001) An industrial case study on distributed prioritization in market-driven requirements engineering for packaged software. Requirements Engineering 6 (1), 51–62.
Saaty TL (1990) Multicriteria Decision Making: The Analytic Hierarchy Process. RWS Publications, Pittsburgh.
Sargent R (1998) Verification and validation of simulation model. In Proceedings of the Thirteenth Conference on Winter Simulation, pp 121–130, IEEE Computer Society, Washington DC.
Sivzattian A and Nuseibeh B (2001) Linking the selection of requirements to market value: A portfolio-based approach. In The 7th International Workshop on Requirements Engineering, ACM, Interlaken, Switzerland.
Sjoberg D, Anda B, Arisholm E and Dyba T (2002) Conducting realistic experiments on software engineering. In Proceedings of the International Symposium on Empirical Software Engineering, IEEE Computer Society, Washington DC.
Wiegers K (1999) First things first: prioritizing requirements. Software Development 7 (9), 11–19.
Acknowledgements
The authors thank Alistair Cockburn and Philip Johnson for their suggestions and comments on an earlier version of this paper. We are indebted to the anonymous reviewers and the editors. Their constructive comments have significantly helped improve the clarity and quality of the arguments made in this paper.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Port, D., Bui, T. Simulating mixed agile and plan-based requirements prioritization strategies: proof-of-concept and practical implications. Eur J Inf Syst 18, 317–331 (2009). https://doi.org/10.1057/ejis.2009.19
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1057/ejis.2009.19