to inform our continuing work on profiling the quality of requirements. In particular,
the repository allows us to trace the provenance of requirements and assumptions
back to goals and their stakeholder owners, and to derive metrics about interesting
qualities of goal graphs. KAOS Lite also provides a test-bed for handling crosscutting
concerns and designing systems with rapidly evolving requirements.
7 Conclusion
Rigorous approaches to goal analysis are not appropriate for all software projects but
most projects can expect to benefit from clarifying stakeholders' goals. For example,
projects with innovative goals, diverse stakeholders, or in rapidly evolving domains
may be able to significantly reduce risks of failure by using goal analysis. Risk
mitigation should be easier, to both plan and justify, if stakeholders have a deeper
understanding of their goals and any conflicts between them. Nevertheless, in
practice, the greatest benefits of goal analysis may come from clearer foresight of the
obstacles to achieving goals, and raised visibility of the assumptions and expectations
that stakeholders are relying on for project success.
Thus goal analysis is not incompatible with time-constrained and agile approaches
to software development, provided that suitable tools are available. KAOS Lite is
work in progress towards satisfying this aspiration. It adopts the core concepts of the
KAOS method but simplifies the user interface. Its design principles are sympathetic
to agile perspectives. KAOS Lite aims to provide simple representations of simple
situations and to prevent bewildering complexity in complicated situations. The
treatment of crosscutting concerns as superimposed processes helps to avoid tangles
of criss-crossing graph edges. The simpler palette for representing processes should
encourage stakeholders to focus on agents' responsibilities, and to discourage
premature concern with design details. On the other hand, the palette for representing
strategic and policy decisions has been selectively enlarged to give higher visibility to
these issues and to clarify an ambiguity in interpretations of the OR connective
between sub-goals.
References
1. Antón, A.I., Potts, C. 1998. The Use of Goals to Surface Requirements for Evolving
Systems. Proceedings of the 20th International Conference on Software Engineering, Kyoto,
Japan 157-166
2. AspectJ: http://eclipse.org/aspectj
3. Boness, K., Harrison, R., Liu, K. 2005. Acknowledging the Implications of Requirements.
International Conference on Enterprise Information Systems
4. Cediti. A KAOS Tutorial. 2003. http://www.objectiver.com/en/documentation/
5. Clarke, S., Walker, R.J. 2001. Composition Patterns: An Approach to Designing Reusable
Aspects. Proceedings of the 23rd International Conference on Software Engineering,
Toronto, Ontario, Canada 5-14
6. Dardenne, A., van Lamsweerde, A., Fickas, S. 1993. Goal-Directed Requirements
Acquisition. Science of Computer Programming, Vol. 20. North Holland 3-50
49