The one where I compare software to Goldilocks and the Three Bears

Lauren Macpherson
Eli5
Published in
6 min readAug 7, 2020

It’s absolutely the same thing. Tell me I’m wrong.

Image: Oxana Lyashenko on Unsplash

Whether you call them apps, platforms, or programs — software is rapidly changing the world. With that comes fierce competition, all seeking to provide the tool that is just right. But, like in the story of Goldilocks, the tools on the market have to cater to a vast demographic. A product can’t be ‘too cold’ and boring, but it also can’t be ‘too hot’ and complex. It needs to exist in middle ground. ‘Just right’, but not special.

Sure you have met the initial requirements, in this case the temperature of the porridge. Nice, everyone has breakfast. But what if Goldilocks then wants to add some new features like berries or almond milk? Or pivot completely and switch to protein flapjacks or overnight oats? These are the things that make a product special and adaptable to a users’ changing and evolving needs. When these shift suddenly, your product becomes outdated and mediocre.

It is the same in software. In this market, people are creating products that need to fit a wide audience. So they have to make something that is ‘just enough’ to satisfy every one of their current and potential customers. That makes it impossible to purchase something direct from the marketplace that is unique and competitive. If you want to be able compete and improve your digital by adding features, or pivot with an unpredictable market, you need something more custom

The state of software now

I have worked with a variety of companies and one of the consistencies I have found is that they have issues with software. See if you can recognise your company in any of the below:

  • Company 1 simply didn’t digitise at all.
  • Company 2 chose an off-the-shelf product from the marketplace.
  • Company 3 hired developers and set them up with a low-code platform to develop tools internally.
  • Company 4 asked a software development team, or company, to build them a custom product.
Image: Markus Spiske on Unsplash

Scenario 1: Not digitising at all

The two companies I have worked with that resisted digitisation were also the two biggest and most successful. On the face of it, they were innovative companies. But they were only innovating new things and adding layers to what they already had. What they were not doing was looking for inefficiencies for their users in existing systems and processes. And even for those that wanted to innovate, the biggest problems were integrating existing legacy systems, getting buy-in from stakeholders who tended to delay or veto solutions that didn’t quite fit with what they wanted, or that it was too disruptive for teams to adopt a new system. The benefit here is if you don’t like change, there won’t be any.

So Goldilocks gets plain porridge.

Image: Alena Ganzhela on Unsplash

Scenario 2: Buying a standardised product

Most mid-sized companies buy off-the-shelf software. These are near-immediate solutions which are incredibly useful, so long as your needs are met within the confines of that product. I use some of these daily: Slack for communicating with my team, G Suite for documents, and Pitch for collaborative presentations. Most are licensed software, meaning that you are paying to use it, and almost always this is on a subscription basis. It’s worth noting that since you do not own the product, you do not own it or the data it collects, nor do you have control over any modifications.

That said, I have seen a company adopt a well-known platform and make some modifications. The problem was, it was barely recognisable as that product and the only person who knew how to work it was the one developer that made the changes. I have also worked with a company that spent years trying to select the right tool from the marketplace to suit their specific needs. Then, when they eventually found one, their teams wouldn’t adopt it as it didn’t suit the way they worked.

So Goldilocks wants porridge with berries. She gets porridge with berries.

Image: Cleanlight Photo on Unsplash

Scenario 3: Hiring developers and using low-code or no-code platforms

The new kid on the block, low-code and no-code platforms, definitely have their place in software development. These platforms are a pre-made environment that allow you to drag and drop in the necessary elements for your product to work (e.g. a form in an app, with the email component behind that). The benefit is you don’t need to know how to code and they work well for small, self-contained things like individual workflows. They are also good for creating a proof-of-concept before investing serious time into a project.

The issues with this are similar to the standardised software. First, you have no intellectual property. With the agreements and licenses you have to agree to, your data going to a different company. You have no grip on where your data is going and where, or if, it is secured. And second, you can only go so far with flexibility if the platform doesn’t support links to outside data (e.g. storage drives like Dropbox, or a company email) you can’t have it. You can get started very quickly but integration is a no-go, so you end up with little islands of processes.

So Goldilocks gets porridge with extra add-ons, but only if the store has them.

She can also try and make some protein flapjacks, but only if the recipe is in the book.

Scenario 4: Custom software development

And last but not least, custom software development. I put this one last for two reasons, I consider it to be the best one (obviously) and it’s always the last option people think of. Why? Because everyone assumes it’s time consuming, expensive, and inaccessible. But it makes sense that it has improved along with everything else in tech. All of those cool buzzwords like Agile, Scrum, and Sprint for making processes more efficient? Came from the software development community. Making it faster and cheaper than ever before to get something that flexes, scales, and grows with your users needs. Plus, if you choose to own the intellectual property, you own the code, and good developers (like ours) give you instructions for using it so you don’t end up with the ‘only the person that built it can change it’ problem.

Custom software development allows you to do almost anything. Want a unique app that does exactly what your team needs it to do? Need to add some machine learning in? Connect it to the Internet of Things? Incorporate Blockchain technology? You can. Cons? It might take longer and cost more in the short term but long term it’s undeniably a good option to consider if none of the above have worked for you yet.

So Goldilocks gets porridge with whatever she wants with it. She can also use those oats to make any other product she wants should her needs change. No time to cook in the morning? Overnight oats. Want to start making gains? Protein flapjacks.

Image: Eaters Collective on Unsplash

In conclusion

Everything has its place. It’s all about what works best for your users.

For some, picking up an immediate off-the-shelf solution can make a massive difference to their business. For others, they want to build a simple tool themselves to improve their workflow. But for those that want the maximum amount of flexibility and future-proofing against a rapidly changing market, custom software has become a genuinely viable option. And, it might come as a surprise but my company does this. So if you want to know more and see a simple, transparent overview of our process and pricing, send me a message.

The other conclusion I think we should draw from this is that you absolutely can compare software development to a fairy tale written in the 1830’s.

--

--