Describe what someone does and what they need back
Instead of asking for a modern portal, explain who uses it, what they need to do and what gets in their way today. An employee might open a request, review the conversation, clarify details and pass it on. Describe inputs, outcomes and exceptions for important journeys. This creates a basis for design and acceptance, keeping discussion focused on real work rather than personal preferences about individual buttons.
Share examples and make constraints explicit
An anonymised spreadsheet, sample message, status list or walkthrough of the current process can help. Name the services already in use, things that must remain unchanged, data-location requirements and decision makers. Explain the reason behind a deadline. A reference website can communicate structure or mood, but it does not define functionality. Separate essentials from preferences so the first release is not overwhelmed by details that can follow later.
Agree on how completion will be checked
Everything should work expresses the intention but is too broad to test. List journeys that must succeed, user permissions, expected error behaviour and acceptable limitations. Define the handover: source code, instructions, access and deployment. Open questions are normal; make them visible. A useful specification does not pretend every decision is final forever. It supports deliberate changes and makes their effect on the amount of work understandable to everyone.
- User and goal
- Sample data
- Acceptance and handover
Two useful questions
Can I send an informal description or voice note?
Yes. It is a useful starting point. Before estimating and building, we turn the discussion into an agreed short document with the tasks and unresolved questions.
Do I need to choose a programming language first?
Usually not. The workflow, existing infrastructure and maintenance needs are more useful starting points. Technology should be chosen around those conditions.