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:
- Your budget: minimal investment to test the market or bigger investment to make an impression?
- Your time-line: launch soon or take your time to build and test something specific to your unique requirements?
- Customization: is your idea unique or are their similar existing solutions that can be built on?
- Launch state: will your target audience accept a beta launch where bugs may still be present, or do you need to debug and fine-tune to perfection before going live?
- Your long-term plan: do you want to keep expanding the current system as you grow (scalable) or are you ok with starting on a new build from scratch when you have reached a milestone such as a pre-determined number of users?
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
- Low budget - monthly recurring service cost, on average $50-$200 a month. Initial setup cost is often zero.
- Short time-line, time to go live can be less than a day
- Little customization, usually just logo and theme colours
- Low chance of bugs, this is a fully developed and tested platform
- Usually scalable, most modern web services are built on scalable infrastructure but it’s something to check when selecting a service.
- Low costs so ideal for businesses on a tight budget
- Great for “testing the waters”, as a proof of concept to see if there is a market for your product
- Low chance of bugs and no maintenance costs (beyond the recurring service fee)
- Very limited customization, usually built to serve an average customer base not a specific one.
- There might not be such a platform available for your business goals and target market.
- Monthly recurring service costs and no ownership of product so you are completely dependent on the service provider.
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
- Middle budget, initial setup cost without customization can be below $1000, with customization anywhere from $5000 to $15,000. Above that it may be more cost-effective to go with a custom built solution. Recurring cost will be for infrastructure (hosting) and maintenance, likely to be $100-500 a month depending on number of customizations.
- Middle time-line, time to go live without customization can be days, with customization 1-2 months.
- Middle customization, usually through available templates/plugins, custom plugins are often also possible but it will always be within the constraints of the system.
- Middle chance of bugs the software will usually be quite stable, chance of bugs will depending on amount of customization and plugin compatibility.
- Usually not scalable without customization
- Many plugins and design templates available to easily and quickly build and customize your project.
- Costs can be low if not much customization is needed.
- Usually a lot of documentation and tutorials available, you will be able find plenty of resources to learn the software.
- Must keep the system up to date. This includes all installed templates and plugins so you may be dependent on many individual developers updating their software or incur substantial maintenance costs.
- Not all such software is scalable, it often requires additional development and maintenance effort and if the system isn’t built for it this can result in many hours of testing, debugging and a less than optimal system.
- With open-source platforms anyone can see the code and look for vulnerabilities
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
- High budget, Initial cost for custom solutions typically starts at around 15,000 and can run up to 50,000 and beyond depending on your requirements. Recurring costs for infrastructure (hosting) and maintenance can range from 100 to 1000, depending on what you want to include in the maintenance contract - just debugging or also change requests and additions for example.
- High timeline, Typically 2-4 months if you first go live as “beta”. Going live with a near-perfect system can easily take 12 months or more
- High customization, system is built to suit your exact requirements and workflows.
- High chance of bugs which will take time to test and debug
- Can (and should) be built scalable, always confirm this with the developer - both the application and the infrastructure needs to be scalable.
- Flexibility to build the system exactly as you need it and your target audience expects it.
- Complete ownership of the system and control to do whatever you want with it - including productizing it for third parties, franchises, etc.
- High quality impression with a platform that is unique
- Higher cost and costs can grow during development if many changes are needed to the original scope.
- Longer time-line, especially for testing the platform across all current devices and browsers.
- Needs a detailed Solution Architecture and research phase beforehand and an experienced project manager to oversee the build.
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.