The Ten Worst Engineering Pitfalls
1. The solution is more problematic than the problem it was created to solve.
2. Basing the design on your own motives rather than on users' needs.
3. Neglecting to handle all possible failure cases gracefully.
4. Failing to protect users' privacy.
5. Expecting that users will (or should have to) read anything.
6. Expecting that users will (or should have to) possess technical knowledge or jargon.
7. Expecting that users will (or should have to) configure something before using it.
8. Challenging or attempting to guess the user's intent.
9. Not knowing when to re-architect (either doing it pointlessly, or avoiding it when needed).
10. Failing to make the implementation as maintainable and understandable as possible.