Writings from Experience

Bits of wisdom from my years of experience. I hope you enjoy them.

I apply best practices in user-centered design to bring four key values to my work: discover, define, design, and deliver. This site illustrates how I apply these principles in real projects.

  • Discover: Identify what is wrong. Companies know when their products are not successful, but often can't put a finger on why. Effort is wasted on a stream of features and fixes that never seem to satisfy customers and that leave a product trailing in the marketplace. Discovering customers' "pain points" enables you to focus limited resources on the areas that will have the highest payoff.
  • Define: Finding problems is not enough; you must also be able to define problems and solutions in terms that make sense to the customers — who need to know you've understood them — and to the teams that will act on these discoveries to create appropriate solutions.

  • Design: Creation of effective visual and structural designs that respond to discovered and defined needs. This must be done while meeting resource constraints, including hardware, software, and project resources.

  • Deliver: Doing all of the above on time, under budget, and with an eye toward the completion of a successful project as well as delivering a high-quality product. Good project management techniques include cross-team and cross-functional communication and grounding design in the realities of project needs.

Applying these principles to the design, coding, testing, delivery, and support efforts within a project pays off in increased customer satisfaction, recommendation and retention, and gives side benefits such as reduced support costs.

How I Design

I use a design methodology that combines parallel and iterative processes. Iterative simply means that each step of the design is done and reviewed/tested multiple times. Multiple sketches, multiple wireframes, and multiple detailed designs are necessary to narrow down variation, discover errors early - when they're cheap to fix - and to include input from multiple stakeholders. Iteration lets me combine the 'define' and 'design' values. Parallel means that at each step I generate multiple alternatives, in parallel. Having two (or more) variants to choose between lets people combine the best elements of several ideas. People have an easier time saying that they prefer one candidate design to another even when they can't articulate precisely what they like or dislike. This is primarily about discovering where problems lie, but also includes elements of design.