fbpx
Software Development: Should We Build, Buy or Borrow?

Software Development: Should We Build, Buy or Borrow?

Businesses need more and more custom software every day in order to stay competitive, and a first-time software build can be daunting.


A client of ours, let’s call her Hope, was at her wit’s end. She and her business partner had scaled their business quickly and needed help. They realized their administrative overheads were stopping them from scaling further, so, Hope had an epiphany:

“It struck me that what we needed was a self-service client portal. Somewhere our customers could upload their data and have it safe, secure, and available; and cut down on the mindless data validation back-and-forth with our consultants.”

Hope looked for a third-party outsourcing company to help her build the software she knew would free up valuable time. On our first call, she brutally laid out the issues as she saw them.

“Ramji, I’ve spent 4 years trying to get this portal product over the line and useful. We’re on version 2.1 now, and I’m on my third software vendor. I can’t count the number of hours I’ve spent, the tens of thousands of dollars, and the opportunity cost of our time. Not to mention, for some reason, I don’t feel like a client, but feel like I’m their full-time project manager!”

She recalled that the first outsource partner built portal1.0 using one stack of technology, but when she was unable to get what she needed to be done with them – the development team from her second software company insisted on building it from scratch again using a different stack.

“Now this third vendor told me to rebuild it again. I don’t understand why they keep asking me to start from scratch again, I literally just did that 12 months ago!”

What Hope experienced is the same thing thousands of entrepreneurs experience in their first ‘software delivery’ experience.

Photo: Thitiphat, YFS Magazine, Adobe Stock
Photo: Thitiphat, YFS Magazine

As a business owner, you understand the risks, but then you build your own software and enter the semi-theological environment of software development. On top of running your business, that’s struggling to scale, you’re expected to learn catechisms just to be able to communicate and spend hours staring at ticket screens.

Fortunately, you receive a call from an online SaaS provider who has the perfect solution for you? Perhaps, this is the way out of the maze? For just $10 per user per month no less!

In fairness, for many entrepreneurs, it is the right answer, and it should be! To explain why I want to introduce two key concepts.

 

Differentiating value and prioritizing constraints

 

Focus on your differentiating value.

What activities differentiate your business and make it stand out from all the others. If something is differentiating, you should probably throw everything you have into doing it – building it yourself with your own team if needed. For anything else, get someone else to do it, even if you can do it better. This isn’t a new idea, it’s a digital evolution of the economic principle of Comparative Advantage, first published by David Ricardo way back in 1817.

 

Prioritize optimization at the point of constraints.

If you have a process, system, or software product that is constraining you from gaining more revenue or ballooning your costs. Apply time and effort to optimize that constraining factor more than anything else. Whatever makes sense, outsource, build or buy, focus on finding solutions to that problem – focus applied elsewhere is mostly wasted effort, time, and money.

 

Building high-performance reliable technology

As someone who’s been building, architecting, and delivering high-performance reliable technology systems for 25 years, and advising on what and how to achieve optimal outcomes in this area for many years; I’ll state it as plainly as I can: building high-performance, secure, scalable, resilient, and effective systems is difficult, expensive, and time-consuming. To build software incrementally, so it scales with your business, but initially isn’t an over-engineered monstrosity, is harder.

I’ll summarize a few bits of key advice:

 

1. Build, buy or borrow

It doesn’t matter what technology stack you use; whether you build, buy or borrow or whether you’re waterfall, agile or non-denominational. In reality, it is hard to effectively get value from your technology spend without a clearly aligned and prioritized business strategy (and product vision that sits within that strategy) and a clear technology roadmap to deliver that vision.

 

2. Words have meaning

Human beings communicate best when we remove ambiguity and use the same words to mean the same things. Your business strategy, product vision, and technology vision should be easily communicable to everyone involved in your project and the meaning must be self-evident without the need for mental translations. Use your business strategy and product vision to define and adopt a common taxonomy, information architecture, and data model that is cohesive with business operations, plans, and communications.

 

3. Think, then act

User research, product & UX design, and technical analysis and preparation pay off. It might seem like an expensive up-front cost, but don’t start building your house without spending time understanding why you want a new house, what it will be like, and thinking through the consequences of your new abode. Lean agile is a mindset adopted for delivering software projects, it is not a recipe for delivering a piece of business functionality.

 

4. The complexity goes somewhere

Whilst there are genuinely transformational technologies that have been adopted over the course of human history, ultimately any complex human activity that is turned into a process, which is turned into a program or series of programs, trades off an increase in systemic complexity as a cost, in favor of an improvement in performance, throughput or reach as a benefit.

There is no magic, there are no software miracles.

Just because you can’t see it, doesn’t mean you won’t have a critical ‘Oh no!’ moment, once you realize your spiderweb of integrated, but loosely coupled, SaaS products unintentionally have some critical revenue functions and you’ve outsourced not just your operational costs, but your operational risk.

 

Ramji Venkateswaran is a technology entrepreneur and founder of A Better Consultancy. He has spent two decades at the cutting edge of business, technology, and finance for leading global investment banks, financial services, and management consulting firms such as Goldman Sachs, JP Morgan, Standard Chartered Bank, and Tower Research Capital in senior management and leadership roles. In 2020 Ramji co-founded A Better Consultancy, based in Singapore, to act as a trusted adviser to businesses on their digital transformation and innovation journeys.

 

© YFS Magazine. All Rights Reserved. Copying prohibited. All material is protected by U.S. and international copyright laws. Unauthorized reproduction or distribution of this material is prohibited. Sharing of this material under Attribution-NonCommercial-NoDerivatives 4.0 International terms, listed here, is permitted.

   

In this article