Smpl’s Head of Development, Andras Toth, explains the principles of good digital development so you can avoid unnecessary costs, time, and stress.
Building an innovative digital product or service – and then unleashing it on the world – is so exciting.
But there are several steps you need to get right before you’ll be ready to bring your Big Idea to life.
If you want to develop something that will surprise and delight customers, investors, company stakeholders, or whoever, you’ll need to make sure you already have:
- A great understanding of what you want to do (can you answer the question: ‘what problem am I solving and is there a need for my solution?’)
- A clearly defined MVP (‘Minimum Viable Product’, the big first step towards realising your future product or service)
- Built a clickable prototype based on that MVP (to eliminate confusion between the different parties, get everyone on the same page, and generate momentum)
- Defined your epics (large bodies of work that can be broken down into a number of smaller tasks, called…) user stories (short requirements or requests written from the perspective of an end user)
Following this path will create the foundation on which you can successfully build your platform, product or service.
But here’s the thing… none of this will matter if you don’t choose the right developer.
The stakes are high; get this decision wrong and you won’t get the product you want, in the way you want, or in the time you want it.
You might never get anything at all.
To help ensure you choose the right people to manage and deliver your digital project, here are my Top 6 Questions to ask your prospective developers to make sure they are following the right digital development principles.
Make sure they can answer these properly to avoid plunging into development hell.
Q1. Are you a problem solver?
Every piece of digital development has a lifecycle and during it there will inevitably be challenges and changes required.
For example, you might find that one of the technologies you are using to build your product turns out to be the wrong one and you need to modify the tech you are using.
Big challenges like this can only be overcome if your developer has a problem-solving attitude. If they don’t then your project will be delayed or even derailed.
The same applies for the day-to-day changes, problems, and questions that will inevitably arise.
Your developers must be able to make the right tactical decisions as they go along to ensure the final user experience is up to the standards that you – and your customers – want.
There are lots of developers who will not spot/look for problems (or, indeed, opportunities), while others won’t speak up and tell you when your agreed approach needs to change.
So, before you start the project, ask your developer:
- For examples of projects that changed as they went on and how they solved the kinds of problems that arose
- If problems come up that can’t be fixed quickly, how they would change direction to reach the required project goals
- How any change in direction might impact their resourcing requirements (and whether they have those resources available)
Perhaps you will be one of the lucky ones whose project goes 100% smoothly.
That’s obviously what we’re looking for, but it’s better to be prepared for obstacles and to be sure you have developers who can handle these situations.
Whether you’re a techie or not, there are some key things you need to do early on to make sure you get the right tech behind your projectAndras
Q2. Is the tech stack right to meet our goals?
The ‘tech stack’ is the group of technologies that we use to make your software.
This covers the programming languages for both front- and back end, frameworks, the deployment… everything you need to have a working product.
If you’re not a tech person this can be very difficult to get your head around. You’ll have to put a certain amount of faith in your developers to make the right decisions.
However, whether you’re a techie or not, there are some key things you need to do early on to make sure you get the right tech stack:
- Ensure the goals and scope of the project are clear and that it can be reached with the selected technologies
- Check competitive digital products for the technologies they used
- Make a clickable prototype of the whole user flow to ensure everyone understands each other and what is expected from the project
I can’t understate the importance of a prototype; it will bring your product to life and reveal questions you have not thought of.
For example, in a recent project our prototype raised issues around using third party tools, which led to questions about data privacy regulations. That led to us changing the stack of development tools.
Without a prototype we wouldn’t have seen these challenges until much later and would have had to make lots more changes, adding time and cost to the project.
Q3. Are we using the right project tools?
Your developers will have a set of tools they use for doing things like tracking issues/problems and then communicating with the project team, as well as for managing the development itself (e.g. debugging tools).
Many developers don’t think these choices are important, but they can really shorten or lengthen the development process.
Tell-tale signs of problems with tool choices include:
- When comms and reporting within the team is not clear and consistent
- When issues/problems are not being tracked in a way everyone can follow and understand
- A high volume of bugs (which can indicate a lack of testing or that developers are not using the right debugging tools)
There are lots more of these warning signs, which we can happily explain if you get in touch.
Q4. Will you create clean coding?
The code that lies behind your digital product or service must be easy to understand for anyone who wants to read it. If it is, then it is called ‘clean code’.
If you’re not into coding, think of it as no different to taking a whole load of information and dumping it en masse into a Word document, compared to creating a well-ordered report, with chapters, headings, footnotes, and so on.
Or – if you have kids – think of a messy, dirty (probably smelly) bedroom, versus a clean, well-ordered one (with the windows open to the fresh air).
If you have clean code then your project will be self-explanatory to another developer. They will be able to look at it and easily understand it.
If they can’t do that then maintaining, optimising, or upgrading your product or service will be a nightmare.
There are lots of methods for creating clean code, so make sure your developer ascribes to both the principle and methods of delivering it.
Q5. Are you up to date with the latest technologies?
There are new technologies and frameworks coming out every single week.
Your developers need to be on top of changes in the programming world, as well as the benefits or problems those could bring to your project.
The newest frameworks are not necessarily best for you, so be careful.
I’ve worked with people who always want to use the latest shiny thing, but that can lead to chaos if that thing is wrong for a particular project.
On the other hand, there are those who can’t move away from the old, comfortable, and familiar. That’s just as bad.
Your developers need to be up to date with new tech and its merits in the context of your project.
So, before you start, ask your developers if there are alternatives to the tech they’re using or the approach they’re taking.
This will give you a good idea of whether they’re aware what’s happening in the marketplace and whether those innovations will help or hinder your project.
Q6. Are you a believer?
If you want your product or service to be everything you dream of (and more!) you must choose designers who believe in your project.
We often see projects that we don’t think will work from either a business or tech point of view.
If we do, we’ll be honest and tell you why that is and, based on our conversations, offer alternatives based on our many years of experience.
This might mean we don’t work together, but we’d much rather that than risk wasting your time and money.
So, ask any developer you’re thinking of working with what they think of your idea and how it will work from a programming perspective.
Get them to challenge you. If they won’t, be careful. That means they’re probably just in it for the money (and that means your project will go on for as long as they can make it last!)
If they are willing to challenge you, it also means they have the ability or mindset to constantly re-evaluate what they’re doing (see Question 1) .
There’s a lot more to talk about when it comes to finding developers that will bring your product or service to life in just the way you want it.
But if you follow these digital development principles and ask the right questions, you’ll be off to a great start. Good luck!