Heads up: This post is 20 years old. My thinking may have evolved since then — read it with that in mind.

The smart programmer … (a) Listens and nods his head while Management says “We want this, We want that” … (chances are this is all wrong); (b) Sits down with end users (secretaries, etc.) for a while, every day, staying out of their way but watching them work, and asking the occasional question; (c) Figures out what the end users really want, need, will accept; (d) Codes for the end user, then spins the thing so Management thinks they’re getting what they (foolishly) asked for. LOL… this is sooooo true! http://developers.slashdot.org/comments.pl?sid=175060&cid=14557868\