We build software from the people on up.
Seriously, that’s the long and the short of it. We sit down (in person!) with the people who will be using the software and find out what they do, how they do it and how they WANT to do it.
We stop. We look. We listen. We ask a lot of questions.
When we start building, we take baby steps. Some call this Agile (or Iterative) Development. We call it Baby Steps.
We have many show-and-tell and show-and-discuss sessions.
And, in the end, we build software that we’re sincerely proud of and that users have fun using. In some cases, they even get in to work a bit early to use the software more than their coworkers think they do.