1. Meet user needs
2. Understand the position in the design process
3. Have a clear hierarchical structure
4. Good background and high availability