Wednesday, September 12, 2007

Don't Get Bullied

Building software for a crowd of generic consumers while challenging, operates by some reasonably straightforward rules that can be reasonably understood. For example, simpler is better.

On the other hand, building custom software for an educated user-base to fulfill specialized processing is excruciating because of the unreasonableness of it all.

The closer your users are to the problem, the more ideas they will have on HOW to solve the problem. This naturally leads to a slew of fragmented and disjointed concepts as they attempt to articulate in fits and starts their individual, informed, ideas about how the system should function.

At the other end of the spectrum, having educated and empowered users who will discourse with you about the nature of the problems to be solved, listening with open-minds to potential solutions, providing feedback to perfect the product, this can be hyper-productive.

We like to say, "They know enough to be dangerous."

When you have fragmented and disjoint components that don't subscribe to a cohesive approach to problem resolution you end up with lots of superfluous code that is usually much more complicated then it needs to be. Twice as much code doesn't make the solution twice as complex, more code adds exponential complexity.

This is not to say that you altering the end-goal for the functionality being delivered, you are changing HOW the software will meet the end-goal of functionality. When you subscribe to a cohesive vision, the product isn't just easier to create, it is simpler to test, quicker to validate, more robust in operation, faster to debug, and much easier for a user to adopt. The evidence supporting this is vast and varied across the technology landscape. The simpler answers always have broader adoption.

When you approaching an engagement, ask yourself what kind of user-base is supporting your efforts. Are they generic and uninformed? Keep it simple. Are they educated, pushy, and sure of their solution? Good luck with that (unless you can change the game). Are they empowered but open? Engage them early and often and you'll be really successful.

No comments: