I think there is an interesting dynamic that occurs when a developer is freed up from the monotony of the development process. Specifically, there is a direct consequence on the usability of a product when a developer’s progress in slowed by monotonous tasks.

As a developer, I’d love to claim that my initial design intentions (sketches/wireframes, task flow) are spot-on every time. Ha! Let’s be realistic: creating a good user experience is hard to do.

It is often the case that the product is near a finished state before some usability issues are encountered. In other words, the product may be feature-complete, and deemed releasable, but it’s that extra effort towards usability that can really make a product shine.

What can we do as developers to make sure our end product has that finishing touch? Or, more specifically, what blockers exist to keep us from achieving this goal?

I’d suggest monotony is a key blocker:

Monotony vs Usability Luster

Let’s define our two forces at play:

  • Monotony – any repetitive, tedious process, task, or routine that drags down creativity during the development process
  • Usability Luster – the extra, finishing touches on a product that exponentially elevate the product’s usability

For a developer, more monotony means less time and space (grey matter space) to cope with finishing touches. If, as a developer, I feel like a cubicle code monkey all day, every day, then that is affecting my ability to push out a quality user experience.

How can we combat monotony?

  • Use tools that reduce monotony and increase productivity
    • Rails comes to mind
    • A good IDE
  • Use good programming technique
    • DRY (Don’t Repeat Yourself)
    • Design Patterns (where appropriate)
    • Test (reduce your stress level by testing)
  • Get a cheerleader
    • Find that guy/gal who encourages you through the monotony

What do you do to get through the monotony? What other techniques do you use to ensure that little something extra for the user experience?