Much effort has been put into developing modeling languages to help capture software requirements. Goal models, for instance, capture human, organizational or software stakeholders; including their goals, tasks, desired qualities, trade-offs and interdependencies. Such languages (e.g., i*, KAOS, GRL) are designed to capture a space of possible requirements, supporting explicit and systematic selection between alternative features and functions.
But how do we find this space of possible requirements? And how can we as analysts/modellers/engineers ensure that the requirements under consideration are sufficiently creative in order to support software and business innovation? Can our requirements techniques help organizations gain a competitive advantage?
Creativity for Requirements Engineering
Inspired by theories from social sciences and psychology, as well as established methods such as CPS (Creative Problem Solving), RE researchers have developed and applied structured creativity workshops, applying established creativity techniques such as brainstorming, roleplaying, assumption busting, and hall of fame to requirements analysis in areas such as air traffic control and food safety. Although successful, these workshops were time consuming and expensive, produced unstructured outputs, and required experienced facilitators with many soft skills.
Creative Modeling for Requirements Engineering
In our work we ask: can creativity for RE be made more accessible? Can we use our experience in requirements modeling to help? Models can act as a natural input to creative activities, and can be used to capture, refine, and evaluate ideas resulting from creative activities. Goal models, in particular, can be used to ground creative ideas in system objectives and desired qualities, helping in selection and convergence.
Enter Creative Leaf. A culmination of a two-year EU Marie Curie and Canadian NSERC project, the Creative Leaf browser-based tool supports both goal-oriented requirements modeling and structured creativity techniques. Users are guided through a process of modeling and creativity by a Creativity Help menu and timed unobtrusive pop-ups. The collapsible creativity panel on the right contains structured guidance through four divergent creativity techniques: brainstorming, CRUISE creative search, Pairwise Comparison, Creativity Triggers, and BrightSparks. CRUISE and BrightSparks are integrated into the tool via web services made available as a result of the EU Collage Project. Activities take as input parts of the goal model. Ideas, captured via free-text, are added to the canvas as first-class modeling elements, with users able to link ideas to the existing model using typical goal model links (e.g., an idea helps achieve a goal).
Once ideas have been produced, Creative Leaf contains activities to guide users through evaluation and selection of ideas, and finally modeling of their best ideas in the goal model. A simple form of qualitative evaluation (called Hover Evaluate in the tool) lets the user explore the consequences of implementing an idea by hovering over it, allowing users to make ideas as must-have, nice-to-have, or reject. Ideas can be marked as “modelled”, in which case they are removed from the canvas but stored in an available “ideas list”. See our short overview video for more information.
The development and design process involved exploratory and formative studies observing over 50 participants from the UK, Italy and Canada work through goal modeling and creativity exercises. We observed how these activities naturally fit together, including some of the barriers to productivity, and designed the tool to support a model-based creativity process. Summative studies (submitted to this year’s RE conference) evaluated the tool’s support for creative fluency and flow, finding mainly positive results.
The tool follows the trend of browser-based modeling tools, taking advantage of its web-based platform (preferably Chrome): it’s lightweight, with no installation or deployment required. The modeling component of Creative Leaf makes use the open-source JointJS development library, as well as an academic license for Rappid. The goal modeling part of Creative Leaf is based on the open source Leaf Beta tool, developed at the University of Toronto.
After extensive in-house testing, we’re looking to apply Creative Leaf to real cases and we need your help! Do you have a requirements or a design problem in which are you are interested in applying creativity and modeling? We are happy to work with you to apply the Creative Leaf method and tool. Our hope is to collect publishable data showing tool benefits (and areas for improvement). Please contact us at [email protected]
Creative Leaf joins several other creativity-based initiatives as part of the Centre for Creativity in Professional Practice, Cass Business School, and City University London. We’re happy to involve the expertise of the Centre in order to provide creative services, collaboration and consulting.
Future directions for the tool include transformation from the final goal model to candidate textual requirements or other models, patterns to help users turn their ideas into goal model elements, and support for distributed creativity.
We hope to hear from you!
Marie Curie/NSERC Postdoctoral Fellow – Centre for Creativity in Professional Practice – Cass Business School – City University London
ICREA Research Professor at Internet Interdisciplinary Institute (UOC). Leader of the SOM Research Lab focusing on the broad area of systems and software engineering