Work Industries Services Websites & Ads Training FAQ Blog Get Started
Custom Software

How to Plan a Custom Software Project Before You Talk to a Developer

You don't need technical knowledge to plan custom software well. You need a clear picture of the problem, who uses the system and what done looks like. Here is a one-afternoon process that gets you there.

By the Sidekick team November 4, 20267 min readCalgary, AB
The short version
  • Start with the problem and the cost of it, not a list of features: a developer can suggest features, only you know what hurts.
  • Map the current process step by step, including who does each step and where data gets retyped or lost.
  • Split your wish list into must-haves for version one and nice-to-haves for later, and keep version one small.
  • Ask for a fixed price tied to a written scope, and confirm who owns the code, the data and the hosting accounts.
On this page9 sections
  1. Start with the problem, not the features
  2. Map how the work happens today
  3. List the people who will use it
  4. Separate must-haves from nice-to-haves
  5. Gather your real examples
  6. Define "done" and the questions to ask
  7. Put it all in a one-page brief
  8. Where Sidekick fits
  9. Frequently asked questions

A landscaping company owner in Cochrane has had the same thought for three springs running: "We need our own system." Quotes live in one app, crews are scheduled on a whiteboard, and customer notes are scattered across texts. He knows it's costing him, but every time he thinks about calling a developer, he stalls, because he doesn't know what to ask for.

That stall is common, and it's fixable. You don't need to speak developer to plan a custom software project well. You need to describe your business clearly. A developer who knows their job will handle the technical side. Your job is to bring the problem, the process and a clear picture of success.

01Start with the problem, not the features

Most owners open with a feature list: "It needs a calendar, a customer database, a dashboard and an app." That's natural, but it puts the solution ahead of the problem. Two businesses can ask for "a dashboard" and need completely different things.

Instead, write a short problem statement. Three or four sentences that answer:

  • What is going wrong today?
  • Who does it affect: you, your office, your crews, your customers?
  • What does it cost you in time, missed jobs or mistakes?
  • What would be different if it were fixed?
Try this

Finish this sentence: "Every week, we lose ___ because ___." If you can fill it in with something specific, like "two or three quotes because nobody follows up after the site visit", you already have the heart of your brief.

02Map how the work happens today

Before anyone builds anything, get your current process onto paper. Grab a sheet and draw boxes for each step, from the first contact to getting paid. For a typical service business, that looks something like this:

  1. Lead comes in. Phone, web form, email or referral. Where does it get written down?
  2. Quote or estimate. Who prepares it, with what tool, and how is it sent?
  3. Booking. How does a job get on the schedule, and who's told?
  4. Doing the work. What do crews need on site, and what do they record?
  5. Invoicing. Where do the job details come from, and how long after the job does the invoice go out?
  6. Follow-up. Reviews, warranty reminders, repeat bookings. Does anything happen at all?

