I was listening to Jason Kalenkanis and Leo Laporte on the podcast "This Week in Tech - Grand Theft Yahoo" which triggered this posting.
Designing your application or service to require training is the easiest way to kill it. <Sarcasm ON>The other idea I love to see is coming up with a new design that is functionally different from the way everyone else is doing it <Sarcasm OFF>. Running with the herd doesn't show off your mad design skills, but it does help people just get the job done.
I'm always amazed at application development teams when faced with usability issues immediately turn to training as the solution for everything. If nobody can figure out how to use your application, you don't need to fix the user interface and workflows - just apply whitewash - I mean training and all of your problems go away.
The team I work with is responsible for library services, and we have rolled out just one application for our customers that is not an easy to use web application. That one application requires more care and feeding than ALL of our other applications. Numerous efforts to encourage a usability redesign of that application by the vendor have so far been unsuccessful, but we won't quit pushing it until we succeed or find a better application for that particular need.
Another project we did (alluded to in a previous post on Microsourcing) centered around document delivery. One vendor we used had such a painful ordering system and workflow that we were spending almost 0.25 FTE dealing with it. When the workflow and order pages were presented in an easy to use fashion, we dropped to practically 0 FTE for support.
Application development (appdev) teams will do a good job with usability especially if they bear the brunt of the maintenance and support for an application as it then becomes part of the overall cost of the application. If the appdev team can hand support off to a maintenance and support group, the optimization process for the appdev team never needs to consider support requirements on more than a theoretical basis. Of course, the maintenance and support team has no recourse but to try to support an unusable application - enter Training and a lot of pain for the users.
This is not to say that I'm against Training and Documentation. There are applications that need to be complex as they are dealing with very complex science/technology/math/systems/... I have used Finite Element Modeling (FEM) and Computer Aided Design (CAD) software that was incredibly complicated requiring weeks of training and extensive documentation. Of course, another meme embedded at this point is that a complicated application is worthwhile if it is core to the business purpose of the employee. If you are going to expect someone to use a complicated application requiring extensive training in its use - it better be something that person has to do to get their job/mission accomplished on a daily basis. Occasional and peripheral tasks had better have very intuitively, usable applications associated with them.