Designing a change to a system today, and planning the usability prompted some debate about - as ever - the user.
In the case of the project in question, "the user" actually fell into 2 users - the day to day user, who will be IT literate but not a technical specialist, and the administrative user who is usually a technical / IT specialist. Some functionality needed to be operated by the day to day user, whereas other functions were best reserved for admin users.
Designing for the expert user presents a whole different challenge. Expert users will generally want to undertake more advanced tasks, and often their knowlege of their own business (called subject matter expertise) means that they'll want to do things that the software designers didn't envisage. This means that an interface designed for the expert user needs to be flexible and accomodate their need and ability to expand the capabilities of a system.
If an interface isn't flexible enough, expert users will often find ways to "game" or work round the system, both reducing the system's relevance and meaning that the experts focus their attention outside the system. The key is to build on the expert's strengths - which is where things like command line interfaces, keyboard shortcuts, config editors and allowing them to offload part of the work to their favourite "expert" apps is a wise move.
As well as building on the expert's strengths in terms of functionality, it pays dividends to build on the expert's strengths in the design and development process too.
When designing such a system, seek out and try to understand and get to know the experts. Build a rapport with them, and focus on your role in facilitating but not trying to replace their expertise. That way, when an expert needs a feature which is lacking, they'll come to you as the development expert rather than working round you and using their own tool, an Excel spreadsheet, or even breaking the business process.
his gaming of the system isn't a desire to "break things" on the expert's part - it's simply what happens if they don't have the support to work WITH the system.
The three key steps working with expert users are: