owned this note
owned this note
Published
Linked with GitHub
---
title: Framing open hardware projects
description: In this lesson we introduce the importance of framing as an essential activity to design and develop open hardware. We touch upon general aspects, practices and tools to frame projects as well as specific considerations that apply to open hardware.
authors: Jerry de Vos, Jose Urra
version: 1.0
---
# Framing Open Hardware projects
<!-- Back to [overview](https://hackmd.io/ya-g7omdSI--Vx0JcayB1Q?view) -->
[![License: CC BY 4.0](https://img.shields.io/badge/License-CC_BY_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7195639.svg)](https://doi.org/10.5281/zenodo.7195639)
**Date of release:** 22-08-2022
If you are creative and enthusiastic about technology, tinkering, design, etc, then you have probably run into the dilemma of wanting to do more than what you can do. Or perhaps you have naively underestimated the challenges a project involves.
This is a good situation to be in, as opposed to not having enough interesting ideas to pursue. **In this lesson we want to provide you with some tips and tools to help you apply framing techniques in your idea development.**
:::info
**By the end of this lesson you will**
- Be able to apply framing to hardware design projects
- Use framing for different purposes including planning, designing assignments, communicating with others about your project, or structuring your creating and critical thinking hardware design process
**Considerations and prerequisites**
- Ideally the learner has some experience in hardware designing and/or prototyping
- For advanced learners looking into advanced methodologies, and frameworks consider also checking the appendix section and references after reading the first section.
**Learning objectives**
- Apply framing in hardware projects
- Use framing as a first step to plan and organize iterations
:::
:::warning
For project leaders that are looking into how to define assignments or design challenges for other team members, framing can also be a very useful tool.
:::
## Introduction
The framing approach we are proposing is a simple framework where you can iteratively generate ideas and make decisions that allow you to focus as you go. This implies deciding what to do now, what to leave for later, or what to leave out of the scope of the project entirely.
**How do you decide what to leave in, and out certain ideas or goals in a project? And why is this important?**
![](https://i.imgur.com/YSh4bwT.jpg)
Reference link for this image: https://www.pexels.com/photo/dslr-camera-flat-lay-821652/
**You can think of it as if you would be looking at your project through the lens of a camera and you are zooming in and out to get a better picture of your project.** (Your "camera" may also get upgraded with a better lens, along with your sensitivity, creativity, and pragmatism, just like any other craft).
What you decide to focus on allows you to achieve greater goals in the future. It may also involve deciding what problem to solve, or which solution is more feasible considering where you are standing at the moment.
## What is framing
:::info
**Framing is like the "theory" behind your project.** For example: *wouldn't it be cool to have a small size open source biodigester that can generate gas or electricity?* Another example: *[The world really wants this 3D printable whistle.](https://www.printables.com/model/65397-kazoo)*
- **Includes aspirational aspects** (goals, milestones and outcomes at a given time)
- **Feasability aspects** (Backwards planning, resources, funding, know-how, materials)
:::
:hand_with_index_and_middle_fingers_crossed: **How good is your theory?** Is it a good idea not just for you? Is it feasible? How much time will it take you? These questions imply the testing of a projects reason to exsit.
:::spoiler **Some "methodological" definitions of framing**
> The objective of the framing process is to ensure the right problem is tackled, from the right perspective, by the right people. Framing a project properly at the outset will assist in aligning the team toward success and reduce the probability of failure.
> Framing is thus the process of putting a frame around the project by defining the high-level boundaries within which the project will be developed. [Read more here about it in this article....](https://www.ownerteamconsult.com/the-importance-of-framing-and-alignment-on-a-project/)
Framing design challenges:
> A design challenge articulates the problem you are trying to solve and helps you define a scope that is neither too narrow nor too broad. [Read more here...](https://www.designkit.org/methods/frame-your-design-challenge)
:::
---
There are plenty of tools, frameworks, and methodologies. Perhaps far too many to choose and get started right away as a beginner. We will try to give you an extract of what we find simple, powerfull, and later on, try to complement it with more advanced concepts and tools. **Your frame or theory is a bit like one of the cameras below**.
![](https://i.imgur.com/9ey1yP4.jpg)
Image retrieved from: https://www.pexels.com/photo/assorted-black-cameras-1983036/
### What are constants in projects?
> A camera has to focus, shoot photos, interact with light, etc, regardless of its structure. A hardware project delivers some level of design, and if open source it needs to be public compliant with a minimum set of requirements.
The frame of a project always has boundaries, just like the frame of a camera. In a project you have a frame with:
- The width, how broad is your project, what parts fall in the project, and what does not.
- The length, in what time does (this iteration of) the project needs to be completed?
### What are constants that frame open hardware projects?
Great! We know a couple of things already:
- The outcome of the project is a specific hardware design.
- It will be published to share the results.
- It will be published also to get feedback.
- Hopefully, you share progress and interact with other contributors or interested stakeholders as you go.
- The data package you want to release needs to be friendly for others to be able to study it and reproduce it.
:::success
*Open source is part of what makes my theory good because it makes it more testable when I share it with the entire world!* (this is at least in theory) :smile:
:::
### What aspects are often fuzzy or unknown in projects
- What do I want to get out of the project
- How important it is for me or my team
- What is the motivation behind the project
(Here are some examples)
- Hacking and experimenting to learn?
- Delivering a product that doesn't exist.
- Making a derivative technology with new specifications but with a similar concept?
- Do I have the know-how, resources , and time to work on it and reach the goals, and roadmap I have set?
- Is there a market for this project/product
- Do I want to publish it in a journal?
:::spoiler **Do I need to know all this in advance before getting my hands dirty?** Yes and No (Read more)
:::warning
- Not all hardware projects need to be super innovative to be relevant
- Not all innovative projects have to be super relevant or applicable at their start
- If you find you want to solve a problem that is socio-technical the framing goes beyond technology and involves aspects of timing, resources, capacity, etc.
- The study and understanding of needs involves identifying customers/users' pains, jobs or tasks they want to do, and matching them with a solution that improves their previous situation **(this is particularly relevant for product developers)**
:::
---
**How to address the unknowns in a project?**
Always start with an idea (it can be a drawing, a prototype, or a thought), then we plan enough to try to implement it. Some plans are more detailed and capture assumptions about the relevance of the problem, the possible technical solution, or the idea you have.
:::warning
**What makes a difference is:**
- How systematic or messy we are when following this path! The idea is to turn our process into a more predictable and controlled step-by-step workflow.
- How open and creative we are to incorporate new ideas and findings when opportunities come.
- How capable are we of delivering small increments of sub-solutions to our sub-problems
- How capable are we of capturing the learnings on each iteration of our project.
:::
### Framing within the wider process of iterative project development
Iterate from plan A to a plan that works. (This is actually a subtitle from a book called: [Running lean](https://readingraphics.com/book-summary-running-lean/))
![](https://i.imgur.com/CslsBR4.jpg)
Image retrieved from: [How To Test Your Idea: Start With The Most Critical Hypotheses](https://www.strategyzer.com/blog/how-to-test-your-idea-start-with-the-most-critical-hypotheses)
:::spoiler **Extended model linking desgin, experiments, creativity and science** proposed by Craig Rusbult [in Problem Solving in education: Helping students learn how to combine creative and critical thinking in design and science](https://educationforproblemsolving.net/methods/ed.htm)
![](https://i.imgur.com/CzcUvek.png)
In the last decades there has been a wave of experimental theories and frameworks (test driven, data driven, observation and knowledge driven) for project management (i.e. [SCRUM](https://www.scrum.org/), [agile](https://en.wikipedia.org/wiki/Agile_software_development), [kanban](https://en.wikipedia.org/wiki/Kanban_(development))), business development (i.e. [Lean startup](https://en.wikipedia.org/wiki/Lean_startup)), software development ([test driven development](https://en.wikipedia.org/wiki/Test-driven_development)). **What they have in common is the notion that you can only learn about the desirability, relevance and feasibility of an idea by a process of continuous and iterative knowledge building.**
:::
---
:::warning
:warning: Framing is technically just step 0, but we want to illustrate how it makes sense in the larger context of project development.
:::
- **0. Start at 0. Think, theorize, and generate hypotheses.**
- 0.1 Break down your big theory into smaller testable ideas or hypotheses.
- **1. Design experiments, and prototypes to address critical hypotheses. (leave out those that are not critical at this point in your project)**
- 1.1. Plan them based on priorities and feasibility in a smaller time box (for example 1 to 3 months)
- **2. Measure your results.** This may include feedback from users or simply documentation of results from your tests.
- 2.1. If my project is open source, time to get feedback at this point (Can be within the documentation, using issues in tools like github, mailing, lists, forums.....)
- **3. Capture your insights**. In the context of hardware this can be for example a better design specifications and considerations.
- 3.1. Are there new aspects to incorporate or update in your framing? Perhaps narrowing the scope even more, or extending it?
- 3.2. Did your results match your expectations? Was it more challenging? Should your sprint (sub-project) contain less tasks or experiments?
- **0.Restart again with a better frame**
:::spoiler **More on Scoping iterations and intermediate steps**
We suggest that you include a full cycle of this in your framing( this is an iteration from 0. to 0). These cycles are also called sprints in the context of agile development techniques.
![](https://i.imgur.com/UnYK2uh.png)
The following image incorporates timeboxing of different levels of thinking. From left to right you have more predictable and short term driven plans, where experiments are focused on building small increments of knowledge and results, up to the activities that have wider framing that is more difficult to predict compared to testing a component or implementing a module of a product or prototype.
:::
---
## Getting started with framing using VP
So far we have covered what is framing, why is it important and how does it relate to other project development activities. But we haven't actually given you any tool to generate hypothesis to get started.
**Meet the [value proposition canvas](https://www.strategyzer.com/canvas/value-proposition-canvas)** and the explanation video of how to use it :wave:
![](https://i.imgur.com/gv5OaeY.png)
Image derived from : https://www.strategyzer.com/canvas/value-proposition-canvas
Here we give a brief explanation about it. The website with the canvas has a nice video explanation for you to look at. The best way to get familiar with the tool is to use it.
## Example: Open source biodigester project
To put all of this in practice we made an example case of a biodigester based on the [Open Source Solar CITIES biodigestor system](https://www.appropedia.org/Open_Source_Solar_CITIES_biodigestor_system)
**A biodigester is:** *A device that takes a specific type of organic material and turns it into gas.*
![](https://i.imgur.com/oGqfIk7.png)
Image fetched from: [https://www.researchgate.net/figure/Schematic-diagram-of-a-biodigester_fig1_237716585](https://www.researchgate.net/figure/Schematic-diagram-of-a-biodigester_fig1_237716585)
![](https://i.imgur.com/ZseYcdw.png)
Image derived from : https://www.strategyzer.com/canvas/value-proposition-canvas
0. **Frame:** Can I make a safe biodigester with accessible materials that can be built by amateurs with the proper training and documentation? It needs to be low cost, standard size for comparing experimental data and open source.
1.
:::warning
:warning: Notice that each card in the canvas contains several hypothesis.
:::
- 0.1. **Generate more detailed hypothesis and design experiments to validate them**
- **Hyptothesis example:** The biodigester is quite small and can fit in couple of squared meters
- **Experiment 1:** Make some calculations of what minimum volume is needed to generate the desired amount of gas per day
- N hypothesis
- N Experiments
- ...
- 0.2. My next biodigester sprint (1-3 months) will focus on implementing experiment 1, 2, 3, etc.
- 0.2.1. If you have a bigger team then people could do experiments in parallel
:::info
**Solutions ultimately manifest or embed a certain point of view, world view, theory or "framing" as we are calling it.**
- The fact that you can put in words your thinking for your project is a good step to reflect and make transparent your process to you and others.
- But in the technology world thinking (or not thinking about certain aspects) is ultimately solidified in actual solutions that have impact (or not).
:::
# Excercises
## Exercise 1: Create a first value proposition
The goal of this exercise is to frame explicitily your project by writing down the theory behind it. Remember the idea is that once you generate these hypothesis the next step is to design experiments that allow you validate them.
- Generate some hypothesis and ideas about your project using the value proposition canvas.
:::success
**Some tips and considerations**
- Consider that a starting point can be a product you want to improve, simply open source, or create a new version of your project (v.2.1)
- Think of the value proposition canvas as a specific type of camera to take pictures of the thinking and assumptions behind your project.
- This is a hypothesis generation tool (one of many) the point is to help you structure your hypothesis and organize them according to certain concepts that are common in product development.
- You can start from the square (left to right) or from the circle (starting from needs)
- Your customer or user can be yourself (this is quite common with hobbyist and DYI projects, even for the linux kernel and git this was the case)
- Substitute the "products and services" part of the canvas with your target features and specifications (performance, materials, costs).
:::
- Here are two templates for you to reuse. Feel free to extend your notes if needed.
**Template 1**
```
Here’s Moore’s original 6-step value proposition formula:
For (target customer)
Who (statement of need or opportunity)
The (product name) is a (product category)
That (statement of key benefit - that is, compelling reason to buy)
Unlike (primary competitive alternative)
Our product (statement of primary differentiation)
```
**Template 2**
```
# My awesome value proposition
## Jobs
(This might be unknown for some projects)
-
-
## Pains
-
-
## Gains
-
-
## Product features and specs (Products and services)
(This might be unknown for some projects)
This is like the core concept of your solution, key features and spects.
-
-
## Pain relievers
-
-
## Gain creators
-
-
## Other things you want to include in your frame?
(You can extend your framing with whatever you find relevant to make your project theory more complete)
- Deadlines??
- Desired outcomes???
```
## Excercise 2: Prioritize your target specs and features
This exercise is meant to help you specify what attributes of your product idea is essential. Which are those target specifications, features and functional driven goals that if met are going to make your project or next release relevant?
Here is template to help you get started:
|Priority| Features/ target specs|
|--------|-------|
|Must have| |
|Should have|
|Could have|
|Won't have|
## Exercise 3: Frame your next iteration
Now that you have captured hypothesis and ideas about your project. Pick an aspect, target specification or spec you think is critical, and frame an iteration of your project where you focus solely on these aspects.
::: success
**Tips**
- Set a goal or intent for this iteration (Is it going to be documentation focused? Focused on refinement? Testing and debugging something you have made? Or getting feedback from potential users?)
- Think of an iteration or sprint as a period of 1-3 months where you end up with a deliverable that includes what you build, why you build it, the results and the learnings.
- It may well be that your project is already functioning and yu simply need to focus on documenting it in the best possible way you can for the "customers" or target audience you are prioritizing.
- You might want to focus on a core component of your project (software, electronics)
- Or you want to test options of materials and find suppliers that allow you to lower the cost of the project.
- It can be a know-how building iteration where you focus on learning through different builds of setups to understand better the problem.
:::
## Exercise 4 (Optional): Generate an assignment
- Use your framing knowledge to generate an assignment or design challenge.
## References
[1] E. Graves, “Applying Agile to Hardware Development (part 1).” https://www.playbookhq.co/blog/agile-hardware-development (accessed Aug. 20, 2022).
[2] Playbook, “Hardware Development for Agile.” https://www.playbookhq.co/agile-hardware-development (accessed Aug. 20, 2022).
[3] “Manifesto for Agile Software Development.” https://agilemanifesto.org/ (accessed Aug. 20, 2022).
[4] S. AG, “Value Proposition Design Book - Preview & Download PDF.” https://www.strategyzer.com/books/value-proposition-design (accessed Aug. 20, 2022).
[5] “Problem Solving in Education.” https://educationforproblemsolving.net/methods/ed.htm (accessed Aug. 20, 2022).
[6] “Design Process - in Education and Life - for Problem Solving.” https://www.asa3.org/ASA/education/think/intro.htm#scides (accessed Aug. 20, 2022).
[7] R. Hubner, “Hardware design: ensuring specifications,” Zign Innovations, Jul. 19, 2022. https://zigninnovations.com/blog/high-quality-hardware-design-guaranteeing-specifications/ (accessed Aug. 20, 2022).
[8] “The Importance of Framing and Alignment on a Project | OwnerTeamConsultation.” https://www.ownerteamconsult.com/the-importance-of-framing-and-alignment-on-a-project/ (accessed Aug. 16, 2022).
[9] “Problem Framing,” Design Sprint Academy. https://www.designsprint.academy/problem-framing (accessed Aug. 11, 2022).
# Appendix: Framing tools for different purposes
The internet is flooded with framing tools, theories and methodologies of all kinds. This appendix aims to provide a range of framing tools to illustrate how varied is the landscape of approaches.
:::warning
Ultimately the goal of this lesson is to help you enrich your framing tool box and spark interest on this level of thinking about your technology projects.
:::
|Tool|Framing Focus|
|---|---|
[Value Proposition Canvas](https://www.strategyzer.com/canvas/value-proposition-canvas) | Generating hypothesis and concepts about the relationships between users/customers needs and product/services properties, specifications, or characteristics.
[Persona canvas (one of many)](https://www.revelx.co/blog/canvas-toolkits/) | Focused on empathizising with potential users/customers, understanding interests, pains,
[Job-to-be-done JTBD](https://jobs-to-be-done.com/what-is-jobs-to-be-done-fea59c8e39eb) | *"A lens through which you can observe markets, customers, needs, competitors, and customer segments differently, and by doing so, make innovation far more predictable and profitable.""*
[Business Model Canvas](https://www.strategyzer.com/business-model-canvas/building-blocks) | Integretad framework to tackle products from a "business" point of view.
[Open Hardware Busisness Models](https://www.slideshare.net/btincq/business-models-for-open-source-hardware) | A nice slide deck enriching business theory in the context of open hardware based on the business model canvas.
[Lean canvas](https://leanstack.com/lean-canvas)| A variation of business model canvas focused on startup processes.|
|[lean canvas for non-profits](https://blog.leanstack.com/why-and-how-to-model-a-non-profit-on-the-lean-canvas/)| This read explains how to use the lean canvas in the context of non-profit, social entrepeneurship. |
|[Gartner Hype Cycle](https://en.wikipedia.org/wiki/Gartner_hype_cycle) for Emerging Technologies| A theory about how technologies evolve and are adopted. |
|[Open Canvas](https://docs.google.com/presentation/d/1JbfKztGMmirUgWSAWv0SmdSkmwGqYVYxEIaTIZyg6B4/edit#slide=id.g1b30ce0bb1_0_90) | This canvas has been developed by the Mozilla Foundation based on the lean canvas with a focus on users and contributors and their relationships.
|[Private Public Partnership canvas](https://www.ppplab.org/wordpress/wp-content/uploads/2016/05/PPPCanvas-User-Guide.pdf)| Derived from the business model canvas includes aspects with a strong focus on PPP consortia.
|[Platform Design Toolkit](https://www.boundaryless.io/pdt-toolkit/)| Focused on platform design, these are complex business that develop market places and ecosystems where people exchange value (arduino is a good example, raspberry pi as well )
---
<ul class="pager"> <!--this is the style of the button-->
<li><a href="/C1eJ3lmSQ7ijtGi0FtTcGg">Previous Week</a></li> <!--This button takes me to the table of contents-->
<li><a href="/1kONu5gwSS6knAGnwcO5KQ">Next Week</a></li> <!--This button takes me to the previous page-->
</ul>