Goal Directed Design Author: Alan Cooper This article originally appeared in the September, 1996 issue of Dr. Dobb's Journal.
Purpose • Eliminate unnecessary features from your products • Separate good designs from bad ones • Create software that makes the user happier and more effective
Goals Vs. Tasks • Easily Confused • ex. Military • Goal: To keep Peace • Task: To wage war • Often seen in computer systems • The programmer’s task is to put barriers up to protect data integrity. • The user’s goal is to handle the various needs of the client. • Result: If the client hasn’t decided where an order is to be shipped, the software rejects the order for lack of a valid shipping address… • The programmer has imposed His goals on the user, rather than making the software fit the user’s goals. • The User’s goals remain constant, even as the technology changes!
False Goals To save memory Safeguard data integrity Use cool technology Corporate Goals Increase profit Defeat competition To go public Practical goals Avoid meetings Handle a client’s demands Personal Goals To not feel stupid Work hard Have fun 4 Types of Goals
False Goals • Achieved by ignoring the user and focusing on the needs of the code. • These goals are really just tasks—means to an end, rather than the end themselves. • It may be a company’s task to use the latest technology, but the goal should be to get the job done as efficiently as possible.
Corporate / Practical Goals • Hygienic Goals –goals that are prerequisites for effective functioning but are powerless to achieve success by themselves. • Practical Goals often connect the corporate goals with the user’s.
Personal Goals • Always true and operate for everyone. • For example, if software makes the user feel stupid then he or she will lose self-esteem and thus, effectiveness. • Ex. Error Messages in effect blame the user for the software’s shortcomings.
Conclusion • Let the User’s Goals be your guide • You must observe users in order to fully understand their goals • Don’t be fooled by their own ignorance of their objectives. • If you simply ask them to design their software, they will describe tasks and ignore their actual goals. • The process begins with you • Identify the Hygienic and Personal goals of the user and design an interface that serves them directly. • If you don’t, you risk creating another computer program that makes the user feel stupid, which ultimately causes them to fail in completing the goals of the company.