Our development team was working on a content management system for a corporate client. It was a big system that administered units produced in a variety of languages and applications and, as a result, required careful user interface design and a lot of backend code.
We were doing a show and tell with our partially working system for a couple of corporate VPs to get their feedback on the design. We took a lunch break, and when we got back, the two VPs said they had something they wanted to show us.
They proudly presented a series of PowerPoint slides that showed where they wanted the buttons and pick lists placed.
Client: There, see? This is the arrangement that makes the most sense to us. Can you do this?
Client: You know, I really don’t understand why it takes your team so long to design these interfaces. We knocked this out in about an hour.
The entire team sat stunned until the senior programmer—a man of very few words—pointed to a button on the PowerPoint screen.
PROGRAMMER: What does this button do?
Client: Well, clearly it administers the training and testing selected by the user.
PROGRAMMER: If I click it right now, it will do that?
Client: Well … no. Actually, it doesn’t do anything yet.
PROGRAMMER: That’s why it only took you an hour.