Discovering Requirements through Goal-Driven Process Mining

Software systems are designed to support their users in performing tasks that are parts of more general processes. Unfortunately, software designers often make invalid assumptions about the users' processes and therefore about the requirements to support such processes. Eliciting and validating such assumptions through manual means (e.g., through observations, interviews, and workshops) is expensive, time-consuming, and may fail to identify the users' real processes. Using process mining may reduce these problems by automating the monitoring and discovery of the actual processes followed by a crowd of users. The Crowd provides an opportunity to involve diverse groups of users to interact with a system and conduct their intended processes. This implicit feedback in the form of discovered processes can then be used to modify the existing system's functionalities and ensure whether or not a software product is used as initially designed. In addition, the analysis of user-system interactions may reveal lacking functionalities and quality issues. These ideas are illustrated on the GreenSoft personal energy management system.

[1]  B.S. Santos,et al.  Using Task Analysis to Improve the Requirements Elicitation in Health Information System , 2007, 2007 29th Annual International Conference of the IEEE Engineering in Medicine and Biology Society.

[2]  John Mylopoulos,et al.  Protos: Foundations for engineering innovative sociotechnical systems , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[3]  Boudewijn F. van Dongen,et al.  Process Mining Framework for Software Processes , 2007, ICSP.

[4]  Wil M. P. van der Aalst,et al.  Agile development with software process mining , 2014, ICSSP 2014.

[5]  Anna Perini,et al.  Exploiting User Feedback in Tool-Supported Multi-criteria Requirements Prioritization , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[6]  Alimohammad Shahri,et al.  Crowd-centric Requirements Engineering , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[7]  Anna Perini,et al.  Crowdsourcing for Software Engineering The Crowd in Requirements Engineering The Landscape and Challenges , 2017 .

[8]  Wil M. P. van der Aalst,et al.  Process mining can be applied to software too! , 2014, ESEM '14.

[9]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[10]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[11]  Jacek Dabrowski Towards an Adaptive Framework for Goal-Oriented Strategic Decision-Making , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[12]  Maleknaz Nayebi,et al.  Toward Data-Driven Requirements Engineering , 2016, IEEE Software.