Most software projects that go wrong went wrong before any code was written: the problem was vague, the scope was everything, and nobody agreed what “done” meant. A few hours of preparation fixes most of that. Here is what we ask every client to think through.
1. Describe the problem, not the solution
“We need an app” is a solution. “Bookings clash at the weekend and we can’t tell which staff member changed a price” is a problem. Write down what goes wrong today, how often, and what it costs. That is what the software has to fix.
2. Map the workflow as it really happens
Walk through a normal day step by step, including the workarounds — the spreadsheet on the side, the WhatsApp group, the sticky note by the till. Workarounds are where the requirements hide.
3. List the people and what they may do
- Who uses the system — owners, managers, staff, customers?
- What should each of them be able to see and change?
- Which actions need a record of who did them?
Permissions are much cheaper to design in than to add later. In CR Cafe, roles are built from granular permissions enforced on the server, with a full audit log — decided on day one.
4. Note what it has to connect to
Payment gateways, existing tools, spreadsheets you want imported, and any physical equipment. Integrations are often the riskiest part of a project, so they belong in the first conversation.
5. Decide what the first release must do
Split your list into “must have to be useful”, “should have soon” and “nice to have”. A first release that solves the core problem well is worth more than a large one that arrives late. Everything else can follow in short cycles.
6. Think about failure cases
- What happens if the internet drops?
- What if a payment fails?
- What if two people edit the same thing at once?
Requirements checklist
- The problem, in a paragraph, with its cost
- A walkthrough of the current workflow
- Users, roles and permissions
- Integrations and data to import
- Must-have features for the first release
- Devices it must work on
- Failure cases that matter
- Budget range and any hard deadline
Bring that to a first conversation and you will get a much more useful answer. Our development process explains what happens next, and you can start a project whenever you are ready.
