The easiest way to decide whether to write about something is to just see what you end up talking about. For me, at least, that seems to be a good barometer. Obviously I spend a lot of time talking about what I’ve been doing, but specifically I’ve been chatting with people lately about how we’re working and I thought it might be worth sharing.

In early December we released version 1.0 of Percolate (whatever version numbers really mean these days). Beyond the feature updates and focus on the brand dashboard, 1.0 also brought us to a point where we were running (almost) the whole site off our API. This isn’t anything new, really, lots of companies are running the product off their API (Twitter being the most famous, probably). There are lots of advantages to working this way, but the one I’ve found most interesting is the effect it’s had on the way we develop.

At Percolate we don’t have a strict methodology. Between myself and the team we’ve read and experienced lots of different ways of developing products and we have landed on the one that feels most natural to our product, our team and the sort of features we’re building. The way that plays out is short sprints of a week or two where everyone jams a bunch of small and large additions/fixes into a .1 release (is that the proper notation??).

While we’re still generally taking that approach, one very big thing has changed since we moved to our new architecture: Everyone works at the same time. One of the really neat things about running everything off an API (and again, apologies if everyone else already knows this) is that once the feature team has defined what they’re building, backend, frontend and design can all happen in tandem.

We start by sketching everything out and finalizing flows. Once that happens everyone gets to work: Backend writes some Python, frontend writes some javascript and design finalizes interaction and visual design. Because it’s all just data being passed around, no one needs to wait for anyone else. As long as the data is modeled, we can write all the frontend code before the actual endpoints are complete (and before the visuals are solidified).

Then, once everything is finalized, we can essentially hook all the pieces up and flip the switch. Obviously it never works quite that simply, but the basic gist is all there. Because everyone is just passing around standard structures of data they can all work pretty independently, allowing us to push through releases pretty quickly. Obviously it means that the whole team needs to be very familiar and bought off on designs and trust the designer to not do anything crazy, but with a product team of six that’s not too tough.

Hopefully that’s relatively interesting. As always, we’re we’re hiring product managers, designers, engineers and sales people if your’e so inclined.