Whenever software engineering problems are looked at, the blame is generally put on requirements, with each side of the business/system divide holding the other responsible.
The iStar approach tries to tackle the problem with a conceptual language focused on interactions between business processes and supporting systems.
Conceptual approaches to requirements try to breach the dilemma between phased and agile development schemes: the former takes for granted that requirements can be fully and definitively set upfront; the latter takes a more pragmatic path and tries to reconcile business and system analysts through direct and continuous collaboration.
Setting apart frictions between specific methods, the benefits of agile principles and practices are now well-recognized, contingent on the limits of agile scope. Summarily, agile development is at its best when requirements capture and analysis can be weaved with development and tests. The question remains of what happens when requirements are to be dealt with separately.
The iStar’s answer shares with agile a focus on collaboration and doesn’t take side for business (e.g users’ stories) or systems (e.g use cases). Instead, iStar modeling language is meant to support a conceptual description of interactions between business processes and supporting systems in terms of actors’ goals and commitments, and the associated dependencies.
Actors & Goals
The defining aspect of the iStar modeling approach is to replace one-sided perspectives (business or system) by a systemic one focused on the interactions between agents. The interactive part of a requirement will therefore comprise three basic items:
- A primary actor trigger an interaction in order to meet some goal; e.g a car owner want his car repaired.
- Secondary actors may be involved during the ensuing exchanges: e.g body shop, appraiser, insurance company.
- Functions to be performed: actual task; e.g appraise damages; qualification (soft goal), e.g fair appraisal; and resources, e.g premium payment.
The factual description of interactions is both detailed and enriched by elements set within a broader scope:
- Goal (strong) dependency: assertions about actual state of affairs: object, activity, or expectations.
- Soft-goal dependency: assertions about expected outcomes.
- Task dependency: organizational, functional, or technical constraints pertaining to the execution of activities.
- Resource dependency: constraints or conditions on the availability of inputs, actual or symbolic.
It would be tempting to generalize the strong/soft distinction to dependencies as to make use of modal logic, strong dependencies associated with deontic rules, soft dependencies with alethic ones. That would .
iStar & Caminao
Since iStar modeling categories are directly aligned with UML Use Cases, they can easily mapped to core Caminao stereotypes for actors, objects, events, and activities.
Interestingly, the iStar strong/soft distinction could translate to the actual/symbolic one which constitute the conceptual backbone of the Caminao paradigm.
From the business perspective, iStar must be credited with two critical tenets:
- The focus on interactions between agents is essential for business and system analysts to collaborate. Such benefits appear clearly for the definition of primary and secondary roles (aka actors), intents (business) and capabilities (supporting environments).
- The distinction between strong and soft goals, even if the logical basis remains unexploited.
Yet, the system perspective lacks a functional dimension, e.g:
- Architecture levels (enterprise and organization, systems and functionalities, platforms and technologies) are not taken into consideration, nor the nature of capabilities, e.g strategic and operational.
- The strong/soft dependencies distinction is not explicitly associated with systems capabilities.
On the whole these pros and cons reflect iStar’s declared intent on conceptual modeling; as a corollary these flaws mark also the limits of conceptual modeling when it is detached from the symbolic description of supporting systems functionalities.
Nonetheless, as illustrated by the research quoted below, iStar remains a sound basis for the specification of interactions between users and systems, either as use cases or users’ stories.
- Business Stories: Stakeholders’ Plots & Users’ Narratives
- Business Processes & Use Cases
- Use Cases & Action Semantics
- Conceptual Models & Abstraction Scales
- Models & Meta-models
- Open Concepts
- iStar: Presentation
- Yves Wautelet, Samedi Heng, Manuel Kolp, Isabelle Mirbel, Stephan Poelmans: “Building a Rationale Diagram for Evaluating User Story Sets”