Monday, July 11, 2005

Product Design Example

My recent entry on whether it is appropriate for a product manager to dictate user interface design generated several comments. Random proposed a hypothetical example to help clarify the issue. He wrote (punctuation edited):

"Here is a hypothetical case. Assume all the customers have browsers that support Java Applets. So the Applet UI would work in the given market. Assume you are building a Web app of some kind. Assume there are three different people in the role of product manager, product designer, and software developer.

Who decides whether the UI is HTML or applets? How is it decided?"

I would say the product developer plays the most direct part in determining whether the UI is based on HTML, applets, or some other technology. However, all three roles play a part.

The product manager formulates the requirements in completely UI-neutral terms. The product designer specifies the UI without dictating what technology to use to realize the UI. The product developer decides on the technology that will implement the UI the designer has specified.

However, a great deal of cooperation, feedback, and iteration are nonetheless necessary to make this process work.

A product manager can formulate requirements all he wants, but it may not technically be possible to satisfy them. The product designer may not be able to conceive of a user interface that satisfies an ease of use constraint, for example. The product manager and designer must therefore cooperate to formulate requirements that are realistic.

Similarly, a product designer can specify a user interface that no UI technology (HTML, applets, etc.) is designed to implement. The development team might have to write their own UI framework to implement what the designer specified. Writing their own framework might be a good thing, or it might unacceptably delay release of the product. The designer and developer must cooperate to specify a user interface that is possible to implement on schedule.

Ultimately, the product developer should determine which implementation technology to use. But the product manager's and designer's inputs drive the decision, and the product developer's expertise on what's feasible feeds back into the requirements and UI design.

No comments :