Joel Spolsky has written another good column, this one about how to deal with the fact that, many times, people who get to make decisions about programming and projects don’t have any understanding of how such things actually work. I like his main recommendation — until you have them actually programmed, don’t let your users (or your non-technical bosses!) see the features that you intend to include in a project.