What Is Collaborative Modeling
Collaborative modeling refers to the use of well-known requirements analysis and modeling techniques in a collaborative fashion to build and maintain a shared understanding of the problem space and the potential solution. The main premise is that requirements models, which have long been viewed as documentation techniques, can also be put to great use as elicitation and analysis techniques in a collaborative setting with the delivery team and stakeholders jointly discussing the problem and solution.
Modeling techniques that I find particularly helpful are listed in the table below. Note that for consistency and familiarity I list each of these techniques based on the result they create, but I cannot stress enough that the artifacts are not as important as the discussions held to create them. The artifacts can be helpful to document the discussions and any decisions made, but the discussions themselves are powerful ways to build shared understanding. The resulting artifacts go from being the sole means of communication to aids for the overall communication.
Collaborative Modeling Techniques
Technique | Description |
Data dictionary | Agree on entities and their attributes as well as the definitions and specific characteristics of both. |
Context diagram | Understand the people, systems, or organizations impacted by a solution and the interfaces between those parties and the solution. |
Logical data model | Relative to a possible solution, understand the data that stakeholders want to know and remember and how that data is organized. |
State transition diagram | Understand the specific states a particular entity can be in and what causes the state to change. |
Glossary | Agree on key terms and their definitions. |
Organization chart | Understand the reporting relationships between people impacted by a solution. |
Value stream map | Identify opportunities for improvement in the operations of an organization. |
Functional decomposition | Understand complex processes, systems, functional areas, or deliverables by breaking them down into their simpler constituent parts. |
Process model | Understand the specifics of a particular process for the purpose of identifying changes to implement a solution. |
Wireframe | Agree upon the nature of a user interface, including what information should be included. |
Report mockup | Understand the information needs of stakeholders in order to help them answer questions or make decisions. |
An Example
Below is a state transition diagram I put together for the submission system to represent a change for Agile2015.
Submission System State Diagram
Get access to real world examples you can use
Would you like to see over 20 other examples of models that you can use in your collaborative modeling discussions?
One of our affiliate partners, Bridging the Gap, offers a collection of visual model samples to guide you in your discussions. When you download your copy of the Visual Model Sample Pack today, you’ll receive real samples from Laura Brandenburg’s personal archive. Each sample includes a snapshot of the actual visual that was included in documentation and presented to stakeholders along with the source file in the native format.
You can use these models as samples to guide your collaborative modeling discussions and to record what you discussed.
When to Use Collaborative Modeling
Different collaborative modeling techniques are useful in different aspects of an IT project. The three aspects are listed here, followed by Table 14.3, which indicates which features apply when.
- Define the problem space. Your team can use collaborative modeling when it starts work on a new project and needs to understand the context in which a problem occurs (I often refer to this as the “problem space”) and how potential solutions might impact the problem space.
- Define a specific solution. Your team can use collaborative modeling to define a specific solution and provide a foundation for the team to identify implementation options. When used for this purpose, the models help your team identify features and user stories based on a full understanding of the solution.
- Describe specific aspects of the solution. Your team can use collaborative modeling to further describe specific backlog items. The models you use for this aspect may be ones you initially created to define the solution, or your team may find it helpful to create more detailed models to get a better understanding about a particular aspect of the solution.
There are a variety of different modeling techniques that are all very useful in specific situations, but none of the techniques is applicable in all situations.
Applicable Collaborative Modeling Techniques
Technique | Define the Problem Space | Define a Specific Solution | Describe Specific Aspects of the Solution |
Data dictionary | X | ||
Context diagram | X | X | X |
Logical data model | X | X | X |
State transition diagram | X | ||
Glossary | X | X | |
Organization Chart | X | X | X |
Value stream map | X | X | |
Functional decomposition | X | X | X |
Process model | X | X | |
Wireframe | X | X | |
Report mockup | X | X |
Scenarios Where Collaborative Modeling Techniques Are Helpful
When You Are in This Scenario . . . | These Techniques Can Be Helpful |
Your solution has a lot of interfaces with other systems or organizations. | Context diagram |
Your solution is fairly data intensive. | Context diagram Logical data modelData dictionary |
You are looking to identify improvements in business processes. | Value stream map Process model |
Your solution is aiming to support decision making or analytics. | Report mockup Data dictionary Logical data model |
Your solution is fairly complicated. | Functional decomposition |
Why Use Collaborative Modeling
Collaborative modeling provides a way for teams to build a shared understanding of the problem and solution options first, without having to go down the path of breaking the solution into implementation chunks (i.e., user stories). This approach addresses a couple of issues that occur when backlog creation relies on brainstorming alone.
Backlogs Don’t Identify a Complete Solution
By discussing the solution via models first, the team can identify all the changes that need to occur to implement a viable solution because they have a picture to fall back on. Brainstorming alone does not provide that big picture as a way of validating that the team has identified what is needed.
Backlogs End Up Becoming a Wish List
When a team collaboratively models the solution and uses the model as a way of identifying the changes that need to happen, they can also use the model to help identify changes that aren’t necessary. Building a backlog via brainstorming can often generate backlog items that are not absolutely essential to the desired solution. By having a model to reference that shows the specific changes that are necessary, the team can identify extraneous items that are not essential in order to solve the problem.
How to Use Collaborative Modeling
The general steps for collaborative modeling are quite simple:
- Gather the right people together. The definition of “right” is based on the subject of the discussion and the intended outcomes.
- Make sure the place where you gather is near a whiteboard and/or flip chart paper (preferably both) and that there are plenty of sticky notes and the right type of markers available.
- Identify the reason for the discussion. Are you there to discuss the overall context of the solution, analyze a specific process, or agree on a particular user interface or report? Identify discussion acceptance criteria: in other words, how you will know the discussion was successful.
- Make sure everyone has the same understanding of the current state. This is not as simple as asking if everyone is “on the same page.” It’s best to sketch out the current state quickly, or start with an existing representation of the current state, and explicitly ask if everyone is in agreement. If there is any disagreement, adjust the description of the current state until people indicate that it represents the true current situation.
- Have the person with the best understanding of the desired change start describing the change by sketching on the whiteboard and talking through it at the same time. You may also find that it is helpful to have someone guide the discussion by asking questions of the stakeholder and sketching his or her interpretation of the answer on the whiteboard. The key is to talk and sketch things at the same time, to reinforce the conversation and lead to greater agreement.
- End the discussion when everyone agrees that you have met the discussion acceptance criteria identified in step 3.
- If anyone in the discussion thinks it would be helpful to keep the sketches that were made during the discussion, take pictures of them and save the pictures in a commonly agreed-upon repository for project documentation.
The specifics of these steps can vary depending on the reason for the discussion. Some of the main variations are described in the table below.
Collaborative Modeling Variations
Scenario | Right People | Suggested Acceptance Criteria |
Define the problem space. |
| Clear shared understanding of scope from the perspective of which units in the organization are included, what objectives the project is trying to meet |
Define a specific solution. |
| Agreed-upon models of future state, backlog of items generated based on future state, or sufficient information to identify those backlog items at a later date |
Describe specific aspects of the solution. |
| Models sufficient for describing the selected backlog items |
Caveats and Considerations
The same models used to define a specific solution can also be used to further describe specific aspects of the solution. The models used to define a specific solution may be general in nature, and the discussions when describing specific aspects of the solution will describe parts of the models in further detail.
Collaborative modeling works best when the participants in the conversation are in the same room. If some members of your group work offsite, you can still do collaborative modeling with the aid of technology. Bring as many people together as you can in the same room, and then use a laptop or tablet camera to share the whiteboard with virtual team members. If all members of the team are distributed, use screen-sharing and handwriting apps to simulate an electronic whiteboard. The key in all cases is to supplement discussions with visuals.
Additional Resources
Agile Modeling. “Agile Models Distilled: Potential Artifacts for Agile Modeling.” http://agilemodeling.com/artifacts/.
Agile Modeling. “Inclusive Modeling: User Centered Approaches for Agile Software Development.” http://agilemodeling.com/essays/inclusiveModels.htm.
Lean Actionable Modeling: In this video from Mind the Product London, Marcel Britsch shares a couple of stories how he used modeling to understand both a greenfield project and brownfield project in order to prioritize work. Although he refers to the approach he used as Lean Actionable Modeling, it aligns nicely with collaborative modeling.
Want to know more?
If you learn better with video rather than reading, you may want to check out Analysis Techniques for Product Owners Live Lessons, a set of video training sessions that show you how to apply analysis techniques to product ownership. Lesson 5.3 focuses on collaborative modeling.
Analysis Techniques for Product Owners is available on Safari – O’Reilly’s online learning platform. Sign up for a 10-day free trial to view the video lessons.