Lesson 8 of 10
Generalists, specialists, queues and lulls
Who should be booked for the shared work, and when should a company hire before the work arrives?
The problem
Two hard cases on the same afternoon
A shared route is only as good as the people booked to run it. Book the wrong mix and work queues; book too many and they sit idle on salary. This lesson asks who to reserve, and when to commit before the work is certain.
At the pump company, each document job needs two skills. One is making the AI reader work on a messy scan: the layout, the sideways clause, the photocopied stamp. Call it skill A. The other is checking the reader’s output against the business rules: what an exclusion means for Warranty Claims, or what a fault code means for Field Repair Dispatch. Call it skill B. Some people can do both at a routine level. A few are specialists, deep in one skill and blind in the other.
Suppose two such jobs arrive this week. A generalist can do a whole job alone, but takes twice as long because the two parts come one after the other. Two specialists can split a job and work on it at the same time, but then they must hand the work over: one explains to the other what the reader got wrong, and someone checks that nothing was lost in between. That handoff costs something.
Then there is time. The busy week may be followed by a quiet month. A person hired today arrives in weeks, not days. A borrowed specialist arrives now but costs more per day. And a prediction that "the busy spell will last" can be wrong.
In the sharing equation of lesson 1, these are the terms and . A shared route with the wrong people makes teams wait. A shared route with idle people carries a fixed cost that no team’s saving repays. This lesson looks inside both.
The intuition
One pool, or every team for itself
A shared pool of people has real advantages. It can keep a specialist busy across several teams, when no single team has enough deep work to fill a week. It can move a generalist to whichever team is overloaded today. Research on manufacturing found that a little well-placed flexibility captures much of the benefit of complete flexibility, and people who cover two skills are that kind of flexibility.
A pool also has costs that a team keeping its own people never sees. Work passes between people who did not start it, and every handoff can lose something. Several teams’ deadlines collide on the same people, so somebody waits. And a pool sized for the busy season is paid through the quiet one.
Keeping people in each team avoids the handoffs and the queue, but it duplicates the specialist, who sits half idle in every team. So the answer could go either way, and it depends on the work, not on the labels. Is the job deep or broad? Do the deadlines collide or spread? Will the demand last?
There is no game here. Everyone wants the same thing, and the question is how to arrange a finite set of people, jobs and dates. That is optimization: list every possible team and every possible schedule, count the value of each, and keep the best. For the second half, where demand is uncertain, the planner must also choose before knowing what comes next, and respond once it does.
The model
Book people for the work, then for the future
Known work: who to reserve
The pool has four people: two generalists with both skills at a routine level, a specialist in A and a specialist in B. A finished job adds over the local route, the value it would have earned if nobody from the pool touched it. Reserving a person for the week costs their pay plus the other work they set aside: for a generalist, for a specialist. Every reserved person is paid, busy or idle.
Two jobs need both skills, and the week has two working slots. A generalist does one whole job in both slots. Two specialists do each job in one slot, working in parallel, and pay for each handoff. Count the two rosters:
Derived by hand · two jobs, two rosters
In words: specialists do both jobs but pay a handoff on each; generalists do one job each with no handoff, but cost more to reserve.
Specialists win exactly when is below : the handoff must cost less than what you save by reserving cheaper, narrower people. Here that is 3/2. At exactly 3/2 the two rosters tie at 6, and Lean checks that no team from this pool, with any schedule, does better.
What each letter stands for
- Value one finished job adds over the local routeillustrative units per job
- Extra cost of one handoff between two specialistsillustrative units per job
- Cost of reserving one generalist, or one specialist, for the week: pay plus the work set asideillustrative units per person
- Value of booking the two specialists, or the two generalistsillustrative units
Lesson 8 · Figure 1
Specialists win while the handoff is cheap; past it, generalists win.
units
units
Shown at Extra cost of one handoff: 1.00 units; Cost of reserving a generalist: 3.0 units. Turn on JavaScript to move the values.
Below 3/2, two specialists win: they split each job, work in parallel and pay a handoff that is still cheap.
- Two specialists
- 7
- Two generalists
- 6
- One of each
- 11/2
- Best team overall
- 7 · specialist A + specialist B
Two jobs that each need both skills; two working slots. Each point searches every team from a pool of four and every feasible schedule with the tested model code. Lean checks the tie at 3/2 (both 6, nothing better) with a generalist costing 3. Move that cost: cheaper generalists pull the break-even left.
The same counting gives three other answers in this pool, each a different shape of work. One job that needs both skills: one generalist, value 3, because nobody else is worth paying. Two jobs that each need deep skill: the two specialists, value 9; two generalists cannot add up to one specialist, and Lean checks that no generalist, alone or paired with the other, is allowed to do deep work. One deep job and one broad job: a generalist and the A specialist, value 15/2. The best team is a property of the week’s work.
Deadlines matter as much as skills. Give the generalists four slots instead of two and the same two broad jobs. If the deadlines are spread, one generalist does both, one after the other: value 9. If both are due by the second slot, it takes two generalists: value 6. Same work, same hours, different calendar. Spare time next week cannot repair a deadline missed this week. That is the waiting cost in its simplest form: not slowness in general, but work that needed doing at the same time as other work.
Uncertain work: hire now, or wait and borrow
Now let the future be uncertain. Today there is no work. With chance , each of the next two dates brings one job needing skill A; otherwise neither does. A finished job adds over the local route this time. There are two ways to get it done.
Wait, and borrow a specialist on each busy date if the work comes. Borrowing costs per date. Or hire now. Hiring costs 3, the recruit arrives after one date, then costs 2 for each date employed, and 1 to part ways at the end. If the work never comes, the planner lets the recruit go at the first chance; the hire still cost 3, one date of pay and the exit, 6 in all.
Derived by hand · the first decision
In words: waiting earns the borrowed margin on each busy date; hiring earns 8 if the work comes and loses 6 if it does not. Hiring first pays only above a three-in-four chance.
What each letter stands for
- Chance the busy spell comes and lasts both datesprobability
- Fee for borrowing a specialist for one dateillustrative units per date
- Value of waiting and borrowing, or of hiring now, each with the best later choicesillustrative units
Lesson 8 · Figure 2
Hire before the work arrives only when it is likely to last.
%
units per date
Shown at Chance the busy spell lasts: 50 %; Fee for borrowing a specialist: 5.0 units per date. Turn on JavaScript to move the values.
Below 75%, wait: borrow a specialist if the work shows up. A hire would too often sit idle on salary.
- Hire now
- 1
- Wait and borrow
- 3
- Plan made as if the spell were certain
- 1
- What that confidence costs
- 2
Each line is the best plan after the first choice, including later choices made once the spell is seen; the tested model code solves every date. Lean checks the tie at 3/4 with a borrowing fee of 5 (both 9/2, no plan better). The readout also judges a plan made as if the spell were certain.
The readout’s last two rows show the cost of confidence. A plan made as if the busy spell were certain hires at once. If the true chance is 1/4, that plan is worth −5/2, while the best plan for the true chance is worth 3/2. The forecast cost 4. Note what is held fixed: the whole over-confident plan, including what it does later, is judged under the true chance. Nobody quietly repairs it afterwards.
Change the borrowing fee and the answer moves. At a fee of 3, borrowing is so cheap that waiting wins even if the spell is certain. At higher fees, waiting includes a smarter option the model finds by itself: wait, and hire the moment the spell begins, borrowing only for its first date. That is why the break-even does not follow a simple formula as the fee rises.
What Lean checks
What the proofs cover
Lean, a program that checks every step of a proof, verifies the staffing results by bounding every possible team and schedule, and the hiring results by bounding every plan, however it reacts to what it learns along the way. Each result below is exact for its stated case.
With a handoff cost of 3/2, two generalists and two specialists both reach 6, and no team from the pool, with any schedule, does better.
S8_distinct_compositions_attain · S8_both_are_globally_optimal in ACMStaffing.lean
No generalist, alone or paired with the other, is allowed to do a deep job; and with one deep and one broad job, nothing beats 15/2, which a generalist plus a specialist reach.
S2_breadth_does_not_supply_depth · S3_hybrid_is_globally_optimal in ACMStaffing.lean
Adding people to a team pays exactly when the extra work they make possible is worth more than the extra cost of reserving them.
net_expansion_break_even in ACMStaffing.lean
At a three-in-four chance that the busy spell lasts, waiting and hiring now both reach 9/2, and no plan, however it reacts to what it learns, does better.
W9b_globally_optimal · W9b_hire_globally_optimal · W9b_distinct_optimal_root_choices in WorkforcePlanning.lean
Starting a hire on the last working date never helps: dropping it keeps today’s work possible and removes costs that cannot be negative.
last_date_hiring_A_is_weakly_dominated in WorkforcePlanning.lean
What is not proved. The straight lines , and are derived by hand and computed by the tested model code; Lean checks the cases at the break-evens, not every point on the lines. The figures’ other settings, such as other generalist costs and borrowing fees, are computed, and the code is checked against an independently written calculation, not against Lean. The models take pay, fees and the supply of specialists as given; they contain no learning, no forgetting, no sudden absences, no failed recruitment and nobody overstating demand to get staff.
What it means
Staff for the shape of the work
Name the shape of the work before the size of the team. Broad jobs favour generalists; deep jobs need specialists, and no number of generalists adds up to one; a mix favours a mix. A headcount target cannot tell these apart. A list of the jobs, the depth each needs and their deadlines can.
Price the handoff. Splitting work between specialists is efficient only while passing it between them is cheap. When the handoff costs more than the saving from reserving narrower people, generalists win. That gives a concrete test for any shared route built from specialists: what does it cost, in checking and rework, every time work changes hands?
Deadlines, not hours, create queues. The same work fits one person when deadlines are spread and needs two when they coincide. If several teams’ urgent work tends to arrive together, a shared pool needs more people than the total hours suggest, or the teams will wait. If it spreads out, sharing people across teams is cheap.
Commit only to demand that is likely to last. In the base case, hiring before the work arrives pays only above a three-in-four chance that the busy spell lasts; below it, wait and borrow. The other cases computed with the same code point the same way. One future job favours borrowing; two in a row favour hiring beforehand; a hire that arrives too late favours borrowing again. With a person already employed, a one-date lull favours keeping them (9), while two idle dates favour letting them go and borrowing later (8). When two skills are needed at once, hiring one can free the only borrowing slot for the other.
Test the plan against weaker demand. The over-confident plan lost 4 in a case worth 3/2 at best. A review date before the next costly commitment, while there is still time to change it, is the cheap insurance.
When the shared route loses. It loses when the local route is already good enough: in one case here the local route is worth so much that the best team is nobody extra, value 0. It loses when its handoffs are expensive, when its people sit idle through long lulls, and when it hires for a forecast that does not come. As in every lesson, a capable local team with the same people and the same rules would reach the same numbers; nothing here rewards the name of the arrangement, only how the people, jobs and dates fit.
Honest limits. Four people, at most four dates, two skills, all numbers illustrative. Real staffing has absences, learning on the job and people who leave, and real labour markets set the prices this model takes as given.
Next
Next: grow the skill, or buy it
Here the skills were fixed: a generalist stayed a generalist. But a company can also turn someone into the specialist it lacks, at the price of the work that person and their mentor do not do while learning. Lesson 9 puts training, hiring and contracting side by side.