This is part of ExpertCodingSkills.

The best programming interfaces don't happen by accident: they evolve over time. The best way to "discover" a usable interface is to try it out in real scenarios, and change it when it fails to meet expectations.

This means that interfaces and designs in general can't be specified. They must be prototyped and refactored until they are deemed acceptable.

There are several factors to mention here:

EatYourOwnDogfood (last edited 2006-03-05 17:11:40 by devguy)