December 4th, 2024, posted in for_founders
by Adelina
There is a lot of misinformation out there about software development. That it takes a really long time, that it’s too expensive, that people can easily steal your software or data, or that pre-built solutions are better than custom ones.
The truth is, these things are relative - the more complex your app is, the longer it’ll take to build and the more it’ll cost. Building an MVP won’t cost you a fortune or take 7 years to develop. And at the same time, you can certainly hop on the software development journey even as a small business simply looking to go online. You need to be a big corporation.
So in this article, we’re going to bust a few common software development myths, in order to show you that it’s not as scary as it looks. And by doing it right, software development can lead to a lot of great business opportunities.
Myth: Custom software development is too expensive
One thing is for sure, one person’s expensive is another person’s cheap. Whether an app’s custom development is expensive or not depends on your definition of expensive. Do you find $10K expensive for a complex app you’re trying to build? Then for you, it is too expensive. But are you more than willing to spend $100K to $500K for your app? Then it’s not too expensive.
Now, software development doesn’t have to break the bank. There are multiple ways you can cut costs when starting to build an app:
- Work with a small team. The more people you hire, the more you have to pay. If you manage to find someone skilled enough, hire only one developer to code your app. This, however, comes with its risks. There’s no one who can evaluate their work (except after launching), they might not actually know everything, and your app’s UI/UX might not be done too well as it’s not their expertise. If you can afford it, hire both a designer and a developer. The designer can also participate in the quality assurance part of the project.
- Begin by building and releasing an MVP only. Less features means less payments. If you’re on a low budget, build a version of your app containing only the bare minimum features. Just what it takes for the app to function and to fulfill its main goals. Take out things like profile pictures, fancy animations or even sign up portions. This way, your app will take less time to develop, which means lower payments.
- Build the app over time. Working gradually, by doing small tasks over a long period of time, can help you save up. Think of it like paying for something in installments.
- Discuss a pay-as-you-go payment model instead of upfront payments for an entire app. Payment upfront for an entire app can be costly, while paying once per month depending on the progress made can be easier to manage. Or you can also pay for specific amounts of hours.
As you can see, there are multiple ways you can save money when developing an app. Yes, it can get expensive. But saying it’s too expensive is a bit of a stretch. It’s only as expensive as you make it - the more features you want to pack into your app and the more complex they are, the more it’ll cost. And plus, you’re always going to be made aware of all costs when someone is building software for you.
There is a caveat to all of this, though: even if you manage your app’s specs in such a way that it costs less, there’s always a risk for things to go wrong and for you to need to pay more. Software isn’t infallible, people make mistakes and servers can go down unexpectedly. Make sure to plan ahead for such situations.
Myth: It’s easier to go for off-the-shelf software solutions
You might have heard of dashboard themes or platforms such as Shopify or Squarespace where you can build apps and launch quicker. These can be convenient when you’re in a rush, on a tight budget, lacking development skills or manpower, or when you’re launching something rather simple. For instance, if you’re a small business just looking to launch a small online shop, these types of choices are good for you.
However, if you’re looking to build something more unique, or you want to add things that these off-the-shelf solutions don’t include, you’ll need to hire a team to do it for you. This way, you can fully customize your app and not be reliant on what certain platforms provide.
The big difference here is how unique you want your software to be. The more unique, the more you need a custom solution. If no one on the market can offer an off-the-shelf version of what you’re trying to build, there’s no point in trying to make do with a solution that restricts your app.
The bigger advantage to a custom solution is that you can keep on building on top of it. You can start out with an MVP and keep adding features over time. The entire code is yours and you can fully edit everything.
A downside to off-the-shelf solutions is that sometimes you can manage everything that goes behind the scenes, like the server or database. When something breaks on that side of things, you might have to rely on whoever built that solution. But when you own your code, you get full control over your backend.
Myth: Custom software takes way too long to develop
However long it takes to build custom software is relative. Not all apps take years to develop - this heavily relies on what you are building and who you’re working with. If you’re building a big, complex app, but hiring a team of 5+ developers, it’s probably not going to take several years.
When setting out to build custom software, if your development team takes the design-first approach, you’ll be able to roughly estimate, before it goes into code, how long it’ll take to be released. With a design-first approach, you design the entire app first, which makes it easier and faster to write and estimate user stories.
When developers have an entire design in front of them, it’s easier to imagine what it takes to put it into code. They’ll be able to make more accurate estimates and the user stories will include all important details. Once they estimate how long it will take to build all features, you can divide the total number of hours estimated by the number of hours in a week to determine how many weeks it could take to complete the app. This total can go much lower if you’re working with a bigger team. If you’ve got 5 developers working 40 hours a week on your app, that’s 200 hours of work in just one week.
Now, there is some truth to this myth. Not all software projects go completely smoothly for everyone. Mistakes happen, servers go down, bugs show up, companies go out of business, or developers quit. Some projects can end up taking longer to develop than the initial estimate. This can be avoided by choosing a well-reviewed team to work on your software. Make sure you’re hiring someone capable and who usually delivers projects on time.
One thing that helps here is the Agile methodology. This is commonly used in software development and it involves splitting development work into smaller chunks called sprints. Tasks are organized efficiently from more general to more specific, and the sprints themselves usually last between one week to a month. Thus, the work assigned to specific sprints uses the initial estimates so they fit into the time allocated to the sprints themselves. You won’t put work that’s done in 6 months into a one month sprint.
With Agile, developers work closely together and hold regular meetings discussing their current and upcoming tasks. This helps the project stay organized and ensures that the developers help each other and review each other’s work. This is an integral part of the Agile methodology and it’s a great way for the project stakeholders to be kept up to date on the development work.
Myth: Custom software is only suitable for big companies
Whether or not you choose to build custom software should not be influenced by the size of your company. But rather, by what your business needs and what kind of product you’re trying to build. You can be a small company of 2-3 people and have a big business idea that requires complex software. What’s relevant here is the scope of the project and not how big your company is.
If what you’re looking to build is a complex app but serves a specific audience and fulfills certain goals or tasks that other apps can’t, the size of your company doesn’t matter. You’ve got a target audience and an idea, and if that idea can’t be built using off-the-shelf solutions, custom software is your best shot.
The big downside of being a small company in this context is that you might have a hard time affording complex software. A big enterprise could easily swing thousands of dollars on software, while you might need to focus on releasing an MVP and building on it over time, as that works better for a small budget.
However, if you’re a small business just getting started, you might be more willing to be creative and to innovate. Whereas big companies usually build on existing software. You’ve got a clean slate and custom software can help you bring your ideas to life.
Myth: You need to have established a very clear software concept before starting out
This one is a bit debatable. If you’re hiring someone to do software for you, you’ve got to have at least a general idea of what you’re trying to build. You’ll have to explain that idea clearly enough for your software partner to understand and build the right app for you. A general concept and a series of key features might be enough, given that your industry isn’t too complex and you don’t need to explain much else.
You can, of course, build up on your software concept as you go. You can sit down with your team, your stakeholders, or your technical partners and brainstorm together. If you have a general idea but are still working out the details, bringing in more people with fresh ideas can help you get to a clearer concept.
In design-driven development, the method we use when building apps, we discuss the app flows with the stakeholders and once it’s all clear, we build the entire app’s design. This way, we get to brainstorm together and to come up with ideas. Our experience, coupled with the stakeholder’s knowledge and business idea, can help define the app concept.
Through this method, once the stakeholders get to see the entire app’s design, they can picture themselves using it and thus find what’s missing or what they need to take out. In this part of the process, you can come up with even more ideas and keep reiterating the app until it turns into what you’re actually looking for.
Myth: Software can be built error and bug-less
You might think that software is foolproof because computers are considered smarter than humans. But software is built by humans, just like computers themselves. And like humans, software can make mistakes and can’t always be perfect right out of the box.
It’s unrealistic to think that software can be built without any bugs. Unfortunately, due to the nature and complexity of code, bugs always slip in through the cracks, especially in early iterations of your app. The first build is always going to have a few issues, more so if the dev team worked on a tight schedule.
Software can be brought to a point where it’s got little to no bugs, though. That can be done through thorough testing and bug fixing, which takes extra time and money. Oftentimes, when you hire a software partner to build an app for you but you’re on a tight budget, parts of your app are going to be sacrificed in order to save money. Such as leaving in bugs that don’t hinder the user experience, and returning to them later when your budget allows. This is standard practice and it’s called technical debt.
Technical debt means bugs you willingly left into an app in order to release the entire thing faster. Sometimes you might prioritize new features which will go on top of these bugs, and due to different bits of code coming together, this can lead to new bugs and thus the deepening of your technical debt.
This can all be fixed, of course. But you gotta be willing to put in the time and effort (and budget!) to do so. You can prioritize certain issues which hinder user experience. Pay attention to what your customers are saying and fix the issues that bother them the most. And make sure to do bug fixing as often as possible, as gathering too much technical debt can ruin your app.
The conclusion here is that no, software can not be built without any errors or bugs. That’s just unrealistic and it’s not how code works. Software (and hardware) breaks, and people make mistakes. Even robots can get it wrong. But you can invest in improving your team’s skills and in automatic tests which would detect problems earlier, before any kind of releases.
All in all, a lot of people can speculate about software development. But you should base your decisions on real experiences from people who have actually worked on software. Not all apps are the same, and not all dev teams work the same. The key is knowing what your business and key audience need and finding the right balance.
Looking to debunk software myths by building a project? Contact us and let’s talk about what we can build together.