this paper, we restrict ourselves to conceptual
modeling only, by proposing the model, and
illustrating the approach with a small “toy example”,
by keeping with the trend followed by most of the
papers published on conceptual modeling in other
areas (see the references to other conceptual
modeling papers mentioned in Section 1). Finally,
the approach discussed in the paper has been
designed keeping software project environments in
mind. However, we believe that the approach can be
used, with minimal or no changes, for studying risk
management in other application domains.
2 MODELING DEPENDENCIES
BETWEEN STRATEGIC
ACTORS
In this paper we discuss the actor dependency
concept using i* (Yu, 1997). i* explores “why”
processes are performed in the existing way.
Moreover, it is much easier to obtain real and
understandable requirements using i* modeling.
Expected behavior of the software and its rationale
could also be modeled using i*. Furthermore, i*
does not take directly into account precision,
completeness, and consistency as UML does. In
contrast, i* principally takes into account actors’
interests, goals, rationale, tasks and concerns.
In this work, we have used i* to model both
requirements, and risk management elements which
help managers to identify, monitor, analyze and
control risks, all from the point of view of project
goals. i* provides a qualitative analysis of project
viability under several scenarios. In our context, this
analysis will allow for verifying if all required
actions to control risks have been taken into account
(i.e., if project goals can be satisfied in all the
studied scenarios). The strongest relation between
requirements and risks are project goals. For any
project, requirements can be modeled as goals and
softgoals to be reached during project development.
On the other hand, risks can be conceived as a set of
“risky goals” and “risky tasks” performed by some
actors in a particular role. Goals and tasks
undertaken in a project often have some degrees of
risks associated with them. The risks associated with
these goals can be of varying degrees. The
terminologies “risky goals” and “risky tasks” are
used to signify those goals and risks that have
associated high risk factors. The risky tasks may be
perceived as undesirable tasks that may lead to a
risky output (a “sub-optimal” goal). The reader
should note that it is very common in software
projects to knowingly undertake high-risk goals and
tasks. What is important for a project manager is to
analyze the structural origin of the risks, and
vulnerabilities associated with those goals, and
tasks. This is what we advocate in this paper. For
example, a development team with poor java
knowledge will have “risky goals” like developing
the product without considering the quality, and
“risky tasks” like the introduction of bugs due to
poor development skills of the team. Because of
other factors (such as, limited project budget, and
lack of human resources), it might still be required
for a project manager to proceed with a project, even
after knowing the risks associated with having an
inexperienced project team. What is rather important
for the project manager is to model and analyze the
root causes of the risks, their structural origin, and
how the known risks can be controlled from the
early stages of the project.
Those “risky goals”, and “risky tasks” are
actually risks that have to be reduced by other tasks
performed by actors like a quality manager. “Risky
goals”, and “risky tasks” might pose substantial risks
for achieving the project goals. In consequence, new
tasks have to be defined to reduce those risks. Once
the model is concluded, a simple algorithm is
performed to mark project goals as either satisfied or
denied, taking into account effects of tasks
mentioned above. Finally, denied high-level goals
indicate affected requirements. This is considered as
risky, which means there are some missed defensive
tasks in order to guarantee project success.
In order to model, and solve this problem, two
actor-dependency diagrams are used: the Strategic
Dependency Model (SD), and the Strategic
Rationale Model (SR). In the interest of brevity,
only a brief introduction of SD and SR is provided.
Interested readers are referred to the literatures
mentioned in Section 1 for learning further details.
SD diagrams are used to model dependencies
between actors, while SR diagrams are used to
model internally why each actor has those
dependencies. In other words, SD describes
dependencies at a higher level of abstraction than
SR, since SR shows an internal description of an
actor and supports those dependencies.
All dependencies comprise of a “depender”, a
“dependee”, and a “dependum”. “Depender”
depends on a “dependee” to get “dependum”. The
most important elements in SD diagrams are:
Goal dependency: It is used to model when one
actor depends on another to make a tangible
condition come true. Dependee has freedom to
choose how to achieve this goal.
Task dependency: It is used to model when one
actor depends on another to perform an activity. In
this case, there is an implicit (usually not shown)
MODELING STRATEGIC ACTOR RELATIONSHIPS TO SUPPORT RISK ANALYSIS AND CONTROL IN
SOFTWARE PROJECTS
289