Slashdot Mirror


In Search of the "Perfect" Pager Rotation?

jSpectre asks: "At my new job the Unix SA team has increased from 5 to 7. We're trying to work out a new, rotating on-call schedule and everyone has 'perfect' but conflicting ideas. Twelve weeks on and 6 off, 25 weeks on and 10 off. I thought someone out there must have come up with the perfect formula given N number of people you could rotate through the weekdays and weekend most efficiently. My google and web searches have come up with nothing. Does anyone know of a good formula/solution? The requirements are this, we have 7 people (but the forumla should ideally apply to N people) who should rotate through the weekdays (a 24 hour period) and the weekend (a 48 hour period). There is a desginated primary and a secondary person. They should be on for a few weeks and off entirely for a few. Sound like a good thesis/research problem for someone? By the way, Google comes up with a lot of people's schedules if you search for pager rotation. Tisk tisk."

70 comments

  1. 7 people, 7 days in a week . . . by Mordant · · Score: 4, Funny

    Hmmm - maybe we're onto something . . . ;>

    1. Re:7 people, 7 days in a week . . . by jspectre · · Score: 1

      Well no. Because we want one person to cover the whole weekend. We also want some time off where you aren't on duty at all. So rotate thru the days and then off entirely for a period of time. But thanks.

      --

      abcdefghijklmnopqrstuvwxyz

    2. Re:7 people, 7 days in a week . . . by smoondog · · Score: 1

      I don't get it. Why not just rotate in a queue format?

    3. Re:7 people, 7 days in a week . . . by CharlieG · · Score: 2, Informative

      Acually, counting the weekend as ONE day works! You then have 7 people and 6 days, which can work out really well. (damed lameness filter won't let me use day numbers, so I'll try for good names)

      Day = Person
      Monday = Alice
      Tues = Bob
      Wed = Carol
      Thurs = Doug
      Fri = Ed
      Sat & Sun = Frank
      Mon = George
      Tues = Alice
      Wed = Bob
      Thurs = Carol
      Fri = Doug
      Sat&Sun = Ed

      and follow the pattern. What's nice about the pattern is that if your the person stuck with the weekend, you are totally off the next week!

      Guess what? It expands too! Just have an ordered list of employees, and the next person gets the beeper when you get to work, and it just wraps around. In fact, it works better when you have more folks, because you get longer blocks of "Off call"

      When folks want a vacation, they have to work out a trade, and this is the sore point, because it can be hard to find someone to take your spot

      --
      -- 73 de KG2V For the Children - RKBA! "You are what you do when it counts" - the Masso
    4. Re:7 people, 7 days in a week . . . by Alex · · Score: 1

      no this is easy - everyone has the same holiday allowance - so if someone books a holiday they are just skipped while they are away.

      Alex

  2. I love it by Anonymous Coward · · Score: 2, Funny

    /. editors keep posting questions from real people with real jobs asking about help with their real jobs. Penis envy?

    1. Re:I love it by Anonymous Coward · · Score: 0

      Too bad they're all stupid questions.

  3. Some of us... by infernalC · · Score: 4, Funny

    ...don't worry about pager rotations because our datacenters never have failures, you insensitive clod!

    1. Re:Some of us... by fm6 · · Score: 3, Funny

      ...don't worry about pager rotations because our bosses don't like overtime, you insensitive clod!

    2. Re:Some of us... by cdrudge · · Score: 1

      Just before July 4th, a message was sent around my place of work to salary staff asking for volunteers to come in on their holiday to do data entry. The reason...they didn't want to pay hourly staff overtime/holiday pay. We were free...hourly was not.

  4. In search of the perfect lotto number... by $exyNerdie · · Score: 5, Funny

    I want to win the Powerball® jackpot which is estimated at $250 million.
    Does anyone know of a good formula/solution? The requirements are this, I want to win this Powerball® jackpot (but the forumla should ideally apply such that out of the N times I play, I should win at least N-1 times). Sound like a good thesis/research problem for someone? By the way, Google comes up with a lot of pages if you search for lucky Powerball® numbers. Tisk tisk.

    1. Re:In search of the perfect lotto number... by drudd · · Score: 1

      I can guarantee you this for N=1.... just pick any numbers you want, I promise you you'll win at least 0 times.

      Doug

      --
      Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
    2. Re:In search of the perfect lotto number... by $exyNerdie · · Score: 1

      I can guarantee you this for N=1.... just pick any numbers you want, I promise you you'll win at least 0 times.

      Good answer. When I win the lotto, I would hore you as my financial assistant.

    3. Re:In search of the perfect lotto number... by $exyNerdie · · Score: 1


      Good answer. When I win the lotto, I would hire you as my financial assistant.

      Sorry about the typo

    4. Re:In search of the perfect lotto number... by jyristys · · Score: 1
      Good answer. When I win the lotto, I would hire you as my financial assistant.

      Sorry about the typo
      And that, fellow slashdotters, is the definition of a Freudian slip-up.
  5. Auction it by A+nonymous+Coward · · Score: 5, Interesting

    Give everyone points per week, either same for everybody or based on seniority. Then set up a schedule in advance, whoever has the most points gets the duty. When duty is taken, points are removed. People can of course volunteer for duty, and if multiple ones do, low points get first choice. Allow points to go negative.

    Or something like that. I'm sure it could be an interesting exercise designing the points system and implementing a web page to handle it.

    One more thing, you need some kind of deadline, no changing your mind within a week of duty. But if you get someone to swap, allow that.

    Now if you are going to pay for the duty, you want the weekly points awarded based on how much different shifts cost. Maybe factor in seniority also.

    1. Re:Auction it by mcdrewski42 · · Score: 2, Interesting

      Interesting idea with the points.

      I'm assuming with the pager that people are paid for being on call. I know in my company that wasn't the case and all 'N' employees eventually got jack of the idea until payment was forthcoming.

      We rotated on a purely week-by-week basis. Swaps were normally handled amicably, but if you couldn't find anyone to fill in when you wanted them, and you were not on actual annual leave, bad luck.

      You know, that sounds almost so self-evident I might patent it as a business process.

      --
      /* affect != effect */ void affect(int *thing,int effect) { *thing += effect; }
    2. Re:Auction it by Eneff · · Score: 5, Interesting
      ding ding ding!


      mod points just expired, though. Damn!


      I'd actually put a twist on the idea... Instead of losing points, have people gain points for doing these duties. (You start at a base 50 points, for example, then auction down for each 4 day/3 day or 5 day/2 day shift.)


      now here's the rub... you reverse auction for desirable days/weeks off. (Christmas, Thanksgiving, et al) People use accumulated points to bid for it off. The two that bid the least are primary and secondary, respectively. Those two would then get some percentage of the points bid.

      So, for example, I'd have no problem working Christmas and Easter, but I'm taking the two weeks surrounding my birthday off. (This could conflict with Easter, but you get the point.) I'd also bid for the week containing labor day, for example.

    3. Re:Auction it by Piquan · · Score: 1

      You may want to read up on scheduler algorithms... the traditional Unix scheduler is similar to this. Substitute "nice value" for "seniority", and adjust the PRI based on pages received rather than cycles consumed, and volunteers are essentially using yield, and you've got a pretty decent starting point.

    4. Re:Auction it by Piquan · · Score: 1

      By the way: my post was intended to be more of humorous intent than serious application, but there may be some merit.

    5. Re:Auction it by MaxwellStreet · · Score: 2, Funny

      Humorous intent? And I thought -my- sense of humor was dry!

    6. Re:Auction it by MImeKillEr · · Score: 1

      I'm assuming with the pager that people are paid for being on call.

      If that were the case, I'd imagine that people would volunteer to be on call, in order to get more $.

      More than likely, they're salaried like we all were when I was in IT. It makes better sense to have IT personnel salaried (from a business standpoint) because there may be times that they have to be at the office for an ungodly amount of time.

      Case & point: I got to work at 7AM regularly. We were moving our entire datacenter from one building to another. It was a Friday. I left the office Saturday morning at 2AM. That's 19hrs straight on the clock. This wasn't just me, the entire IT staff (5 desktop support, two network engineers, two Unix admins & the IT manager) were all there for at least 18hrs straight. Then we came back in at noon that day to finish.

      Can you imagine the overtime or comp time they'd be forced to shell out?

      Then there's the conference we did in Vegas (Venitian Hotel, Sands Conf. Center) in 2000... 50+ IT personnell off-site working for a week straight...

      --
      Cruising the internet on my TI-99/4A @ a whopping 300 baud!
    7. Re:Auction it by nbvb · · Score: 1

      Try working a Disaster Recovery exercise.

      48 hours, non-stop.

      When I was an OT-collecting employee, that was WONDERFUL.

      Now that I'm salaried, I get The Big Screw. Work 48-hours for us in for free.

      Yuck.

    8. Re:Auction it by mcdrewski42 · · Score: 1

      If that were the case, I'd imagine that people would volunteer to be on call, in order to get more $.

      Agreed. This is largely the reason why the 'swaps' were handled fairly amicably. It's easier to find someone who's willing to take on the job if there's a payoff and not just a drawback.

      I'm salaried too (we all were). I don't mind putting in some extra hours for special occasions (ie: your datacentre move), but this was on-call support for a production billing system - 24x366. There's a big difference between those two things.

      --
      /* affect != effect */ void affect(int *thing,int effect) { *thing += effect; }
    9. Re:Auction it by MImeKillEr · · Score: 1

      BUT, in addition to our datacenter move, we did an on-call support rotation, 24x7 per person, every four weeks. One week on, three off.

      I'd never get myself into a position where I was the only support guy for 24x365. Not without some SERIOUS incentive!

      --
      Cruising the internet on my TI-99/4A @ a whopping 300 baud!
  6. Come on guys by nickgrieve · · Score: 0, Insightful

    Shit guys, if you can't work this one out on your own you should not be sysadmins. What's the next "ask Slashdot" "My manager has given me all these tapes to copy stuff from the sever to every night. What is the best rotation strategy?

    1. Re:Come on guys by blate · · Score: 1

      Actually, that's a non-trivial question.

      An old sysadmin of mine swore up and down that one shouldn't reuse tapes, since reusing them can lead to data integrity problems and/or mechanical failures in the tape (e.g., tape breakages).

      This was several years ago, so tape technology might have improved.

    2. Re:Come on guys by Anonymous Coward · · Score: 0

      exactly, thats my point. any sysadmin should be able to come up with tape rotaton scheme. Its a fundemantal part of looking after a system.

      Tape roatation is a "Systems administration 101" subject...

      feh... it was sarcasim...

    3. Re:Come on guys by Glonoinha · · Score: 2, Funny

      That was me, and I was stealing the once used tapes for use at home. I figured you would have caught on when I started swearing up and down that we shouldn't reuse memory DIMMs, Hard Drives, CPUs, by the time I had you convinced that we shouldn't reuse Monitors it was all over but the crying.

      --
      Glonoinha the MebiByte Slayer
  7. This Could Really Burn Some on Holidays by TheWanderingHermit · · Score: 3, Insightful

    Maybe you could work out a schedule based on the calendar year. The current one could seriously frustrate some people if they are on through the entire holiday season. Thanksgiving, Christmas, and New Years could easily come within 6 weeks of each other. It might be entirely possible some people are on through this whole time and others are off that entire time. If it's not balanced off the next year and some of the same people have to stay on call a 2nd year through that time, I would think it could lead to hard feelings.

    While the holidays may not effect your business, they do have a storng emotional effect on most staff and it might help to set up the schedule to treat people fairly not just in regular time on/time off, but also in holiday time. For example someone who works Christmas or a 3 day weekend might get an extra week or weekend off some other time.

    I've never had to deal with this in the tech field, but when I was in property management, I know anyone on call over holidays always felt at least a little frustrated, but at least they knew they all had to deal with it more or less equally.

  8. An idea by blate · · Score: 3, Interesting

    Let's start with the assumption that you don't care if you're on-call, so long as you never get paged to do something during non-business hours.

    A simple system that would work for N people might be the following:

    1. Number the people 1..N (or 0..N-1 if you're feeling geeky).
    2. The pager starts with person 1. If you need a secondary or tertiary (sp?), then assign to persons 2, 3, ...)
    3. If person j takes the call passes the pager on to the next unallocated person in the list, who takes on j's priority (i.e., primary, secondary, etc.); if the primary takes the call and you have secondaries, etc., the secondary becomes the primary and the next unallocated person on the list becomes secondary.
    4. Goto 3 (couldn't resist)

    Assuming that calls are evenly distributed, then you only have to take a call every N*(call inter-arrival time) units of time.

    You could change around the "who gets primary next" rule in various ways.

    Assuming that you don't get more than one call on a weekday or over a weekend, this system should be reasonably fair.

    1. Re:An idea by TheWanderingHermit · · Score: 3, Insightful

      Let's start with the assumption that you don't care if you're on-call, so long as you never get paged to do something during non-business hours.

      Speaking as someone who had a real jerk for a boss and was on call for 11 months at one stretch, I don't think that's a valid assumption. While it seems like there's no problem unless you're called, being on call can be a stressful experience. It means you can't go out of town and you have to be aware that any activity you plan may be interrupted. For me, it meant I had a full spring, summer, and fall where I could not go on one single long (20 miles or longer, which put me out of quick "response" range) bike ride, which is something I love to do.

      There's another problem with this overall idea, as well. If you move in an unpredictable rotation like this, then you never know if you're going to be on call for an upcoming weekend. It means you basically can't plan on going away for a weekend until Friday. If you have a lot of friends and an active life, that is unacceptable.

  9. Perfect... no such thing by MerlynEmrys67 · · Score: 2, Insightful
    Why not get the group of N together, and then see what they think...

    Make it even easier say $x a day for pager coverage (more for weekends) plus pay for call ins. That makes it easier... I don't have a life, need more money, I volunteer more often/take extra shifts. I have a real life, don't want as much extra work... I don't volunteer as much. Shifts that aren't covered are simply rotated through (still getting the extra bucks)

    --
    I have mod points and I am not afraid to use them
  10. Get more holidays! by ptaff · · Score: 2, Insightful

    Supposing the density of the calls is not very high, use a two-person/week scheme.

    Person 1: Primary from midnight to noon, secondary from noon to midnight;
    Person 2: Primary from noon to midnight, secondary from midnight to moon;

    Rotate each week (week 2: person 3-4, ..., week 4: 7-1, ..., week 7: 6-7). After 7 weeks, each person will have worked 2 weeks. Not so bad, only a 22% uptime is needed.

    And for an odd N (in your case 7), you automatically shift morning/night in each iteration.

    Seems easier that way too, you don't have to remember "are we thursday and it is really between 6am and 11h30am?".

  11. At my company... by Anonymous Coward · · Score: 0

    ...we are just about to start the "on call" stuff, and we're working it like so:

    Starting off ranked by seniority: Newest employee is #1 on the list, most senior (me, whoo hoo!) is at the bottom.

    When we get an off-hours support call, it goes to #1's phone first. If there's no answer, it bounces to #2, and so on. Whoever actually takes the call goes to the bottom of the list, everyone else moves up a notch. Lather. Rinse. Repeat.

  12. Simple formula! by shfted! · · Score: 2, Interesting

    This is really easy! The length of the period of rotation is exactly x (number of persons) weeks long. At week 1, person 1 (primary) and person 2 (secondary) are on for Monday through Sunday. At week n, person n (primary) and person n+1 (secondary) are on. At week x, person x (primary) and person 1 (secondary) are on.

    The length of a week is used so everyone gets an equal amount of time. Everyone is on call 2/x number of weeks. Shifts can be swapped easily, just be careful that primary and secondary aren't the same pserson! Primary and Secondary can be swapped -- the system can work with people being primary then secondary just as easy. Also, when deciding the order of rotation, you may wish to take skill/competence into account. Have it so the Junior guys are spaced out, so if junior person (primary that week) can't figure it out, he can call the secondary (more experience person).

    --
    He who laughs last is stuck in a time dilation bubble.
    1. Re:Simple formula! by stanmann · · Score: 1

      That almost works, and if he hadn't mentioned distinguishing from weeks from weekends would work
      W1 P1/A2
      WE1 P3/A4
      W2 P5/A6
      WE2 P7/A1
      W3 P2/A3
      WE3 P4/A5
      W4 P6/A7
      WE4 P1/A2
      W5 P3/A4
      WE5 P5/A6
      W6 P7/A1
      WE6 P2/A3
      W7 P4/A5
      WE7 P6/A7
      Obviously for any more than 4 people this will work out. for less than that... you will end up being on call all the time anyway. And of course if you have 4 people, you will have to figure something out to alternate weeks and weekends.

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
  13. it doesn't matter!! by Anonymous Coward · · Score: 0

    just tell them when the hell they're working and when they're on call, and be done with that. Make something up, anything. If they don't like it, tell 'em they're out of there, and hire another unemployed monkey for $2/hr less. It's a manager's economy, charlie! Think with your head.

    1. Re:it doesn't matter!! by Zeriel · · Score: 1

      There's this thing, see, called 'employee satisfaction'. Some of us managerial types like to encourage that, cause it tends to lead (invisibly, and cost free) to a better bottom line.

      Because when the economy cycles back up, and there are more jobs than workers again (always happens, charlie)...I want my people to stay where they're at. =-)

      --
      "America has done some terrible things. But I know that Americans don't cheer when innocents die." -Dave Barry
  14. The equation by n9hmg · · Score: 1

    1 week on, $numberofemployees - 1 off
    manager intervenes in cases where a person is about to work the the second holiday in a row, in which case the person being screwed trades with the person before him in the rotation.
    Apply appropriate further perturbations in cases where the holidays worked differential exceeds 2.
    Incidentally, in case somebody's looking for a really good unix admin to cover a holiday or something...?

  15. best "rotation" by kasper37 · · Score: 3, Funny

    I've found that the best rotation is the everyone-gets-paged-and-if-you-don't-see-it-fixed- within-a-few-minutes-find-a-terminal rotation.

  16. Randomly rotate every 44 hours by infonography · · Score: 2, Funny
    Use a ten sided dice to pick the person, remember to roll behind your dungeon master / System Admin screen.

    I like to use Buzz word bingo to select the next victim. Today "Beowulf cluster" is an instant critical hit.

    Or try These

    --
    Sorry about the writing. Robot fingers, you know? Cliff Steele in DOOM PATROL #23
  17. Not really a rotation, but.... by krangomatik · · Score: 3, Interesting

    We all carry nextel phones or pagers and get text messages from our alerting system when things go down. When I see something go down and I'm somewhere I can vpn in I'll usually do so and check to see if any of my coworkers on actively vpn-ed in and give them a beep to see if they are already working on the problem and see if they need any help. If there isn't anyone looking at it and I'll usually jump on in and get to work and the next person who takes a peek will see me and we'll talk they'll get a feel for what's going on, the extent of the problem, etc. This works pretty well for us (we are small, 10 person group and pretty much know where each other are the evenings/weekends). We also have an answering service that has a formal 'on call' list, so if a customer calls with a problem they'll just call down the list until someone answers. We rotate the list around every quarter, or therabouts, so the 'primary' person changes. I often volunteer for the top spot on the list because I'm pretty flexible and don't have a wife/kids and don't mind being called. This works out well because if I'm not able to fix it we have a list they can call down and everybody pulls their weight so no one really feels bad if they have to hand it off down the list now and then. I'm guessing that since you are looking for a more formal schedule that this sort of 'loose' system may not be the right answer for you, but it may be the right answer for others. We have separate call out lists for some more specialized systems (oracle, router folks, mainframe, telecomm) so that when there is a problem with a specialized system you get the more experianced people first. Our managers are also at the bottom of the list, so if all else fails the call will go to a person who has a complete phone list and a good idea of where people are so they can start call people's alternate numbers and what not. This system also allows for quite a bit of flexiblity people. Our 'tradespeople' (aka union) side of the house where there are MOU's or something relating to off hours support has a more formal policy, but they also have financial incentive (time and a half type stuff) for being on call, so there isn't usually a lack of people willing to be on call. One thing that we have considered, that may work for you, is dumping our answering service for a PBX based application. That way customers could be routed through a menu tree (yeah, people just love those...) that would identify the area of the their problem and then page out the people on call for that area. You can tie something like that in with your calandering/scheduling system so that only people who have time marked as free are paged. You would have to incorperate some sort of checking to ensure that you had at least a primary and alternate for any given time, but it should be doable. I am coming from a shop where people are generally will to be on call when possible, so we don't often run into a situation where someone has to give up something just to be on call, so YMMV with this type of system.

  18. The way we do it... by onjay · · Score: 4, Insightful

    This is a perpetual scrum in medical residency, too. We can't do back-to-back calls, which makes it harder than, "You cover this weekend."

    0 - Get a big ass calendar with holidays and some pencils. Decide how many days/year each person will have to work. Break them down into 4 or so categories: weekday, friday, weekend, holiday are ours. Friday is annoying because you can't go out but not as bad as an 24h (weekend/holiday) day. If weekends are light, you could just have "weekday" and "friday + weekend" categories. Anyway, share around evenly.

    1 - Holiday parity is a good place to start. Noone wants to get screwed both xmas and new year's. Ask for preferences and nail down someone for coverage for these and Labor day, the 4th, T-day, etc. They can trade later.

    2 - Map out the conferences and people's known vacation blocks, anniversaries, exams, etc.

    3 - Some people haven't adapted to a totally random fill pattern of coverage, so give people a choice of contiguous blocks/easy to remember patterns (M/W for the month of ___) or irregular blips.

    4 - Schedule the parts where many are out of the office with whatever it takes. Subtract these and the holiday days from the totals each person has to work. Schedule the pattern-desiring people and people with evening classes/outside commitments/inability to show up if on a random schedule. Again revise the totals.

    5 - Start marching through at the beginning, rotating through the N people available. Keep running track of the fridays/weekends, do a little stagger to keep the weekends from being the same person on the same day, and it will start filling out.

    6 - Think outside of the month to fit those last days in. You don't have to fill months contiguously or in date order. If there is a new employee, it may be best to slack off a bit on them (no weekends) at first until they fill out their KB; this gives you some flex.

    N - Nothing you can do will make the perfect schedule. You have to have one master list that is the last word, and on which everyone must record their trades. Leftover days are best distributed to the people who took the least holiday days or the dues-paying new hires.

    N+1 - Write some open source software to do this. Acrimony might be less, and the legibility would be better for sure.

  19. Just an idea by satterth · · Score: 1

    Have everyone involved in the rotation pick a few important holidays. Maybe two or three each. Then factor in all Major Holidays that may have been missed. Lets say 7 people and 30 holidays, schedule your weeks/days on and weeks/days off so people don't work too many holidays in a row. (eg: Thanks giving, Christmas, New years) Print up a couple years as a sample to see if its fair. Adjust as needed. Allow people to trade weeks/days so they can work around vacations, weddings, giving birth etc...

    --
    Being called a dork on Slashdot must be like being called the retard in special ed.
  20. Dude, how hard is it? by Anonymous Coward · · Score: 0

    Uh... You know... why not just have each person on duty for one week, in rotation.

    This week, it's Bill, next week it's Terry. The week after that, it's Bob. Everyone gets six or seven weeks in between their turn and nobody gets burned out by doing more than one week at a time.

    I work for a top-level engineering support group within a very large company. We're the link between the devs and tech-support and there are about 80 of us for just this portion of the software division (and there are about 400 tech support guys in frontline and the company has about 40,000 employees overall).

    We don't deal with seniority or any other bullshit. It's real simple. Each product has to have 24x7 coverage. So if there are six engineers on one product, then every sixth week, it's your turn to roll again. If there are two people on your product, you are on duty every other week. If there are ten people on your product, it's your turn every tenth week.

    I don't see why IT should be any more difficult. If you have five guys, you work through the rotation every five weeks. Nobody has to do more than a week at a time and it's easy to map out "gee, so in four weeks it's my turn again.."

    What's the next question here? "How do I fit 200 cd's into a 200 cd disc carrier"?

    1. Re:Dude, how hard is it? by MImeKillEr · · Score: 2, Insightful

      I couldn't agree more.

      When I was in IT (thank the gods I don't do that anymore) we simply rotated between the four of us. One week on, 3 weeks off. Backup was our manager, and his backup was the director. Very rarely did the manager need to get called, and it was even more rare for the director to get called.

      If there were scheduling conflicts where one of us would be outside the 2-hour window (2 hours from getting the call to actually starting to work on it) then it was upto the individual on call to find someone to cover for them. If no one's willing or available then you cancel your plans. Period.

      --
      Cruising the internet on my TI-99/4A @ a whopping 300 baud!
    2. Re:Dude, how hard is it? by xenoc_1 · · Score: 2, Insightful

      Absolutely. About the only choice in the system should be maybe ask the team if they'd like to rotate weekly or monthly.

      Otherwise you're just overcomplicating it. Let people sort out their holidays by doing trades among themselves as long as they let you know.

      But don't make it some complex mathematical scoring or other situation. You're just asking for accusations of unfairness if you do that. Somebody isn't going to "get" your carefully-thought-out system and feel it's working against them.

  21. This problem has already been solved. by MarkusQ · · Score: 3, Funny
    This problem has already been solved. You should be searching under more general terms (e.g. "fair scheduling algorithms") rather than problem specific terms like "pager rotation," that's all.

    For example, let's say you have N people working (and all are interchaingable, to start with). That means that each of them should be on call for K = 1000/N milliseconds out of every second (on average). Provided there are less than 500 people to be scheduled, you can accomplish this by rounding K to an integer (for the case where there are more that 500 people to be scheduled, either schedule them for one millisecond each, or go to a finer grained time-base). One important point to remember is that you must resource lock the call to the person in << K ms to avoid race conditions (which can garble text messages and result in an annoying high-pitched noise if two or more people try to return the call simultainiously and get multiplexed--

    Hot damn, my run just finished.

    G'night all...

    -- MarkusQ

  22. Auction it... by Anonymous Coward · · Score: 1, Interesting

    Low bidder gets stuck with the job, and second lowest bidder gets secondary. All the rest have to pay the third lowest bid to the person stuck with the job.

  23. My team lead by Ratbert42 · · Score: 0

    Whatever. Do what my team lead used to do. Every time we paged him when he was on rotation, we'd realize the pager was in his desk drawer. Well, every time except the one time when he said "I'm too drunk to come in."

  24. Try a DA Form-6 by oni · · Score: 4, Informative

    The Army had to solve this problem eons ago in order to have rotating guard and staff duty schedules. Thier solution is the DA Form-6. Look it up. It has all the features you specified.

    1. Re:Try a DA Form-6 by Anonymous Coward · · Score: 0

      Should be modded as funny: DA Form 6

    2. Re:Try a DA Form-6 by bobbozzo · · Score: 1

      OMG You Slashdotted the army!
      And killed it!

      --
      Nothing to see here; Move along.
  25. What's with all these complex calculations?!? by dustpuppy · · Score: 2, Interesting

    In my team which has 5 people, we do one week of on-call, rotated around the team each week.

    It means you go on call 1 week in 5.

    Simple to understand, simple to implement and no hassles. People swap individual days with other SA if they have some pressing engagement which they need to attend.

    1. Re:What's with all these complex calculations?!? by Jason+Pollock · · Score: 1

      Here! Here!

      Why does the piecewise it difficult? This isn't pilot scheduling!

      I just set up the same thing here. 7 people, you have it from Thursday to Thursday (people can then take Mon/Fri off!). I did add one thing though... If it rings two nights in a row, it goes to the next person.

      Jason Pollock

    2. Re:What's with all these complex calculations?!? by thempstead · · Score: 1
      We do this to ... its the easiest way to split things up.

      In our rota we sit down every three months or so and work out between the people who are on the rota who wants to do which week, which works ok as long as the people on the rota are reasonable, (out of the last 5 years I've covered Christmas and New Year 4 times but then I'm a geek who never goes out and I volunteered to cover then so that people who had children didn't need to be on).

      We do allow the people on the rota to decide between themselves if they want to swap weekends if they are doing something outside work which means they cannot go oncall - they have to make sure if they do this that all the documentation is updated to reflect it and the appropriate parties informed.

      Tim

  26. Here's what my team does... by jermz · · Score: 2, Informative
    I work in a team of 4 admins, and we have two types of pager duty, day and night. The day pager is from 8AM to 5PM. The night pager covers 5PM to 8AM and all day Sat and Sun. We rotate day pager on a daily basis, and night pager on a weekly basis. You cannot have day pager on the same week you have night pager.


    This scheme works out good. We all end up with an even amount of day pager duty in a month, and we each get 13 weeks of night pager duty per year. If a holiday falls on a weekday, the night pager person does the day shift.


    A friend of mine on another team does an entire week of pager at a time. It sucks for him. He hates it. I much prefer our system.

    --
    Hi-Technical Excellent Taste and Flavor!
  27. clearly forgetting a step or two by BIGstan · · Score: 1

    Forgot one...

    5) Profit!!!

    back to lurking...

    --

    BIGstan!
  28. Graveyard shift? by cliveholloway · · Score: 2, Insightful

    Errr, this might be too obvious, but have you asked if anyone wants to work the graveyard shift?

    That would remove 90% of the problem.

    I don't know about your situation, but most groups of geeks contain one or two that are night owls. Why not pay them a small premium to work nights? A lot cheaper than overtime.

    .02

    cLive ;-)

    --
    -- Trinity in high heels carrying a whip: The donimatrix - there is no spoonerism
  29. you could try by vaderhelmet · · Score: 1

    put a bunch of holidays in a hat (twice, once for primary, and once for secondary) give each holiday a value (prim, secd) Christmas - 5,3 New Years - 5,3 4th July -5,3 Easter - 3,2 Thanksgiving - 3,2 Labor Day - 2,1 Memorial Day - 2,1 Presidents Day - 2,1 everyone draws one holiday Everyone must end up with at least 6 pts of holiday er something... This wouldn't solve the whole thing, but it would fix the holiday problems...

  30. DA Form-6 does NOT answer the question by Steve+Hamlin · · Score: 1

    DA Form 6 form does not answer his question on HOW to allocate the schedule. It is just a pre-printed sheet to write down a schedule once it has been established.

    Leave it to the government to turn what is essentially a sheet of lined paper in to a formal, named and itemized military-spec piece of equipment.

    How much you think a pad of those costs?

    1. Re:DA Form-6 does NOT answer the question by oni · · Score: 1


      DA Form 6 form does not answer his question on HOW to allocate the schedule.

      Yes it does. The HOW is the accompanying regulation. See redleg's post below.

      It is just a pre-printed sheet to write down a schedule once it has been established.

      no it's not. The regulation - the HOW - is part of it.

      Leave it to the government to turn what is essentially a sheet of lined paper in to a formal, named and itemized military-spec piece of equipment.

      It's clear to me that you have no clue what you're talking about.

      How much you think a pad of those costs?

      $0. Your cynicism really doesn't add anything to the conversation. Thanks anyway.

  31. DA Form 6 is Exactly the answer by RedLeg · · Score: 1

    DA Form 6 form does not answer his question on HOW to allocate the schedule.

    Correct, but not very helpful.....

    How much you think a pad of those costs?

    Nothing. ALL Army forms are available in PDF format. The advantage of a piece of paper is that you don't need a computer to operate it. This comes in handy in places like foxholes, which typically lack electricity.

    FWIW, AR 220-45 tells you HOW to use the form. This took me, oh, 10 seconds to locate via google. FWIW, here's a PDF copy of the reg. Of course, I'm not a cynic who condemns all things military because they are military. Oh, and I guess I should say that I'm a Major in the Army and have used the DA 6 for most of my adult life to do things like this.

    A little more searching will probably turn up either a standalone program implementing the duty roster, or a spreadsheet. The paper forms become tedious to maintain for large groups of people, or when maintaining a separate rotation for weekdays and holidays/weekends (which is common), but are VERY fair in allocating duties. More importantly, they are AUDITABLE, so anyone can look at the roster form and determine that the duties are being assigned fairly.

    1. Re:DA Form 6 is Exactly the answer by oni · · Score: 1

      Of course, I'm not a cynic who condemns all things military because they are military.

      That was my thought exactly when I read his comment. That, and the thought that he is a loser.

      What unit are you in?

  32. How many on-call at once? by Omega996 · · Score: 1

    You don't mention how many on-call at once? Is there a primary contact and a secondary contact?
    At my last job, there was a primary contact, who would receive the initial call. If, within a given time period, there was no response, the secondary person would be called.
    How about giving the pagers to two people each week - if you've got seven people, you could have time off between the time spent as primary and secondary, or just make everyone do two weeks of on-call (one as the primary contact, one as the secondary), with a large block of free-time before their next on-call bit?
    *shrugs*

  33. Junta Style by LordAlpha · · Score: 1

    Riiiight!. It's almost unateinable to get 3 people to agree on where to have dinner.

    You wanna make 7 techs to agree on a schedule?

    Do it by "Military Junta". Get a Manager and 2 elected members of the team to decide on the of the proposals submitted by the team.

    Then, blame failure on the Junta and praise those who abstained to vote. :-P

  34. Keep it simple by barzok · · Score: 1

    In my group we have about a dozen people to rotate the pager through. Right now, each takes it for a week at a time - so you're only on-call about 4 times a year. We hand over the pager every Monday morning.

    We just picked someone at random to be the "first" and then went through the list of people in the group alphabetically, copied/pasted 3 times (to get about a year's worth) and then overlaid it on a calendar. If someone has a week they know will be bad, they can swap with someone right away. Holiday conflicts (both for people pulling duty on holidays regularly and people who will be away for the holiday) will come out pretty easily too - generally the younger/single people tend to go out of town to see family while those with spouses and kids will have family coming to them, and so on.

    The only trick is, when you're only on-call 4 times a year, a lot can change between each time you're carrying the pager, and you have to keep on top of it.

  35. 52-0 ? by Anonymous Coward · · Score: 0

    I am sure that your VP could agree with 52 weeks on and 0 weeks off....
    (it can happen!)

  36. Fairness isn't the only issue... by phamlen · · Score: 1
    Speaking as a manager, I think it's interesting that there's a large focus on the "fairness" of the schedule. In my experience, there are a lot more issues to be concerned about. In order, I think they are:

    1) How responsive do you need to be? Generally the shortest time period you can rely on is 15-30 minutes - if you need faster responses, you better keep people on-site 24-7. But there's a big difference between being "on-call" with a response time of 2 hours versus being "on-call" with a response time of 15 minutes. With a 2 hour window, people can see a movie, go on a short trip, and generally have a normal life. With 15 minutes, the "on-call" period is really a "please stay at home" order.
    Generally, we've found that the more responsiveness you want, the shorter the on-call periods have to be.

    2) Manageability of the rotation: On-call duty is a pain. People end up doing all sorts of things that cause management problems. Do you have a person who always seems unavailable - so you always end up calling the back-up? Did someone go off on a trip because they forgot they were on-call?
    Ultimately, someone will be responsible for the rotation and will need to call non-performers on the carpet. It's MUCH easier if you have a defined system, you know who is behaving well and who isn't, etc.

    3) Predictablity of the rotation: Do you ever page the on-call person and they don't respond? Or they aren't sure they are on-call? In our shop, that was a sure sign that the on-call rotation wasn't working. Having a predictable schedule makes life much easier.

    4) Fairness - everyone needs to share the burden equally. Sometimes you get certain people who are just better at dealing with crises, and some people who are just awful at it. (For example, we often had the case where person A could never solve the problem and we always had to call the backup.) You need to make sure that the schedule is fair - don't simply give the effective people more work and avoid the ineffective people. That rewards the wrong behavior.

    5) Flexibility - flexibility comes at the end. Yes, people need to be able to trade shifts - but not if it breaks any of the above rules. For example, it's not efficient to allow people to trade "part of a shift" - you need to trade the whole shift or none.

    So with those comments in mind, there are some helpful tips:
    • Test the on-call people - set up some kind of system where you can check whether people are available. (eg, send them a message that requires them to click on a URL or something)
    • Penalize severely for not being available (eg, if you're not available, the shift doesn't count, and you have to take one of the backup's shifts.)
    • If possible, have a physical token for the on-call person (eg, pass the pager around physically, etc.)
    • MAKE SURE THE PAGER GETS GOOD RECEPTION! There's nothing worse than the on-call person not being able to receive messages.
    • ALWAYS publish the on-call schedule in a well-known location. Make sure people who change their shifts mark it on the well-known schedule.
    • Try to publish the schedule at least a month in advance.