Resources · Checklist
Custom Software Discovery Checklist
A structured checklist for defining business, technical and operational requirements before starting a custom software project.
- Published2 October 2026
- Format
- Checklist
- Access
- Read on this page
Custom software projects fail more often from unclear requirements than from technical difficulty. This checklist sets out what to establish before a build begins, so that the specification describes the problem rather than a guess at the solution.
Work through it with the people who do the work, not only with the people who will approve the budget.
01 — Business objective
- What problem are we trying to solve?
- Why does the problem matter?
- Who experiences the problem?
- What does the current process look like?
- What would a successful outcome look like?
02 — Users
- Who will use the system?
- What are the different user types?
- What does each user need to accomplish?
- What permissions will each user require?
03 — Functional requirements
- What should the system allow users to do?
- What workflows need to be supported?
- What information needs to be captured?
- What approvals are required?
- What notifications are required?
04 — Integrations
- Does the system need to connect with existing software?
- Are interfaces available on those systems?
- Are payment systems required?
- Are communication platforms required?
- Are external databases or services involved?
05 — Data
- What data will the system store?
- Who owns the data?
- Who can access it?
- How long does it need to be retained?
- What security requirements apply?
06 — User experience
- What should the primary user journey look like?
- Which actions should be easiest to reach?
- What devices will people use?
- Are accessibility requirements relevant?
07 — Operations
- Who will administer the system?
- Who will manage users?
- Who handles support?
- What reporting is required?
08 — Future growth
- Could the number of users increase?
- Could additional workflows be added?
- Will integrations expand?
- Will multiple locations or teams use the platform?
Define the problem first. Define the system second.
Related reading: custom software versus off-the-shelf.