I spend lot of time doing support, mostly helping people to overcome problems using Maxprog software. This task is interesting as it allows us to gauge the usability of our software. In software engineering, usability is 'the degree to which a software can be used by specified consumers to achieve quantified objectives with effectiveness, efficiency, and satisfaction'. Usability goals must address those three components but what about 'Ease of use'?
Ease of use is the most talked about and least-understood aspect of software design. Ease of use means how natural it is to use a software, how natural it is to perform tasks and how easy it is to learn. Our goal is to eliminate the need of reporting issues, we know that the more we work on usability the less support we will have later. Doing support lets you find out about usability issues and how the software can be enhanced.
Interface design has a lot to do with usability. A software interface has to be as simple as possible, it has to be 'user-friendly', that is, easy to learn and easy to use. From a developer point of view the usability may be inversely proportional to the workload and the code complexity. I mean, the more easy to use for the user the more harder for the developer. Or the reverse, easy things for the developers may be 'user-hostile'. As a result it takes much more time planning and designing a feature than writing the code that will finally make it work.
Now you know what usability is, what do you think about Maxprog software? Are we user-friendly enough?