Custom Software Should NOT Be Your First Choice
There are cheaper, faster, and less risky options than custom software to grow a business.
You could try increasing headcount, ready-made software, and maybe just a little tax evasion.
Don’t worry, officer, just a little.
But let’s say you’ve explored multiple solutions, and none fully solve your business problems.
So it’s time for a bespoke solution that delivers exactly what you need.
Upstackers have been building custom software for businesses for several years now, and it always costs clients a significant amount of time and money.
It’s not us – software development costs are never cheap, and when it’s cheap, it’s never good!
So we genuinely want you to have an effective solution by the end, and in this guide, we share nine steps to take as a business owner or decision maker throughout the development process.
Let’s begin.
Action Items for Business Decision Makers
The nine steps of custom software development take place across three stages:
- pre-development,
- development, and
- post development
Here’s a table showing the entire process as well as each step and action items for business stakeholders and decision makers in relation to the development stages.
STAGE | STEP | ACTION ITEM |
Pre-development | Validate problems | Interview business stakeholders. |
Define requirements | Screen out non-essential wants. | |
Research off-the-shelf solutions | Research everything! | |
Choose development approach | Decide between freelancer, agency, or in-house development team. | |
Development | Review designs | Ensure user flow is smooth and desiredoutcomes achieved. |
Development | Play a few rounds of golf. | |
Testing | Test newly released features. | |
Post launch | Deployment | Pass feedback on undetected bugs. |
Maintenance & updates | Commit to long-term expenses. |
A few things to note:
- The business does the most work before the start of a project.
- The business’ two main responsibilities are requirements gathering and finding developers.
- As the project progresses, the business’s main task is reviewing and providing feedback.
- Key stakeholders or app users should be consulted throughout the process.
Now let’s dive a bit deeper into each step.
By the way: Sign up for our free 45-Minute Strategy Session to learn how our time-tested product development blueprint can be tailored to bring your custom enterprise solution to life.
The Nine Stages
1. Validating Business Problems
This bespoke software is being built just to solve your problems, so better know what they are!
Validating business problems consists of four steps:
- Understand context: get first-hand experience going through processes and documentation and asking stakeholders for input
- Analyze root cause: it’s either people, processes, or technology
- Define problem statement: include the stakeholder and pain point or desired outcome
- Validate the problem with an audience: get the stakeholder to say “Yes, this is a problem”
And by the end, a validated problem statement might look like this:
Our salespeople cannot link clients in our database to more than one company even though over half of our clients own more than three companies.
It establishes a clear stakeholder and pain point.
Also, be sure that actual stakeholders participate in the process as their first hand accounts will be invaluable.
List them all out, shortlist them, then move to the second step.
2. Defining Your Solution
You can practice doing this right now.
First, account for all stakeholders who will be part of this software and list down their requirements.
Building on our previous salesperson example, consider the needs of each stakeholder:
As a sales team member, I need to…
- see all the companies in our database a client owns.
- add companies.
- remove companies manually.
- access to client communication history.
- schedule appointments or meetings with clients.
- update on client interactions.
- have access to performance analytics and sales reports.
- perform integration with CRM systems for seamless data management.
- ensure mobile-friendly interface for on-the-go access.
- ensure customization options for personalized client interactions.
- etc etc
And you do the same with all the other stakeholders.
List them all down first.
Then, prioritize.
Say your sales team has 10 requirements.
You also have a list of business problems you’re trying to solve.
If a certain requirement isn’t met, can the problems still be solved?
If no, this requirement cannot wait.
If yes, it waits!
Now onto the third stage.
3. Reconsider Pre-made Options!
You might now realize that what you thought were essential requirements are really just nice nice-to-haves.
So give ready-made or semi-off-the-shelf software solutions one more time!
We’re talking about the Salesforces and Hubspots of the SaaS world.
After all, it’s not like they can’t be customized at all – it’s just 90% of the product is already built.
And you already know this, but the cost of customizing the remaining 10% is nothing compared to building a custom solution from scratch.
Imagine spending hundreds of thousands on something available for 10 bucks a month!
But you’ve checked, and there’s nothing that does exactly what you need.
Alright, a bespoke software solution it is.
4. Choosing a Development Team
Whichever developer you consider, request a meeting and ask these six questions:
- What’s your app development methodology and process?
- Have you worked on similar projects?
- What tech stacks do you use?
- What’s your communication process like?
- Will you assign dedicated project managers, developers, and designers to this project?
- Can you give a time and cost estimate?
Their answers will tell you more about their experience, manpower, the kind of technologies they use, and how they plan to keep you in the loop.
Get a nifty list of questions to ask app developers when you sign up for our newsletter!
Download this template now so you know exactly what to ask App Development Agencies! Let us know where should we send it through the form below.
Two decisions to make: the size and location of your development team.
Freelancer vs Agency vs In-House Team.
All other things being equal, you get what you pay for, so:
- Go with freelancers if the project scope is likely very simple.
- Pay (a lot) more for an agency for the assurance of a standardized development process
- Pay (A LOT) more for an in-house team and developers fully focused on your project
Note: If you predict you’ll need a team, we do not recommend hiring freelancers from the four corners of the world and smushing them in a Discord server for three reasons.
- Without technical expertise, it’s unlikely you can effectively screen them.
- It can create an uncomfortable dynamic if they know they’re more experienced than you.
- There’s no chemistry and familiarity to facilitate organic problem-solving.
If you need a team, in-house developers or agencies are your best bet. These options provide the advantage of having a cohesive team with shared goals, values, and working practices.
And if you don’t have someone to conduct a technical interview, go with an agency!
Agencies typically have robust recruitment processes and technical expertise to ensure they hire skilled professionals who can deliver high-quality results.
Local vs Offshore Team
Offshoring is so you get the same or higher skill level at more cost effective rates.
But that minimum skill level must always be there.
You’ll find TONS of nightmare stories about companies that outsourced their custom software projects overseas and got a custom plate of doo-doo in return.
They all made the same mistake – hire purely on price.
Say you’ve found your developers, gone through preliminary discussions, and are both aligned on:
- Essential features
- Deadlines
- Tech stacks
- Meeting times and frequency, and
- Price estimates
Time to pay an initial fee of 10 – 30% of the final estimate depending on the project.
And now you as the business owner and client can take a few deep breaths – your developers will be the ones doing the heavy lifting.
5. Design
Your developer will show you preliminary app designs in three stages of increasing fidelity:
- Wireframe.
- Mockup, and
- Prototype
For those interested, we go more in depth on these three app design stages here.
TOOL | DEFINITION | USE | WHAT IT LOOKS LIKE |
Wireframes | A simple visual guide that shows how a software will work from a user’s perspective. | Used in early stages of development to establish basic structure, layouts, and interaction points of an app for team discussions and stakeholder presentations. | |
Mockups | A mix of medium and high-fidelity representations of the software with design elements included. | Used to give stakeholders a closer look at how the final app will look and feel and gather feedback about key changes to design. | |
Prototypes | A high-fidelity, interactive model of an app that mirrors the complete app and user experience (such as tapping a button to the next screen). | Used in the final stages of development to test interaction and user flow through the app, and is 99% of how the first version will look. |
Here’s a picture of all three side by side.
Business decision makers will be responsible for two things:
- Reviewing the app’s wireframe and layout to account for all requirements.
- Reporting design elements that stop users from having a smooth experience.
The second point should be limited to major design flaws, as minor aesthetic issues can be fixed later.
As we said at the beginning and throughout this post, involve your stakeholders whenever and wherever possible to gather authentic feedback.
Of couse, it doesn’t mean every request should be treated equally.
For example, if the font is too small to read, it should be fixed.
If someone justs want a wavier font because it looks pretty, wave goodbye to them for now.
Once all design stages are complete, it’s time to start building.
6. Development
We don’t want to make this section about APIs and pull requests – that’s our problem as developers.
But yes, during this period, your developers will go through cycles of the following steps:
- Building out features
- Meeting you to update you
- Letting you test the new feature
- Making any changes needed
- Merging the latest features into the main software, and
- Moving on to the next feature
The features built will follow the order in the product roadmap.
So while your developers are supposed to be doing this
What do you do to make sure they’re actually doing it?
Well, if you hired well, nothing!
Good developers understand they’re working with non-tech people, and they manage the technical side of things themselves.
They won’t ask you to refactor their code.
Instead, the next step is the only part of development that you will actively participate in.
7. Testing
You can think of ‘Testing’ as stage 6.5 if you want since it happens alongside development.
Ideally, business decision makers should test new features.
Really ideally, so should the direct stakeholders like employees and clients.
Make sure the intended outcome can be achieved smoothly and visually bug-free.
(We say visually because behind the scenes, there will always be bugs in need of squishing.)
Any issues can be brought up with the project manager who’ll work with (and low-key bully if needed) developers to slot in the fix.
After months of development and testing as per the Product Roadmap, your developers should have delivered on all essential features agreed on in your product roadmap.
If your custom software includes a mobile solution, they’ll also have published it on app stores.
Time to release your app into the wild with the next step: deployment.
8. Deployment
Here’s what you can expect to happen throughout the first week of deployment:
- Stakeholders will be using it to solve business problems.
- There will be small issues that escaped detection during testing.
- Developers will prioritize and debug problems as they’re found.
The priority of these fixes is based on how much it threatens the user experience.
Of course, the idea is to get to them all eventually.
When your ticket is number 99999 in the queue.
This is where having an agency with a team is a lot better than a freelancer.
If you have ten bugs, the agency can sort through them much faster than the freelancer.
By the end of week one of your software being deployed, it should be working properly.
Now you just need to keep paying for it forever!
9. Maintenance and updates
Maintenance and updates are such a key part of software development that we highly encourage readers to check out the two dedicated posts we have on the topic:
Funny we call it a cost breakdown as we’ve experienced clients going through mini breakdowns when it’s time to pay for maintenance!
In short, monthly app maintenance is usually around 5 -10% of total development costs, consisting of:
- Fixed App Maintenance Costs
- Third-party software costs, and
- Regular app updates where you’re paying for development hours
It’s not cheap, but it’s vital.
Well, your business now has a custom-built software to handle its problems.
Get Professional Help For Build Your Custom Software
Even without doing the actual coding, a client still makes a significant contribution to the success of a custom software development project.
This is especially true during the initial stages.
But a reputable developer will welcome your participation throughout the development journey.
If you are set on exploring custom software solutions and prepared to get your hands a bit dirty, we think you’ll enjoy working with Upstackers (yes, we call ourselves that).
Don’t forget to check out our free 45-Minute Strategy Session to bring your custom software project off the ground and into the cloud!