Architecture Decision Studio
Tags: engineering, architecture, agile, productivity
Published: 2020-09-30 10:34:04

> *Fast actionable collaborative decisions*

Is your team forming knowledge silos rather than working together? Do you have difficulties getting actionable outcomes from your meetings? Would you like to hold a fun and useful remote session to find solutions to problems together as a team but don't know how to start? We've designed a "remote first" method for this. But before I tell you more about it, let me quickly explain how we got there.

Can’t wait? [Get the template](https://jamboard.google.com/d/1ObmByD_H-UZ-2xSzQUFdDYyaVck3wU_a47vVnRsTFs4/edit?usp=sharing) and jump reading [further below](#the-architecture-decision-studio)!

## A lil’ Backstory

> “At Klarna things change rapidly as we move very fast”

They said. How true. Within the first month of joining, we shifted focus 3 times. Handing over some services we created to other teams, taking over their services. While it was exciting to gain insight in a lot of areas from different perspectives, that also meant we got to handle a lot of tasks simultaneously. Naturally, individual knowledge silos formed around each team member. We ended up in a situation where each one of us was working on a separate feature/project. We identified the problem and were trying to re-focus, to get the whole team back working together on one single project at a time again. I had an MVP running for a product that was meant to become one of our main focuses.

My colleagues would avoid taking tickets regarding the next iteration of the project. I felt trapped, explaining the same thing over and over again. Wasn’t able to delegate tasks to other team members because of a lack of knowledge or context required.

It was time to break the silos, regroup, and take common decisions!

Usually, that is when we would lock us up in the “war room” (meeting room next door) and iterate over the project setup. Wait, a tiny room full of sweaty engineers during a pandemic? What a bad idea 🦠🦠🦠
<figure>
![Man with Mask](https://dev-to-uploads.s3.amazonaws.com/i/1bmdcslmdhbzrecyc2r4.jpeg)
</figure>
No whiteboard, no in-person conversations. How can you run an architecture session to align everyone and brainstorm, while making sure everyone’s included? That’s where we set sails on a mission to try out collaborative techniques online using tools like Jamboard (because it’s part of the G Suite and sounds cool).

### Trying the Architecture Golf

I started by just trying to squeeze the [Architecture Golf](https://engineering.klarna.com/architecture-golf-60fb51a6e787), also referred to as “Group Whiteboard Sketching” into an online session without any big planning or preparation. Just to see how it goes. 

Here is how it went: I took half the time just drawing out the MVP, I had some architecture diagram and explained it. By drawing out the steps and explaining it as we go we find team members are all onboarded around the problem space and can break down issues in approaches more rapidly. It also keeps it easy for everyone to follow and gives a common understanding of the problem space, which we found makes it easier for teammates to share and challenge ideas later on. Unfortunately, digitally that took way longer than it would have on a whiteboard.
Then I went ahead talking about the use cases that we want to solve and the rest of the time we tried to find a solution to the use-cases by an open discussion around the diagram. It was good as people were very happy to finally, after several months of isolation, kind of work together again. It also helped to explain the service in detail once and have everyone understand the architecture and vaguely the challenges ahead. But it wasn’t great either. We didn’t start with the most important use-case. The one we picked was not very clear, which led to a big discussion taking up the whole remaining time.

<figure>
![Jamboard with architecture](https://dev-to-uploads.s3.amazonaws.com/i/3ecxrzw2h6havgqywjzj.png)
<figcaption>Example of an <a href="https://engineering.klarna.com/architecture-golf-60fb51a6e787">Architecture Golf</a> session.</figcaption>
</figure>

### Trying the Lightning Decision Jam

So with these thoughts in mind, I set up a follow-up session trying another technique. Some sort of free interpretation of the [Lightning Decision Jam](https://engineering.klarna.com/stepping-down-as-a-dictator-giving-great-teams-permission-to-make-awesome-decisions-215377538a19). This time, focusing on only the most urgent use-case. 

Overall I enjoyed the jam. It led to a decision. However, it kinda confused some participants. The structure was not clearly defined and poorly prepared from my side. I asked participants to draw their idea on a piece of paper first and when their turn comes to re-draw it digitally. A bad approach as it wasted time. Because of that, we required yet another session to refine the ideas presented, even fewer people attended.

<figure>
![Jamboard with boat and pro-contra stickers](https://dev-to-uploads.s3.amazonaws.com/i/gkwukozep5vcjwafhefm.png)
<figcaption>Example of a <a href="https://uxplanet.org/lightning-decision-jam-a-workshop-to-solve-any-problem-65bb42af41dc">Lightning Decision Jam</a> Step 1–3.</figcaption>
</figure>

### Feedback & Iterate

In order to be able to iterate fast & improve I sent out a simple Google form survey asking for feedback.

<figure>
![Survey responses](https://dev-to-uploads.s3.amazonaws.com/i/rx6p5083enzjntwrrqcy.png)<figcaption>Example of a <a href="https://www.google.com/forms/about/">Google form survey</a>.</figcaption>
</figure>

Knowing that my team is awesome, I was very keen on their actionable feedback. 
And they sure did not let me down:
- Architecture Golf: great to share knowledge, understanding, - and ownership of the project
- Lightning Decision Jam: good to find an actual actionable solution to one problem
- Generally: The sessions were missing structure, did not match time-lines and were not focused enough
- When stuck on a topic, park it (write it down) and move forward to another topic
- Quiet team members, even though they might have fabulous ideas, didn’t speak. Becoming a discussion between the loudest team members and the rest just watching silently.

Time to iterate. Read up more on lean sessions and find ideas to conduct them remotely. Plus, I remembered something similar to the lightning jam that an awesome project manager held back at [edenspiekermann](https://www.edenspiekermann.com/eu/), it was called The [Design Studio Method](https://www.edenspiekermann.com/insights/working-with-design-studios/).

Soon enough we had another use-case to tackle. So I sharpened my keyboard and tried to funnel the learnings into a new grandiose session.

As it is an improved combination of Architecture Golf, Lightning Decision Jam, and Design Studio, let’s just name it:

![Trinity of users](https://dev-to-uploads.s3.amazonaws.com/i/sfjldemntldiq89iznfc.png)

## The Architecture Decision Studio

Helps you find actionable solutions for your problems. We designed in a “remote first” fashion. It is a great tool to find solutions to problems within existing systems. Get everyone's input and produce actionable output. The first half is about finding a decision, the second half is about the architecture.
2x 1h meetings worked great for us.

Can’t wait? [Get the template](https://jamboard.google.com/d/1ObmByD_H-UZ-2xSzQUFdDYyaVck3wU_a47vVnRsTFs4/edit?usp=sharing)!

### Guidelines when conducting the studio

#### Before the session

- Research: how are other companies/teams solving this problem?
- Define a list of topics you need to discuss and limit yourself to these
- Keep the number of participants small: the more, the longer it will take. 3-5 is perfect
- Split the sessions into multiple meetings
- Consider when best to schedule meetings to get the best out of the attendees
- Be very clear what needs to be discussed and what the supposed outcome of the meeting is
- Have a narrow and well-defined scope
- Write a pre-read, explaining the problem and get attendees to think about the agenda items beforehand

#### During the session
- **Create a safe space!** Don’t openly challenge people's opinions. Don’t always give feedback, even if you don’t agree with an idea, let it live. Give only constructive feedback. If someone does not fully understand, follow, or does not feel well, they shouldn’t be forced to participate actively and feel free to just observe the session to learn. If none of your team feels comfortable, be honest about it, then this might not be the right format for your team. 
- Have an agenda
- Start with introducing the agenda, what is getting addressed, what will happen, which decisions are going to be made and what are the next steps
- Timebox discussions & timebox each agenda item
- If it is looking like it will run over time, take it offline or bump it to another meeting
- If an agenda item is becoming blocked, feel free to park it and move onto an item where consensus is likely

#### Afterward
- Cut the meeting 5 minutes before time is up to summarize it again and the next steps
- Ask for “anonymous” feedback on the session (survey)
- Create actionable next steps
- Ideally, send out a summary

<figure>
![Summary of the Architecture Decision Studio](https://dev-to-uploads.s3.amazonaws.com/i/sdsl7x4o02oiis9r4f61.png)<figcaption>Summary of the Architecture Decision Studio. <a href="https://jamboard.google.com/d/1ObmByD_H-UZ-2xSzQUFdDYyaVck3wU_a47vVnRsTFs4/edit?usp=sharing">Get the Jamboard template</a>!</figcaption>
</figure>

### Stepping in the Studio

![Pre-Read](https://dev-to-uploads.s3.amazonaws.com/i/jfr6ixjuboguf96si685.png)
#### Step 0 — Pre-read
Share a pre-read in the invite where people can read up details on the problem/use-case you’re trying to tackle and any information you think is useful.

![Introduction](https://dev-to-uploads.s3.amazonaws.com/i/lmwjc5cbkt57gkfe3lva.png)
#### Step 1 — Introduction — 8min
Set up a presentation where you take about 5-10 minutes to quickly share the knowledge you have and introduce the problem/feature. Inspiration:
What is the task (why this meeting)
What else might come our way in the future?
Summary of previous discussions
How is it done/can this be done currently?

Afterwards, ask for questions. Make sure that everything is clear to all attendees.

![Warm-up](https://dev-to-uploads.s3.amazonaws.com/i/mg8i0cmqmgeeaq6ia5dy.png)
#### Step 2 — Warm-up — 2min
Warm-up your audience and put them in the mood to participate. Ensure that there is a safe space for discussion. Make everyone feel comfortable. I.e. Brainstorming is a good idea (feel free to do something else instead): Start the timer for 2-3mins and have everyone write stickers on a board. After the timer is over, briefly go over the stickers, organize & group them, clarify uncertainties. Force yourself and others to talk about positive things. Whether it is “Pros and Cons of the current solution” or “What do we have already and what is missing” or “your favourite animals”. Use it to give a bit of context. Make it generic so that everyone can participate.

<figure>
![Pros and Cons Example](https://dev-to-uploads.s3.amazonaws.com/i/r0dufmksq8rlsghzm8ew.png)<figcaption>Example of a pros and cons warm-up</figcaption>
</figure>

![Ideas](https://dev-to-uploads.s3.amazonaws.com/i/c11813pu0kshekvsq8p5.png)
#### Step 3 — Ideas — 8min
This is where the magic happens. As an introvert, I love this part. It’s “working alone together”. In contrast to an offline meeting, online it is very important that you prepare this slide. You know who is attending so prepare 1 slide per participant (the Design Studio method would suggest that you split each slide into 6 squares, but that is up to you). Each participant can then within the 5-10mins draw as many solutions as they can come up with on their slide. The more the merrier.

This is not a drawing competition. It doesn't matter whether someone draws a sketch, an abstract idea or even just writes a phrase. As long as they can explain it later on, it’s perfect.

![Presentation](https://dev-to-uploads.s3.amazonaws.com/i/790c286ebf8blg7i1uaj.png)
#### Step 4 — Presentation — 2min/pp
One by one, go through each slide and give each participant the opportunity to present their idea(s). 2-3mins per person. No feedback. No comments. No “I like/dislike this idea… It’s possible/impossible…”. This is solely about presenting the idea. Questions that help to understand the idea are allowed. By not allowing ideas to be questioned or shut down you create a safe place and open up lines of thinking that may have been quickly disregarded previously.

Make sure to give each idea a “friendly name” (2-3 words that summarize the idea). Will be useful later on. Put it on a post-it and go on to the next slide. Next person. Rinse. Repeat.

![Voting](https://dev-to-uploads.s3.amazonaws.com/i/b86nogja9zz7t84p0v2b.png)
#### Step 5 — Voting — 1.5min/pp
Put all idea summaries together. From now on the ideas belong to the group, not to individuals. Make sure not to add names to the ideas. Just place the ideas up for a vote. They should stand for themselves. If you already have repetitive ideas you can group them together as one idea.

Now is the time to vote. Everyone has 1-2mins to give, one by one, friendly feedback focusing on the problem. Take each idea and say what problems the idea solves or not. If you think the idea is a potential solution candidate, give it a thumbs up (vote). There is no limit of votes.

Once everyone has voted you should have a winning idea. 

##### Draw?
If there is a draw for the first place, you have various options:
- Go back to step 3 and have another round of idea drawing where everyone can improve ideas or combine ideas to form another better idea. (this is the suggested way)
- You can let people discuss why they voted for one or the other idea and then re-vote
- The team-lead can decide for a solution in order to unblock the situation.

<figure>
![Ideas ordered by 1st, 2nd and 3rd](https://dev-to-uploads.s3.amazonaws.com/i/3kxqbushni3ue1hvmntv.png)<figcaption>Example of a winning idea</figcaption>
</figure>

##### We have a winner!
You should now have a 1st place, 2nd place, and 3rd place idea(s). Usually, the first place is the solution we want to implement. Feel free to put 2nd and 3rd in your backlog if they address other important issues but focus on the 1st idea within this studio.

##### Break
Perfect time to take a break. You may split the meeting into several meetings and stop here. Otherwise, this is a good time for a 5-15min break.

If you had a long break, start the next step by recapitulating in 3mins what was achieved in the last session, which decisions were taken, and what will be tried to achieve now.

![Refinement](https://dev-to-uploads.s3.amazonaws.com/i/w8c3cx0eeronyxdmwxrz.png)
#### Step 6 — Refinement — 45min
Refine the idea and figure out the steps necessary to implement it.
- Have the existing website/app layout/system pre-sketched
- Take turns drawing/writing what is necessary to be changed to adapt the solution idea
- Each participant has 1-2minutes to:
- - **Change** the existing design where necessary, OR
- - **Add** to the design (or sketches done by the previous participant(s)), OR
- - **Pass** their turn if they don’t have anything to add
Ideally, whenever the design changes, take a screenshot to document the evolution.

Naturally, discussions will evolve as people are sketching. That’s ok, go with the flow and don’t try to force it. However, try to keep the time schedule and turn-based system. It helps to give everyone an equal amount of speak/sketch/write time, makes sure that the discussion is not one-sided, gives quiet people the opportunity to come to word, and prevents the discussion from getting out of hand.

If you still feel that a topic still gets out of hand, park it, and continue with something else.
Limit the refinement part to somewhere around 40-50mins depending on the complexity.

![Actionables](https://dev-to-uploads.s3.amazonaws.com/i/5l2cumw6kw22p79pg25f.png)
#### Step 7 — Actionables — 10min
Write down summaries of all the changes necessary (from the refinement). Write down the open questions. Write down the parked topics. These are your actionables. Ideally, they can be translated into tickets. If there is not enough time left-over to do it together, feel free to take it offline after the session.

![Closure](https://dev-to-uploads.s3.amazonaws.com/i/xzh09y924l1nf7v8q2mc.png)
#### Closure
Summarize what was achieved and make sure to honestly thank your participants because they’re the best!

### Template
<figure>
[![Template](https://dev-to-uploads.s3.amazonaws.com/i/549ddrg7ss6aewtk142j.gif)](https://jamboard.google.com/d/1ObmByD_H-UZ-2xSzQUFdDYyaVck3wU_a47vVnRsTFs4/edit?usp=sharing)
<figcaption><a href="https://jamboard.google.com/d/1ObmByD_H-UZ-2xSzQUFdDYyaVck3wU_a47vVnRsTFs4/edit?usp=sharing">Jamboard template</a></figcaption>
</figure>

## What now?
We tried the Decision Studio several times already. It was fun and effective. Putting us on the same page, fostering collaboration, and producing actionable output.

![Pinky and the brain](https://dev-to-uploads.s3.amazonaws.com/i/1ijwpnp4lm7tm3iv0xwj.jpeg)

It’s not done yet, we’ll continue to use the Decision Studio Process and encourage other teams to try it. Continuously improving the format. I’m planning a central gateway for it to make updates/refinements easier.

However, I fear that by standardizing it, it might become boring. To fight boredom, there has to be variety! So I strongly encourage you to make tiny changes in each session and tailor the Studio exactly to your current needs to really make it your own!
(and please share your outcome with us)

That’s it, keep it *smoooth*!