Skip to main content
Log in

Simulating mixed agile and plan-based requirements prioritization strategies: proof-of-concept and practical implications

  • Original Article
  • Published:
European Journal of Information Systems

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8

Similar content being viewed by others

Notes

  1. 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Boehm B (1991) Software risk management: Principles and practices. IEEE Software 8 (1), 32–41.

    Article  Google Scholar 

  • Boehm B (2003) Value-based software engineering. ACM SIGSOFT Software Engineering Notes 28 (2), 4.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Cao L and Ramesh B (2008) Requirements engineering practices: an empirical study. IEEE Software 25 (1), 60–67.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Cockburn A (2000) Writing Effective Use Cases. Addison-Wesley, Boston.

    Google Scholar 

  • Cohen M (2005) Agile Estimating and Planning. Prentice Hall PTR, Englewood Cliffs, NJ.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Saaty TL (1990) Multicriteria Decision Making: The Analytic Hierarchy Process. RWS Publications, Pittsburgh.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Daniel Port.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1057/ejis.2009.19

Keywords

Navigation