CEO’s briefing: how to overcome bespoke software problems

CEO’s briefing: how to overcome bespoke software problems

Learning how to overcome bespoke software problems is critical for CEOs investing in custom technology. Bespoke software can offer a fantastic commercial opportunity.. At the same time, it requires substantial investment, and it can be incredibly complicated. We’re often struck by just how exhausting software development can become for CEOs of SMEs and mid-market businesses.

How to overcome bespoke software problems in mid-market businesses

Around a quarter of our clients approach us because they have problems managing bespoke software development, or because they are not able to effectively kick off a bespoke software project.

These situations can become money pits and a huge waste of time. They can also be a source of great angst and disappointment. We’re often struck by just how exhausting software development can become for CEOs of SMEs and mid-market businesses.

Let’s start by remembering why it can be worth it.

Bespoke software offers great opportunities

Bespoke software allows you to create something unique and generate real business value. It offers the opportunity to build genuine competitive advantage, radically improve internal operations, massively reduce costs, and greatly improve customer service.

Off-the-shelf software aims to be lower cost, more reliable, and faster to deploy (though all these things are easier said than done). But off-the-shelf software is, of course, offering the same solution to everyone.

A bespoke project, on the other hand, allows you to outperform competitors by working differently. Often we help with projects that enable businesses to interact with customers, partners, or suppliers in noticeably better ways than others in the same sector.

Furthermore, bespoke software may allow you to create products you can license to your own customers, opening entirely new revenue streams. This can radically reposition your business and substantially change its valuation multiple.

How bespoke software goes wrong

Understanding these risks is the first step to overcome bespoke software problems before they damage value or momentum. However, bespoke software is often fraught with difficulties. We typically see the following painful scenarios:

  1. The software was initially great but is now gradually strangling itself. It has become unreliable, slow, and difficult to fix. It can no longer be relied on, especially at critical times. Typically, it has evolved in response to events rather than a clear roadmap, becoming enormously complicated. Simple tasks are now difficult or expensive, sometimes impossible, and it’s unclear where to start fixing the mess.
  2. The software is critical to operations or client value and forms the foundation of the business, but that foundation is wobbling. You lose sleep over the risk of commercial damage. There may be a new vision for the future, but getting there feels impossibly complex, with daunting levels of work, change, and risk.
  3. The developers have a plan, but it doesn’t make sense to the Board. It isn’t rooted in business strategy. There may be lots of detail but no big picture. Or there is a clear vision, but nobody can develop the plan, budget, team, and execution to turn it into commercial reality.
  4. The software works, but there are cyber security, legal, or contractual issues. Intellectual property ownership may be unclear. There may be compliance concerns around data protection or payments. You may worry about security design or disaster recovery.
  5. The developers themselves are a concern. Perhaps one person holds too much power, or multiple contributors over time have created a patchwork system. Or an external supplier overpromises or overcharges.
  6. Change is too hard. Every change takes too long, and releases introduce new problems. Developers end up in a bug-fixing loop, slowing progress further. Tension grows between maintaining the product and building new features, leading to conflict.

The common thread is Board frustration with developers, and vice versa. Software development is complex, time-consuming, and often misunderstood. This quickly erodes confidence and damages relationships.

So how do we avoid these situations, and how do we deal with problems when they arise?

First, have a clear vision

Start with clarity on the business opportunity and objectives. Why is this software worth having? Not functionality, but business outcomes, for example reducing invoice errors below 1% or doubling orders without increasing admin costs.

This aligns key stakeholders, clarifies success criteria, and ties the software to business strategy. When issues arise, this vision helps prioritise decisions.

Next comes high-level functionality: what must the software do to achieve those objectives? For example, presenting a simple view of stock and deliveries to telesales staff.

Then consider non-functional requirements, such as performance expectations, scalability, integration, or user experience.

Get a handle on what’s really involved

Delivering objectives requires more than software. There will be process changes, organisational adjustments, communication, training, adoption support, marketing plans, partnerships, licensing, and support structures.

All of this must be funded, staffed, and planned, otherwise objectives will not be delivered.

Not everything will be measurable at first, and that’s fine. The real value lies in aligning senior teams around shared goals.

Good projects need good leadership and management

Turning an idea into reality requires ownership. The key role is technical leadership, usually the CTO.

Their responsibilities vary by project size. Larger projects require broader oversight, including investor presentations and launch planning.

