Say you are given a mock-up of 25 screens of the visual states of your application. The expectation is that this is enough for us to be confident we can develop and hand it to the original stakeholder or customer as a finished application, and they will be satisfied. Naturally, you're going to end up asking the stakeholders many questions over again that were used to come up with the UI, which is wasteful.However, I have many many times found that this is very much not enough, in the course of developing the application the requirements become blurred by the fact that we are replicating an interface and in the end the customer is not as happy as they first seemed when we asked them for all the info to create the UI.I am just not sure what else to ask for, I have tried to be specific and ask for requirements and an understanding of the overall goal, but I don't know what I should ask for. If I just start now, lots of time is going to be wasted re-hashing all the info that lead up to the UI and during this phase many important reasons the customer originally had will be lost.How can I get people to understand that we cannot lock down requirements based on UI mock-ups by asking for something actionable they can create for me?What would you ideally start with in order to properly execute the task of developing an application for end users?
How do I move a client from UI mockups to a set of real requirements?
design;specifications
Some other things you may need are:Usecases or Workflow descriptions: Just because you know what a screen looks like, do you know how bad input is handled? Do you know how to transition between screens in ALL cases? You could include error handling here as well.High-level system description: Something the explains what the whole system that these 25 screens are for, and what they do.Data model: Is it possible to infer a data model from these screens? Is there a data model that must be used or are you free to design your own to get the job done?Technical requirements: Are the specific technoligies that must be used because of licencing or for integration reasons?Performance requirements: If there's a search screen, is there an expectation of what can be searched and how fast the response should be? What about responses for other types of actions? Can or should some of them be asynchronous (user submits job and comes back later)?Security requirements: Does the application store potentially sensitive/personal data and if so, what kinds of data and what must be done to keep it secure? Do you need to meet some level of compliance (like PCI compliance for doing credit card payments)?Also, is there any special business domain knowledge that you may need them to assist you on? Some industries such as insurance, banking, medical health records, etc... have all sorts of complex business logic. Such projects shouldn't be attempted without the help of a business analyst who knows that domain. But if it's just a shopping cart/info site for generic widgets, then you may not need such a team member.