These questions are about information that goes from the user to the product.
What information does the user input?
Is this input open ended or interactive?
Open ended examples: free-form text input, choosing an image to upload, recording a video.
Interactive examples: text input into a search form that displays results to pick from, choosing an address on a map, picking from a predefined collection of options.
Is there any input that would be considered invalid, and how does the app deal with it?
Are there any passive inputs? Most common example: user location via GPS.
What information does the product need from a new user? Is there a way for the user to change this later?
If the previous section was inputs, you can think of this one as outputs.
What information is shown to the user on this screen?
How is this information shown? Examples: text, images, maps, lists, graphs.
Does the information need to be sorted in some way? Examples: recency, distance from user, relevance.
Does the product send any active outward communications? Examples: emails, push notifications, SMS messages.
These questions are about how different pieces of the experience (users, the product, other services) interact with one another.
Do users interact with each other? Examples: messaging, adding as friend, “liking” or tagging of other users’ content.
Do the users interact with external services? Examples: payment services, shipping tracking, social login.
Does the product interact with external services? Examples: location lookup services, weather APIs, social networks (“Your friend X just joined! Check out their profile!”).
Questions about what you, the business owner, need from the product.
Do you need to receive alerts or summaries, via email or some other medium?
Do you need a specialized system for yourself or employees? Examples: driver app for your delivery staff, real-time order management interface for your kitchen staff.
Do you need an interface for manually approving users/content?
Do you need a content moderation system? A way for your admins to easily remove user content, disable user accounts.