Under each box, note who does the step, what tool they use (even if it's "a notebook in the truck") and where things go wrong. Circle every spot where someone retypes information from one place into another. Those circles are usually where custom software pays for itself.

If you can't draw the process on one page, the software will struggle to fix it.

03List the people who will use it

Different users need different screens. Write down each type of user and what they need to do:

UserWhat they need to doWhere they use it
OwnerSee the pipeline, approve quotes, check numbersLaptop and phone
Office staffEnter leads, schedule jobs, send invoicesDesktop
Crew leadsSee today's jobs, add photos and notes, mark donePhone, often in gloves or bright sun
CustomersApprove a quote, see job status, payPhone

Also note who should not see what. Pricing, wages and customer details often need to stay limited to certain people, and Alberta businesses have obligations under PIPA to protect personal information. Saying this up front shapes how the system is built.

04Separate must-haves from nice-to-haves

This is the step that protects your budget the most. Go through every idea and sort it into two lists.

Version one: must-haves

  • Fixes the problem in your problem statement
  • Used every day or every week
  • The business suffers without it
  • Replaces a step you circled on your process map

Later: nice-to-haves

  • "It would be cool if..."
  • Used a few times a year
  • Reports you could still pull by hand
  • Features copied from a big competitor's software

A smaller first version gets into your team's hands sooner. Once people are using it, you'll learn what actually matters, and that's when the nice-to-haves either prove their worth or quietly drop off the list.

05Gather your real examples

Developers understand your business fastest from the things you already use. Pull together:

  • Your current spreadsheets. Remove sensitive columns, or swap in fake customer names.
  • Paper or PDF forms. Job sheets, inspection checklists, intake forms.
  • A sample quote and invoice. So the developer sees what the system has to produce.
  • The tools you want to keep. QuickBooks Online, Google Workspace, your booking tool. List anything the new system must connect to.
  • Screenshots of software you like. Or dislike, with a note saying why.
Quick win

If your spreadsheet is the current system, it's the most valuable thing you can share. It shows every field you track and every workaround you've invented. Our post on when spreadsheets stop working explains how to tidy one up before it becomes the blueprint.

06Define "done" and the questions to ask

Write two or three sentences that describe success six months after launch. For example: "Every quote gets a follow-up within two days without anyone remembering to do it. Crews see their schedule on their phones. Invoices go out the same day the job is marked done." That gives you and the developer something concrete to test against.

Then, when you talk to developers, ask:

  • Is the price fixed against a written scope, or hourly?
  • What happens if I want to change something mid-project?
  • Who owns the code and the data? Can I export everything?
  • Whose name are the hosting and domain accounts in?
  • What does ongoing support look like, and is there a contract term?
  • Would an off-the-shelf tool do this well enough? (A good developer will tell you if so.)

That last question matters. Sometimes the honest answer is a well-configured existing tool, and our guide to off-the-shelf vs. custom software covers how to make that call. If you're planning a CRM specifically, custom CRM vs. HubSpot is worth a read first.

Watch out

Be wary of a quote that arrives without anyone asking about your process. If a developer can price your project in five minutes without understanding how you work, they're pricing a guess.

07Put it all in a one-page brief

Once you've worked through the steps above, pull it together into a single page you can send to any developer. It doesn't need to be polished. Plain headings and bullet points are perfect.

  1. About the business. What you do, roughly how many staff, where you work (for example, Calgary and Airdrie, or all of southern Alberta).
  2. The problem. Your three or four sentence problem statement, including what it costs you.
  3. How it works today. A photo of your hand-drawn process map is fine, with the retyping spots circled.
  4. Who uses it. Your user table, plus who shouldn't see what.
  5. Version one must-haves. The short list, in order of importance.
  6. Later ideas. The nice-to-haves, so the developer can plan for them without building them yet.
  7. Tools to keep or connect. QuickBooks Online, Google Workspace, your phone system, anything else.
  8. What success looks like. Your "done" sentences.
  9. Timing. Any real deadline, like having it ready before your busy season starts.

Timing deserves a thought of its own. Rolling out a new system in the middle of your busiest month is hard on everyone. For a lot of Calgary trades and exterior businesses, late fall and winter are the calmer stretch, which makes them a good window to build, test and train your team before spring. Plan backward from when you want people using it, and leave a few weeks to run the old and new ways side by side.

Send the same brief to everyone you talk to. It makes quotes easier to compare, because each developer is pricing the same thing.

08Where Sidekick fits

This is exactly the conversation we have on a free 10-minute call. Bring your problem statement and process map, or just describe how things work today, and we'll help fill in the rest. We build custom software for small businesses at a fixed price agreed before any work starts, with no lock-in contract and month-to-month help afterward. If it turns out you don't need custom at all, we'll say so. For a sense of budgets, see how much custom software costs in Canada.

Frequently asked questions

What should I prepare before talking to a software developer?

A one-page problem statement, a simple map of your current process, a list of who will use the system, your must-have features, and examples of the forms, spreadsheets or reports you use today. That is enough for a useful first conversation.

Do I need a technical specification to hire a developer?

No. A clear description of the problem and how you work today is more useful than a technical spec written by a non-developer. A good developer turns your plain-language brief into the technical plan.

How do I keep a custom software project on budget?

Keep version one small, agree a fixed price against a written scope, and handle new ideas as separate changes rather than slipping them in. Our post on custom software costs in Canada covers what drives the price.

Should I own the code for custom software?

Ask about it before you sign. At minimum, make sure you own your data and can export it, and that domains and hosting accounts are in your business's name or can be transferred to you.

How long does it take to plan a software project?

For a small business system, a focused afternoon of mapping and writing usually gets you a solid brief. The developer's scoping conversation then fills the gaps.

Free 10-minute call

Have a rough idea for a system?

Free 10-minute call. Bring your notes, however messy, and we'll help you turn them into a clear scope with a fixed price.

Written by the Sidekick team

Sidekick is a Calgary studio that builds websites, sets up Google Ads, and builds custom software and training apps for small local businesses. We write these guides from the questions owners ask us on calls.

Keep reading
All 85 guides →