Utilizing Rule Deviations in IT Ecosystems for Implicit Requirements Elicitation Leif Singer Olesia Brill Sebastian Meyer Kurt Schneider Software Engineering Group Leibniz Universität Hannover {leif.singer, olesia.brill, sebastian.meyer, kurt.schneider}@inf.uni-hannover.de Abstract IT ecosystems are ultra-large-scale software systems that consist of various, constantly interacting and partly autonomous subsystems as well as the users of the overall system. Because of their strong integration with everyday life, these systems are often not even perceived as IT systems by its users. This is a problem for requirements engineering, as users might not know of or may not be interested in the capabilities of the system at all. This hinders the ongoing development of the system and might prevent new kinds of utilization and new business models from being realized. By introducing rules into the infrastructure of IT ecosystems that are being monitored for adherence by agents interacting in the system, deviations from these rules can be harnessed for finding potential candidates for new or changed requirements. The deviations can be processed using techniques like data mining and pattern recognition and then forwarded to requirements engineers for review. They may then leverage these implicitly expressed requirements to identify actual changes in the needs of the users of the systems, enabling further advancements of the IT ecosystem. 1. Introduction IT systems are constantly growing larger and more complex. They comprise agents that are adaptive and autonomous, creating interactions that are hard to anticipate. This paper uses the term IT ecosystem for these kinds of systems to discern and amplify these phenomena also found in biological systems. The agents – human users, software services, and hardware devices alike – utilize an infrastructure provided by the IT ecosystem to communicate and interact with each other. To ensure certain minimum requirements and guide the overall goals of the IT ecosystem, this paper assumes an infrastructure which includes a rule system for monitoring and enforcing the system’s agents’ adherence to these requirements. Also, this paper assumes a base set of rules to already exist. While some of these rules will be enforceable – such as requiring secure communications between all participants – others might rather resemble guidelines that would solely be beneficial, but not essential to adhere to, e.g., “cars should be optimally distributed on the parking site”. Human users have a special role in this setting, as they might not be aware of or interested in the system that surrounds them. Their interface to the IT ecosystem can be located somewhere in a spectrum that ranges from explicitly using a smartphone for communicating with other agents, to very subtle interaction like being recorded by surveillance cameras that try to detect the formation of crowds. This lack of awareness, although justified, creates new challenges for requirements engineering. The stakeholders in IT ecosystems belong to groups ranging from service providers that can supply explicit requirements, to users who are not even aware of the system. The latter group cannot reasonably be expected to be interested in or invest effort into requirements elicitation activities. Especially in environments as complex as IT ecosystems though, requirements change all the time. Therefore, there is a strong need for alternative requirements elicitation methods suitable for this group. Figure 1: The iterative process as implied by the presented approach. This position paper proposes a method that uses deviations from the aforementioned rules for finding new potential requirements. This approach, in its simplest form, requires no effort on the stakeholders’ part and would be able to capture requirements knowledge the user isn’t even aware of. It realizes an