Preparing your app or software project: a guide to getting started right

By the NRX3 team · Updated

You have an idea for an app, or a problem that custom software could solve. Before calling a developer, a few hours of preparation make a big difference: on price, timelines and the result. You don't need to be technical to do them well.

In short

  • Describe the problem and the people who will use the tool, not the technology.
  • Separate the essentials from what can wait.
  • Prepare a budget range and a list of priorities.
  • Choose a provider who shows you versions early and often.
  • Make sure the code and the data belong to you, and put it in the contract.

1. Describe the problem, not the solution

The best starting point isn't a list of features, it's a description of what isn't working today. Answer in writing, in your own words:

  • What is costing you time or money today?
  • How is the work done right now: files, paper, email, other software?
  • Who will use the tool: your employees, your customers, your members? On what device, and where: at the office, on the job site, at the counter?
  • How will you know the project succeeded, six months from now?

One page is enough. It's worth more than a long specification written in vocabulary that isn't yours.

2. Separate the essentials from the "nice to have"

Make three columns: what's indispensable from day one, what would be useful later, and what's a bonus. A first version limited to the essentials costs less, ships sooner, and teaches you a lot about what your users really want.

3. Gather what already exists

  • Your current files, forms and reports: they're the best examples of your data.
  • The software you use, which the new tool will need to exchange information with.
  • Screenshots of apps you like, or find frustrating.
  • The rules that apply to you: personal information, industry standards, customer requirements.

4. Prepare your budget

The price of custom software depends mostly on its scope: the number of screens and rules, the links with other systems, the level of security required, and the target platforms (web, iPhone, Android). A few tips:

  • have a range in mind and say it: a good provider fits the scope to the budget rather than the other way around;
  • also plan for after delivery: hosting, updates, support, improvements;
  • be wary of a very low price for a poorly defined project: the surprises often come later.

5. Choose your provider

Ask these questions and compare the answers:

  • How will you understand our business before building?
  • When will we see a first version to try? How often after that?
  • How will we track the budget and progress?
  • Who reviews and tests the code? How is security handled?
  • Who owns the code, the data and the documentation at the end?
  • What happens after delivery if something doesn't work?
  • If you use AI to develop, how do you check what it produces?

Get the answer on ownership written into the contract: in Canada, without a written agreement, code written by an outside provider generally belongs to that provider.

6. During the project

  • Try every version and give feedback quickly: changes cost the least at the beginning.
  • Keep one person in charge on your side, with the time to answer and the authority to decide.
  • Involve real users early: the people who'll do the work every day see problems managers don't.
  • Write down decisions, so they aren't reopened at every meeting.

Warning signs

  • Nothing to see until the very end.
  • A budget that keeps climbing without a clear explanation.
  • Vague answers about who owns the code or your data.
  • Technical vocabulary nobody takes the time to explain.