Scaling product development – fast, cheap or quality?

Tech Nation, March 22, 2021 3 min read

This article was written & sponsored by Rocketmakers. Image by Lydia Cockcroft.

Every software project has to balance three priorities: cost, speed, and quality. You can usually have two out of the three, but not all three at once (although, Rocketmakers is working on a system which comes close to delivering all three together – keep reading).

For most early-stage startups, speed and cost are essential. Budgets are limited and it is important to get a test product in the hands of users as soon as possible. Getting that initial feedback will either validate the business model, or (much more likely) highlight some significant changes that need to be made. The best startups are prepared to pivot in response to user testing, so again – another reason to make that initial prototype as quickly and as cheaply as possible.

Okay, let’s say you’ve built a fast and cheap prototype, and, based on user feedback (and most likely, multiple iterations) you are confident you have a winner. What next? This is a pretty delicate stage in the life cycle of a startup, and in fact this is really the moment when a startup starts morphing into a scaleup. At this point quality becomes a priority, and you need to decide if you want that quality build to be fast, or to be cheap. Most scaleups, assuming they have enough investment, opt for fast.

This is a development stage where Rocketmakers regularly gets involved. Startups often have the capacity to produce early iterations, either in house or through offshoring. Creating a new, fully scalable version of their product – one they can build a business on – is a much bigger step.

For a product to be fully scalable, available, secure, and able to perform at a high standard, the “non-functional” elements left out of a prototype need to be built properly. This is not an easy job, but there’s good news: recent developments in software architecture are making it easier.

The Rocketmakers team (Photo credit: Lloyd Ellington)

Heading into Orbit

Instead of building a new permissions system, login system, or audit, notification, file uploads, etc. for your app from scratch, some developers are now equipped with an array of reusable tools (often called “microservices”). At Rocketmakers we have spent the last five years developing our own microservices product we call Orbit, and have been regularly using it for our scaleup clients.

To use an analogy, until recently software has been built the same way cars were manufactured in the very early days of the automotive industry: one at a time, with engineers building each part by hand for a specific car. It was a time-consuming process and most car companies could manage at most a few dozen units in a year.

The introduction of the assembly line changed everything. Manufacturers built uniform parts in bulk, and car production became a matter of fitting those parts together.

This is exactly what Orbit allows us to do. Instead of writing a new push notification code for an app from scratch, we simply plug in an Orbit “capsule.” Does your app need an uploading function? We’ve got a capsule for that too. And one for virtually all of the commonly-found functions most apps have. This frees up our developers to work on the bespoke parts of a development – the parts which make your app something unique to your customers. And that’s really where you want your developers to be focused, right?

Here’s an example from a recent project of ours. A fintech firm had outgrown its prototype, and needed a product robust and scalable enough to enable them to grow. Using Orbit, we selected the capsules this project would need, which included authorisation, notifications, storage, and an auditing system. We were able to plug these into the new software on day one, and immediately get started on the product’s unique features – its USP. Without Orbit we would have probably spent weeks just getting these fairly standard features into place.

We also use Orbit to develop our in-house project, Beam – a content delivery system for AR and VR environments co-funded by Innovate UK. For Beam, we used pretty much every orbit capsule there is, and this has really helped us stay on track for the schedule required for our funding.

Because Orbit’s capsules are discrete chunks of software, they make future repairs and upgrades much easier. Like swapping out parts in a car, if we develop a better auditing capsule, we can just remove the old auditing capsule and replace it with a new one. As companies transition into the scaleup phase, having software which is easier and cheaper to maintain is a huge advantage.

We are really excited about Orbit. It is speeding up, and helping to reduce the cost of “quality,” for scaleup builds. We are not yet to the point where cost, speed, and quality can all be prioritised at once, but we are certainly getting closer.