If development is outsourced, supplier management is essential. If internal, someone must manage delivery, quality, testing, and progress tracking.

Crucially, the CTO must understand business objectives and have commercial as well as technical experience. Most failures stem from inadequate leadership.

Choose standard tools and technologies

Modern software uses frameworks, libraries, services, and products. Choose mainstream technologies that will be supported long term and have accessible developer talent.

You’ll need tools for development, testing, deployment (DevOps), documentation, and issue tracking. If outsourcing, ensure suppliers use standard platforms. If insourcing, align with your team’s skills.

Avoid letting technology choices slow progress. The priority is future supportability.

Insourcing vs outsourcing

A key decision is whether to hire developers, use freelancers, or outsource.

Developer quality varies massively. Poor developers may never finish, or deliver insecure, unscalable systems.

Outsourcing enables speed, fixed contracts, offshore rates, and access to talent. Insourcing builds internal capability, creativity, and innovation.

The right approach depends on your goals. A strong IT leader ensures the best decision and sets benchmarks.

Check the legals

Clarify payment models, ownership, licensing rights, dependencies, data ownership, and contractor agreements.

Ensure contracts define deliverables, service levels, exit options, and payment retention to protect your position.

Decide on your management approach

Traditional waterfall uses detailed upfront planning. Agile favours iterative development and learning.

Waterfall provides predictability but can delay delivery. Agile enables speed and flexibility but risks endless iteration without direction.

There is no perfect answer. Iteration often works best, but only with strong management.

Whatever approach you choose, success depends on great technical leadership, clear direction, decisiveness, and shared ways of working.

Keep objectives in view and move quickly

New ideas will constantly emerge. Problems and compromises are inevitable.

Keep original objectives front and centre to prevent scope creep and delays. Only live software delivers value, so aim for a minimum viable product first, then improve from there.

Know when to make compromises

We often see situations that result from developers feeling obliged (or being obliged) to say yes and then struggling to meet impossible commitments. Over time, the rot sets in, developers become increasingly frustrated, and so does the Board.

The role of the CTO is to know when a technical compromise is commercially worthwhile and when it isn’t, to explain the trade-offs, and to navigate towards the best outcome.

Often this comes down to having an IT leader who understands what needs to be done and can outline simple options, upsides, and downsides. Sometimes real-world pressures mean difficult work must go ahead against the wishes of the team.

But sometimes the technical leader’s job is to tell the Board that an idea is unworkable and instead propose better ways to meet the business objectives.

Expect significant business input

Issues in bespoke software are often complex, and your team will need time to understand and think things through.

Some common challenges include:

Testing. It’s crucial and time-consuming. Developers will deliver software that has been tested, but their testing never reflects real-world use. You must organise your own detailed testing before going live.

Licensing. For commercial or client-facing software, there are many licensing and launch considerations.

User buy-in. For internal automation, usage must be carefully designed. Getting staff and managers aligned is delicate, and failure here causes more project failures than technical problems.

Plan for ongoing support and evolution

All software has issues that need fixing. You must have fast access to developers who can resolve problems properly, not just apply temporary fixes.

Platforms evolve, and staying current is essential. Obsolete tools increase risk and make systems harder to support.

You will also want enhancements as requirements evolve. With agile approaches, you may launch with a minimum viable product, followed by continuous improvements.

Either way, it’s critical to maintain budget and manpower.

If you used external developers, keep strong relationships. Restarting development after a break is difficult. Without continuity, even simple fixes can take far too long.

Finally, stay on top of documentation. Developers dislike writing it, but it’s vital. It supports future bug fixes and enhancements, especially when teams change.

Documentation should be completed shortly after code is written. Don’t postpone it until the end, or it will never happen. With the right leadership, clear objectives, and strong delivery discipline, businesses can overcome bespoke software problems and unlock long-term commercial value.

Remember the sunny uplands

Well-managed bespoke software can significantly boost your business. It creates unique differentiation, supports premium pricing, enables automation and scale, and allows innovation beyond off-the-shelf systems.

If it were easy, everyone would do it. Because it’s hard, it creates barriers for competitors, and because few organisations do it well, success is reflected in business value.

If you’d like to discuss starting a bespoke software project, or restarting a stalled one, simply get in touch and we’ll connect you with your Regional Director. Bespoke software can transform your business, but nothing replaces a no-pressure, no-obligation conversation.