Case studies in just-in-time requirements analysis

Many successful software projects do not follow the commonly assumed best practice of engineering well-formed requirements at project inception. Instead, the requirements are captured less formally, and only fully elaborated once the implementation begins, known as `just-in-time' requirements. Given the apparent disparity between best practices and actual practices, several questions arise. One concerns the nature of requirements engineering in non-traditional forms. What types of tools and practices are used? Another is formative: what types of problems are encountered in just-intime requirements, and how might we support organizations in solving those problems? In this paper we conduct separate case studies on the requirements practices of three open-source software projects. Using an individual task as the unit of analysis, we study how the project proceeds from requirement to implementation, in order to understand how each project manages requirements. We then comment on the benefits and problems of just-in-time requirements analysis. This allows us to propose research directions about requirements engineering in just-in-time settings. In particular, we see the need to better understand the context of practice, and the need to properly evaluate the cost of decisions. We propose a taxonomy to describe the requirements practices spectrum from fully formal to just-in-time.

[1]  Sjaak Brinkkemper,et al.  Integrated Requirement Selection and Scheduling for the Release Planning of a Software Product , 2007, REFSQ.

[2]  Rosalva E. Gallardo-Valencia,et al.  Continuous and Collaborative Validation: A Field Study of Requirements Knowledge in Agile , 2009, 2009 Second International Workshop on Managing Requirements Knowledge.

[3]  Philippe Kruchten,et al.  The Frog and the Octopus—Experience Teaching Software Project Management , 2011 .

[4]  Arie van Deursen,et al.  An industrial case study in reconstructing requirements views , 2008, Empirical Software Engineering.

[5]  A. Herrmann,et al.  Requirements Prioritization Based on Benefit and Cost Prediction: An Agenda for Future Research , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[6]  Klaus Pohl,et al.  Requirements Engineering - Fundamentals, Principles, and Techniques , 2010 .

[7]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[8]  Newton M. Campos The Lean Startup: How today's entrepreneurs use continuous innovation to create radically successful businesses , 2014 .

[9]  Greg Wilson,et al.  Requirements in the wild: How small companies do it , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[10]  Audris Mockus,et al.  What make long term contributors: Willingness and opportunity in OSS community , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[11]  Walt Scacchi,et al.  Understanding the requirements for developing open source software systems , 2002, IEE Proc. Softw..

[12]  Walt Scacchi,et al.  Multi-Modal Modeling of Open Source Software Requirements Processes , 2005 .

[13]  Christian Bird,et al.  Who? Where? What? Examining distributed development in two large open source projects , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[14]  Neil A. Ernst,et al.  Agile Requirements Evolution via Paraconsistent Reasoning , 2012, CAiSE.

[15]  Somesh Jha,et al.  Software Design as an Investment Activity: A Real Options Perspective , 1998 .

[16]  Gina Venolia,et al.  The secret life of bugs: Going past the errors and omissions in software repositories , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[17]  G. G. Meyer,et al.  Lecture notes in business information processing , 2009 .

[18]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[19]  Walt Scacchi,et al.  Understanding Requirements for Open Source Software , 2009 .

[20]  Steve M. Easterbrook,et al.  Using ViewPoints for inconsistency management , 1996, Softw. Eng. J..

[21]  Grigori Melnik,et al.  Tests and Requirements, Requirements and Tests: A Möbius Strip , 2008, IEEE Software.

[22]  Parmit K. Chilana,et al.  Design, discussion, and dissent in open bug reports , 2011, iConference '11.

[23]  Michael D. Lee Just-in-Time Requirements Analysis - The Engine that Drives the Planning Game , 2002 .