One of the key decisions in any app development will be your choice of tech stack, but this can feel intimidating. To help you out, here are a few key steps towards choosing the right option.
The secret to successful app production is to get it into the hands of your clients quickly and efficiently. But before you even start writing the code you will need to select a tech stack to power the whole thing. There are plenty of options available, and if you’re not the most technically minded CEO in the world it can feel a little intimidating. Get it wrong and you may fear plenty of nasty consequences down the line.
In reality, there are only a few key things to remember and with a little guidance you can break these down into a few key steps.
Understanding the technology
First, let’s clear up some of the confusion around what a tech stack is. In short, it is a combination of server side and client-side technologies – which you might also refer to as front and back end. At the back, or server end, you find an application and a database. As the application is built layer by layer, it forms a stack full of different components which are used to build the software applications and the solutions. The most common form of backend tech stack is the LAMP stack such as Linux or Apache. More recent forms include Ruby or Python.
From the user’s perspective a good front end reveals itself if the app is easy to use and the entire experience smooth and seamless.
Will it work
So, now you know what you’re dealing with it’s time to start choosing the stack, right? No. You might be tempted to invest a huge amount of time and effort into developing robust technologies and tools, but forget the most important thing – will the app work and is it needed? Often, the only way to understand if there is a market is to try it. So, an initial, agile, development may be a better approach. Sometimes something as simple as a web page on WordPress can help you to see if there is a demand and what people are looking for. Once you’re comfortable that the product can work, it’s time to press ahead.
Think about your main challenge
Your choice of stack will depend on the challenges you face. Things such as the problem you are trying to solve will determine the language you use. Do you have issues which could impact performance? For example, if you’re running it through an intranet, loading times could be slow. Legacy systems are a perpetual issue. If you have data which also exists on legacy systems, think about how this will all be migrated across. Security will be vital. Cyber attacks are continually evolving and you need to be certain your app will conform to the very latest standards.
Think about the users
It’s surprising how often people forget about the users, but every product should have them front and centre. Think about the people who will be using the system and what they will need. Some groups, for example, may access it in different ways. They need something which is fluid, seamless and easy to use. Ideally, they want something which they can feel comfortable using within a few minutes. Increasingly, it’s a choice between mobile and internet. The majority of internet traffic now comes from mobile devices, so you may want to choose a mobile first or mobile only option in which you either first scale the app for mobile devices before thinking about the internet – or focus solely on mobile. However, if you have a group which will come primarily from the internet, you may choose a web-first, mobile-later solution. It’s all about where your customers are, what they want and how they will use it.
Look for open source solutions
It is tempting to build everything from scratch – this gives you more control over issues such as security, but it can be expensive and time-consuming. There are plenty of high-quality open source platforms available and these may give you everything you need without going through the stress and hassle of developing it all yourself. Ask yourself a few basic questions. How do they manage security? Your data will only be as secure as their processes, but responsibility for that data rests with you. Think about the language and framework: Does it have features your developers need? Is the code easy to understand if you have to delve deeper? Can you get started quickly and will your existing developers be comfortable using it?
Building your team
Finding the skills within your team can be a perennial problem for many small companies. Your developers may be more comfortable using certain pieces of technology. For example, some will be keen to embrace the latest tech and shy away from out-dated technology. If you don’t have the skills within your team you may need to hire freelancers or third-party companies to help you out.
All technologies come with their sell-by date and in the digital economy, things can move quickly. When choosing a tech stack, you need a technology which is firstly mature, but also has some life left in it. The technology needs to be established and proven, but if it is liable to become outdated in the near future, it won’t be much use. Equally, looking at the support provisions of any provider can help you decide which way to go. One which offers ongoing support will help you address any problems as and when they occur.
This can indeed by a technical topic and it is understandable if you feel this is something best left to the experts. However, experts can be biased towards certain platforms and will tend towards those with which they are most comfortable. Equally, they will be focused on the technology while you should be focused on what the business needs. The one may not always complement the other. So, while your developers’ expertise will be invaluable it is still you, as the business leader who should have overall ownership of the process.
Market Research Team, RapidValue