Something that I've noticed recently is that in my work life, I'm finding there's more bureaucracy in what I do, mostly in the name of "efficiency". When you encounter a problem to solve, there's often a process already defined that is most efficient (or at least thought to be most efficient), when accomplishing tasks, there's a pre-defined way of laying out the tasks (i.e. tickets), updating them, reviewing them, and organizationally figuring out what's best to do next.
In my opinion, these processes are an attempt at organizational efficiency. However, the flip side is it reduces personal agency for the worker. There's little room to diverge or think about what you're doing. If you diverge, such as taking longer to do something than what was prescribed, or using a different pattern to solve a problem, there is a cost to you within the system. You must explain why, which itself "costs" something. In a sense, you're punished for doing things differently.
That loss of personal agency is absolutely soul-sucking. You feel like a machine, again at the cost of organizational efficiency. Slack is definitely important because it lets people acquire some sense of personal agency again.
The thing that kills me about the ticketing systems is that they are often put into place in a way that is locally efficient but does not make sense globally.
For example, an application owner might have to submit a ticket to request an upgrade once a year (or when a new OS is supported). What often happens is that the application owner now has to know about, find, and correctly understand a form that they see once (or less) per year. That work has been offloaded from a single team (measurable impact to efficiency) to immeasurable shadow work for others in the organization. A form that would take 1 minute of effort from the team that runs the upgrade to fill out and track, because they are in it all day, ends up taking a half hour, cut across multiple starts and stops due to other similar interruptions.
This becomes pervasive (book your own travel with this system, book your own PTO here, track your time here, fill out tickets for this system, use the help desk ticketing system to request an application installation) and ends up eating a huge chunk of employee time doing unfamiliar overhead tasks on systems optimized for the team doing the work and not the customer. I think we are getting to the point where all of the systems that were designed to take away the need for administrative assistants may once again require an assistant to navigate efficiently.
A lot of medium-to-large organizations used to have dedicated administrative staff, not just for senior management, but for everyone. It was good because the people in the admin pools were experts at navigating the organizational structures. They did it every day, all the time, for everyone, so they knew the tricks.
In the interest of cutting labor costs, those jobs were cut, and self-service systems like the ones you describe became the standard.
I've been around long enough to remember a time when, if I needed to travel for work, someone made all the arrangements, and just handed me tickets and an itinerary. I was really junior at the time, it was just how travel was done.
Now I'm pretty senior, but not senior enough to have my own assistant. I get paid a lot more, too. But employers seem to think it's more efficient for me to spend a day figuring out the corporate travel portal to plan and book my trip than to pay an expert to get it done in an hour or so.
The culture of "self-service" in companies is more like the culture of "self-waste". What just used to take a single e-mail earlier now takes navigating a plethora of half-broken apps, sites, wikis and issue-trackers - all done in the name of cost, process and 'metrics'.
Are the savings from not hiring assistants being passed on to rank-and-file employees via salary or distributed to shareholders and the C-suite? An employee's salary doesn't magically go up because their burdened rate goes down.
Let's also not forget the fact that if you're in contracting/consulting it's more lucrative for you to charge the customer for a technical person's expensive time spent on administrivia than it is to hire additional labor and bill them for "the help".
Let me clarify: my salary didn't go up because the company fired all the admin assistants. My salary is higher now because I'm a senior engineer. What they pay me and all the other engineers for is our programming ability, but they also pay us to do admin self-service.
If there truly was an overall cost savings attributable to reduced headcount (and I'm skeptical), I don't know where it went. I do know that for accounting Reasons, public companies love to show reduced personnel costs on their annual report.
Looking at it from the company perspective, you save a few lower-paid assistants but now you need to hire more devs because they spend 10-20% of their time on administrative trivia. The extra costs for the devs will be higher because not only is their hourly wage higher, they are also slower at the work than the assistants used to be since the assistants could do the same thing all day and become skilled around the process.
My pay went up because I'm much more senior than I was back when my employer had administrative assistant pools. Whether or not it would have gone up less if employers still did that is an open question. Certainly lower personnel costs look good to the accountants, but for the price the company pays me, on an hourly basis, to inefficiently muddle my way through self-serve portals, they could probably hire two admin assistants and handle the tasks in half the time for twice as many expensive engineers.
> all of the systems that were designed to take away the need for administrative assistants may once again require an assistant to navigate efficiently
Made me laugh. My org has a completely automated online self-service travel booking system that even includes dedicated support from a corporate travel agent - and I recently needed a single flight booked for a day in another city (about the simplest travel you can do) and somebody "loaned" me their PA to do the booking because it takes much time and knowledge to do it right. Part of the problem is that the org has implemented a gigantic set of strict rules about what kinds of flights can be booked to save money. So it can be quite hard to select the right flight that won't get knocked back further downstream or alternatively navigate through the forms to justify why you aren't selecting a compliant flight...
Is there a term for the organizational autoimmune disorder where the cost of fighting inefficiency (or, in the case of governments, fraud) is significantly greater than the amount that would be lost without such policies?
> We can solve any problem by introducing an extra level of indirection, except for the problem of too many levels of indirection.
I'd see it as the organizational equivalent of having too many abstractions in software. Each one might make sense individually, but the sum total of them all becomes unworkable.
I think David Graeber called these "bullshit jobs"
I think aversion to inefficiency, risk, and loss is an excuse, nor really an effort made to avoid those things in good faith. All those efforts are so un-introspective about their own methods is seems facial.
It’s an interesting thought, but they are dynamic systems. So an org that has zero aim to reduce efficiency will eventually become extremely inefficient as things tip in that direction.
I wonder how much the company would save if they just gave you a budget for the trip and let you make the arrangements yourself on your own time and keep the difference.
I trusted Amazon to book me a simple flight for an interview and I wound up with the absolute worst seat on the plane. The only thing that saved my 6'2" frame from being crushed into a corner was the kindness of a stranger who gave me their seat on the aisle. I know I can do better on my own!
I assume there is some tradeoff with some kind of out of control stuff / abuse that happens by some minority people that cuts in if this is not managed.
I feel like organisations should be leaving that to line management rather than controlling it through blunt policies, but I can see how from the top level there is a perception they need to enforce stuff like this. The real problem is that the abuse can often be measured and quantified while the cost of inconvenience or chilling effect on activity can't be, so I always think the costs likely are not weighted appropriately in whatever assessment is done.
Great insight! It literally happened in my company where the system to order physical goods is so complicated and ugly. Now a secretary handles feeding and tracking requests in this system.
BTW our time tracking tool is a company wide motivation killer that costed 300k€ and does not auto-fill holidays.
This is the only way to go. If these numbers are ever actually used for something, maybe somebody will realize that the timesheets system can be improved.
> the systems that were designed to take away the need for administrative assistants may once again require an assistant to navigate efficiently
This is something that I've lamented over too. Infrequent interactions and setups take so long to do, the people who do it every day don't see a problem because it's easy but it's not a core competency for the rest of us. We need a community liaison role in internal teams that we can reach out to for a guiding hand. No, our sales staff don't know how to fill out your form about getting a new mail subdomain set up, no matter how easy they'll get something wrong and waste your time anyway. Why not walk them through it?
I’ve been bumped into SLA hell when incorrectly filling out a form as well.
Go fill the form to make the request - it’s got a 3 day SLA so it shouldn’t be a problem. Day 3 - form rejected due to missing a small detail / something they could call me about. Day 4 - I see the notice the form is rejected and either a) have to resubmit and wait 3 more days or b) escalate because now this is an emergency.
“What often happens is that the application owner now has to know about, find, and correctly understand a form that they see once (or less) per year.”
That’s the worst. I have several processes I do once or twice a year like booking travel or submitting documents to our document management system (worst system ever). Each time it takes me forever to figure out these tasks because I forgot from last time how works. Or the UX has changed in the meantime. It would save huge amounts of supposedly expensive engineering time if we had somebody who did this full time.
A company I worked at was aquired by another company. The new management team talked almost exclusively about tickets and metrics that came from tickets.
They knew almost nothing else, if you spoke to them they seemed confused if you didn't describe how it related to tickets.
It was weird.
A few months into the new company there was an emergency meeting. It was found that the ticket metrics were horribly wrong. They showed that a handful of yokels from the Midwest were closing ticktes faster than the folks in Silicon Valley...and worse they were staying closed and customer's were reporting more positive feedback, just didn't make sense.
So they ticket obsessed valley folks declared the guys from the new company must be creating fake tickets and otherwise messing with the numbers!
After months of accusations they got someone from the outside to investigate. They found there were widespread fake tickets and other shenanigans....
Everyone up to shenanigans worked for the ticket obsessed valley based managers.... all the folks who made the accusations.
They had driven their teams so hard that the employees just played the only game the management responded to, closing tickets....
The resolution? They declared the old metrics bad, reorganized the teams so management had some valley and some midwestern employees so that the pockets of ticket shenanigans wasn't as obvious.
Otherwise nothing changed. The ticket mania continued.
I recently heard a clever man argue (can’t remember who), that process does make things more efficient. Starting at chaos, the more things are defined, the more you get done.
Until it doesn’t, at which point the relation inverts and you eventually end up stagnant.
The problem is that because adding ever more processes worked so far, and now that you’ve hired process people, you continue adding more and more and ever more.
"So there is a graph. Y-axis is productivity. X-axis at 0 is chaos and infinity is complete order. As you improve order, you increase productivity. And at some point productivity peaks, and it goes down again. Too much order -- Nothing can happen... Once you start moving towards order, the force vector that drives you towards order is unstoppable."
Yes. At complete chaos you can't see the world, because of information overload. And with complete order, you're no longer acting in response to the world. You're only acting in response to the order you've created. (In practice, models, metrics and beliefs). And at some point that can become self reinforcing if you don't ground your choices out by talking to real humans in the real world.
This happens all the time with ideology. If you get too steeped in any particular ideology, you no longer react to the world. You're only reacting to the ideology. (Or the world framed through the ideology). You see this all the time in the blockchain world. So much effort is going into making software and tools that nobody outside of the blockchain world wants or cares about; because it only makes sense from the perspective of other blockchain stuff. And of course, it happens all the time with twitter style politics.
"We have a problem! How do I solve it?" "Make the metrics go up! Use a blockchain! Acknowledge your privilege!" "Wait! I haven't told you what my problem is yet!"
There's a great quote from Bill Clinton: "The problem with any ideology is that it gives the answer before you look at the evidence."
I would extend your point to say that any system with infinite chaos or infinite order necessarily lacks information about the world. Any system encoding information about reality necessarily looks like a mix of chaos and order. Unfortunately, any system that perfectly encodes / decodes information about reality has to be more complicated than reality itself.
In my experience, process is to make things predictable, not efficient. Nothing scares a middle manager more than having to say "I don't know". They'd much rather say "this will take my team 8 months" than "this will take between 3 weeks and 6 months to complete".
I suspect one of the reasons things become more predictable is that overheads start to dominate the time it takes to do things, and overheads seems to be much more predictable.
The Goal is one of my favorite “business” book (it’s written as a novel). it addresses all of the wasted energy when you target efficiency at the expense of hitting your true goals.
Reminds me of Neal Stephenson’s “Snow Crash”, where he described the ancient world being so stuck in a set of fixed algorithms for how to do things that made any progress impossible. Only the Babylonian Confusion fixed this deadlock by destroying the ability to communicate (and exchange algorithms). Highly recommended read.
Isaac Asimov describes a similar situation about the downfall of the Galactic Empire in „Foundations“
It's basically the fall of the Roman Empire, but set in the future and with a outpost at the edge of the galaxy to preserve some of the knowledge across the dark ages.
Some people "define a process / lay the foundation" and many more build on top of that.
Processes are disrupted by those few that stop to think of a better way but most people just go along.
It does make sense though, if we stopped to think and question every process then we'd be stuck at the start line instead of getting closer to the finish line.
also feel like these processes are there so when the crap hits the fan, there's a trail to see whom to point the fingers at. everyone is just trying to cover their own butts
Or (maybe same idea just phrased a different way) shit hit the fan in the past and these were put in place to "prevent it" from occurring again. Postmortem driven development.
Do you really need to worry about someone making the same mistake again? Answer to that question probably depends mostly on the type of organization (size, complexity, turnover, ect..) you're working for.
I think there's low-key some of that, as a sort of way to "pass the buck", i.e. somebody who owns some outcome thinks, I don't like how the output of this system, let me go upstream and talk to this team to see if they can take on some new process to improve the output I care about.
A lot of this is also just "good intentions". Somebody encounters a problem and thinks "I want to prevent this problem, so I am going to propose this process to avoid it". It works if you have a small number of these processes, but once it gets to a large number, now you're frozen by bureaucracy. Every time you do something, you need to look up the exact process to get it done.
Correct. That’s what I tell newcomers in my org during onboarding, when they start to wonder why there are so many seemingly pointless bureaucratic processes: it’s all about arse covering.
This is by far the best justification for bureaucracy.
It’s also a sign that many things went wrong previously, since every rule has been created because somebody screwed up.
What's bad are people that have "append-only" minds, rarely thinking about how to simplify things (be it code, documentation, tickets) and instead just thinking of adding more and more and more...
Live organisms do not work that way. Organisms have anabolic (constructive) and catabolic (destructive) processes. The anabolic processes construct and repair while the destructive processes get rid of the stuff that's no longer needed.
Unbounded repositories of code, documentation and tickets suck. I think every team needs full time people doing "catabolic" work on those. Break down tech debt into proper code, break down articles that are hard to read and get rid of obsolete articles, make tickets better and remove the ones that are redundant.
The "append-only" mentality is what making people their own enemies.
The problem is not so much that we have excessive regulation and bureaucracy but rather that we have a strong tendency to put regulations in place but never evaluate how they are actually performing nor modify them if they are performing poorly. For some reason we equate implementing a rule intended to solve a problem with actually solving the problem - those who implement the policy are praised for doing so long before any improvement in the actual situation is ever seen, and being opposed to the policy intended to solve the problem is widely construed as being opposed to solving the problem itself, even if there is evidence the policy makes the real problem worse. Finally policies are often evaluated based on the message their implementation conveys rather than the actual effects of the policies - for example despite zero tolerance policies being almost universally seen as extremely poor way to deal with complicated issues, they are frequently implemented to express how important the problem they were meant to solve is. So long as we don't make decisions based on efficacy, of course effectiveness will degrade over time.
You might be surprised. Enforcement is certainly draconian, but there are not absurdly many regulations, and it is also surprisingly (to westerners) Feudal - personal relationships and high agency in a narrowly defined area are very important to the system functioning.
Bureaucracy and Feudalism are just opposite poles of a spectrum. Of course the extremes lead to bad outcomes. Not sure what I said that suggested otherwise.
> China - is both over regulated and is very bureaucratic.
It's complicated, but that's not a correct assessment.
China is not very much regulated at all - a regulation must be regular, but the enforcement of rules in China is anything but regular.
On one side, you have the wild west (east?) of unregulated capitalism, on the other side, you have the Party coming down with the hammer over things it doesn't like, The bureaucracy mainly serves the latter.
Obviously, this is recognized as a problem, rule of law has been the drive for years but the system cannot and does not change over a day.
Sure. I was being mostly flippant, and you're correct, a regulation has to be regular. But I doubt the OP is seriously advocation we start inconsistently applying laws.
I have been reading many, many news reports that I can summarize as inconsistently applying laws. The US just went through 4 years of an administration that flagrantly violated laws, got caught, and escaped punishment. The wave of evidence associated with police brutality proves that not all are equal before the law. Corruption is endemic in our whole system -- people with resources can avoid punishment for embezzlement, theft, rape, "disorderly conduct", and a long list of other crimes. The system has enormous opportunity for deciding what to prosecute and how tough of punishments to mete out -- which is good, in many ways, since rigid universally applied rules don't actually produce good outcomes -- and we have overwhelming evidence that that leeway is applied to systemically advantage certain groups and disadvantage others. This shouldn't be hard to believe, since it's everywhere. Not just racial or otherwise disadvantaged groups; it includes "old boys' clubs", friends protecting friends, and cases where harmed people resort to a pastor or elder rather than the justice system. It's really not hard to find examples where the favored people are given special treatment, including immunity to laws.
So starting to inconsistently apply laws isn't really the issue. We'd have to, at some point in time, have consistently applied laws in the first place for that to matter.
It's only a matter of degree, and flavor -- eastern systems seem to be more ok with granting leeway based on personal relationships. Western systems tend to be very suspicious of that, and depend more on who has the resources or formal connections. But no system in the world has long lasted without some amount of leeway / wiggle room / corruption.
The main alternative is noticing what went wrong over the last 70 or so years in the west and fixing that. You cannot escape the madness because globalisation made most countries very similiar. Growing the governments further and further did not help anyone but the biggest of companies.
And because the chinese really don't care a lot about regulations or bureaucracy, they actually achieve something.
Bueracracies and overregulation are essentially alternatives to fiefdoms by constraining abusable levels of discretion. Fiefdoms lead to outright open corruption which make the readilly lobbied look like choir boys in comparison. The stereotypical "third world levels of corruption" situations where secured loyalty to the regime matters more than competence.
It is yet another tiresome situation of "sucks but we don't really have anything better". We can and should attempt to streamline them but that is nontrivial, especially politically.
Luckily for the west, over regulation and bureaucracy is done equally "well" by non-westerners. If the competition is equally incompetent, you can still do quite well.
There is a whole spectrum of bureaucracy and overregulation in the “West”. The EU is probably worst. The US are quite relaxed in comparison. The UK is somewhere in the middle.
This is basically a myth at this point, bolstered by how much more we complain about it.
The US made the colossal mistake of trying to do regulation at the federal level, basically equivalent to doing it at the EU level, which the EU is now attempting to do more of and discovering what a trash fire it is.
And one of the big reasons for that is that the more centrally the regulation happens, the more corruption it attracts. That's where the US got the reputation for not regulating -- it's not that there aren't rules or that the rules aren't long and arduous and inefficient. It's that they're, on top of that, less effective because there is more regulatory capture by incumbents.
That centralization leads to corruption is a common claim but I have seen the exact opposite. Being smaller and unwatched leads to more corruption. Smaller towns can have plenty of their local corruption and parochial influence which are more accessible.
National level winds up cared about by everybody as it isn't a "someone else's problem" situation and thus winds up watched far more.
Then there is the matter of consistency with across state laws and enforcement. One set of rules is easier to comply with and more consistent in expectations, especially when states wind up fighting over jurisdiction.
Local jurisdictions have to compete with each other. If one town has a 40% tax rate because it's giving half the money to the mayor's brother and the town down the road does not, everybody starts to move out of that town and the economic decline ousts the corrupt politician. When the same thing happens at the federal level (with the money going to Lockheed and drug companies), "move to Canada" is a lot harder than "move 5 miles to the other side of the town border where you're already still a citizen."
This doesn't imply that small governments are never corrupt -- you can certainly find examples -- but it keeps the corruption in check. It adds vote with your feet as a means to avoid corrupt governments.
And the idea that everybody is paying attention to what happens at the federal level is contrary to evidence. Remember "we have to pass the bill to see what's in it"? It's too easy for lobbyists to sneak language into multi-thousand page bills that nobody is ever going to read before it becomes law. Whereas at the local level you shouldn't have multi-thousand page omnibus bills that have to address every edge case for everyone everywhere.
It's also easier for local muckrakers to prevent corruption when they find it, because federal corruption tends to have coalition support. The F-35 is a boondoggle but the people in the districts who receive the trillion+ dollars in tax money are very in support of the program and you're not going to convince them to cut it because the money comes from outside their districts. That doesn't happen at the local level -- the recipients are in the same local jurisdiction as the taxpayers -- so once anyone identifies the waste you can build support to eliminate it.
Federal regulations prevent a race to the bottom for things like pollution, labor rights, etc. And IP, internet, and other regulations only make sense at a federal level.
But, in terms of how to lay out a town in terms of residential zones vs. commercial zones, sure that should be local.
> Federal regulations prevent a race to the bottom for things like pollution, labor rights, etc.
Not really. Local people suffer the most from local pollution and low local wages etc., so they have the most incentive to strike a reasonable balance. Federalizing e.g. minimum wage is just an excuse for high cost of living areas to screw over low cost of living areas by depriving them of their natural cost advantage, pressuring wage laborers into higher cost of living areas where they get less for their money because businesses stop operating in lower cost of living areas if they would have to pay the same wages.
Also, there is no point in trying to do this at the federal level because any company whose primary motivation is "lack of environmental regulations" has already moved to e.g. China.
> But, in terms of how to lay out a town in terms of residential zones vs. commercial zones, sure that should be local.
Ironically, this is the thing that actually suffers from being too local, because residency is required to vote in local elections, and then you get exclusionary policies and zoning designed to inflate housing costs which can't be reformed because everyone with an interest in reform is excluded by the unreformed policies from eligibility to vote in the jurisdiction.
Though of course that could be fixed by moving to the state level from the cities; almost nothing actually needs to be done at the federal level.
> Not really. Local people suffer the most from local pollution and low local wages etc., so they have the most incentive to strike a reasonable balance.
I don't know. On the one hand, you can look at the Kansas Experiment[1] as vindication of the federal and state system, where the states experiment. On the other hand, you could see that as stupid people (or at least some a bit divorced from reality) willing to throw caution to the wind to the detriment of their constituents, and for the most part not learn anything from the fallout.
At least the damage from those stupid people is well contained, as opposed to the alternative where stupid people come into power at the Federal level every 4-8 years and muck it up for everybody.
I guess that's true. I imagine the less polarized the environment is the more beneficial the Federal approach is, because you get sane checks and balances and consensus on things before accepted. The more polarized it is, the better the compartmentalization of states is at keeping the crazies at each end of the spectrum from causing too much damage to everyone at once.
Not necessarily. Before the EPA, states would often put their toxic dumps close to the state line, where the winds and the current would take their crap into the next state. Incentives only work if there are no externalities (sticking someone else with the bill).
And moving power from the cities to the state level tends to screw the city, especially in heavily gerrymandered states.
You're certainly right that NIMBYism in zoning laws is a big problem, but NIMBYs can be quite powerful at the state level as well.
> Not necessarily. Before the EPA, states would often put their toxic dumps close to the state line, where the winds and the current would take their crap into the next state. Incentives only work if there are no externalities (sticking someone else with the bill).
The answer to this is to let states sue each other in federal court for any pollution that crosses state lines. Not companies in the states, the states themselves. Then states can prevent that from happening however they like, but if they don't, the state itself owes the neighboring state(s) billions of dollars. Strict liability. And then you don't need any federal regulations telling anybody how to do it.
> And moving power from the cities to the state level tends to screw the city, especially in heavily gerrymandered states.
On zoning rules? It's hard to imagine people getting screwed much worse than they do now.
YES YES YES. Policies and laws should be more local to adhere to the local situations in local areas. A politician in Berlin cannot understand the situation in a random town with 500 inhabitants and therefore should rarely have something to say about how life functions there.
Many regulations cannot be local because of basic game theory. Beggar-thy-neighbour policies, for example; if one region allows a little more pollution and attracts industry because of that, then other regions are forced to do the same or lose out. As a result industry socializes the cost of its pollution and takes a private profit. Similar effects occur for safety standards, consumer standards, employment standards, tax, and so on.
> proper regulation either forces companies to curb their emissions or taxes it. In other words, to internalize it.
No, in other words, to pass on the costs to society, because the cost of whatever they are providing goes up. Plus, since the companies are a concentrated interest, it's easy for them to buy regulations from the central authority that are favorable to them and unfavorable to potential competitors.
A proper regulation would look more like this: a company cannot even build a factory to begin with until it can convince all the parties who could potentially be impacted by their operations to agree. No centralized authority (like, say, a government) can agree on behalf of those parties, because no centralized authority can possibly properly represent all of their interests. So either every single party agrees, or nothing happens.
The usual objection to this is that no factories would ever get built, because there will always be some party that is simply unwilling to agree. But that objection ignores basic economics. If the factory really is a profitable venture, even with all of the potential impacts taken into account, the factory owners will be able to bargain with the other parties to some kind of mutual agreement. In some cases, they might just offer to buy land outright from parties that are unwilling to agree to having the factory built next to them. Or they might offer shares in the enterprise to neighboring landowners in exchange for permission to build. There are plenty of possibilities; the key point is that the economics of the situation forces the people who want to undertake the enterprise to show good evidence that the benefits really do outweigh the costs. Whereas under the centralized regulatory regime we have now, the burden to be met is much lighter and does not really do anything to ensure that the benefits outweigh the costs.
> Do the needs of that town with 500 inhabitants require different streaming laws? Freedom to repair laws. Special export restrictions?
A town with 500 inhabitants isn't required to have different streaming laws or freedom to repair laws etc. They could all pass the same ones. But if the state of Colorado thinks that the rules in New York are too favorable to device makers and the state of Alaska doesn't care to have any laws on the matter at all then why shouldn't the people there be able to make their own choices?
If the cost of living is dramatically lower in Wichita Falls, Texas than it is in San Francisco, California, what sense does it make to have a federal minimum wage instead of allowing each place to choose appropriate to their local economy?
> Should they be allowed to dump chemicals in the water we all share?
Pollution that crosses state lines is the purpose of federal courts. You don't need federal regulations for that, just an outright complete prohibition on it and penalties for the offending state.
> Host servers that serve copyrighted material?
That ship has sailed, hasn't it? It's a global internet. The Pirate Bay is still up. Does it really matter if it's hosted in North Dakota or Sweden or wherever it is now?
And we could most certainly stand to not have DMCA 1201 everywhere.
this is the best thing you as a person have. believe me. the point you lost all those regulations etc. some idiot will come and make you miserable... you won't even be able to believe you are controlled and manipulated by a idiot bunch! until then have fun...
That’s the price of a low trust environment and management theory where managers are supposed to be able to manage anything without being subject matter experts. Everything needs to be controlled. On the surface it looks more efficient but the result usually isn’t.
Government contracting is a prime example. To avoid mistakes and fraud everything gets specified to the last detail. The result is that nobody is empowered or motivated to make changes on the way and everything costs way more than it should and takes longer.
I think this is why a lot of big, corporate entities stop innovating. Too many processes, red tapism all in the same of security and stability. Most workers are too afraid to try something new because of repercussions. Worked in some, decided life is too short for soul-sucking work and decided to work for smaller companies where I can be creative.
> Slack is definitely important because it lets people acquire some sense of personal agency again.
Care to elaborate on this? I was with you right up to the end. In what ways does Slack provide a sense of agency? I feel this might be true in my experience too. Is it because it allows for quicker feedback and validation?
Oh, I don't mean the tool called Slack. I mean slack as in having some time and space to work on things, and also not having work too specified ahead of time. When things are broken down into tickets, it's hard to feel like you're making decisions on the ground level about what to do.
Next level: seeing that process is clearly inefficient but still following and defending it with iron-clad "because this is our process" justification.
And this is why you schedule flights in the morning: there's so damn little slack in the system that if things go wrong at 10:00 AM at O'Hare, flights for the whole rest of the day are screwed up owing to the cascading delays.
At least in the morning the airlines have had the overnight to unsnarl the previous day's mess because of the reduced revenue traffic overnight and the corresponding slack that accrues as a happy side effect.
This is also why things like the healthcare system, transportation network, and postal system shouldn't be run for maximum utilization/efficiency under normal load: if there isn't any slack in the system it gets real ugly when things get squirrelly. In cases of localized disturbance, we get by on mutual aid: linemen and bucket trucks from far away respond in the aftermath of e.g. a hurricane or tornado. Likewise, fire departments from all over The greater Boston area responded to the gas explosions in the Merrimack Valley[0] and companies from even further away repositioned trucks to cover the departments that responded directly.
When it's national or global scale event, you're left leaning on whatever slack was in the system. As we're all painfully aware, there hasn't been enough. The public health and healthcare systems have been doing heroic work, but if they weren't stretched so tight in the name of efficiency beforehand, there'd be less need for the heroic efforts.
> This is also why things like the healthcare system, transportation network, and postal system shouldn't be run for maximum utilization/efficiency under normal load: if there isn't any slack in the system it gets real ugly when things get squirrelly.
A couple years before the pandemic, the counties neighboring mine (where I lived at the time) cut out most public medical services (mind you, these aren't free, just publicly funded, people still paid for them). There wasn't enough money for a private hospital to bother so this was a critical piece of infrastructure. They kept emergency and urgent care clinics in each county, but directed people to the other (more populated, higher income) counties like mine for many services. Last year was not a good year for those counties as people were now being shuttled 40+ miles if they needed to be treated (at a hospital) for COVID.
Lean means cutting the fat, not the meat. They didn't just cut the fat and meat, they cut to the bone. This is when organizations find themselves in trouble and fail their clients/customers: eliminating things they don't think they need because they're "underutilized", only to discover later there was a sound reason to have that capability to begin with.
Shortly before the Covid-19 pandemic, a highly-influential think tank (the Bertelsmann-Stiftung) suggested closing half of Germany's hospitals because of the low bed utilization and simple inefficiencies that pop up when smaller hospitals deal with less-common cases.
That plan has now been effectively scrapped. The large number of ICU beds per capita has been one of the main reasons why Germany got so well through the first wave. The plan also overlooked that the main bottleneck has always been staff, who were already running with very low slack.
Yep, I started my programming career optimizing stuff (traveling salesmen, roster, schedules) and the optimizing criteria in academia is very far from reality. The effects of not having slack are disastrous.
Although, the effects start showing after the optimization makes people believe they can squeeze even more work. The initial optimized schedules create more slack than handcrafted ones.
Been seeing this with UPS after the Texas snow storm. Packages were canceled or delivered late, often missing parts of it, for over a month. It's an obvious problem with homebuilders, too. I keep seeing all these constructions just halt all work, sometimes for a few weeks or months, sometimes for a couple years. They seem to operate with absolutely no margin for error and run out of money really easily.
OK, but the corollary to this is that there are a fair few people sitting around doing not a lot on the taxpayer's dime. That's the visible side-effect of organisational slack (as TFA points out: the secretary spends most of her day doing nothing).
There's been a lack of tolerance for that. We tend to feel that if our tax dollars are paying for someone, that someone had better be busy all day long. Politicians have made political capital from "cutting slack" in public services.
We need a cultural recognition that slack is good. And I doubt that's going to happen any time soon.
"The best time to fly is between 6 and 7 in the morning. Flights scheduled to depart in that window arrived just 8.6 minutes late on average. Flights leaving before 6, or between 7 and 8, are nearly as good.
But delay times build from there. Through the rest of the morning and the afternoon, for every hour later you depart you can expect an extra minute of delays. Delay times peak at 20.7 minutes — more than twice as long as for early-morning flights — in the block between 6 and 7 p.m. They remain at 20-plus minutes through the 9 p.m. hour."
It's been several years since I looked at the data, but if I remember correctly most flights actually arrive ahead of time. The median if I remember correctly is actually negative (ie. at least 50% of flights arrive ahead of time).
However, this means that there's a long tail of flights that get delayed an hour or more, which brings the average up. Not a good situation to be in if one has to make a late connection during the day.
It's a little disappointing that 538 didn't talk about the distribution on this.
I'm looking to avoid the one flight that's delayed an hour that means I miss my connection because my layover was an hour. Only 5 flights have to arrive on time to hit an average arrival delay of 10 minutes. Those are not favorable odds, as I see them. Especially if it's cutting into my vacation time.
Yes, missing a friend's wedding or an on site interview or ..., because no more connecting flights until same time tomorrow, with a probability 1 in 6 is pretty bad odds
We've replaced secretaries with software, and now we have people making $150k+ a year busy working on things that they should be paying someone $40k a year to handle.
And the same happened to everyone else too, just with smaller dollar amounts.
During my high school and early university years, I was in love with the concept of being able to run errands over the Internet. Why go to the bank when I can order a transfer on-line? Why make orders over the phone when I can choose what I want on a webpage with few clicks? Why ask anyone to do anything, when I could just click or type my way through?
As an adult with a bit more years behind me, I now feel the exact opposite way. Why on Earth am I doing these errands, when I could ask or pay someone else to do them? Why do I waste my time clicking on this bloated, user-hostile page full of upselling garbage, when I could just phone the company and tell them what I need? Alas, companies jumped at the opportunity to outsource the effort to customers, so increasingly I can't phone anyone. Self-service becomes the only option.
I suppose the shift in perspective comes from the fact that back then, I had no money and a lot of time; these days, I have some disposable income, but very little time to spare.
To me, the web page nearly is always faster than asking a human. Even setting aside the phone trees designed to slow me down, I'm more comfortable with the bloated, user-hostile page than trying to understand a human voice through a 4000 Hz telephone channel. I like not having to try to explain to them what I want. With the web I can do it whenever I want, at my own pace.
It feels like a voice call is an admission of failure: sometimes of their web interface design, sometimes of my ability to read. If I am calling on the phone it's only because I want to talk to a human being, and I want that disgusting process over with as soon as possible.
There is never anything I want from the phone tree except a human operator. If you could automate my request then you should have done it over the far clearer interface of the web page. Maybe there are some people who have a phone but not a computer, but I am not one of them. I'm only talking to you because the easier (for me) ways have failed.
> There is never anything I want from the phone tree except a human operator. If you could automate my request then you should have done it over the far clearer interface of the web page.
This. It's particularly infuriating that now many phone trees don't even have a built-in "I want to talk to a human, now" option. Hitting "0" used to be a fairly common way to do that, but doesn't appear to be any more. Often I have to wade through three or four levels of phone menus just to get to something that will take me to a human.
I absolutely agree, and I also hate the automated chat systems which are even _worse_ than calling on the phone. It's trying to get the 'call tree' scripts out to chat. When if I'm online, a program script should be able to cover 80% of the issues, and the other 20% need a human touch for collecting the correct data or providing features missing; often intentionally from the website.
The local power company does this very well for reporting outages, and takes data that's hard to fit through a human that can recognize what the data means and get it to the correct departments and people.
Cable is the WORST in that respect. With zero transparency on what the root cause or investigation status. Also, insufficient and critically lacking detail (Is it JUST me, or is it my block, or is it the whole neighborhood or city, etc).
My favorite is when companies (looking at you, UPS) provide a phone menu with a very narrow list of choices, and if none of them matches what you want, you're just out of luck. There's no "other" option.
(In reality, you lie to get through to a human, but come on.)
Also, the difference between talking to somebody reading a script in Bangalore and someone on the inside who actually knows what they are doing (if you can manage to convince someone to connect you to the latter) is crazy. The drones handling customer support info often have essentially zero information on top of what's given to the customer.
One time UPS lost my package (bona fide lost in a warehouse, maybe stolen or something) and the phone CS drones assured me that it was on the way, just running late, was on the truck now, etc. etc.
I managed to berate them into connecting me with a US-based operator who, after asking how the hell I actually got her number, gave me the real tracking info, which is completely hidden from consumers and made it very clear that my package was gone.
The idea was that all the jobs of someone handling errands for you were automated away and it became a self service thing. Yes, sometimes it is easier to buy something online, no doubt about that but when problems creep in it takes too much of our precious time and from our mental context dealing with things that would be dealt with if those jobs existed.
If those jobs existed in higher numbers you could just call a number and a human responds and assists on the other end of the line.
Phoning for anything is my favorite thing. Absolutely I want to talk to customer service. No I don’t want this automated (especially when I’m trying to get myself a slightly better deal). And I hate phone trees with a passion, just get me the operator now.
Phoning is my least favorite thing (well, except for in-person visits), but I also want a human on the other end of the line when I call. If I'm calling, it means I couldn't get the website to do the right thing for me.
Same with self checkout at the grocery store: I know a lot of people like it, but whenever I do it I’m thinking “this is someone else’s job! Why the hell am I having to do it now? ?”
Around here we have two self-service checkout systems: one is as described, where you have to take each item individually out of your card and present it to a scanner. I detest those, as it makes me feel like a fool fumbling around with the scanners while the cashiers are 10x faster than I am.
The other one is where you pick up a handheld scanner at the store entrance, and you build up your item list while you're in the store loading your cart. Those ones I like, as they feel much faster and much more reliable to me. Moreover, I can look at the display of the scanner to see if I have all the items I came for, I don't have to search the cart.
Tangent about self checkout -- the versions I've found in supermarkets are uniformly terrible. But Home Depot, has a version I don't detest, for two reasons.
1. You get a hand-held scanner (at the checkout register, not walking around the store) instead of having to run everything over the counter.
2. You don't have to put the items on a certain platform (scale) after you scan; you can stick them back on your cart.
3. Although there is a webcam mounted (boo!), there is no screen showing yourself.
They're really three variations on the same reason: it doesn't treat me like a thief who's going to shoplift at the first opportunity.
I don't really mind doing self-checkout, as I'm nearly as fast at it as the cashiers (unless I have a lot of produce), and it lets me bag my food in exactly the order I want (bag for the fridge, bag for the pantry, etc). But the anti-theft measures (especially when the thing scans wrong and seizes up instead of letting me abort and try again) make it an absolute train wreck, and so I petty much only do self-checkout when I have under 5 items or the line is incredibly shorter.
2 employees assisting with 6-12 self-checkout stations is still a net-win for the employer if the objective is cutting "overhead" of personnel. It's only a problem if the self-checkout system is flawed in a way that requires frequent and lengthy intervention by the employees, versus the occasional ID check for alcohol purchases and item check for something not scanning correctly.
For me checkout with a cashier doesn't feel like less work though. I bring them my bag, take out each item, they scan them, and then I put them back in my bag. All they're doing is swiping! (Growing up we had disposable bags and human baggers, so maybe it saved a tiny bit more time.)
I buy a lot of fresh produce, which is way faster with a good cashier who knows all of the codes. I also tend to buy multiples of an item, which is also way faster when the cashier can swipe one and then hit 6x or whatevs.
And that's assuming the self-checkout system is working perfectly, which is rare. They often have some janky anti-theft sensors that freak out if you remove a bag or item from the bagging area. Self-checkout is fine or maybe even better if you have a few items, but for a cart full of groceries, it is inarguably way slower than a decent human cashier.
Good lord, you do all that with cashier? I load the stuff onto the belt (or don't even do that now thanks to COVID), and get a cart full of bagged groceries on the other side.
Have you noticed that change with COVID? Some places now seem to want you to be further away (sometimes with plexiglass) so some places do more bagging (actually putting the bags in your cart and pushing you a completed cart.) There are some places that seem to have gone the other way and gotten rid of the bagger so you can do your own bagging and placing 6 ft away from the cashier. But pre-COVID it seemed like most places had bags that you pick up at and put in the cart yourself.
Not really COVID related where I live. More or less the smaller the shop, the larger the chance they will bag your groceries. Large ones always have a conveyor belt from which they slide items on the other side where you can pick it up and bag yourself. I think the change mostly came when it has become illegal to give away bags. Since now you have to pay for them, a lot of people bring their own.
It's easier to prove that one "saved" the company money by removing a support position than to evaluate the amount of money wasted yearly by engineers having to buy paperclips and figuring out how to expense them in the horrible expensing software.
I never thought open offices were about cost savings, I always thought it was about someone reading that we spend too much time isolated and need more interaction or some such BS.
Open offices, especially with flexible seating, are a huge cost saving on real-estate. You need much less floor space, and much less interior walls.
I think at my company, we are sticking with it despite arguments against, because it is just cheaper.
The advent of more people working from home is going to mkae this even more attractive probably. :(
yes and there is also often departmental budget arb going on here
Devs in engineering org now have to spend more time on self-service portals & chasing tickets because the manager of the infrastructure org laid off a bunch of sysadmins.
I once worked at a bank where even replacing a physical disk in a US datacenter involved a ticketing system which dispatched tickets to India.
The remote guys would then, presumably, raise some sort of internal ticket so the guy physically in US could you know.. replace a bad disk.
Turnaround on bad disk swaps went from hours to weeks. As the hardware aged, we started to have enough disk failures pile up on RAID arrays that data losses occurred.
Systems are better too though. When I was an intern all meeting scheduling was done on some convoluted mainframe system. Most of my co-workers had forgot their login to the system, they either grabbed a room that was empty and left if someone showed up, or they had the secretary schedule it (these were computer programmers Sun workstations on their desk, not computer haters who refused to learn). One day we rolled out a new system that was easy to use and suddenly all meetings got scheduled by whoever wanted to have one (then that got replaced by exchange/outlook which we could figure out but wasn't anywhere near as easy).
So some of the savings is good. It is faster for me to schedule a meeting in outlook (not the same company) than to find a secretary to schedule my meetings. However the secretary might be worth going back to just because they always knew important gossip that was worth knowing.
Your example definitely is something that should have been automated and not good use of an administrative assistant's time, but humans are good at navigating unclear processes and organizations.
For example, in one of my internships, it turns out that someone mistyped my address so my paychecks were sent to the wrong building; after a few weeks of that not getting resolved through HR, the administrative assistant took it upon herself to fix it and figured out whom to go yell at to get it resolved within a few days.
They're also good for things where having specialized knowledge of a process that's not done often can be done by someone who does it more often.
For example, when it comes to corporate travel, our company has a self service portal, and every time I need to book business travel I have waste an hour to figure out the right combination of flights and hotels to use, and another hour after returning to enter all of the expenses in the expensing system; I'd much rather send an email like "need to go to office X between Y and Z, no red eye flights" and "here's the receipts from our last trip, we took client W for a business dinner on May nth" and have it all happen.
Someone who does it several times per week would be much more efficient at doing it than me doing it a few times per year. But maybe in a few years we'll get some AI assistant that figures out that I like seat 3A, departures that are not too early, and figures out how to determine the expense types from various receipts.
For expense types I'm told it used to be eaiser. Then some scammers figured out they could send invoices and they would be paid now everyone needs to waste time tracking little expenses because if you don't even more money is wasted.
So there is a trade off which means some of the tedious jobs can't be automated. Though i agree I shouldn't have to separate my hotel room from meals at the hotel.
I’m saying those programmers should have secretaries to help them with all of the admin etc. They shouldn’t be booking their own flights, or making dinner reservations, or running expenses (or a lot of other manual work)
Circa 2000 (and continuing through the 00s) there was a massive cutback in administrative personnel. By the time I got there (circa 2010) there were essentially no administrative support personnel except for those at the very top. During the 10s they realized that they were spending around $10k/year/person on travel related stuffs not because it was necessary, but because of the time lost to deal with the software that was supposed to remove the need for the full-time administrative staff.
By the end of the 10s, they'd restored the administrative teams and were spending much less per year on "overhead" (non-billable hour) even if you counted the admin teams as only overhead. Down from around $10 million to less than $1 million by just having a dedicated team that dealt with travel and finance stuffs.
The problem was that most people only traveled once a year, at best, and so they had no real experience with the unintuitive software. The average traveler was spending a week extra per trip, which was not billed to customers, dealing with reservations (1-2 days total pre-trip) and finances (2-3 days total post-trip).
Mythical Man Month describes secretaries in a software context. What spoke to me about it was none of things, but instead: scheduling meetings, taking and distributing agendas and notes for those meetings, being the curator and librarian of project documentation. Just because these things are digital now, doesn’t mean any of the engineers on the team will step up to do them consistently or well. Many projects could run more smoothly with someone in that role.
Every minute an engineer spends doing those things is a minute they aren't coding, debugging, or architecting. So what happens? We have to hire another engineer to pick up the slack. When we could hire an administrator for much less to handle those things.
I continue to be amused that the many of the activities and artifacts promotion committees want to see when they consider engineers for the highest levels, are exactly this kind of "admin" work.
Software can only replace some roles that administrative staff filled. Most often, like in the case of email and word processors, it distributes the work and eats up everyone's time by moving it from specialists to non-specialists.
The optimum should be, of course, software empowering the specialists, so they can do more with less, providing better service to more people. But hey, a specialist costs $X in salary; a specialist + software that empowers them cost $X + $Y for the expensive license. Meanwhile, a SaaS that allows everyone to do the task lets us save $X on the specialist, and costs peanuts... plus a good fraction of everyone's salary, but nobody notices that.
The secretaries were specialists: in language. How much better would my posts be if someone who was good at writing and so would correct my grammar (grammar checkers are horrible - or were last time I tried, mostly I don't even look anymore). Often what I saw should be worded a little differently. Spell check doesn't notice when I spelled a different word than what I wanted.
I'm a faster typist than I am at talking, so I don't need a typist. I could really use someone to proofread for me. We have lost both.
One of the uncomfortable conversations we're going to have to have soon is about how 'Flow State' is efficient but ineffective.
One of the characteristics of Flow State is a diminished sense of considering the consequences of an action. Exactly the "so busy figuring out if they could do it that they didn't stop to think if they should do it".
In particular I've noticed that people get extremely defensive about code they wrote in Flow State. My working theory is that we think somewhere on a spectrum from, "how could anything that made me feel that good really be bad?" to "I got three days of work done in one day you are crapping all over it instead of congratulating me? Fuck you!"
I know that the efficacy of my code tends to be higher when I 'come up for air', reason out what to do next, and if I find that Flow Me is disagreeing with Planning Me, I stop and regroup. This is essentially the same skill I use to, among other things, keep from overspending at a store - setting ground rules and stopping when I'm tempted to violate them.
Pomodoro might be a little to structured for many of us, but as a starting point it might be a reasonable antidote.
I think in general that programmers have an easier time entering Flow State, but if you're going to willingly exit it, you had better have some confidence you can find it again, so you need to have better than 50:50 odds of being able to enter it at will instead of just going with it when it happens. This seems to be a rarer skill.
I think you're misconstruing the Zone with the Flow State. Note these are really just arbitrary terms with vague meanings, but I think it's still useful to have terms to root the discussion.
What they have in common is the aspect of no-self, where you lose your sense of self and become what you're doing. But I think how this manifests is different. In the Zone is where you have the full context of the problem in your head and are completely focused on it. You are the problem. Whereas in the Flow there is no conscious focus, you are the work, the muscle memory act. Maybe another way to put it, using your terms, is that when I'm coding, in the Zone, I have both the Flow Me and the Planning Me active at the same time but when I'm playing the piano I only have the Flow Me active.
I personally find both experiences very enjoyable but, at least in my case, the experience is different.
Usuallly you are going over old grooves in a flow state, Iostly get them with physical actions like skiing or playing an instrument. Its like an autopilot mode. If one needs to reason, they must necessarily pop out of flow-state, potentially just back into the "zone" .
I find it interesting that Wikipedia agrees with me. What’s your opinion on them treating the two as equivalent?
But for argument’s sake let’s say they are different and I’m talking about the Zone Which is Not Flow. The hazard is still there, right?
What you’re describing is, to me, one of several other mental states, in which you can perform one physical task while your attention can be on any subject, from the subject matter of the task at hand, to philosophy. Because you are working from rote, it’s optional whether you consider the profound long term implications of your actions. In this state you aren’t really going faster than anybody around you doing the same activity. Whereas rearchitecting a big part of your code base invites a trip to the Zone, even if Refactoring teaches us that with enough experience you can achieve similar outcomes without it.
In particular, mastery of a subject involves pushing much of the work into intuitive thinking, where it is cheap and affords you to focus consciously on anything you want. This is just mastery though, or what Thinking Fast and Slow might call Type 1 vs Type 2 Thinking. Maybe I’m weird, but I don’t really agree this is a mental state. Not any more. I’d be curious to see if, as you advance in your career and hobbies, if you still agree with your assertion that this is a mental state, rather than an achievement.
Something I’ve discovered is that a number of different groups lay claim to a Zone-like experience and for at least the ones I’ve tried, I’ve found they are all the same thing. Even though strategies vary for how to enter it, the feeling is exactly the same. Multiple sports, programming, even once in a yoga class (last day of a class, I recall thinking, “uh oh, this could be addictive”). I’m starting to have my suspicions about satori, and wondering if this is just some people’s first experiences with The Zone.
At any rate, this experience informs my comments about practicing entry and exit with the purpose of using it in small chunks instead of all at once (or all the time). The danger is if you can push that button why wouldn’t you all the time? It feels amazing, I wouldn’t doubt there’s a dopamine hit going on. But I don’t for the same reasons that getting buzzed on alcohol once a week or fortnight is one thing, and being drunk all the time is something else entirely. For many it becomes a conscious decision which road to take.
(I will confess that after all these years, including a six year run as an endurance cyclist, I still can’t say which of these states the Runner’s High is. I’ve felt good, I’ve been In the Zone, I’ve gotten lost in thought and had epiphanies, and I’ve had the miles melt away. I never felt a “high” that turned out to be a distinct experience, although in some cases it was my first.)
I agree with this. Flow is a useful adaptation for something like learning muscle memory - practicing athletics or performing music. But when we're talking about intellectual pursuits like programming, if what you've done by entering flow is convert thinking into muscle memory - a cycle of mashing edit and debug keys - you may have just "laborized" your work. And this has some implications for what kinds of software can be sold to people, as well as how software is created.
The norm of programming is really to flip between "trivial 5 minute task" and "requires a day off to contemplate". And in the industrial context, it's evident that most of software is built to restate a preexisting belief - this is good, if we make an app that does it, it's better. This means disengaging from the philosophical problem of whether it's actually "good" and contemplating it until the resulting belief structure has grown so unwieldy and contradictory that it is a technical challenge to maintain it. But selling a preexisting belief is one of the best markets to be in: if you're selling to artists, you sell software that looks like a paint canvas. If you sell to musicians, you sell software that looks like studio gear from 50 years ago. If you sell to investors, you sell a thing that looks like money. What you can't sell(easily) is: new ways of making visuals, new ways of describing and performing music, new ways of explaining credit and value transfer in an economy.
Hence there is an awful conundrum; if you are experiencing a lot of flow, a lot of "wind in your sails", the whole thing is almost certainly on the wrong track and you'll only wake up to it later, because it means your ability to contemplate went out the window. The problem is not just that you can write something bad this way, you can even be praised and given access to more resources if your wrong belief is shared!
That is probably why software has this underlying tendency towards mysticism and cargo cults, in fact; "It's a good practice." "Why?" "It makes me feel good and the customer likes it." "What's the benchmark?" "I get paid, and it hasn't failed yet."
I generally consider myself fairly good at gathering evidence of self inflicted problems, but I’ve worked at places where the worst offenders never really admitted hey have a problem. Once you involve the ego, people can feel an existential threat when you tell them the thing they are good at, the thing they enjoy doing, is hurting everybody.
We tend to develop coping mechanisms to deal with our own flaws, but everyone else can find themselves adapting to the new circumstances fairly suddenly.
Very interesting idea, and honestly quite scary. I love my flow state, but I do recognize the defensiveness. Not sure I have run into making bad decisions "in the flow" yet, but I could see how it happens.
If true, the bad decisions coupled with defensiveness could be a potentially really toxic combination.
I think you’re completely right and one way to counteract it is to bake in “non work” or “idle work” time regularly. This doesn’t have to be a vacation, but it does mean staying out of flow and reflecting on the project as a whole. This can also be a good time to fix little boring things like individual UI elements.
I work in public sector digitalisation and have for a decade, so this article sort of rings home with me. Especially now, having passed a year of thousands of office workers working from home and having seen a rise in efficiency and quality across all our sectors. I’m not saying working from home is an all-good sort of thing, we have also seen an increase in stress and depression related sickness, but in terms of getting shit done, things have been never been better.
Which is sort of ironic from my department, because this has also been a year where our process optimisers and MBAs have been almost completely unable of performing their usual efficiency and benefit realisation consulting in our different departments, as that’s a hands on sort of thing. Not that they’ve done nothing, they’ve been to really good work helping managers coordinate remote work and teaching both the CEO and Political layers how to use Microsoft teams efficiently.
Anyway, if we’ve increased efficiency and quality more in a year or not trying to, it sort of begs the question what good trying really does. You obviously can’t really conclude anything scientific on our anecdotal measurements as we’ve seen the major change of going remote on top of it, but it is something to think about.
Not that we will, we’re already trying to figure out how to go back to the way things were, as the majority of our managers still seem to think people work better if they spend 7 and a half hours in an open office 5 days a week.
It reminds me a little of a story I read about Alcoa, the Aluminium manufacturer.
They had been have issues with improving productivity. One of the issues was the workforce and unions were reluctant to accept any change.
New management came in and rather than pressing on productivity issues they decided to double down on safety. They hadn't been particularly bad but not great either.
Obviously staff and unions are never going to complain about making their workplace safer. What also happened was as soon as process were open to change to improve safety they were also open to change for productivity.
I wonder in cases like yours whether the pandemic just unstuck a lot of things because all the previous excuses floated away as soon as someone says "because covid".
Anecdotal but I know at least one megacorp that is doing layoffs of manager level positions after noticing that their services/industrial processes worked well while them being on furlough during the lockdowns.
I've only been working professionally for 5 years and this is something I am only recently beginning to appreciate. Optimizing for efficiency makes you get a lot of work done but it reduces your ability to think creatively which can potentially impact the quality of ones work.
Your job is to make their wishful thinking the thundering success they deserve.
To counter the original point, I find removing obstacles and latency-inducing loops helpful, to start seeing what the work really should be. Gaining efficiency through simplifying is a good thing, and can be creative too. The goal is not efficiency though.
I think you're on to something important here - the word "efficiency" is used to describe optimization in two different mental regimes: one, "how to meet a given quality of work with the minimum of friction/wastage" vs two, "how to perform the maximal work within a fixed resource allocation."
They sound similar, which is probably why we use the word "efficiency" to describe improvements in both regimes, but the fundamental constraint is different: in the first case, it's the standard of work that must be achieved; in the second, it's the resources allocated to the work. I'd summarize the first "do enough with enough" and the second as "do more with less."
What you describe sounds like "doing enough with enough:" given the work to be done, how can we remove resource-draining obstacles, idle loops, etc. and identify "what the work really should be?" - is that a fair assessment or am I off the mark?
Say more about XOps? From where I sit, DevOps is "about" treating software product more like modern manufacturing products && tightening the feedback loops between development and operations... How does that translate to, say, Graphic design, Finance, X where X==$operational_unit?
This might even be rooted in human psychology. "The Master and His Emissary" and other books about neuroscience argue that we have brain functions specialized for focus and other brain functions specialized for context. Activating focus reduces contextual thinking.
I was about to write that. This is very visible in operational teams.
Depending on what is going on, an operational team will spend 20 - 40% of their time firefighting or at tightening screws and oiling wheels - maintaining systems. Sometimes it's a good week and it's just 10%. Sometimes you launched a new product, and it's 60% because everything is failing.
As a conclusion from there, it's not a good idea to schedule more than 50% - 60% of deliverables with deadlines, because the right outage is going to toss those estimates really quickly.
That's in itself the definition of sufficient slack. If you don't have that, prod fails and no one is around to fix it. If you do, someone can usually start poking at it quickly.
Yup. I always liked to have my team (been in the infra/ops/sre/devops/sysadmin areas) focussed on latency rather than throughput by having slack.
Luckily we've usually been able to avoid Scrum etc, and work in a way closer to Kanban.
There have been times though (like right now sigh) where we're forced into a throughput oriented mode by commitments made elsewhere out of our control. It sucks, and we end up ignoring too much of the little stuff for long enough that they end up becoming fires you need to put out (is ops debt a thing?), your tooling and automation suffer, knowledge silos build up within the team, and the throughput will end up tanking anyway.
I like to use 50% allocation on "project" work as a nice rule of thumb for reactive ops oriented teams. Any higher can only be sustained for short periods without negative effects.
I did some refactoring work a few months ago, replacing the old way we did something with the new. I didn’t have to do it, I could have punted like the creator did. But I was used to the new thing and I wasn’t about to write new code that was already deprecated.
Nobody called me out on it but it wouldn’t have been the first time in my career.
But now I find out belatedly that we’re changing our auth system, and now that work is going to save me from having to drop everything to get it done on time.
If there's something you feel you can do, it'd be good, you absolutely should investigate that path. If it turns out it didn't work out, someone stomped on it or you get pulled elsewhere, it wasn't meant to be. You feeling that goal within your grasp, is anyways valuable as learning exercise.
No matter your efforts, there's a time for everything.
It's a balance. If 10 firefighters don't see high utilization, you don't want to increase the staff to 20, just in case. That's just a waste of money.
The rule of thumb is that you want utilization to be where there is an acceptable latency depending on some percentile of cases. For a firefighter, you'd probably look at p99 latency. For a hamburger joint, p50 on order time would be good enough.
>you don't want to increase the staff to 20, just in case. That's just a waste of money.
I believe OP's point is that you do want the staff of 20, for the once-in-a-lifetime fire that requires 20 people. See also: the recent Texas power grid debacle, or the saturation of ERs due to COVID.
No, you don't. Resources are not infinite, and at some point the budget has to be taken from other services which are more useful than a once-in-a-lifetime event.
Or you do want the staff of 20, but then it must be a volunteer and/or on-call duty system. Otherwise it is not sustainable.
In my country, the shift/switch to professionalisation that started 30 years ago has gradually become a big problem. Despite the fact that they still represent only 20% of the firemen, they are killing the budgets, and they always want more (lots of strikes); apart from 'standard' raises, the most common thing they ask for, is that on-call hours should be paid full-rate, as active hours. Which, beside being extremely costly, is absurd when they are 'working' 24h shifts! It contains a few hours of training and, depending on location, a few hours of duty; the rest is on-call (at home or on premises depending on the type of station), the number of service calls is limited, and 1 in 4 shifts happen without a single call (even more for 12h shifts).
There are plenty of other problems which surround this professionalisation, but they are not directly related to this subject.
On-call at home should definitely pay less than active duty. That way, when a call comes in, the annoyance of being interrupted is offset by knowing you're getting paid more for responding.
If you get paid the same, responding to a call just becomes an annoying interruption ("I could be at home making the same money if this person I'm helping had just been more careful!"), leading to a worse experience for everybody.
I think we’re getting hung up on specific numbers.
The general point, I think, could be summarized as: you want some idle resources to handle surge capacity. Whether that’s 5 or 20 firefighters is of course the next question.
Seems like the original article/book and your comment tie back to Little's Law from queuing theory which is used as justification in Kanban for minimizing WIP.
I doubt you will ever see even firefighters with low utilization. They can use extra time to do inspections to make sure there aren't any fires, or put on presentations at neighborhood association meetings teaching the public about fire hazards. If they aren't doing those things and there aren't any fires, they're just lazy.
Absolutely not. Not that those things aren't great, and hopefully already being done, but there is zero need to ask firefighters to be at 100% utilization at all times. There is value in having some one perform busy waiting in the event of an emergency. Did you know thats a training drill they perform? How fast they can be out and on their way from the moment of getting a call.
Iff you consider your work a net-negative or just a means to an end. There's certainly a case to be made for optimizing for work that is an end in itself where more work may increases positive utility in some areas (joy, fulfillment, whatever) and possibly decreasing it in others (money, status, whatever).
I hope work isn't a net-netagive, but there are always things that must be done that you don't want to do. Sometimes you can hire someone else, but often you cannot.
I was probably too sloppy in my wording. I interpreted the OP to mean work may have negative utility for the individual person, but not in the aggregate. I don't know that the idea that work is essential individual sacrifice for some end goal is particularly healthy.
I understand where you're coming from, but I think it's built on assumptions that I'm saying don't necessarily need to be true. Namely, that cleaning your dishes is "distasteful" which tracks with the originally assertion that you do some jobs just to get them done to get to what you really want. I.e., they are just a means to an end.
My claim is this can be unhealthy because you're not really living in the present and constantly stuck in the mindset of "once this distasteful thing is done, then I can get to the stuff that makes me happy." Or to steal from The Good Place, "Humans only live for 80 years and they spend so much of it waiting for things to be over."
My idea is that "work", or maybe more precisely, a "job", is something that you only do because you have to, because you need something it gives in exchange, and otherwise won't do.
If you do something because you enjoy it, it's a "hobby". If you are paid for that, too, you are just lucky to have the best of both worlds :)
I agree that's a goal, but I think it's overly concerned with the product (job) rather than the process (how the job is done). I think focusing on the latter is more sustainable for enjoying something because the job itself will undoubtedly get stale at some point and can lead to the hedonic treadmill of constantly looking to the next thing to make you happy. I've known people who have had jobs that people would traditionally consider unenjoyable, but they had the mindsets to truly enjoy the work by focusing on the process, constantly bettering their performance, etc.
If it's true that "Slack represents operational capacity sacrificed in the interests of long-term health", then who exactly is the target audience of this article? Corporations have not cared about "long-term health" since the 80s. CEOs and CXOs and CYOs and Senior Vice Presidents play musical chairs both within and between companies in a neo-feudalistic Game-of-Thrones-style competition for titles, where companies and their various divisions are just pieces. Decision-making happens via primarily the Principal Agent Problem and is focused on what makes me, personally, look the best and give me the best chance of gaining a better Title in the next quarter. Eating up all available slack is one of the more mundane ways to cannibalize the company for your own benefit. Long-term health of the company? Who cares!?
I work for a company that has been in the same family for over one hundred years. The CEO started work there at sixteen and has worked in every department in the company. I am not saying that he wants to see people sitting around on his dollar, but he staffs appropriately and genuinely cares about the long-term health of his company and employees.
Companies like this exist all over the country; they are not glamorous jobs but they are great places to work.
I spoke to a family owned business tycoon from South America and he was convinced that publicly owned companies are doomed in the long run. His rough quote (my Spanish was not fantastic) was something like, “I’m managing this company for the next 10 generations and your country’s companies are managed for the next quarter. Which of us will be here in 100 years?”
The CEO I spoke to was at least the fifth or sixth. His son was the CEO in waiting and that guys son was a teenager doing dirty jobs on the factory floor so that when he is CEO he will have the workers’ respect and know how the business is done.
This sounds like an interesting model for choosing future leaders but also it seems very risky as it is entirely dependent on a very small selection of people (those in the hereditary line) being able to lead and grow a company.
Based on the fate of monarchies around the world, I wouldn't bet my money on it
There are two advantages that the family business has: they get to pick the son (In South America, it's usually the son, but in China it's frequently the daughter), it's not always the oldest, and sometimes when there are no suitable sons they go outside the family. In contrast, succession to monarchies is usually fixed, but crafty monarchies often pick the successor as well, such as Mohammed bin Salman in Saudi Arabia and Kim Jong Un in North Korea.
For every well-run family-owned business like this, there are a dozen that are hell holes full of nepotism and corruption. That is to say, I think you're pretty lucky to have found one of the rare good ones.
I've worked for one and consulted for another. Both were as you describe. The CEO was the grandson or son of the original founder and were little tyrannical despots.
I wonder if you work with my mother... But seriously. She works for a guy who over his career has made a net-worth of ~50 million (deals in real estate). He has always kept his employee's salaries just above minimum wage, kept the employee numbers down to avoid having to dish out benefits, and so on... Nice guy, but basically made his wealth by treating him employees like pseudo-slaves.
I'm glad to hear you found it. That's the kind of company I would want to work for; even one I would want to start! Oh, excuse me, I apologize: I almost said the taboo "lifestyle business" words!
> Who exactly is the target audience of this article?
If I had to guess, it would probably be most useful for those companies that have not yet reached the stage where they can serve as the venue for the executive-musical-chairs stage of management you describe.
My assumption is that when the company is small enough, that which "makes me look the best" and that which "is in the long term interests of the company" are probably mostly aligned due to the higher visibility of those early executives and managers. Not that this stops the ladder-climbers, of course - it's just more obvious when they personally contribute to wrecking a company if the company is small, which presumably the personal-brand-conscious executive would try to avoid.
> Eating up all available slack is one of the more mundane ways to cannibalize the company for your own benefit.
Otherwise known as "maximizing shareholder value."
> It can also be done by the employees by slacking off on surplus.
Can't argue with that, given that we're having this conversation while I, at least, am on the clock. However, I suspect my bosses have a much greater capacity to benefit from cannibalizing the company than I do.
If people are like CPUs - if all CPUs are busy 100% all the time, then latency, as we all know, sucks, and processes may crash occasionally. You want decent latency, and avoid crashes, then keep the CPU usage below the ceiling level.
In other words 99th percentile latency is what matters, not utilization. Anyone who's tried to get things done with batch-class resources has probably noticed this as well.
There's a similarity to the overall economy as well. Just in time inventory is certainly efficient but it's incredibly fragile. Just look at how much "damage" is being claimed for a boat that made other boats two weeks late.
Just to add, 99th percentile latency to the institution processes is an ok metric, but 99th percentile latency to personal or departmental processes is a naive and bad one.
If you are not making an effort to be complete on what you are measuring, you'll probably want to put more 9s there.
I had an off-topic thought that the ideal of Slack (the chat service) is actually very well explained by "slack" as defined in this article. This article holds "slack" as the ability to respond to a new task immediately, and Slack (chat service) is built around responding immediately to tasks or questions from peers.
However, executives clearly aren't quite getting the benefit. They expect employees to respond immediately to every new need and new task, but they didn't actually give the employees enough time availability to do so. So instead of getting faster responses from employees, the employees just get overloaded; this leads to the tasks actually being completed LATER than they would have without Slack (chat service) and employees getting burnt out quickly.
Even shorter: there's no single absolute optimum; if you optimize for efficiency, you lose in other areas. But if you optimize in other areas, you lose in efficiency, of course. Everything in real life is a compromise.
Doesn't this just imply that the cost function is over simplistic rather than there is "no single absolute optimum"? E.g., maybe a more appropriate cost function factors in both resilience and efficiency.
It reminds me of working a scheduling problem that failed to factor in union concerns. It was a bad solution because it didn't factor in all the dimensions of the actual problem and only originally concerned itself with "management's" cost concerns, not the "union's" cost concerns.
Tbf, I never finished "Antifragile" as I felt like it just kept going over the same concept from different angles without introducing anything new after the first 50 or so pages.
Indeed, I meant that a simplistic approach which wants to have every dimension of utility turned up to 11 simultaneously does not work. You not just need to factor in more dimensions than efficiency, you have to trade gains in one dimension for losses in another. The scalar utility function you can reasonably optimize here is some weighted combination.
In retrospect, yes, this is absolutely true. One is much more effective with slack. The question is how to set one up for that. Ironically, slack (the app) is really counterproductive here. It takes some effort not to react immediately to every request. While this might look like the setup of Gloria, the secretary, often the sheer amount of requests kills any slack.
You get slack by not delaying on the things that can be done immediately (with no or minimal planning), and then planning the rest so that you tackle it in an appropriate fashion. If you don't plan it, you'll end up creating additional work on top of the desired work to fix the issues produced by skipping planning.
Here’s a counter argument: maybe Gloria doesn’t need to have defined tasks for every hour of every day, but it absolutely could not hurt for her to make proactive decisions that fill her time when she isn’t busy tending to Tony’s schedule.
Ideally, an organization would be able to attract the candidates that would spend their free time doing constructive things. This _would_ be an org where everyone is busy all the time.
Suggesting that it’s always OK to be doing nothing when we don’t have a pressing task in the name of “Slack” is not what the author intends (in my interpretation) and absolutely a waste of the extremely powerful minds we have as humans.
The value of your employees voluntary contributions are capped at the least valuable thing you put on their list of things to do.
If your employee’s best chance at success are in the success of your business, they’ll do great things without being asked, that you don’t even know about. If not, it doesn’t matter what you ask them to do.
I can’t really see how the value of employee contributions are capped at the least valuable thing they have the responsibility to do.
As for the second part of your reply, I entirely agree. When employees catch the vision of the company as a whole, it makes sense that they would be motivated to bring something to the table on their free time. Much harder to do within larger orgs.
I think this is only true if you create a workplace environment that encourages this. If you micromanage your employees with metrics, they will adjust their behavior to maximize the metrics, and you will know exactly what they are doing (but not if they are doing what they should be doing).
No. You will expect them to maximize the metrics, but they will do the minimum, and think you’re an idiot, and the quality of their work will be terrible, and they won’t say a word.
Every new hire is an opportunity to let that person do their best work for the company. Your opportunity to screw up because you think you know better.
If that doesn’t make sense to you, you’re probably in the 60-90% that HBR classifies as negative value managers. We have this idea that management is just a bunch of simple processes, and it is, in the same way that building a bridge is just welding together steel beams. Every struggling engineer wants to be a manager because they think it’s easier work with more power over other people and higher pay, which it is, and this incentive structure creates this reality no matter how hard you fight it.
Think about the opposite. What would happen if each engineer had a budget and they decide how much they want to pay whom for management services? How would your role as a manager change in that situation? To earn a salary, you would have to have an extraordinary competence in helping people to be more effective, or just play politics downward. And the engineers, well, they could choose to be lazy and incompetent, or they could be aggressive and incompetent, or they could be ambitious and disciplined, or whatever they want to be. So you see how the situation is not that different with the roles reversed.
Counter-argument to that -
Maybe Tony wants Gloria to "slack off" so that she has 100% of her mental energy available to solve whatever problem he needs to her to solve.
This works the other way as well: if you are constantly bored and idle, you will not be in a good state of mind when you suddenly need to focus on an urgent task.
I feel bad giving our employees „fillers“ when there is no important work to be done.
I feel like a dirty capitalist exploiting the fact that we have a contract of employment with this person and I can legally command what he will do in his next 30 minutes (and I‘m fairly conservative otherwise, mind you).
I rather wait until there is meaningful stuff to do. Of course at some point „hey we have a few days of no urgent tasks. how about we try to improve our test coverage a bit?“ becomes a completely reasonable thing and I believe/hope that the employee will agree and be motivated since he knows that he I value his time even though I am paying for it and don‘t give him fillers.
But things like „ok wow that was quick! well umm, lets check the issues list...oh yeah! since you have 26 minutes left, could you fix that one misaligned pixel please?“ make me cringe.
Moshe Vardi gave a talk on this idea recently as it applies to the COVID-19 crisis. His word for slack is "resilience" but it's the same concept. He quotes William Galston: "Efficiency comes through optimal adaptation to an existing environment, while resilience requires the capacity to adapt to disruptive changes in the environment." You cannot maximize one without sacrificing the other.
This is also one of the things wrong with the global economy. Safety margin is necessary but inefficient, and insufficiently incentivized. In an older conversation here, someone phrased it along the lines of "a system that's highly optimized for one environment is correspondingly unoptimized for any other environment", including environments resulting from natural changes. I tend to think of it as an engine with all the tolerances honed down for efficiency, like a racing motorcycle, but with no room for grit or losing traction.
Nearly every system in nature has some slack baked into it.
Take the human brain, pound for pound it packs more neurons in it than any other animals brain on the planet. 20% of the glucose we burn goes to power the brain, in children it’s closer to 50-60%. Yet even though nature powers this incredibly powerful computer, 24/7, we use it’s power, maybe once in a while if we’re lucky. We can’t remember more than 6-7 things at a time, we can never fire every single part at once. You might assume this is a defect, it’s not, it’s a feature.
The brain has so much capacity, they have found people that can literally remember every single thing that happens to them their whole lives. Guess what happened to them? They had no slack for reasoning in abstraction, the things that make us human, they could detail every aspect of a story but couldn’t summarize it, and the list goes on and on. What would happen if we ran our chips at 100% capacity 24/7?
We assume we need to do more, we need more information, we need to squeeze every ounce out of our life and work but in reality this has the opposite of the intended effects.
This article is great because it puts it all into perspective. I recently wrote about the same topic but it’s not as good as this article but still if you are interested:
"In the marketplace you’re not expected to be aware, you’re expected to be efficient. Efficiency is a quality of machines. Machines are more efficient than human beings. Because efficiency is required, you become more mechanical. And as you become more mechanical, your awareness disappears. And your awareness is your real being. By efficiency and mechanicalness you may succeed in earning more money, more power, more prestige, more respectability, but you will lose yourself."
Efficient is very important when you are doing the same thing over and over again. If you job is to type, than the faster you type the better, and anything that gets in the way of typing is bad. If you job is to think, than the faster you think the better, anything that slows thinking is bad. If you are a programmer or manager, then you are in the later group. If you work an assembly line than it is the former.
One of the quotes suggests that DeMarco (the author of the book under discussion in this post) himself views 'slack' somewhat negatively:
> “Slack represents operational capacity sacrificed in the interests of long-term health.” [emphasis mine]
Quibble it might be, but nevertheless: surely if the goal is to appreciate the value of 'slack,' it would be better to describe it as an investment in long-term health, rather than a sacrifice for it?
To be fair, I suspect he was trying to implicitly refer to "opportunity cost" - every investment implies a "sacrifice" of the alternatives. But it seems to lead the blog post author into a similar dissonant frame of thinking:
> Slack consists of excess resources... Slack is vital...
Here I quibble with the use of "excess." Excess compared to what? Presumably, excess compared to the resources one might assume were necessary to guarantee a healthy operation - but as the author then notes, these resources are not "excess" at all, but indeed "vital!" In other words, they are fundamental to the continued existence of the operation. Why imply anything else?
I was reading this in the operations research sense of optimality. From this standpoint, they are excess in the current set of constraints but may be vital (an non-excessive) if those constraints change in the future.
I see slack in my personal life as having unplanned periods of time. I think it's really important for improvement to have some free time everyday that is not dedicated for a specific thing.
Because there are so many things we don't know and also many things we don't know that we don't know. So I make sure that I have enough slack in my day to allow some random digressions
I am worried most about how our system pushes efficiency to the detriment of resiliency.
Businesses use just in time inventory to increase efficiency, but that means a small disruption anywhere in the supply chain can grind everything to a halt.
Also, instead of maintaining cash savings, businesses will rely on cheap credit. However, if enough businesses do that, any type of credit crunch results in widespread economic disaster.
Often business efficiency is a way to privatize the gains from efficiency, but but have the public bear the losses from lack of resilience.
Just like banks are required to keep a reserve (which is inefficient in some sense), I think some type of regulation or increasing the personal moral hazard for business leaders is required to make sure businesses don’t sacrifice resiliency for too much efficiency (and the profits of efficiency).
Agreed. Businesses optimize profit generation. Providing good products or services are merely the means to such an end. Increases in efficiency often means sacrificing some quality they view as superfluous but is likely valuable.
This quote “You’re efficient when you do something with minimum waste. And you’re effective when you’re doing the right something.” reminds me of a Systems Thinking talk Russell Ackoff gave a long time ago [1] where he talks about the difference between doing "the right thing wrong" and the "wrong thing right" and getting more efficient at doing the wrong thing obviously might not be optimal :).
This is actually a concept that Peter Drucker came up with, but I've not managed to find a good link to that, I'd be interested if anyone has?
This is so ironic. I write this message while being chased by colleagues who need me to do something for them that is very important to them but has no merit in my manager's eyes.
At the same time, I am hopelessly chasing other colleagues who need to do something for me that is really important to my manager/dept
I can't help those who need me because that would set me behind on my urgent tasks. But others can't help me in my urgent tasks because it would set them behind on theirs'
Circle of doom
While traveling by car during one of his many overseas travels, Professor Milton Friedman spotted scores of road builders moving earth with shovels instead of modern machinery. When he asked why powerful equipment wasn’t used instead of so many laborers, his host told him it was to keep employment high in the construction industry. If they used tractors or modern road building equipment, fewer people would have jobs was his host’s logic.
“Then instead of shovels, why don’t you give them spoons and create even more jobs?” Friedman inquired.
Reminds me of how civil engineers design structures to bear loads that are at least double the actual maximum load the structure is ever expected to see. Imagine the spectacular catastrophes that would come from centering bridge design around maximizing the efficiency of materials used to support the very limit of load-bearing capacity, and that's what many of us are fostering in our own lives and businesses.
What Shane calls slack, you could also call the margin of safety.
One problem is that we've turned "efficient" into some sort of noun that is self-referential, rather than the actual definition which is constrained to a particular result. "We must be efficient." should beg the question "to achieve what?"
The second problem is that efficiency is often applied across many small scopes of operation, ignoring the effects on efficiency at greater scope. You can be tactically efficient at the expense of strategic goals.
The third problem is that efficiency is often over-fitted in a chase for maximalism, which necessarily creates a rigid system that is highly dependent on little or no variation between the past and an expected future. Just-in-time supply chains fell apart due to things like the covid-19 lockdowns, which often cascaded across both vertical levels of specific industries as well as across industries.
From a system design point of view, building a system that has no flexibility in scaling but is instead maximally efficient based on current (and recent past) levels of demand is a disaster waiting to happen. In the old days we'd laugh at a commercial site that got slashdotted because it was incapable of handling burst demand.
When I get stuck on a problem, or am switching the module I’m developing, I’ll often take a couple of hours, and watch something on the tube.
When I get back to the task, I tend to get it completed in no time at all, or solve the problem quickly.
I will sometimes, take the rest of the day off. I did that today. I’m starting work on a fairly significant feature that will touch almost every layer of code, and I can’t afford to pooch it.
Isn't that a well studied problem, applicable to many fields?
Here the article is about people, but the same reasoning can be made with computers or service centers. I mean, no sysadmin will expect their network to be a 100% capacity all the time. We have mathematical models for that, the stuff with binomial laws and Poisson distributions.
So how can we expect people to be 100% efficient if even machines can't be 100% efficient?
Some companies value "busyness". In the Before Times, that was partly judged by how much time you spent in the office, but then and now there are other measures. Remote work can be evaluated on how quickly you respond to communications, or how much of the day (or night) you can be reached.
There are two subtly different kinds of efficiency:
1) How little input resources are used to produce a given amount of output. Tools that let you spend one hour to do a task instead of two fall in this category. As does growing twice as much wheat on a given plot of land.
2) What fraction of resources aren't used productively at all. The "slack" from the article, or wheat that gets grown but not eaten.
Improving the first kind of efficiency is usually a good thing. The second can also be positive, but only in moderation. If you try to reduce slack too much then you'll end up with systems that are brittle and have serious failure modes (like famine caused by wheat production being lower than expected)
This is something that surprised me when I was reading the Phoenix Project: sometimes making quick decisions and quick actions is more important than making sure "everyone has something to do". In fact it's very common.
It's important that your bottlenecks are never waiting for a task to complete. It's important that firefighters of your organizations are ready for anything that could block important processes or bottlenecks. It's important that certain tasks are ready to accept a new job so WIP doesn't accumulate and lead times are kept low.
The title is a little sensational, and that is a good thing. Sensational titles usually do one of two things: clickbait, or playfully intrigue the target and deliver something in its vein.
This actually made me think about somewhere I might be wrong. I just got the book the article references and I'm going to read it. I've always been about efficiency, and still am where things can be automated. But the idea that you're less effective if you cram your life with tasks is intriguing, and maybe a little enticing. I'd like to explore the concept further.
I prefer the term robustness to slack. And the concept applies to more than just time. Keeping sufficient inventory to deal with spikes in demand, having redundant systems so you can keep running while doing maintenance, programs designed to fail safe rather than leading to cascade failures, these are all ways that systems can deal with the inevitable perturbations of the real world. The reckless pursuit of efficiency leaves systems fragile, which may be fine in good times but is catastrophic in bad times. In the long run, you need robustness.
I'm sympathetic to the argument but the just-so-story at the start actually made me question it. The 60s and 70s had a baby boom entering the workforce which likely led to the productivity growth rate[1]. We have less slack because it's relatively more expensive. Focusing on the cult of efficiency can distract you from the real causes
[1] "Fully Grown" goes into exhaustive research of every possibly cause of the productivity slow down. https://amzn.to/3nN1ZrR
Most of the time the “solutions” to quantifying efficient production of programmers is, for the best of us, a gradual descent into frequent focus destroying forms of micromanagement - and for the worst of us this is a welcomed phenomenon. If you want to do your work, it sucks. If you don’t actually want to do your work, it’s great.
For non programmers, of course, the idea that someone valuable is doing something that they have no control over is absolutely terrifying.
I used to work in machining shop using saw to cut stock for big expensive milling machines.
They allowed only one shift, because that was just barely enough to keep milling machines running evening and night, but often machines would stop.
If we had second shift, machines would never run out, but the boss was the kinda guy who rather have 100e+/h machines stop, than see some worker not being 100% busy all the time.
That example is actually the same as The Goal: i.e. you optimize at the bottleneck. The bottleneck in that system is the CEO. Optimizing at the secretary is pointless since she's not a bottleneck.
We have an intuitive understanding of this as engineers. If you've got a program that's CPU-bound then you don't optimize the IO. If you've got a program that's IO-bound you don't optimize the CPU.
I think everyone needs different block of time to slack, to remove burn-outs and reserve more energy for next step. Some people such as John Carmack probably doesn't need that much of time to slack (he seems to use "researching how to do difficult things" and programming retreats as a way to slack from daily programming jobs) but most of us need it.
Basic queuing theory: If you want to maximize the utilization (~ efficiency) u of a resource (e.g. CPU or cashiers), waiting times for jobs (e.g. processes or customers) that compete for it grow by t / (1-u), where t is the average processing time per job.
So, from a client's (job) point of view, maximizing resource utilization is bad.
We place more faith in authoritative ideology than personal judgment and observation. So when authority (be it boss, consensus, convention or propaganda) says "be more efficient" (or whatever), we do it. Despite any observed mountain of evidence to the contrary. And despite our feelings on the matter.
This might be a bit pedantic but it seems that this article is arguing against business as a technique for ensuring increased efficiency, it isn't arguing against efficiency itself. This post's whole ethos is that slack creates higher efficiency due to an increased reaction time from workers.
The problem isn't efficiency, its distraction. Efficiency can be numbed down to the movement from one focus to another without unnecessary expenditure of time or energy. If you eliminate distractions such that there is nothing to transition to/from you are both more productive and more efficient.
There is quite a bit more depth and nuance to the achievement of focus versus distraction than it seems at face value. Distraction often applies to things unrelated to a given task, but also applies to the frequency of steps in a given task. Consider the following:
* Do you have to go to multiple locations for project documentation?
* Do you have to configure a bunch of tools and steps in a certain order for your project to work?
* Do you have to jump through a bunch of meetings to know what's going on?
Efficiency is the graceful transition between the points of insanity. The problem therein is that you are busy thinking about the granular minutia of those pieces and the transition points instead of thinking about achieving the end state. You become most efficient by eliminating the need for efficiency which allows the slack time the article talks about.
Some good food for thought in the article. You want enough slack time and energy to be able to accomplish the high priority items. You definitely want to avoid low ROI busy work.
But also beware the easy seduction of the idea that you don't have to work hard to have a good chance of success.
The most famous book to discuss this idea is The Goal by Eliyahu Goldratt, published in the days when American manufacturing was trying to compete with Japanese methods. That book inspired The Phoenix Project by Gene Kim and others, which applied the ideas to DevOps.
It's been several years, so I don't remember how TPP tied slack to concrete DevOps practices. But in Google's SRE book (published by O'Reilly), they talk about how if more than half of an SRE's time is consumed by incident response, they push maintenance back to the developers. Reserving 50+% time for project work is a way to maintain slack. (See Time Management for System Administrators by Thomas Limoncelli for more techniques.)
(EDIT: I'm starting to remember more details from TPP now: One way to add slack is to find & remove bottlenecks, e.g. the sysadmin who was "too good" at solving everyone's problems. This is also why you may want to mix more generalists into your teams than is strictly efficient. Likewise with having "cross-functional teams". They can share work so there are fewer bottlenecks.)
In other software development, you can achieve slack by filling each sprint with a mix of high- and low-urgency work. (And btw, we should replace the word "sprint".) Or leaving 20% of your time for refactoring. Or practicing the Boy Scout method (and factoring it into your estimates). Or when the graybeards double any estimate before sharing it with the customer. Google's 20% time is another form of slack.
Webdev shops struggle with this since utilization is a major driver for profitability. I've seen many start in-house products to fill the time between client work. You'd think these would turn out great, since they are (or ought to be) experts at building and launching new tech ventures. But I've only seen a couple work out. In practice they get neglected as soon as more billable work arrives.
What works better is a focus on internal tooling. This is much like Toyota's continuous improvement (a connection also made in The Goal). You don't get continuous improvement unless you have slack, and it's a good way to "use" your slack. If you don't have any ideas for internal tooling (ha), maybe encourage your devs to make some open-source contributions.
It's notable that you don't achieve slack by sleeping in. The secretaries still had to show up to work, even if they didn't have too much to do. So you still need a good work ethic. This makes me skeptical of the author's idea that you can motivate yourself with tight deadlines. I often wait until the last minute to do things, but that's not really buying me slack.
On the other hand playing Counterstrike may be genuine slack, since you can always turn it off if something comes up. :-)
For developers, another way to use slack time, besides building tools and playing games, is personal development: read a book, do a course, write a blog post, etc. Your greatest asset is your mind, and you must invest in it! Or engage in a community and meet new people. That is a kind of investment too.
I suspect slack is better managed in the small than in the large. I'm thinking of Hayek's critique of central planning in Road to Serfdom, or Michael Polanyi's objection to centrally-planned scientific research. I knew a company once that devoted one in four sprints to refactoring. While that would be an improvement in many places, it feels a bit too centrally-planned to me. Give people slack, but let them use it how they like.
It's worth noting that part of how TPS (Toyota Production System) achieves continuous improvement is by creating/exacerbating pain points. By reducing inventory, in particular, it reveals issues in the system that might get papered over elsewhere.
Things that high inventory can cover up:
- Low yield. If half your produced product is low quality and unsellable, but you can still make enough and have enough inventory you can still hit your targets. But you're not motivated (or insufficiently motivated) to improve the yield.
- Maintenance/repair downtime. If you can run flat out 24 hours a day for 3 months and get enough inventory to cover that one month of repair work, you're not encouraged to improve the maintenance program or maintainability of the system.
- Tooling changeover (a big one in TPS). Related to the preceding one. If tooling changeover introduces a week of downtime, but your inventory is high enough to absorb that loss, then you're not motivated to improve the changeover.
By reducing inventory (it's not the only way, but it is a way) these issues become much more apparent and can then be addressed. Continuing with this, in TPS/Lean as you improve one area you can either produce more (which means selling more) or produce enough (but less than before, because there's less need to paper over issues with high inventory) and free up capital and resources for the next area with issues. Which also introduces slack into the system so you can handle surges in demand more effectively.
I’ve observed that to make everything “data driven” and efficient, one must quantify it. Keeping track of ‘stuff’ (copies I made, time I spent, conference rooms I reserved, etc.) requires procedures that can look like bureaucracy.
Efficiency becomes a problem when it’s the only thing bestowed with value. Optimising for efficiency by definition removes resiliency.
Disproportionately prioritising any narrow goal will produce a brittle monoculture.
I like the analog of the sliding puzzle because also if you remove one more piece it will be even easier to solve. Also if you remove too many pieces then you’re not actually getting meaningful work done.
> Saving 4 minutes a day on a process, over the course of your lifetime you will save 1200 hours. That’s a half year of vacation.
If I had to micromanage my personal life that way, I'd need a lot more than half a year of extra vacation in my lifetime to stay sane.
I value not having to think too hard about running my personal life higher than saving a few minutes here and there. Let alone wondering if those saved minutes are really fungible enough to translate into bulk time or money savings elsewhere.
In my opinion, these processes are an attempt at organizational efficiency. However, the flip side is it reduces personal agency for the worker. There's little room to diverge or think about what you're doing. If you diverge, such as taking longer to do something than what was prescribed, or using a different pattern to solve a problem, there is a cost to you within the system. You must explain why, which itself "costs" something. In a sense, you're punished for doing things differently.
That loss of personal agency is absolutely soul-sucking. You feel like a machine, again at the cost of organizational efficiency. Slack is definitely important because it lets people acquire some sense of personal agency again.