CEO’s 15 step guide to bespoke software development
Click on the download button for our full CEO’s briefing on overcoming bespoke software problems or read our short 15 step guide below:
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 in a managed way.
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 CEO’s of mid-market businesses.
Bespoke software offers great opportunities
Bespoke software allows you to create something unique and thus to create real value. It offers the opportunity to build genuine competitive advantage, for example, to radically alter how you work internally, to massively reduce costs, increase performance and hugely improve customer service.
If you want to outperform your competitors by working differently, or if you want to interact with your customer, partners or suppliers on the web in ways that are noticeably better than your competitors then off the shelf software is unlikely to hit the mark.
Furthermore, bespoke software may allow you to create products you then license to your own customers to create entirely new revenue streams and differentiate yourself. This can radically reposition a business and substantially change its valuation multiple.
The typical, painful scenarios…
We typically see software which has become unreliable, slow and maybe difficult to fix or can’t be relied on. Sometimes there are issues with developers, either internal or a difficult relationship with an external company.
The vision and plan might make sense to the developers but it doesn’t make sense to the Board and is not rooted in the business strategy. There just doesn’t seem to be someone sensible to have a proper commercial conversation with. Sometimes there are legal and contractual issues as well.
We meet CEOs concerned by the possibility of software issues causing major commercial damage and it may not be clear how to even start sorting the mess out.
The common feature is that often the Board are frustrated with the developers, and (guess what!) the feeling is mutual! The root cause is that software development is complicated, time-consuming to understand and often goes wrong. This can quickly erode the Board’s confidence and lead to broken relationships.
So the question is how to avoid these situations and how to deal with them if they arise?
- Get everyone clear on the vision for the business opportunity and business objectives. In business terms, why is this software worth having? That’s not the same question as what functionality do we want; the question here is why do we want the software at all.
- Very simply establish what the software needs to do to fulfil these business objectives. Is it also clear how the software needs to do this (ie the non-functional requirements)?
- Identify everything needed other than the software to fulfil the business objectives. For example, process improvements, organizational changes, training, marketing strategies, launch plans. Make sure all these have owners.
- Get an expert technical director. An IT director understands what needs to be done, the options, upsides and downsides. An expert is needed to find creative solutions, to push through solutions and navigate compromises. For larger commercial product development we provide a Chief Technology Officer (CTO).
- Get an expert day to day manager. Good development relies on having sound tools for programming, testing, management of the code and technical environments and automating technical processes, and good management of documentation and tracking issues and versions.
- Choose standard products and tools. You need to be able to find developers and support companies for years to come. Stick with mainstream products and approaches.
- Outsource if you want to contain cost and risk, move quickly, pin down a supplier to a contract, benefit from offshore rates and rely on someone else to recruit great people.
- Insource if you want to bring creativity and talent into your business, build up software development capability as a core part of your team, and aim to experiment and innovate as you go.
- Get the legals sorted. Are you paying fixed price? Do you own the software, are you just licensed to use it? Are the tools and frameworks licensed? Is it clear who owns data and other ‘know how’?
- Have a simple, clear management approach and make sure it’s understood by all. If you want to get something live quickly, you trust the developers, and you’re happy to engage and explore then an agile approach might work. If you want to pin down all the details and minimize your risk before you start then you probably favour a waterfall approach.
- Keep the objectives in view and move quickly. The only software that has any value is software that’s live and delivering business benefits. So focus on the “minimum viable product”, get working software live quickly, and then consider alternatives and improvements from there.
- Make time for testing. Developer’s testing will never reflect real use so you will then have to organize detailed and systematic testing before the software is ready to go live.
- Even after go-live ensure you have rapid access to developers who can understand and fix problems properly, rather than just paper over cracks. If you are following an agile approach you may have gone live with a bare minimum initially and there will be a continual flow of enhancements for the foreseeable future. Don’t bodge the software, this will always come back to haunt you.
- Ensure there is adequate documentation. Creating documentation can become an industry in itself without any real value, but having basic documentation in place is critical for long-term viability of any software.
- Don’t expect it to be easy. If it were easy everyone would be doing it!
Hard to do well, but worth it…
A well managed and maintained bespoke software can be a huge business boost. It can create unique points of difference for your business and allow you to charge premium prices. It can allow you to automate and scale up where more manual business are failing, and it can allow you to innovate beyond the capabilities of off the shelf software.
Because getting bespoke software right is so hard, it can create huge barriers for your competitors. And because few organisations do it well, it will be reflected in the value of your business.
Visit our ERP and Integration Issues Knowledge Centre, which includes all content related to this topic.