3. Be explicit about who you are building the system for
I have not yet run across a prototype or a product that does not have a producer and a consumer. Nor have I seen one yet that works for everyone on this planet.
Chapanis 1996 might be a good read.