How to increase ROI from software development, while hanging on to your sanity, too.
Software development can be a costly business activity, particularly given the many factors influencing a project’s delivery. Yet, as we set off to create a new product or service, we often fail to consider how to manage costs effectively throughout the process.
So how do we mitigate the risk of spiralling costs as we create shiny new software systems? And what pitfalls do we need to avoid if we’re to maximise the ROI we see back on such ventures? Cloud Energy CEO, Wai Lau, shares his top five tips.
1: Find the right engineers.
It’ll come as no surprise that the software development industry has seen significant expansion over the last ten years. Back then, finding developers conversant with most of the languages in play might have been a relatively simple task. But now, engineers have little-to-no chance of keeping up with all of the different technologies used in the sector.
At Cloud Energy, we’re constantly looking to expand our team of developers: so we see a lot of CVs. And often, we’ll see CVs from candidates that try to claim expertise in every technology under the sun.
Of course, once we dig under the surface, we find that these engineers might have knowledge of a particular technology, but do they have experience with it? That’s the question: because knowing about a set of technologies is one thing, but having used them to deliver commercial software is something else entirely.
That’s why our first tip is to choose a partner who lives and breathes your technology set. That way, you’ll likely avoid projects that never seem to end, and the spiralling costs associated with them.
Look for suppliers experienced in the same technology domain rather than those that have simply worked in the same industry. For example, a digital agency specialising in websites and SEO might deliver great results across various sectors. But you’d surely think twice before deploying them on your SaaS product or mobile app?
Because when suppliers stray out of their comfort zone, things have a habit of going wrong. Badly.
2: Claim your R&D Tax Credits.
Sadly, if you’re not in the UK, this won’t apply to you, so just skip to 3 and forget you read that headline…
(OK, they’ve gone.)
Don’t tell our international readers, but the Research and Development (R&D) Tax Credits scheme is a fantastic way to cushion software development costs. Because if your project contains a qualifying level of innovation, you can claim a significant cash rebate or a reduction to your corporation tax.
Better still, the process isn’t too onerous; however, you will need a technical report for submission to HMRC. Again, an experienced software partner can do this on your behalf.
3: Learn to talk to and trust your developers.
Over the last 20 years as a software company, we’ve worked with a fair few different personalities: like they say, ‘it takes all sorts.’
Many people don’t realise how much they can negatively influence the outcome of a project. And so, simply learning to work with your team effectively is yet another way to reduce development costs.
How? Let developers and designers do their job.
You see, we’ve become so exposed to software we all think we’re experts. We’re prone to describing the software we need by telling developers how we think they should make it.
Instead, if you describe what you want your users to achieve from your product, your team will advise you on the best way to make it happen. Translating user journeys into visuals and code is what they do: every time you try to tell them how they should do something, you’re limiting their options on how the software might work.
By the same token, if your developers need you to tell them how the software should work, you’ve arguably got an even bigger problem on your hands.
4: Use quicker test cycles
When project times get tight, the testing process often feels the squeeze.
And though testing is an easy target for the chop when overall development times need to be reduced, doing so presents a false economy. All bugs are expensive to fix. But bugs that trigger critical failures cost even more to put right.
Test wide. And test often.
We once had a client with a big bug problem. So much so they’d set up a dedicated helpline offering workarounds and support to users.
It turned out they knew about most of the issues before realising the software, but the testing came too late in the development cycle, which put them in an impossible situation. In the end, they decided to release the software regardless.
Putting the bugs right on a live system proved expensive, and they could have avoided the whole thing by deploying an earlier test cycle.
5: It’s OK to change the rules sometimes.
Once you commit to a project, it can be uncomfortable to acknowledge when things aren’t running as smoothly as they should be. Software development isn’t a straight line, and like most things in life, there are often bumps along the way.
I’ve learnt that developers are – on the whole – dedicated and determined people. And that’s great—most of the time.
But they do have a habit of getting fixated on overcoming every technical challenge that comes their way.
Sometimes, if you understand why developers are wrestling with a feature, you can remove the problem by changing the constraints. And by getting permission to adjust the specification, you cut significant amounts of unnecessary work.
I once got asked to review a project that seemed to be never-ending. The developers told me they were struggling with data imports from Excel: for whatever reason, the data could not be optimised easily.
So we agreed with the client that large data sets would be imported as CSV files rather than Excel. And what do you know? The project finished soon after.
A simple change to the constraints significantly reduced developer effort and, of course, costs.