The Mental Sweep
All right, it’s time to outline. At the very beginning of a project, it’s worthwhile to sweep through your mind for all the features, challenges, ideas, and questions you have. You can get them all out into a flat list and then later organize them into a hierarchy, or you can create the hierarchy as you go. The important part is to make sure you get everything out there. One item that you list might lead to another, and so on, faster than you can keep up. Or you might need to sit and rack your brain for a while to come up with more than a few things.
Here are some suggestions that might knock loose something in your mind as you think about your project:
- General requirements: what is the app for? Who is the audience?
- Antirequirements: what is the app definitely not for? Who isn’t part of the audience?
- Initial setup
- Types of data
- Viewing data
- Adding, editing, and deleting data
- Grouping and hierarchy
- Tasks that need to be particularly fast or easy
- Tasks that should probably be supported, but are ancillary to the main purpose
- Import, export, and sharing
- Compatibility with other apps or services
- Preferences
In the end, you should have a list that more or less represents all the initial design problems you’ll have to work through, as you currently understand them. Some may turn out not to be necessary, most will turn out to contain many subproblems, and new ones are sure to arise, but at least this first list gives you something to start from.