Activity 12Architecture Flipbook

In an architecture flipbook, we record every step of the design journey so others can follow along afterward. Every page of the flipbook includes a sketch and notes about incremental changes to a model. We use this record to think through options or backtrack to an earlier decision that might have led us astray. As a bonus, the resulting flipbook explains why the architecture looks the way it does.

Most people only see the final results of your design toils. All the wrong turns, goof-ups, and critical aha! moments become the designer’s secret memories of their personal journey exploring design ideas. It’s a shame these moments are lost since we can learn a lot by peeking into the architect’s mind and seeing a model as it evolves.

Benefits

  • Methodically think through a model.

  • Externalize the branching and backtracking that happens naturally during design.

  • Teach others how to think about design and modeling.

  • Remove some of the mystery as to where the ideas for a model come from.

Activity Timing

A single flipbook session can take 30--45 minutes. This is brain-intensive work. Frequent breaks are helpful.

Participants

This activity can be completed alone or as a small group of 2--3 people.

Preparation and Materials

  • Choose a simple diagramming tool you like to use. Microsoft PowerPoint or similar works well for this exercise. You can also draw on paper and take pictures as you go.

Steps

  1. Pick a user story or quality attribute scenario to use as the motivation for the model you’ll create.

  2. On the first slide, describe the problem and any architecturally significant requirements relevant to the model you want to explore.

  3. On the next slide, brainstorm and record interesting domain concepts from the problem and briefly describe them.

  4. The next slide starts blank since we haven’t created a model yet. Add a single element that you think is in the solution space for the system.

  5. Copy the slide you just created and try to apply the user scenario or story you picked at the beginning. Can you achieve the scenario? Do any new questions arise that are specific to the solution space? Write down your questions and comments. Choose one thing to address and amend the model by adding a new element and required relations.

  6. Repeat step 5 until you can successfully complete the user story or scenario, and all open questions have been answered. If you get stuck, backtrack to an earlier model and continue from that point. Indicate that the new slide is a branch of an earlier point.

  7. Review the flipbook for inconsistencies and key moments. Use the history to help summarize the rationale for the final model.

Guidelines and Hints

  • Start with the obvious concepts.

  • Watch out for implied concepts or completely new concepts that are not explicitly named in the problem domain. These hidden concepts are the among the most interesting and important to get right.

  • Make small changes with each step in the flipbook.

  • Look for inconsistencies in the model relative to the scenario or user story to build the model.

Example

Here is an example flipbook showing a domain model for a system that trains predictive models from users’ data. The prompt for the flipbook was simple but missing essential concepts. Here is the influential functional requirement used to seed the flipbook: A trainer user can add queries with document references so that she can train a new predictive model.

images/flipbook-example.png

This series of models shows a growing concept map (described in Activity 14, Concept Map), which eventually formed the basis for a RESTful API. Notice how the example starts with concepts from the provided functional requirement but quickly uncovers hidden ideas not mentioned. At step 6, the example begins branching to explore alternative design paths for the model.

In Building Models Quickly and Carefully, George Fairbanks demonstrates this technique.[35]

Alternatives

Activity 26, Paths Not Taken is similar to creating a flipbook, though it emphasizes recording history rather than speculating about solutions. When listing the paths not taken, instead of thinking about the model up front we reflect on the current model and how we got here.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.22.202