Inclusive Modeling: User Centered Approaches for Agile Software Development
One of the core practices of Agile Modeling (AM) is Active Stakeholder Participation, which insists that stakeholders be available to provide information, make decisions, and even be involved in modeling. Although many traditionalists will tell you that it’s preposterous to expect stakeholders to be actively involved in modeling, agilists know otherwise, as do user centered design (UCD) practitioners. Unfortunately most stakeholders don’t understand the complex diagrams preferred by many traditional modelers, nor do they want to take the time to learn them (the same thing can be said of many developers, but that’s a different discussion). The implication is that the models typically supported by software-based modeling tools will hinder communication with stakeholders rather than foster it. The secret is to adopt inclusive models which use simple tools and simple techniques that stakeholders can easily learn and therefore use to help capture and analyze requirements for your system. Yes, some stakeholders have the ability to understand some of the more sophisticated modeling techniques, and can learn to use complex modeling tools, but it’s rare to find such people in practice (when you do, act accordingly). The point is that “inclusive” is situational, although my experience is that the simpler the tool or technique the more inclusive it becomes.Inclusive models can be used to improve the communication which you have with your stakeholders. Stakeholders can be active participants in modeling if developers are willing to work with inclusive models. Yes, you will very likely find that you need to use other types of models in order to design your software, and that’s ok. Inclusive models and inclusive tools are an important aspect of model storming. If you truly value interactions and individuals over processes and tools as the Agile Alliance suggests then you’ll consider adopting inclusive modeling techniques.
Simple Tools
There are many simple tools available to you, including:
Word processor (ok, not so simple but most people know how to use them)
Simple Techniques
The following table summarizes common inclusive modeling techniques, and Agile Models Distilled summarizes a larger number of models (many of which are technical in nature). The examples are from a university system case study or from an online e-commerce system.
Explore potential, architectural level requirements to identify potential changes which could occur in the future.
Change case: Registration will occur completely via the Internet.
Likelihood: Medium likelihood within two to three years, very likely within ten years.
Impact: Unknown. Although registration will be available online starting in September, we currently expect less than one quarter of registrations to be made via the Internet this year. Response time will be an issue during the peak use periods, which are the two weeks prior to the beginning of classes each term, as well as the first week of classes.
Explore business entities, such as Student and Seminar, and the relationships between them via domain modeling. Developers can use CRC cards to do detailed structural modeling of their object designs.