SETTING OF PRIORITIES IN SYSTEMS MANAGEMENT
How to set Priorities
Being able to set priorities is the key to getting organized and making the most of your time. But how do you set priorities for your day-to-day tasks and activities as well as specific action items for your goals in order to make sure you’re not letting anything slip through the cracks? You will have daily priorities such as taking the kids to school, and you should also have daily goal specific actions – these all need to be prioritized into one seamless set of a ction items to make sure your day-to-day life doesn’t take precedence over your goals and vice versa. To prioritize day-to-day activities and goal specific Action Items, try a ny one of the following systems: Must Do | Should Do | Nice to do •
•
•
Priority 1: Must Do – these goals or activities must be achieved if you are to consider yourself ‘successful’. These are your highest priority goals or activities. Priority 2: Should Do – these goals or activities should be achieved (but it is not essential) to consider yourself ‘successful’. Priority 3: Nice to Do – self explanatory.
You may prefer the commonly used “High | Medium | Low p riority” terminology. terminology. Ranking system - where you number all tasks in the order that you need to do them, from 1 being most important (do this one first) to however many action items there are on your list. Urgent | Important activity matrix Another popular way of of prioritizing prioritizing action items is the Urgent | Important activity matrix originally developed by time and organizational management guru Stephen Covey. Covey. This matrix is based on all tasks being assigned a level of ‘urgency’ and ‘importance’ as illustrated below below..
Urgent-Important Matrix for setting priorities Human nature means that we instinctively act on tasks that are ‘urgent’, whether these tasks are important or not. That’s OK for the tasks that are also important, but the other ones are not necessarily the best use of your time and effort. e ffort. This matrix can also be used to explain why taking action on goals sometimes gets into trouble. Goals are typically derived from dreams and desires, which by their very nature are not ‘urgent’. Goals are however VERY important and their enabling actions need to be elevated in priority over tasks that are not really important. So as a tool for helping you prioritize your action items, start by identifying which part of the matrix each task belongs in, and then manage them as follows:
Urgent- Important Matrix for setting priorities p riorities
Most importantly, find that suits you set priorities – prioritizing tasks is the key to time management and organization and is essential if you have any hope of of achieving achieving your goals. And don't forget to document your set priorities in your action plan. Find out more on setting priorities from the expert - Stephen Covey!
Setting Priorities
When you have to choose among several tasks, there are several prioritization tools you can use. Key ones are summarized below. If you are in a rut with your prioritization method, experimenting with the following methods may yield the one that is right for you. Note that it is commonly recognized that 20% of your activities will account for 80 percent of your success (The Pareto Principle). Hence, if you have 100 tasks in your task list, probably about 20 of those will be the key ones to focus on. Hence, whatever prioritization method you use, you should ensure it helps you pinpoint these tasks. Covey's Quadrants
Stephen Covey describes a high-level prioritization scheme in his book The Seven Habits of Highly Effective People. In this scheme, tasks are categorized by four quadrants: • • • •
QI - Important and Urgent QII - Important but Not Urgent QIII - Not Important but Urgent QIV - Not Important and Not Urgent
Dr. Covey notes that highly effective people make time for the QII activities , and that doing so can reduce the time spent in other quadrants. While QI - QIV prioritization doesn't help you decide which QI activity to do first and which to do second, and so on, it can be very enlightening to find out which quadrants your tasks are in. The ABC Method
I first became aware of this scheme when I used a paper-based Franklin planner. It ranks tasks into three categories: • • •
A = vital B = important C = nice
Then it subdivides tasks in these categories into A1, A2, A3... B1, B2 ... and so forth. Note that the A, B, C categories have a straight forward correspondence to Quadrants I, II, and III discussed in Covey's The 7 Habits of Highly Effective People . A lot of people find this prioritization method to be very helpful. Although the standard Pocket PC and Palm Task list application does not support these exact priorities, there are some very good third third party applicatio applications ns that do. For example, example, Pocket Pocket Informant Informant and Agenda Agenda Fusion for the Pocket PC support prioritization and add a number of other useful capabilities. The Payoff versus Time Method
With this method, you weight each task by the payoff you expect from it versus the time it takes to do it. Task Tasks s that that have have high high payo payoff ff and and that that take take litt little le time time are are the the ones ones you you woul would d do firs first. t. Correspondingly, tasks that have low payoff and that take a lot of time are ones you would do last or not at all.
Closing Thoughts
Sometimes priorities shift. We've all had to juggle tasks. On balance, though, we need to ensure our priorities are consistent with our personal goals and the goals of our organizations. Doing this requires a periodic review, and a weekly planning session is ideal for this. Also, while the message has been out for years that organizations should clearly communicate their goals and priorities, research continues to show that many organizations are not good at this. Hence, you may need to make an effort to identify the goals and priorities of your organization, to ensure your priorities are consistent with those. Finally, to emphasize what was pointed out earlier, you should take full advantage of the Pareto Principle. The best discussion I have ever seen of this is in Tim Ferriss' book The 4-Hour Workweek: Escape 9-5, Live Anywhere, and Join the New Rich. Rich . While the title of this book makes it sound like one of the millions of get-rich-quick hypes, this is truly a phenomenal book about lifestyle design with some great discussions of managing time and setting priorities. Amazon is practically giving it away at its $12 price. I am personally convinced that Ferriss is the New Time Management Guru.
Setting your Priorities
To harness this extra performance and integration – while taming the complexity of modern applications – the use of a real time operating system (RTOS) is becoming more commonplace. A key feature of an RTOS is that of multitasking. A multitasking environment allows a program to be broken down do wn into multiple tasks with each one 'thinking' it has the cpu to itself. It is like having multiple cpus. A modern RTOS will use priority based scheduling of tasks and this article will discuss how scheduling is undertaken. One aspect of scheduling in a priority based system is the allocation of priorities to the various tasks. Often, what is deemed the most important task will be given the highest priority, but this isn't necessarily the most efficient method of priority allocation. Schemes for assigning priorities and determining whether a system can meet its scheduling deadlines will also be discussed. RTOS scheduling
The scheduler is the part of the RTOS that decides which task should be running on the cpu at any given time. In normal execution, a task performs the functionality of the user's application and will then make a blocking call of some sort; for example, an OS derived time delay or waiting for a semaphore or other signal from an interrupt service routine (ISR) or another task. A blocked task will be suspended by the operating system and another task run. When the time delay expires or the event occurs, the task unblocks and can be scheduled to run by the OS. If a low priority task is running on the cpu and a high priority task becomes ready to run in a pre e mptive priority based system, a context switch will occur – the low priority task will suspended and the high priority task will be given the cpu. The low priority task is said to be pre empted by the high priority task. Assigning task priorities
The majority of RTOSs implement pre emptive priority based scheduling as this is well suited to embedded systems requiring fast response to real time events. But how does the engineer actually assign priorities to tasks in the system? Giving the most important task in the system the highest priority may not have the desired effect. There are a number of methods of assigning priorities, including: Earliest Deadline First; DeadlineMonotonic Scheduling; and Rate-Monotonic Scheduling. Earliest Deadline First (EDF) scheduling uses a queue of tasks in order of priority. When a task blocks,
the RTOS searches the queue for the task closest to its deadline and selects it a s the next to run. This is a useful scheme as it is possible to guarantee all task deadlines are met at high levels of cpu utilization. However, there is a cost in terms of complexity and execution time of the RTOS scheduler code. Deadline-Monotonic Scheduling is a fixed priority pre emptive priority allocation scheme where
priorities are assigned by giving the task with shortest deadline the highest priority. This assignment scheme is suited to tasks which have deadlines equal to or less than their periods and have worst case
execution times equal to or less than their deadlines. Rate-Monotonic Scheduling (RMS) , meanwhile, is a fixed priority pre emptive priority allocation scheme
gaining in popularity. Being a fixed priority scheme, no special modification to the RTOS is necessary. With RMS, it is possible to guarantee that a key set of tasks will meet their deadlines and that the system is schedulable. A further benefit is that system performance degrades gracefully during overload conditions, with the lowest priority tasks missing deadlines. RMS assumes: * All tasks are periodic * All tasks have deterministic deadlines equal to their periods * Tasks do not share resources; for example, no blocking semaphores * Tasks have fixed priorities and the highest priority task will always run * Tasks with shortest deadlines (periods) have the highest priorities * Context switches and RTOS operations use no cpu resources The key point here is that the highest priority is allocated to the task with the shortest period. The next highest priority is assigned to the task with the next shortest period and so on. Using Rate-Monotonic Analysis (RMA), it is possible to determine whether a system with task priorities allocated in this way can be scheduled or, in other words, whether critical tasks will miss any deadlines. Under RMA, the second point above is relaxed and tasks no longer need to have equal periods and deadlines, so long as the deadline is less than or equal to the period. For example, a task may have a period (T) of 150ms and a computation time (C) of 50ms. This means the task must be able to run for 50ms every 150ms. This allows us to calculate the utilization (U) of the cpu using the following equation: U = ? Ci/Ti The total utilization of the CPU is the sum of all the individual task utilizations. There are utilization limits dependent upon the number of tasks, n, in the system, as given by a second equation: n(nv2 -1) As n grows, the utilization limit tends towards logn2, so the cpu utilization limit for n tasks is 0.693, or 69.3%. Providing the cpu utilization is less than 69.3%, the system can meet all deadlines. The remaining 30% can be utilized for other tasks without hard real-time deadlines. Consider the following example of a three task system: Task A: period = 150ms, computation time = 20ms Task B: period = 80ms, computation time = 30ms Task C: period = 15ms, computation time = 2ms The task utilizations will therefore be: Task A: 13.33% [(20/150) x 100%] Task B: 37.5% [(30/80) x 100%] Task C: 13.33% [(2/15) x 100%] The total utilization becomes 64.16%. As long as the priorities are assigned in the ascending order Task C > Task B > Task A, the system will be schedulable as the utilization value is less than 69.3%. It is possible to extend RMA further to take into account context switching time and to modify the system when non periodic tasks are used and when shared resources are part of the system.
Setting Clear Priorities
Computerworld - Most of us have more work than we can hope to accomplish in any given week. So one of the first bits of advice I give to new managers is to establish priorities early so that they can focus on the most important work, and triage work that doesn't contribute to meeting department goals. When priorities aren't clear, people will choose what to work on at random. That may suit individual needs (for example "I enjoy working with Jane, so I'll do the widget fix first" or "I hate working on the Floo product, so I'll do that last"), but this type of decision-making probably won't help the group as a whole meet its goals. How do you answer the questions "What should we work on first? What's the top priority?" How you set priorities will depend on the context of your group. Here are some questions to help sort out what work is most important. What's the Mission of Your Group?
Every group should have a mission: three to five goals or responsibilities that the group carries out. Long ago, I worked for a mutual funds company. One of the key responsibilities of my group was to provide accurate fund valuations to The Wall Street Journal every day by 3 p.m., and also to shareholder processing later that evening. We worked hard to make the WSJ cutoff so our funds would appear in the paper. But once or twice a year, we didn't have an accurate price in time for their deadline. When that happened, everyone knew what decision to make: We didn't send the price if we couldn't stand behind its accuracy. Communicating a clear mission for a team will help everyone make wise decisions about what work comes first. How Does Your Company Make Money?
When you know how your company makes money, you can set priorities based on the activities that will generate revenue. On the opposite side of the balance sheet, you may need to set priorities to reduce costs. Don't forget about opportunity cost. For instance, if your company makes most of its sales in a limited window of time -- between Thanksgiving and Christmas for example -- opportunity cost must be part of your calculation. Opportunity cost is the value of an alternative you pass up. Suppose Frank, a new manager, decides to save $10,000 by accepting late delivery on a server. Receiving the server late causes a delay in the project. The software ships late, and the company misses three weeks of the six-week market window to sell $1,000,000 worth of software. Frank's choice represents significant opportunity cost, potential onehalf the expected revenue. (Frank's choice would also be a career-limiting move.) IT departments may work on software that directly affects the bottom line, through enabling sales, fulfillment and shipping, or tracking delivery of goods to customers. When the software isn't tied to revenue, (e.g., payroll, accounting, management reporting, etc.), it's viewed as overhead. Focus on efficient operations and reducing the cost of building and supporting the software. Reducing the cost to find and fix defects can have a dramatic d ramatic effect on the bottom line. What Is the Vision for the Product?
When you have many customers who are making requests for changes in the software, it's easy to prioritize based on the squeaky wheel. But the customer who yells the loudest isn't always the one who generates the most revenue. When your company has strong product management, the product owner will answer questions about where the product is going and which changes have the best return on investment for the company. If you don't have a product owner, you'll have to do some legwork to answer the questions for yourself. What is the vision for the product? Is the company moving out of one market and into another? Which customers are most likely to buy new software or additional licenses?