All projects have a set of requirements, which is what we ascertain during the specification stage.
Before work on the project can begin, a technical specification must be agreed. This defines the requirements that the end-product – whether it’s a mobile, desktop, or server software – must meet to be considered ‘complete’, along with details of how the product will deliver the requirements.
Typically, the specification will have screen mockups or 'wire frames' to show the user interface, and also detail any specific processing or interfaces with other systems.