In the design world, Nielsen’s usability heuristics is the checklist of “Ten Commandments” that you can check off to make sure your design is good at a very base level. As someone who has been living in the design world for most of my professional career and now gets to manage teams of people, I did a thought experiment: What if we could apply those heuristics to manage teams?
Let’s go through the checklist and see.
1. Visibility of system status
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
This is the big one. In all of my teams, there’s a central hub information where you can get all the information on the project. This is especially crucial to new members of the team or top level management that only wants to check out the status of the project. I’ve seen a lot of teams fail on this first step — through lack of clear communication and central place to check on project status, projects get blurry, priorities are not clear and the whole system eventually collapses. For most of my teams we use Blossom or Kanbanery as the central hub of information. If something not on the board, it does not exist. Everything should be noted down and available to check by the team when needed.
2. Match between system and the real world
The system should speak the users’ language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.
This is where large teams and large companies usually fall short. Amount of corporate lingo can be daunting to anyone coming from the outside. This often creates silos and blocks communication inside the company. Make sure everyone is on the same page and avoid using corpospeak as much as possible.
3. User control and freedom
Users often choose system functions by mistake and will need a clearly marked “emergency exit” to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.
This applies especially to product teams — let people try and fail, while having mechanisms in place to avoid extended downtimes. Have mechanisms in place that let quickly and effortlessly test assumptions without involving everyone on the team.
4. Consistency and standards
Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.
Once people get used to certain way of working and it works, keep it. New ideas are great and all, but having to learn new processes and new tools every project can be daunting. Provide onboarding experience if you’re introducing a new way of working.
5. Error prevention
This is basically covered by point 3. Having well-thought mechanisms in place that let people quickly and effortlessly test assumptions without exploding your production environment to pieces is always a good idea. Doing things like lowering the barrier for designers to build quick prototypes and test them with real users without breaking things is a way to go if you want to succeed.
6. Recognition rather than recall
The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.
Have explicit policies and make sure all the discussion about the task in your project in one place is important, this is why tools like Basecamp, Kanbanery and Blossom are way better than email. If it’s not in the project hub, it doesn’t exist.
7. Flexibility and efficiency of use
Allow users to tailor frequent actions.
Build team policies with the team, don’t just come in and set things the way you (or even worse: some corporate entity they will never see) think it should work. Do frequent project check-ins and adapt policies as you go. Always be optimizing for happiness and productivity of your folks.
8. Aesthetic and minimalist design
Don’t throw tons of irrelevant information on your team. Focus on what’s important for the job at hand and make sure they’re not confused by things they don’t need to know.
9. Help users recognize, diagnose, and recover from errors
Make sure everyone can see if something is going wrong with the project. Again, having a central overview place to check the project health is really useful. Having frequent check-ins and 1-on-1s to see that everyone is on the same page can also be very helpful.
10. Help and documentation
Make your policies explicit and make sure everyone knows where to find them. Provide onboarding experience to new members of the team. If you don’t know where to start, Valve’s Employee Handbook is a great place to start.