Requirements discovery sits between "we need a system to manage this" and "here is what we will build in sprint one." Done well, it produces a shared understanding between business stakeholders and the development team, realistic scope, and a foundation for accurate estimation. Done poorly — or skipped entirely — it produces scope creep, missed expectations, and software that technically works but does not solve the right problem.
This guide outlines a practical discovery process suited to SME and mid-market organisations. For delivery support, see our custom application development service, and read our article on build vs buy software to confirm custom development is the right path before investing in discovery.
When to invest in formal discovery
Not every project needs weeks of discovery. A simple CRUD application replacing a single spreadsheet may need only a day or two of scoping. Formal discovery is warranted when:
- Multiple departments or user roles are involved with different needs
- The process being automated is complex, variable, or poorly documented
- Integration with existing systems is required
- Compliance, audit, or regulatory requirements apply
- The project budget exceeds £50,000 or the timeline exceeds three months
- Stakeholders disagree on what the system should do
Discovery typically takes one to three weeks depending on complexity. Treat it as a project phase with its own deliverables, not an informal conversation before development starts.
Identify stakeholders and their goals
Start by mapping who cares about the system and why. Stakeholder categories usually include:
- Primary users — people who will use the system daily. Their workflow requirements are non-negotiable.
- Secondary users — managers, auditors, or clients who consume outputs but do not enter data daily.
- System owners — the business sponsor accountable for budget and outcomes.
- Technical stakeholders — IT teams responsible for hosting, security, integration, and ongoing support.
- Compliance and legal — where regulatory requirements constrain design choices.
Interview each group separately before bringing them together. Individual interviews surface honest concerns that group sessions suppress. Document each stakeholder's top three goals and top three fears about the project.
Map the current process
Requirements discovery must understand what happens today before designing what should happen tomorrow:
- Process walkthrough — observe users performing the actual workflow, not the documented version. Shadowing reveals workarounds, informal steps, and pain points that interviews miss.
- Document inputs and outputs — what triggers the process, what data is needed at each step, and what deliverables it produces.
- Identify systems touched — every tool, spreadsheet, email template, and database involved in the current workflow.
- Quantify pain — how long does each step take, how often do errors occur, and what does failure cost?
- Capture exceptions — the edge cases that happen rarely but matter enormously. These often determine whether custom software is needed over off-the-shelf products.
Produce a current-state process map as a discovery deliverable. It becomes the reference point for scope discussions and future change management.
Define requirements at the right level
Effective requirements are specific enough to build from but not so detailed that they prescribe implementation. Use three levels:
- Business requirements — what the organisation needs to achieve. "Reduce order processing time from three days to same day." These come from stakeholders.
- Functional requirements — what the system must do. "Automatically route orders above £10,000 to senior approver." These come from process analysis.
- Non-functional requirements — how the system must perform. "Support 50 concurrent users with sub-two-second page loads." These come from technical assessment.
Write functional requirements as user stories or structured statements: "As a [role], I need to [action] so that [outcome]." Each requirement should be testable — you must be able to verify whether it was met.
Prioritise ruthlessly
Discovery inevitably produces more requirements than budget or timeline allow. Prioritisation prevents scope creep and enables phased delivery:
- MoSCoW method — classify each requirement as Must have, Should have, Could have, or Won't have (this time). Must-haves define the minimum viable product.
- Impact vs effort matrix — plot requirements by business value and implementation complexity. High-impact, low-effort items are quick wins for phase one.
- Dependency mapping — identify requirements that depend on others. Integration features often depend on core data models being built first.
- Stakeholder sign-off on priorities — get explicit agreement on what is in scope for phase one and what is deferred. Document deferred items in a backlog, not forgotten.
The most common discovery failure is agreeing on requirements without agreeing on priorities. Both conversations are essential.
Document for builders, not just stakeholders
Discovery deliverables should serve both business approval and development execution:
- Requirements specification — numbered, prioritised list of functional and non-functional requirements with acceptance criteria
- Process maps — current state and proposed future state with decision points and system interactions
- Data model outline — key entities, relationships, and data sources. Not a full database schema, but enough to estimate complexity.
- Integration inventory — external systems, APIs, data flows, and authentication requirements
- Wireframes or mock-ups — low-fidelity screen layouts for key workflows. These resolve more ambiguity than pages of text.
- Risk register — technical uncertainties, dependency risks, and assumptions that could affect estimates
Avoid over-specifying UI details or technology choices during discovery. The goal is clarity on what and why, leaving how to the development team.
Validate before you build
Before development begins, validate discovery outputs with stakeholders:
- Walk through the future-state process map with primary users — does it reflect how they want to work?
- Review prioritised requirements with the sponsor — does phase one deliver enough value to justify the investment?
- Confirm non-functional requirements with IT — are hosting, security, and performance targets achievable?
- Test assumptions — if discovery assumes an API exists, verify it before estimating integration effort
- Obtain written sign-off on scope, priorities, and assumptions
Sign-off is not bureaucracy — it is the contract that prevents "I thought we agreed on X" conversations mid-project.
Conclusion
Requirements discovery transforms ambiguous business needs into a buildable, prioritised, validated specification. Identify stakeholders, map current processes, define requirements at the right level, prioritise ruthlessly, document for both business and technical audiences, and validate before development starts. The time invested in discovery — typically one to three weeks — returns multiples in avoided rework, accurate estimates, and software that solves the right problem from day one.
Ready to scope your custom software project?
We run structured requirements discovery, produce buildable specifications, and deliver custom applications that match what your business actually needs.