In my recent experience with designing business applications, there’s a natural tendency amongst many programmers to create complex user interfaces to solve complex business problems. The approach that I have been taking in designing applications is to start with the business problem, and, with my limited knowledge of how these businesses actually run, distill the problem down to it’s fundamental elements. Usually this process involves dumbing myself down (hold the jokes back) in order to eliminate and ignore all the complicated business requirements that tend to get in the way of clean interface design. Oftentimes during this exercise I can even simplify the way the business operates by giving them my watered down version of their process and showing how it still fulfills their requirements.

Technically, this has little to do with software design and a lot to do with business process analysis. By approaching application design with a laser focus on the business process you ultimately end up with several benefits:

  1. You create software that directly addresses a business problem. No frills.
  2. With a preference for clean, simple user interfaces, I do everything I can to simplify the business process, which ends up making everybody’s life easier.
  3. Simplifying business process leads to simple user interfaces. Nothing goes on the screen unless there is a direct and deliberate need for it. I mean it.
  4. Simple UIs means faster ramp-up time for new users. Only your dumbest employees will need to read the instruction manual. Everybody else should be up and running in no time. Joking. I’m sure you don’t have dumb employees.