Creating a Financial Foundation for Shared Infrastructure

Over a decade ago, I was one of the founding members of the Dallas Makerspace. My major contribution was designing the financial models that allowed the group to have a solid financial footing for renting it’s first dedicated space.

an antique drawing of three candelabras
Giovanni Battista Montano. Three Candelabra, 1534–1621. The Art Institute of Chicago.

The other founders were more involved in all the growing pains of starting an organization like that, and I moved to another city and didn’t lift those boulders. But (as far as I know) the original membership models kept the group bootstrapped long enough to attract more members and grow into the organization they are today.

A member of the ThePrepared Slack recently asked how I did this, and in retelling the tale, I realized that I’d never written down the methods I used. I think sharing them here might be helpful to other people looking to start either their own hackerspace, makerspace, or other opt-in, volunteer-driven group that seeks to have a single costly piece of shared infrastructure.

The Problem, Or What Not To Do

First let me lay out the problem. A volunteer organization starts with zero money. It can ask for donations and have some non-zero value of money, and then they can spend that money on projects. This model works fine if the projects are less frequent than how often you can ask people for money. If the organization wants to rent a space, they will now have a monthly operating cost that extends into infinity. There is no time when you’ll have raised enough money to pay for all the rent forever. You can only raise enough money for some number of months. You can think of each months rent as a “monthly project” you need to raise money for. If you organization has a regular meeting once a week, that means you will be either about to ask for money, asking for money, or telling people how much money you raised three out of the four weeks of the month. A primary task of the volunteers who have donated their time to keep the organization running will be to figure out how to collect enough money each month.

Suffice to say, unless your organization is a group of people who love to ask other folks for money, this will not be an activity that is long term sustainable by volunteers. They did not join the ranks of your group to run around asking folks for money.

Continue reading

Comparing Engineering and Design

In an earlier post I wrote about the similarities between engineering and design. After discussing the concepts with a few engineers and designers, I thought it would be helpful to explore the differences between the two disciplines.

a crushed empty soda bottle on the ground
Photo by Roberto Sorin on Unsplash

Known solution versus unknown solution

In the introductory chapter of Designing Your Life, the authors point out the most salient different between engineering and design problems.

… [E]ngineering is a good approach to solving a problem when you can get a great deal of data and you’re sure there is one best solution.

Designing Your Life (Evans and Burnett, 2016)

They position design problems as not having a known single best solution.

[Creating the first laptop with a built-in mouse] was a design problem. There was no precedent to design toward, there was no fixed or predetermined outcome; there were plenty of ideas … but nothing was working.

Designing Your Life (Evans and Burnett, 2016)

In other words, engineering explores a problem space with a clear well-defined solution, while design explores a problem space without a well-defined solution.

Solvability

A professor introduced me to the idea of asking whether a problem is “solvable by design” or not. This is a question a designer should ask when identifying a problem to solve. I found it incredibly helpful to break out of an engineering mindset. I was in the early stages of a project, exploring a problem space and being a bit overwhelmed at all the different facets of a large and complicated situation. My process was to try and create a framework for understanding the entire problem space, and then using that framework to come up with “the solution”. The framework was helpful – it provided a way to organize my group’s thoughts and gave us a common language to talk about the different facets of the problem space. But it did not point to a “solution” – instead it made clear that the tree of problems we were looking at had a root problem that was simply not solvable by design. The best we could do is mitigate some of the effects of the problem and provide a tool designed to help the people affected cope.

I’m not sure that engineering has such concept as “not solvable by engineering”. Certainly there are problems that aren’t, but I don’t recall that being part of any engineering course or discussion I ever participated in. It is perhaps a blind spot in the way engineering is practiced. Or perhaps such problems are dismissed as “not solvable by engineering yet“.

Continue reading

Building a small team

When starting a new venture, your team is often small due to timing, budget, or uncertainty. Growing a team from a small starting point takes careful thought about both the current needs and the future. When only a handful of people are on the team, each hire has a dramatic increase in the communication costs and cognitive load of relationships. There is a combinatorial jump as N goes from 2 through 6 that is unavoidable.

Photo by Wolfgang Hasselmann on Unsplash

On a small team, each member has to cover a wider spectrum of topics, even if the depth of understanding or time commitment of each topic is small. Someone needs to do all the little administrative tasks but they do not all sum to an amount of work that represents a full position. And that is often the case for many other topics. You do not need specialists yet.

But the software and technology industry is geared towards specialists. The cynic would say it is because it is easier to put people into a box with a label and disregard the other skills someone has. I think it is simply the nature of a tech industry culture dominated by huge players that are assembling large teams that are looking for very specific specialized roles. Those companies’ influence sets the tone of the discussion. When someone might get a job at a 10,000 person company or a 100 person company, which framing are they going to gravitate towards for themselves? It seems the gravitational pull of the big players wins out.

So building a small team is difficult. It is intrinsically difficult to do, and the hiring marketplace is slanted against giving you the information you need.

My advice, and the techniques I use follow.

Continue reading

The Overlap of Engineering and UX Design

While simultaneously working in software engineering and completing my masters degree in HCDE, I started to notice a few overlaps in both the practice and conceptualization of engineering and design.

Both involve solving the problem of what to build. Both rely on a set of heuristics built by experience in the individual practitioners. Both are concerned with trade-offs.

two giraffes facing away from each other
Photo by Vincent van Zalinge on Unsplash

What to build

Solving the problem of what to build in either discipline is about understanding the gap the solution needs to fill.

In engineering, this is usually framed as requirements gathering. They are typically structural requirements of the embodiment (how many cycles in how much time, how much work done with how much resources), restrictions of performance envelope (an upper limit of acceleration, a lower limit in total capacity), or functional conditions (some response must occur whenever an event occurs).

In design, deciding what to build is based on satisfying the judgement of a person. This could be the design themselves (intuitive design), an end user (user-centered design), or a stakeholder (a mixture).

Heuristics

These appear to be poised opposite each other on a spectrum of hard and soft requirements. But that assumes solving the problem of what to build is simply mechanical. Problem solving is creative and involves synthesizing existing solutions in appropriate combinations as well as introducing novel solutions to the context. Both a designer and an engineer rely on a set of heuristics to build a solution, including the introduction of any sort of formal design process.

Trade offs

It is this aspect that ties engineering and design together. Both require space for ideas to be pieced together and evaluated. In any non-trivial situation, the addition or subtraction of an element affects the performance of the solution in a complex way.

A user experience design is not simply a set of steps to walk through. It must consider the holistic experience of many different types of people. It needs to take into account what is practical.

Similarly, an engineering solution is not simply the set of components involved. It isn’t even the much larger set of combinatorial ways that the components could be arranged. It must consider flexibility to meet future conditions and extensibility. A solution must address maintenance and the skills and abilities of the team who will maintain it.

Continue reading