Going to a developer without making a few key decisions risks wasting time on “trial and error development”. You also risk building something that works for now, but does not scale as your business grows. Developers are builders and generally not strategists. They are great at building your application as briefed by you but If your brief is missing information and long term goals then they can only do their best with the information available.

So what is a better approach?

Besides having a go-to-market and digital strategy BEFORE you build anything (more about that coming soon), there are also some technical decisions you can make without being a developer. These decisions, which will have a major impact on how your application is developed and by whom, are:

Once you have made your decisions on these factors it will be substantially easier for you to select your implementation type. There are 3 types, each one suited to different deciding factors but also dependent on availability for your industry and idea.

An existing, service-based platform.

These are third party systems that you typically pay a fixed fee per month to use. They offer limited customization and there is no source access. These platforms are usually built on scalable infrastructure and can grow with your business as long as you don’t need more or different functionality than they are offering.

Deciding Factors Benefits Drawbacks

Self-managed off-the-shelf solution

Again a third party system but this time you get the software to install on your own servers and control the environment. Often you are able to expand/add features with plugins and many will support developing your own plugins - these include both paid and open source products. The cost for customization will depend on how much customization you need and if the customization is done with plugins or new development.

As with any publicly available software, the code and its insecurities are also publicly available, this means that you should update the platform every time they release an update and you are reliant on them providing patches before hackers find them or at least as fast as possible after. The common mistake here is that site owners assume that they are “not important enough to hack”, but hackers run automated scripts to scour the internet looking for vulnerable versions and grab what data they can.

Also keep in mind that every time the software is updated you need to update all the plugins and if the creators of those plugins don’t update you might need have them updated yourself or remove the feature entirely to ensure the security of the platform.

Deciding Factors Benefits Drawbacks

Custom built solution

Custom built applications are most appropriate when there is no service or off-the-shelf system available or when customizing such a system requires a substantial amount of effort. Building a custom application from scratch (or usually based on a framework) will have a far longer timeline especially for testing and debugging the application across all devices and browsers that you want to support. A custom application also needs a detailed Solution Architecture which is written and researched before the application is built to minimize surprises later on. More about Solution Architecture here.

Deciding Factors Benefits Drawbacks

To summarize

If you want to do a quick test to evaluate if there is a market for your product or service then first see if there is an available service-based platform that is close enough to your needs. This will allow you to evaluate viability without significant investment. If the idea proves fruitful then you can feel more confident investing in a more costly system that meets your exact requirements.

If there is an off-the-shelf product that suits your needs without needing too many plugins or customization you could go with this option. Some investment will be needed but the solution will usually be quite stable and ready to launch on a short timeline. Be sure to check for scalability of the platform however, even if your product or service is fairly niche. Websites are global and an influx of visitors on a non-scaling website can slow it down or even crash it.

If you have a very specific idea and there is no service or existing software available or if you want to build a high-quality and unique platform then custom solution is the obvious choice. This will also be the better option if you plan to productize your solution, if security is high on your requirements or if existing software is not scalable. Custom solutions are also a great way to have everything integrated instead of many individual software packages (sales, crm, accounting, public website, client portal, inventory management, wholesale shop, etc.) you can have a single custom-built system. Be aware and do not underestimate the higher cost and longer timeline however.

Click here for an article on briefing and evaluating tech vendors.