Description

Agile software development values working software over comprehensive documentation (Agile Manifesto). Current agile development practices often misinterpret this as ‘no documentation’. According to Zhu (2009) user stories are almost the only kind of requirements documentation maintained in the application of agile methods.

A user story describes a feature required to be provided by a software system or app in terms of a standard template structure. User stories are always formulated from the perspective of the person that desires the feature. A typical template for formulating user stories is:

As a < type of user >, I want < some goal > so that < some reason >.

For example (related to a car navigation system):

As a driver, I want to be notified of traffic jams, so that I can avoid being stuck.

Currently, little is known about the effectiveness of user stories as requirements documentation in agile development. Are they sufficient to capture all requirements? What kinds of requirements can be documented with user stories? Is there need for additional documents or models of software requirements?

The goal of this master dissertation is to synthesise the available knowledge on user stories through literature study. First a systematic literature mapping is performed to identify academic research on user stories. The purpose of this mapping study is to get an insight into the current knowledge on user stories, where this knowledge originates from, and what kind of research was performed. Next a systematic literature review is performed on a subset of the identified papers. This review study will look specifically into the limitations of user stories to capture requirements and the opportunities of conceptual models to address those limitations. Recent research in the area has for instance developed techniques to automatically generate conceptual models (e.g., high-level domain models) from user stories using text-to-model Natural Language Processing (NLP) algorithms, see (Lucassen et al. 2017, Robeer et al, 2016). Currently it is not known what the possibilities and limitations of these techniques are, and whether the combined use of conceptual models and user stories is more effective than the use of user stories alone.

The main difference between literature mapping and literature review is that a mapping study is limited to investigating what research has been performed, by means of which methods and by whom (often by just reading a paper’s abstract, introduction and conclusion), whereas a literature review looks into the actual research results (requiring reading the entire paper). For guidance on how to conduct systematic literature studies and report their results, see (Kitchenham & Charters 2007, Okoli 2015, vom Brocke et al. 2015). For general guidance on research methodology in Information Systems, see (Recker, 2013).

References

Kitchenham, B., and Charters, S. (2007) Guidelines for performing Systematic Litera- ture Reviews in Software Engineering. Technical Report EBSE-2007-01. Soft- ware Engineering Group of Keele University Durham UK.

Lucassen, G., Robeer, M., Dalpaiz, F., Martijn, J., Werf, V., Brinkkemper, S. (2017) Extracting Conceptual Models from User Stories with Visual Narrator, Requirements Engineering, 21:383–403.

Okoli, Chitu (2015) “A Guide to Conducting a Standalone Systematic Literature Review,” Communications of the Association for Information Systems: Vol. 37, Article 43.
Available at: h p://aisel.aisnet.org/cais/vol37/iss1/43

Recker, J. 2013. Scientific Research in Information Systems: A Beginner’s Guide. Springer.

Robeer, M., Lucassen, G., Martijn, J., Werf, V., Dalpiaz, F., Brinkkemper, S. (2016) Automated Extraction of Conceptual Models from User Stories via NLP, 24th International Requirements Engineering Conference, Beijing China.

vom Brocke, J., Simons, A., Riemer, K., Niehaves, B., Plattfaut, R., & Cleven, A. (2015). Standing on the shoulders of giants: Challenges and recommendations of literature search in Information Systems research. Communications of the Association for Information Systems, 37(1), Article 9, 205-224.

Zhu, Y. (2009). Requirements engineering in an agile environment. Research Report, http://www.diva-portal.org/smash/get/diva2:233925/FULLTEXT01.pdf , Uppsala University.