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
Write the outcome
State what will be measurably better when the software is live, and for whom.
- 2
List users and journeys
Name each user role and the main tasks they must complete end to end.
- 3
Map integrations and data
List every system to connect and all data to migrate, with owners and access methods.
- 4
State non-functional requirements
Define security, performance, availability, accessibility, hosting and compliance needs.
- 5
Estimate in parts
Size each journey and integration, add testing, deployment and management, and express a range.
- 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
- Size each journey and integration with the engineers who will build it, using best-case and likely-case figures.
- 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.
- Express a range and name the assumptions behind it, for example "assumes the ERP exposes order data through a documented REST API".
- 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?
What is a discovery phase?
Fixed price or time and materials?
How much contingency should we include?
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.
Keep reading
All insightsArticle
Custom software vs off-the-shelf: how to decide
When to build custom software, when to buy SaaS, and when to customize an existing product: a decision framework with cost, risk and time-to-value trade-offs.
· 2 min read
Guide
Next.js CI/CD on Azure DevOps with a self-hosted agent
A practical pipeline for deploying Next.js to private servers with Azure DevOps: self-hosted agents, standalone builds, release directories, health checks and rollback.
· 2 min read
Guide
How to choose an ERP in 2026: a buyer's framework for SMEs
A step-by-step framework for choosing an ERP: scoping requirements, comparing Odoo, custom and large ERPs, estimating total cost and avoiding the usual failure points.
· 2 min read
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.

