As we’ve already discussed elsewhere on this blog, your business needs custom software, and you need it as soon as it can be built. But that’s no excuse for leaping headfirst into a project without due consideration. Here’s 5 questions to ask before starting a software project.

1. What Is The Goal Of This Software?

Project Managers often start by asking “What is the problem this software is trying to solve?” It’s a good place to start, especially if you’re making customer-facing software that aims to somehow make their lives easier. But especially in companies which follow the Scrum approach, it’s better to start your software project with some specific goal in mind – most importantly, one that’s quantifiable. It’s the difference between “We have trouble reaching clients” and “We need software that will increase customer engagement by 75% in the next six months.” One of these is a loose guideline – the other is something that the team you hire can work toward and use to prove success or failure.

2. Who Will Be Using This Software?

This is obvious, but your developers need to know if you’re building a mobile app for your customers or building something to streamline an internal process. This will affect every aspect of the program from backend to graphical design. To use an example that even non-coders can understand: if this is something for your users, it needs to have lots of branding, exciting colors, and highlight what’s great about your company because mobile apps are one of your most important points of customer contact. But if this is a purely internal piece of software, all that matters is that the UI is intuitive and works for every edge case.

3. What Features Are Essential?

Now that you know why your software exists, it’s time to figure out what that software’s going to look like. But this can be a dangerous game. You don’t want to get married to features – remember, you care about achieving a specific goal more than you care about how that goal is actually achieved, and committing to some expensive feature early on can get in the way of true innovation. The solution, then, is to figure out what features your program absolutely has to have, and what features can fall by the wayside if a better solution presents itself. Ask yourself: “What features are essential?”

4. What Platforms Will It Be Developed For?

It’s an obvious question, but one many businesses forget to ask at the start of a project: what platforms does your software need to be developed for? Do you know the differences between developing for a mobile app and developing for a desktop? What are the strengths and weaknesses of both? If you’re not sure, try to find a software developer who knows more than you do and is willing to work to your specifications. Again: it’s all about meeting that goal.

5. What Are The Limitations Of The Project?

At this point, you should have a pretty good idea of your “ideal” software project. Now it’s time for a reality check. What’s the timeframe for the software’s release? What are the constraints in terms of budgets, requirements, and priorities? Does it have to be integrated with existing software? If so, that limits what languages can be used to build the program.

If you’ve got a good handle on these 5 questions, you’ll be well on your way to developing an amazing custom software solution.