Edge of Chaos.

Photo by Adam Krowitz on Unsplash.

Featured image for Edge of Chaos.

How we're balancing order and disorder in our startup.

Everyone knows running a startup is chaos. Even Steve Blank says so.

What you’re doing is trying to build the train and the track while simultaneously travelling as fast as you can in what you hope is the right direction while making sure your passengers don’t fall out and die (Ok, maybe that last bit is overly dramatic). No wonder it’s hard.

What we can learn from jazz, football and Scrum.

With so many moving parts, a startup naturally tends to chaos. Entropic forces seem strong here, pushing towards disorder faster than we can create order. But we don’t have to give in that chaos, and we shouldn’t.

My first passion in life was being a jazz musician. People would say to me “jazz is just doing whatever you want, how can you know what to do when everyone is making it up as they go along?”. The answer is that jazz has rules, like any team sport. Most types of jazz require you to agree on the song, the key, the tempo, and you improvise on the other elements such as melody, rhythm and phrasing. It’s like a game of football, first you agree the rules and then you react to the unfolding game as you go. You can’t plan out the whole match in advance - there are too many unknowns. Footballers and jazz musicians understand that improvisation requires attentive observation of the environment and deployment of learned skills in a timely manner. Also, teamwork.

When I became a Scrum Master and later an Agile Product Owner, I realised it was pretty similar. Set up the rules of how to work and then you can regularly observe and adjust to the changing environment when deciding what to do.

This is clearly where the Lean Startup is pointing us. Don’t plan it all ahead of time, it’s sure to fail. Pay close attention to the evolving situation and adjust your direction accordingly.

How to manage chaos in your startup.

My point is, when you are running a startup, nearly all aspects the company require this improvisation-within-the-rules mindset. While some startups use agile approaches for engineering and occasionally for product-market fit, anything beyond this is rare. Most startups I’ve seen don’t do this. They either use a form of traditional management and structure (i.e. what you would do in an organisation with a stable business model) which leads to inflexibility, or are improvising without rules, which exacerbates the natural tendency of startups to run to chaos.

What we are looking for is to find a sane way to play in the edge of chaos - “a region of bounded instability that engenders a constant dynamic interplay between order and disorder”.

Space to play.

At Dotmesh we are exploring which rules we need to set up our space to play. One is our banners approach to organisation structure. Another is our use of research sprints to find out more information about key areas of our hypotheses while we are searching for product-market fit. We are breaking our research activities down into bounded tasks and completing them within 2-week sprints (for convenience these are synced with engineering sprints). At the start of every sprint we talk about the evidence we have so far for each hypothesis and make a decision about which one we want to focus on most, what evidence we need next and how to go about getting it.

Doing this has allowed us to stay sane by setting clear work tasks, regularly reviewing what we know about each hypothesis and bringing visibility to the whole team about what we are all focusing on.

Steering by learning.

I think the most important thing we’ve gained from actively setting out our ways of working is that we have started to shape the company around learning rather than building. Sometimes building something is a way to learn, but recognising that and actually organising our work around that feels really good.

Get involved.

Try our hosted tutorial.

We've teamed up with our friends at Katacoda to to bring you a live hosted tutorial. Try it now.

# Install the dotmesh client
sudo curl -sSL -o /usr/local/bin/dm \$(uname -s)/dm

# Make the client binary executable
sudo chmod +x /usr/local/bin/dm

# Use the client to install dotmesh-server
dm cluster init