Is our software user-friendly? What does that mean? I spend a 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
Ease of use is the most talked about and least-understood aspect of software design. It means how natural it is to use the software, how natural it is to perform tasks and how easy it is to learn.
Our goal is to eliminate the need for reporting issues, we know that the more we work on usability the less support we will have later. As a result, doing support lets you find out about usability issues and how the software can be enhanced.
The 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's point of view, the usability may be inversely proportional to the workload and the code complexity. I mean, the easier to use for the user the 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.