---
title: Start Simple
teaser: Ship faster by starting simple.
tags: productivity,web
author: Blake Williams
published_on: 2016-03-21
---

In the past year I've worked on quite a few projects that have had very
ambitious development goals from the beginning of the project. A few of these
goals were truly necessary to ship a quality product, but many of these goals
cost time, money, and in some cases the project.

Lately the trendy thing to do is start with a front-end framework like React or
Ember and build the back-end as microservices. I think these trends have their
place but are often used prematurely. This can cause development speed to slow
to a crawl.

When starting an application your goal should be to ship a [MVP][MVP] (minimum
viable product) as fast as reasonably possible while still maintaining quality.
To help make that successful you need to be minimal. Evaluate if you really need
to start with a front-end framework or if you can get by with static HTML and
JavaScript where needed. Build a monolith instead of starting with microservices
to avoid the unnecessary overhead that affects development, infrastructure, and
team productivity. In every situation you encounter, ask yourself if what you're
trying to do is really necessary.

As the [MVP post][MVP] implies, the best way to start is to start simple. For
example, if you wanted to write time tracking software for your team a good
place to start would be a spreadsheet. Conversely, a bad start would be using
microservices before you have any customers.

Once your MVP has shipped then you can make decisions such as migrating to a
front-end framework or extracting a service. Keep in mind that it's almost
always easier to break something apart than it is to put it back together.

[MVP]: http://theleanstartup.com/principles#develop_mvp
