Prioritizing

Why Prioritizing? | How You Can Apply Prioritizing | Optimization

Today's software often wants to be everybody's darling, resulting in feature overload and unnecessary complexity that cannot be mastered by the users. The "priority" principle reminds us to focus on the essential tasks and user goals in order to avoid overkill and user frustration.

 

 Why Prioritizing?

Software developers are often in a dilemma. They have to develop software for a wide range of customers with a very diffuse understanding of what this software should accomplish. This often leads the developer to squeeze in any conceivable functionality requested by at least one customer, just in case it could be needed. This usually results in complex applications that are hard and cumbersome to use.

While we cannot free developers from this dilemma, we can at least point to this potential problem. In the early design stages, a decision must be made as to whether an application is to fulfill all requirements, or is intended as a "lean" and efficient application that may not serve every purpose and user.

 

 How You Can Apply Prioritizing

Prioritizing makes most sense in the early design stages and not during implementation. Careful analysis of the users' needs and of the task requirements are necessary before any decisions about the importance of certain subtasks or features can be made. The most important questions are:

  • Which functionality is needed in most cases ("80% case")? Which is the most important, essential, or frequently used one?
  • Which functionality can be totally discarded?
  • Which functionality has to be offered but can be hidden from most users' view?
  • How can the interface be designed so that (1) the essential functionality is presented directly to the users, (2) the less important functionality (if it is to be included) is hidden from direct view but is also accessible?

 

 Optimization

Many people have a misunderstanding about the nature of optimizing. As there are always compromises to be made and conflicting requirements to be balanced, it is impossible to "make everything better." Optimizing processes means making overall performance better, that is, making the important and frequently used procedures easier and more efficient and also making the less important and rarely used features harder to use.

As an example, this might result in placing important functions into a toolbar and hiding rarely used functions from view and placing them into menus.

 

To top top

Source:  Simplifying for Usability