The Tech Stack Canvas

Create, document, and communicate
your product's tech stack

Create

Don't be stuck in analysis paralysis or miss important aspects of your tech stack. Use the canvas as a checklist and the process below as a quick way to decide what technologies to use in your product.

Document

Have all relevant technologies of your stack documented on a single page. Document the planned technologies for a new project but also document the status quo of existing products.

Communicate

Use this alongside other canvases such as the business model canvas to communicate a comprehensive picture of your endeavour to employees, stakeholders and investors.

Elements of the Tech Stack Canvas

Click on each box to learn about details.

Create a new Tech Stack Canvas

When you are a startup or starting a new venture inside a corporation it is not uncommon, that you have to create a tech-stack from scratch. There is a lot of new trends to be considered but also a lot of constraints given the experience you have in your team. To create your own tech-stack in a situation like this we recommend a workshop which usually takes one or two days. The steps for filling the canvas will look like this:

1

Familiarize everybody with the canvas

Make sure everybody in the workshop understands the Tech Stack Canvas and its elements. Use the element description above. Also clarify questions about elements of the tech-stack and why you would need them.

2

Discuss main business goals of the project

The three canvas elements on the left are special in that they do not describe the tech stack itself but the main reasons why it is like it is. Every project has business goals and those goals should be clear to all participants of the workshop. This is what you are discussing in this step first. Write down the three main goals for this project. We strongly recommend, that you identify the business goals before starting the workshop. A good starting point would be filling out a Business Model Canvas or a Lean UX Canvas.

3

Discuss sizing numbers and quality attributes

Sizing numbers and Quality attributes can be discussed if obvious. Usually it is complicated to focus on the most important ones here. You should brainstorm them here and keep them on post-its. Then fill the canvas fields retroactively when discussing the other elements where it will become obvious which numbers and attributes are really important for decisions.

4

Discuss the elements in detail

Discussing and documenting each remaining element of the canvas focussing on a number of questions.

a

What are the constraints?

Many projects, especially a startup can’t effort to find the optimal solution for the requirements it needs to find a solution that is possible given the existing constraints. As an example even if python would be the optimal language for an AI solution but you can’t get any experts it might be better to choose a different language.

So constraints follow questions like:

  • What technologies do we already know well?
  • What can we learn quickly?
  • What can we buy?
  • How easy is it to hire experts?
b

What are the options?

Based on the constraint it will probably be easy to write down available Options. If this would still be to many it might make sense to discuss requirements first in order to narrow down the list of options.

c

What option does fit the requirements best?

After we know the available options we can have a look at the requirements for our project. Those can now help to determine which option to choose. This reasoning should be written down. Sometimes it might make sense to look at other elements of the stack before the final decision as they might influence it. Quality Attributes and Numbers that are used often to decide between options are good candidates to be included in the respective areas on the canvas.

d

What are the consequences?

Every decision for a certain technology has some consequences. Examples would be license costs or dependency on a specific vendor. Those should be considered and also documented.

e

Document the decision

The answers to those questions will result in a documentation of the reasons for every element in the canvas. This is comparable to Architecture decision records (ADR).

5

Sanity Check

After all elements are initially filled it needs at least a sanity check whether the whole picture still makes sense.

Example

Here is an example of the creation process that we did for an internal application. Use this to get an idea what belongs where and what the detail level can be. This specific canvas has been documented after the system already existed. This took no longer than 30 minutes.

Don't do it alone!

Trying to create this canvas all on your own can be difficult. You might miss some important options. We recommend that you get help for creating the canvas in two ways:

  • Somebody who moderates the workshop and takes care of documentation, timing and following the steps
  • A sparring partner for technologies. You should involve somebody that has seen several technologies in action and can give you impulses what might be a good fit in your situation

The moderation part can for instance be done by agile coaches in your organization. The sparring partner can be an experienced CTO from an accelerator or an experienced consultant.

You can of course also ask us!

With our experience in many different projects we can be your sparring - partner in choosing the right options. We can also help you in moderating the process of creating this canvas.

Contact us

Want to document your architecture?

This canvas is good if you want to document what technologies you are using to create your product. You might also want to document how you create your product by documenting your software architecture. There is a canvas for this, too. You can find it at https://canvas.arc42.org/.

Get the template!

Stay Up-to-Date!

Join our Tech Stack Canvas newsletter to gain insights and periodic updates. You can expect practical tips,  tricks, and the latest news on the Tech Stack Canvas delivered directly to your inbox. Rest assured, we're committed to providing valuable content without overcrowding your inbox.

Contributors

A lot of people helped with the creation of the canvas, provided feedback and created templates.

Many thanks go to: Anca Trusca, Benjamin Wolf, Christiane Mezger, Daniel Westheide, Gernot Starke, Jörg Müller, Markus Harrer, Michael Krauße.

License

This work is licensed under CC BY-SA 4.0