![]() |
PrioritizingWhy 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 PrioritizingPrioritizing 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:
OptimizationMany 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.
Source: Simplifying for Usability |