My former colleague and present friend, Andy Edmonds, deleted my ignorance of Jakob Nielsen’s “10 Commandments of Usability.” When striving toward a usable product, let’s consider:
- Visibility of system status
- Match between system and real world
- User control and freedom
- Consistency and standards
- Error prevention
- Recognition rather than recall
- Flexibility and efficiency of use
- Aesthetic and minimalist design
- Recovery from error (barring #5)
- Help and documentation
Immediately I started to think about how these usability heuristics apply to software development. As developers, we are in an unique situation. We make products for users, ideally very usable products. If we look a little deeper though, the stuff that makes the product for our users is itself a product. Our source code and development environment is a product.
Let me try that again: the technical components (source code, repository, CI config, tests) of the applications our end users consume is a product in its own right. Our code is a product for which we are the users.
In the next few posts I’ll detail how these usability heuristics apply to our development environments using a simple template. For each guideline I’ll cite an example in traditional user experience, followed by a relation to development environments. I’ll follow this with an example of how the heuristic applies to our code as a product.
Stay tuned…
{ 3 comments }

GitHub
LinkedIn
Twitter