Article Preview
Top1. Introduction
The steady improvement in communications, transportation, and international financial services and an increasing customer pressure to provide cheaper, higher-quality goods are some of the forces contributing to the global competition escalation. This puts pressure on enterprises to be highly aware of their changing business environments as well as of their own and of their competitors’ performance. Changes happen fast, thus requiring companies to have strategic and operational flexibility and presenting a major challenge for information systems (IS) engineering. New, unforeseen circumstances may lead to business strategy/process reconfiguration, hence modifying IT requirements and forcing system reconfiguration or redevelopment. For enterprises to be competitive, their IT systems must not become impediments to business change. Rather, they need to actively support it by being agile and, faced with the increasing amounts of raw data (from sales, sensors, social networks, network-connected devices, etc.), they need to enable its near-real-time transformation into meaningful business information.
Handling this change is a continuous process that cannot be accommodated by a single episode of a system redesign and implementation. Change needs to be monitored for and detected, the range of possible responses identified and analyzed, and the most appropriate one selected for implementation and deployment. There are numerous unknowns and uncertainties. Change occurs at many granularity levels and over many iteration cycles. Change initiatives – large and small, long-term or short-term – will encounter varying degrees of success, with lessons learned feeding back into subsequent iterations. Under these circumstances, IT systems need to continuously evolve to stay aligned with and support business-level changes. Figure 1 presents a solution lifecycle for handling such ongoing change. It applies both at business and IT levels. The figure shows two sources of uncertainty: the unpredictable nature of new/changed requirements and the possibility that solutions fail to achieve their objectives, thus requiring further system adaptation/evolution.
Figure 1. The requirements-to-solution lifecycle
This presents a real challenge to traditional Requirements Engineering (RE). Given the uncertainties and the unknowns, upfront requirements analysis cannot be inadequate. Monitoring for new/changing requirements and determining if the current design meets them is vital. The challenge has prompted a call for fundamentally new approaches to requirements and new conceptual frameworks and theories for understanding them. E.g., Jarke, et al. (2011) emphasize the need for RE to support requirements during solution (and its environment) evolution at multiple abstraction levels or temporal horizons, while designs increasingly look like continuous searches for satisficing solutions. Additionally, RE needs to deal simultaneously with social and technical facets, as people and technology interact in emergent ways.
IS engineering employs modeling techniques to support requirements analysis. Process models and data models are also used extensively. Intentional and social models were introduced more recently (Mylopoulos, 1998; Nurcan, Salinesi, Souveyet, & Ralyté, 2010). Nevertheless, most current modeling techniques presume stable and predictable application settings. Can these techniques be used to support analysis in the new, highly dynamic environments?
In this paper, we aim to: 1) motivate the need for supporting the above-described environments through appropriate modeling notations; 2) evaluate the suitability of existing social and process modeling notations for this task; 3) identify modeling requirements for a comprehensive future modeling notation designed to handle these types of systems.