Skip to main content
INTELLIA
GuideProject managementEstimationCustom software

How to scope a software project and estimate its cost

A practical method to scope a software project and get a reliable cost estimate: outcomes, users, journeys, integrations, non-functional needs, ranges and assumptions.

By INTELLIA Solutions Team · Reviewed by INTELLIA Engineering Team

Published

Last updated

3 min read

Short answer

To scope a software project, define the business outcome, list user roles and their key journeys, identify every integration and data migration, and state non-functional needs such as security, performance and availability. Estimate each journey and integration separately, add testing, deployment and management effort, and express the result as a range with explicit assumptions.

How to scope a software project: step by step

  1. 1

    Write the outcome

    State what will be measurably better when the software is live, and for whom.

  2. 2

    List users and journeys

    Name each user role and the main tasks they must complete end to end.

  3. 3

    Map integrations and data

    List every system to connect and all data to migrate, with owners and access methods.

  4. 4

    State non-functional requirements

    Define security, performance, availability, accessibility, hosting and compliance needs.

  5. 5

    Estimate in parts

    Size each journey and integration, add testing, deployment and management, and express a range.

  6. 6

    Define the first release

    Choose the smallest set of journeys that delivers real value and plan later phases.

Why most estimates are wrong

Software estimates fail for predictable reasons: the scope was described as features rather than outcomes, integrations were treated as a single line item, data migration was forgotten, and non-functional requirements such as security or availability were assumed rather than stated. The number was not wrong because estimators cannot add; it was wrong because it described a different project from the one that got built.

A scoping template that works

1. Outcome

One or two sentences: what will be measurably better, and for whom? For example: "Field technicians close work orders on their phones the same day, so billing happens within 48 hours instead of two weeks."

2. Users and journeys

User role Key journeys
Customer Request service, track status, approve quote, pay
Dispatcher Assign jobs, reschedule, monitor SLA
Technician View jobs offline, capture photos and signature, close job
Finance Review completed jobs, generate invoices
Admin Manage users, settings, reports

Journeys, not screens, are the right unit for estimation. Each journey crosses several screens and back-end services.

3. Integrations and data

For each integration, record the system, the direction of data, the method (API, database or file), who owns it, and whether documentation and test environments exist. Unknown or undocumented integrations are the largest single source of overruns. Data migration deserves its own line: volume, quality, transformation rules and how many trial runs are needed.

4. Non-functional requirements

  • Expected users and peak load
  • Availability target and support hours
  • Security and compliance obligations
  • Hosting: cloud, on-premises or hybrid
  • Accessibility and languages
  • Devices and browsers

5. Constraints

Deadlines, budget ceilings, mandated technologies and internal team availability.

Estimating: parts, ranges and assumptions

  1. Size each journey and integration with the engineers who will build it, using best-case and likely-case figures.
  2. Add cross-cutting work: design, testing, DevOps, documentation, project management and training. Together these are a significant share of total effort and are often omitted.
  3. Express a range and name the assumptions behind it, for example "assumes the ERP exposes order data through a documented REST API".
  4. List exclusions explicitly.
Line item What drives the range Example assumption
Customer journeys Number of steps and edge cases Standard payment gateway
Technician app Offline needs, device features Android and iOS from one codebase
ERP integration API quality and access Documented API and test environment
Data migration Volume and data quality One legacy source, two trial runs
Testing, DevOps, management Quality and compliance bar Automated regression for core journeys

Discovery: the cheapest risk reduction

For projects longer than about three months, a short discovery phase pays for itself. It turns unknowns into knowns: integrations are tested, a prototype validates journeys with users, and the architecture is agreed. The estimate that follows is narrower and more trustworthy, and it is useful to you even if you choose another vendor.

Define a real first release

A first release should let at least one user group complete its core journeys end to end in production. Everything else can follow in planned phases. This keeps budgets controlled and puts working software in front of users early, where feedback is cheapest to act on.

A checklist before you request quotes

  • Outcome written in one or two sentences
  • User roles and top journeys listed
  • Integrations named with owners and access method
  • Data migration volume and sources known
  • Non-functional requirements stated
  • Budget range and deadline shared honestly

Our custom software development engagements start with this method. If you are still deciding whether to build at all, read custom software vs off-the-shelf, or send us a brief through start a project.

Frequently asked questions

Why do software estimates vary so much between vendors?

Vendors make different assumptions about scope, quality, integrations, testing and support, often without stating them. Comparing proposals is only meaningful when the assumptions are written down and aligned.

What is a discovery phase?

A discovery phase is a short, fixed-price engagement, typically two to four weeks, in which the team researches requirements, prototypes key screens, designs the architecture and produces a detailed estimate. Its outputs belong to the client.

Fixed price or time and materials?

Fixed price suits well-defined scope and gives budget certainty. Time and materials or a dedicated team suits evolving products where learning will change priorities. Many projects use fixed price for a first release and a team model afterwards.

How much contingency should we include?

It depends on uncertainty. Well-understood projects may need a modest buffer; projects with unknown integrations or legacy data need more. The best way to reduce contingency is to resolve unknowns during discovery.

About the author

INTELLIA Solutions Team

Business analysis and solution architecture

Solution architects and business analysts who scope projects, run discovery workshops and design implementations for ERP, HR, audit and operations software.

Named author byline pending

Have a project in mind?

Tell us what you are trying to achieve. A solution architect will reply within one business day with next steps — not a sales script.

CallWhatsAppGet a quote