A theme it seems that I hear a lot is something to the effect that it doesn't matter how awesome the code/functionality is if it isn't "usable". This view seems, especially, to come from developers and designers who work in commercial, shrink wrapped software and, coming from this point of view, it is probably true. If the user can't glance through a few tabs and know how to do what needs to be done, then it might as well not be there. They probably won't talk to anyone or read a manual, unless they feel truly and absolutely desperate.
However, if you work in corporate IT, this particular piece of the world gets turned on its head. Operability takes first place over usability and the reason is simple: if the users don't have what they want or need, they will come to IT and demand it. If it is already there, it will be demonstrated if it isn't, it will more than likely get added.
Not of course, that this absolves internal programmers of responsibility. Far from it. I know that I have learned a great deal by probing deeper, especially with the question "what are you trying to accomplish?". It is just that, in this case, the very proximity of "the user" changes the whole dynamic. More than likely, the will tell you that this means too much work, or that they cannot do X.
So, where do the lines lie? I do not know exactly. The point I am more interested in here is not where they lie, but that at some point, usability really is less important than operability. Indeed, this is probably more apt to be true in highly specialized software of any kind, whether that software is an in-house developed PHP package or some $3 million CAD program for designing microchips where investment in the software itself is a given and the users have to use the software or else they cannot do their jobs.