Model Storming by Ivar Jacobson

Model StormingLast week, I attended a workshop of a new initiative in software engineering (SEMAT see www.semat.org). This was the first real f2f meeting we've had. 28 people attended the workshop and one session with around 12 people were working on developing more detailed objectives of the entire initiative.

To develop the objectives we appointed a facilitator. He suggested that we make a usage model for the Semat initiative. But for this blog, what we modeled is not so important. It is the principles that are important. We built up the model on a large bulletin board using yellow, rectangular post-it stickers. A usage was like a use case or a user story.  Long side up for usages. Short side up for users outside the system. These were in essence all the instructions we got.

Now what occurred was what I have seen many times before. All participants fetched yellow stickers and color pencils and began to write. We were assigned to begin with finding a principal user, not important which one. Then, each participant, one after the other, was asked to in a few words present a usage of Semat. We started with methodologist as a user and we came up with 18 different possible usages. Many of us asked the facilitator if we should consider a particular usage a good one or whether it overlapped with other usages. The facilitator was generous and inspired everyone to put up stickers as long as they were plausible usages. Surely, there were overlaps. Surely there were usages, which should be parts of the more valuable usages. But the facilitator said we could get to this later.

This procedure was repeated for user after user. We identified 12 different users. Surely there were overlaps between the users and surely some users were a bit far-fetched. Surely, there was the same usage for multiple users. However, we were told we could rectify that later.

After one hour when we decided that we would stop storming, we had filled the bulletin board with yellow post-its. We all felt that we understood much more about what Semat would have to do than we did before. We began to see that there were many users and many more usages that we must satisfy. Our own narrow conception has been widened.

The participants experienced great satisfaction with what they had done. All felt that a clear target image emerged which the whole group could be behind. After the storming session the result was handed over to a few people who compiled the result in the form of an Excel sheet.

Now the work begins to analyze and synthesize we came up with. We need to remove redundancy and identify more value creating usages. And of course this will take more calendar time than an hour, but it can be done by a few people over perhaps a few days. In our case, we will do this in a smaller group now.

Prioritization of the users and the usages will happen shortly. Then UML can be applied if we want. But most important is what we have done has very quickly resulted in an understanding of the problem to be solved and in a sense that we are on track. This is smart.