Archive of Design Articles

June 2nd, 2006

Writing Design-Free Requirements

topsyWidgetPreload({ “url”: “http%3A%2F%2Ftynerblain.com%2Fblog%2F2006%2F06%2F02%2Fwriting-design-free-requirements%2F”, “style”: “big”, “title”: “Writing Design-Free Requirements” });

One of the ten big rules of writing a good MRD is writing requirements that do not specify design. How do we specify enough detail to be actionable without constraining the engineering team? How do we trust our developers to do the right thing?
The [...]

March 21st, 2006

Interaction Design Process Overview

Interaction design, as described by Alan Cooper in The Inmates are Running the Asylum, is a process for designing software by focusing on the most important users. Unlike traditional requirements gathering and solution design processes, interaction design focuses on the goals of a specific class of users, represented as a persona. Those goals are considered when defining scenarios that represent how the primary persona will use the software. The combination of goals and scenarios leads to design artifacts and a functional specification. We will explore these steps in more detail in this post.

March 20th, 2006

Software design and specification and making movies

Alan Cooper presents the analogy that software development is like making movies in his book, The Inmates are Running the Asylum. Cooper is presenting the analogy in the context of validating the business case for investing in interaction design, but it holds true for requirements as well.

February 18th, 2006

Software Testing Series: Organizing a Test Suite with Tags Part Three

This is the third in a three-part post about using tags as a means to organize an automated unit test suite.

Part 3 of this post can be read as a standalone article. If it were, it would be titled Design elements of an automated unit test framework using tags. If you’re only reading this post and not parts 1 and 2, pretend that this is the title.

January 29th, 2006

Describing the Software Development Process

Software development involves determining what to develop, documenting this decision, determining how to develop it, and actually developing it.We present a framework for describing this process in terms of layers of activity. Many people use pyramid analogies, which show the magnitude of effort in each layer (lines of code versus lines of requirements, for example). Many other people use inverted pyramids to reflect the importance (or impact) of work done at different layers (a sentance defining a strategy has more impact than a line of code). Some people show PERT diagrams of waterfalls or pretty circular arrows charts showing iterative lifecycles, or any of many good analogies.

January 7th, 2006

Top five usability blunders (and fixes)

topsyWidgetPreload({ “url”: “http%3A%2F%2Ftynerblain.com%2Fblog%2F2006%2F01%2F07%2Ftop-five-usability-blunders-and-fixes%2F”, “style”: “big”, “title”: “Top five usability blunders (and fixes)” });

Five easy steps to alienating your users with bad usability

Fail to simplify a comprehensive interface so that new users can quickly climb past the suck threshold.
Build an inconsistent UI layout or interaction design that varies throughout the application, creating a sense of dissonance [...]