Two workers are quadratically better than one (2020)
hillelwayne.com
hillelwayne.com
I'm not sure I buy the quadratic gains, but the general gst is that if done correctly, two processes/tasks/workers/etc is better than one.
So why is this? Why does it work in computing, but not with people? Is it the nature of the tasks (one is problem solving, the other is grinding out computations?). Is it differences in configuration?
They never seem to have enough cashiers, and instead of having a single line served by many cashiers like most stores in the area, you just have to pick your line and hope it works out. They normally only have two registers open, too. So it is abundantly clear when someone has managed to get ahead of you.
No idea why this in particular drives me so nuts
1) did my queue block? if so, its "unfair" your queue moves but I was ahead of you
2) if somebody jumps ahead of me, even if I am aware they were in another queue before me, I feel like I've been cheatedUnless the store makes it impossible for more than one line to form, you'll end up with one line per register/whatever.
This is a horrid implementation of a work queue or any queuing in general. You have a multiple workers (tellers) and a single queue - the rest is a dumb design. The other option is work stealing but the example would not work so well with a bank and tellers.
Virtually all banks around here use ticketing system with different queue, effectively a priority queue with multiple workers.
That's not the main problem. If each teller has their own queue, you just have the one teller / one queue problem twice. Instead of having nearly no queue time, you'll have lots of queue time in each queue.
That's fair, but I don't think you're going to hit that from 1 -> 2. It's been my experience that 4-5 is where the diminishing returns start really happening and a complete loss of gain at around 4-8.
> So why is this? Why does it work in computing, but not with people? Is it the nature of the tasks (one is problem solving, the other is grinding out computations?).
With a worker (computer) the task has generally been completely defined before the task starts. Tasks done by human workers generally require a portion of "deciding how to do the thing". Assuming that requires full team meetings, on a team of 8, it requires 8 times as many meetings for 8 people and each meeting taking up 8 times the number of people's time (~64x time loss).
this is compared to a hypothetical "1 person meeting", which would probably just be someone sitting around thinking about the best way to do something
Wait, I don't think that's how work and meetings work. At least, I really hope not. It hasn't been in my experience, thank goodness!
I'm not including all of the things that come up that don't require a team meeting.
But if we're assuming that something is discovered that requires a full team meeting by each employee roughly once a week (number pulled straight out of my ass, feel free to sub in your own, the math doesn't depend on this), that's 8 meetings a week for the 8 person team (totaling roughly 64 hours), and only 4/4 for the team of 4.
This is, of course, assuming the rate of discovery of things discovered requiring a meeting remain constant as the team increases. In my experience, this is not the case, and it usually tends to increase as people lose track of what everyone else is doing, there's an increased need to "re-sync". I believe this increased need is what drives it from exponential (in my naive answer) to the combinatorial (in practice) increase people usually quote when throwing around Brooks' Law.
An assembly line of 3 people will probably be >3 times faster than a single factory worker.
Probably because you're not modeling the same thing. The workers in the article are independent tasks. No communication between the two needs to be done. Employees have to communicate as a team. It worsens as you add more employees. 2 employees, 1 line of communication between them, but 3 employees and it becomes 3 lines. 4 becomes 6 lines. 5 employees becomes 10 lines. At this point you're having meetings, which everyone knows is the opposite of doing work.
I think the key difference is that computers are computers and people are people. Computer workers can be programmed to know what each other are thinking and be able to efficiently divide a task into pieces that will fit together to form a solution. People can't do that as efficiently, and without motivation are just as likely to distract each other from doing their own work.
one boy, one brain
two boys, half a brain
three boys, no brainsNevertheles considering that a single person is entirely unable to do heavy lifting, there is no well defined increase in productivity.
If tasks arrive arrive randomly at the same average rate as they can be processed, then the amount of time that the nth task will have to wait is proportional to sqrt(n) in expectation. So one would expect a total waiting time of n^1.5, which incidentally fits much better to their plotted curve than n^2 does.
The very short video touches on Agner Erlang's studies on telephone block queues and how shopper wait times are reduced by having cashiers share a common queue.
Because otherwise the comparison isn't fair. Basically it compares tasks piling up vs tasks being consumed faster than they arrive.