If you squint, could apply some of those observation to the world of software.
For a TL;DR just skip to Hart-Smith's recommendations list at the end of the paper. Here are the ones I liked:
> Look continuously at the entire activity. Do not minimize costs in isolation. Understand that one global cost minimization is worth far more than even 20 sub-optimum cost reductions.
> Retain sufficient in-house production manufacturing that it is possible for future engineers to acquire the skills needed to develop new products, without which all businesses will fail. Even the work that is out-sourced requires internal expertise to write the specifications.
> Acknowledge that cost-saving techniques that work in other high-volume industries are often quite inappropriate for low-volume industries like aerospace.
> Listen more to your own employees about how to save cost than to any outside business consultants who have never run a factory producing your kind of product. In any event, if the advice they offer changes every year, it cannot possibly be correct.
> Retain sufficient in-house production manufacturing that it is possible for future engineers to acquire the skills needed to develop new products, without which all businesses will fail. Even the work that is out-sourced requires internal expertise to write the specifications.
That's the biggie. I think the entire US tech industry has done a gigantic face-plant, when it comes to this.
We have not only outsourced the work, but we have interrupted the transfer of knowledge and expertise.
I have friends that run manufacturing businesses, and they explained how they believe that the US will never regain what it has given away, in the last couple of decades.
Working at a cable company where they contracted out to vendors most of their software development. They had a few internal systems that they developed in-house and would only hire 'senior' developers. I was curious how they expected to have a steady supply of 'senior' skills without ever hiring, training, and promoting a junior.
I also saw they had no idea how to manage their vendors, partly because they didn't have in-house skills to serve as a sanity check on what vendors were charging. As a result, their vendors profited hugely from the company's ignorance (I know because I also switched to work for one of the vendors).
I've seen exactly the same thing at a couple of companies I've worked at in the past too. One specifically outsourced all of their development because it was deemed to be cheaper (which it was), but after a few years without any in-house technical expertise to oversee development they'd run into all kinds of issues with bugs, outages, slow load times, etc.
For a period when these issues occurred the business could say that they wanted the issues patched, but they never understood why there were so many issues to begin with. It was only until they brought a few people in house to try to bridge conversations between the business and the team of outsourced developers that it was finally raised that the code was completely unmaintainable. And following this an in house team was recruited to bring development back in-house. Of course, when we sorted 90% of the problems the business started questioning why we were needed again and we were all outsourced for a second time...
But this same thing obviously happens in a lot high-tech industries. Without people who are technically competent overseeing what's happening you can only dictate requirements at a high level. You cannot dictate all of the NFRs because you simply do not have the knowledge or ability to oversee them. So what you have is something that at a surface level does what you wanted, but the execution is so horrendous that it's unsatisfactory and no amount of saying "please fix this", "please fix that" will actually resolve the fundamental issue at play.
And the problem is even worse when you want to be an innovator because innovation is impossible when you don't know what is and isn't possible. To push boundaries you first need to know where the hard limitations are and what's just a engineering problem.
> You cannot dictate all of the NFRs because you simply do not have the knowledge or ability to oversee them
This is a key point, and I believe the reason why software projects are always late and why it’s impossible to estimate them generally, in a non-domain specific way.
You cannot aggregate all the estimates and recorded performance of past work and use regression towards the mean to have any predictive capacity of how long a new project will take or cost, even when it has similar high level requirements.
This is why 10xers exist, or the perception of them exists. There are people who have seen similar pitfalls in the implementation stage enough times to know how to avoid them and they don’t need to redo things as much.
This is why rewrites are dangerous, even when existing code bases are cumbersome to deal with and expensive to develop. The deep magic of low level NFRs will ruin attempts to replace them.
Some are clever and try to use linters and static analysis tools to avoid this, but these will always be opinionated, domain specific in some way, and incomplete. They can frustrate development when taken outside their domain.
I think what you're saying is true, but a slightly broader issue around why software development is difficult more generally.
What I'm touching on here is more related to how outsourced teams typically lack the ownership and motivations that internal technical teams will generally have.
The specifics will vary depending on the outsourcing model, but outsourcing to a remote software development agency is typically the worse of all possible options. The reason for this is that code quality and maintainability is rarely ever a priority for an agency because they're typically judged purely on whether they can deliver what they promised to the client on time. It's very hard to tell a client that a feature is coming 3 months late and will cost extra, but that time is needed to ensure the developers are happy with the code quality.
Additionally, if there are any bugs that's often a good thing for a software development agency because not only will you now be paid for the initial feature development, but you'll also be paid for any subsequent bug fixes.
If outsourcing is done directly then the results are typically better because the remote team tends to have more agency. The business might still ask for a feature as soon as possible, but now the remote team isn't going to receive extra work for bug fixing the crappy code they deliver. They also don't have multiple clients and are going to be working solely on that single codebase so can't just hand off any issues to the next guy who comes along. With direct outsourcing the incentive to deliver crappy code no longer exists so typically the quality increases. Additionally the business might trust the remote employees enough to judge their own performance for which they can include NFRs instead of judging performance purely on the speed at which features are delivered.
However, even if directly outsourcing employees are rarely seen as equal to other employees at the company. The business basically just sees them as cheap code monkeys and the code monkeys know that's all they'll ever be too. Employees working at head office on the other hand might be motivated to go above and beyond because they want to be recognised by their bosses, and if they do a good enough job they might even get a promotion. This just never going to happen to a code monkey in India who can barely speak English no matter how competent they are.
Additionally, a team at head office is also likely to have more influence on business decisions and be able to feed technical input into the decision making where useful. This increased influence also means employees are more likely to care about the company since they feel closer and more involved in decision making.
The reason outsourced teams are bad isn't necessarily because they're not hiring enough 10x developers (although they're often not incentivised to do that either), it's more that there's usually little real reason for anyone to produce anything of quality. No one is going to be promoted, no one has any influence, developers are mostly just being judged on how fast they can deliver features because that's the only metric non-technical individuals can assess their productivity by, and finally they're disconnected in just about every possible way (location, culturally, hierarchically, etc).
I think what might work is have a great development team in house who can make all right high level technical calls, then outsource the grunt work while assessing them both on speed and on quality. A almost every company I've worked for there are talented people wasting time on nonsense like bumping project project dependencies and replacing deprecated code. I'd guess that work could be outsourced with near-zero downside and a significant cost saving.
I feel like the executive business class of this country has this dystopian vision: that the future of American business is just a handful of CxO and SVP people running around making $xxM dollars a year with all the actual labor doing the actual products and services being done by as-cheap-as-possible, expendable offshore workers. This is the end game they are shooting for: They want us in an Elysium hellscape with a few of them enjoying everything and the remaining 8 billion people in squalor.
I agree with the perception, but I don't think that's the reality at all. In general I think they simply are not thinking about much of anything except how to increase next quarter's margins or hit their contractual benchmarks to unlock their options. They have no big picture thinking, whatsoever. It's all just 'make number go up' mentality.
You can also see this in their personal behavior. Those at the top of the top have enough money to do anything. And what they end up doing tends to be work until they drop dead, in some cases literally - with 93 year old Buffet being the poster boy there, engage in mundane hobbies and activities - same as anybody else, and then start directing lots of money towards philanthropy. But the myopia tends to again strike there often making the philanthropy awkward and largely ineffective in effecting any sort of meaningful and lasting change -- unforeseen and unintended consequences, alongside a simple mixture of inability, abounds. The philanthropy ran exactly as they ran their businesses.
That's exactly the problem. It's purely a status play, in the narrowest and meanest sense.
It's unthinkable and insulting that some of the lower orders might have actually have valuable skill or important agency.
The primary product of corporations has always been hierarchical status for the owners.
But sometimes there's been some sense of generosity and mutual obligation. Now there's none - just myopic selfishness which often leads to disastrous consequences, sometimes affecting those afflicted by it.
Most of them are going all-in for automation of everything these days, either classic robots or some fancy iteration of "AI". Chinese labor got too expensive, even Apple is fleeing, most of Asia is too unstable politically given the potential for multiple hot wars in the entire region (most involving China, but there's also India and Pakistan), Southern America is too unstable as well with either lunatic politicians or drug lords running the show, most of Africa just doesn't have the infrastructure required for either low-skill industry work or IT offshoring plus the looming effects of climate change and, again, multiple hot wars going on. Oh, and machines don't go on strikes or demand market wages.
So, the result will be even worse, with people not even having jobs and left to fight for scraps instead. Or maybe one of the hot wars will eventually go global and humanity will be nuked down to 1% of the population, Fallout style. Who knows.
A worldwide famine would cause nukes - people don't quietly sit around and starve, they revolt. Meanwhile, if you're a head of state that needs more food (because you don't want to be lynched) then you go acquire more farmland.
It's not the C–suite that’s the problem, they’re just doing the bidding of the “shareholder activists” and stock market geniuses who are so brutally focused on extracting every last cent of value from enterprises that sacrificing anything longer term than the next quarter is perfectly acceptable.
I've worked in a major company ( global - 10s of thousand of employees ) where the chairman and CEO were changed and it was like night and day.
The company changed from one that was driven too much by short term pressure from money men investors, to one that took a much longer term view and invested in R&D and inhouse skills.
Note the change in management was instigated by some of the larger, longer term investors ( pension funds etc ) - ie not all capital is short term.
The new CEO put together that long term vision - said investment now ( and so lower EPS now ) will result in substantial longer term bottom line growth - had to persuade the markets etc.
They were successful, and it's sort of self-fulling - the short term capital leaves and you get more longer term investors that matches that longer term vision ( obviously the spiral can go the other way ).
However - that's the easy bit - delivering growth - at some point it's not possible to sustain that level of growth - then selling the idea you need to invest to standstill is much harder.
The CEO - also have to fight-off opportunists - where the problem is the maths is often in favour of buying a company, stripping/milking the assets and sacking the people.
Note sometimes it's only capital efficient because the capital doesn't need to pay the full social costs of the company destruction - it's governments job to make sure they do.
"Shareholder activists" are just following their own incentives, though, just like the C-suite. At a certain point, you have to either blame the people doing the things or blame it on capitalism in general.
Companies usually do better year after year until they reach market saturation or until the competition kills them.
Once one of those things happens, they start to squeeze blood from the stone. The quality of the product drops, the prices are inflated, jobs are outsourced or eliminated, they pivot into providing other goods and services (which will also get worse later), etc.
None of these things are mutually exclusive with that "next quarter" mindset.
I actually blame the stock market for a lot of this. Private companies can, in theory, settle for just making a nice profit year after year. As long as they come out profitable they don't need to expand. Once you're publicly traded though, you have no choice but constant expansion.
The boom and bust cycle has been happening for a long time now.
Stockholders are owners. If they suspect the company is sacrificing the long term for the next quarter, they are going to dump the stock as soon as they get a whiff of that.
The value of a stock is base on its long term value, not its short term value. Sabotaging the future of the company to drive short term results is something you'd have to keep secret.
> The boom and bust cycle has been happening for a long time now.
Is part of the problem, that people making the decisions have asymmetric incentives - the gain from the boom is greater than the penalty from the bust?
Bro this isn't a vision, it's been happening, as fast as the global economy could allow, since the 1990s.
there have been some clawbacks -- government regs, realizations that low-cost means you get what you pay for -- but it was going hard before, and will keep going.
a significant portion of HN is either automating, offshoring, or else working next to these trends (if they're not making them happen).
> I was curious how they expected to have a steady supply of 'senior' skills without ever hiring, training, and promoting a junior.
You can do it, but since you're relying on others to build the pipeline, you're going to have to pay a lot more salary to the seniors than you would if you promoted them.
Maybe that makes up for the salaries of juniors and the portion of time spent by seniors on mentoring juniors. But then some seniors want to do mentoring, and you're not providing that opportunity, so more reason for them to demand more pay.
IMHO, it's workable, if not necessarily desirable, if you want a small team. If you want a big team staffed with only seniors, I think it's going to be a challenge.
> You can do it, but since you're relying on others to build the pipeline, you're going to have to pay a lot more salary to the seniors than you would if you promoted them.
Not really, because people aren't loyal to companies, it's not the 1980s.
If Company A trains a junior to a senior and fails to pay senior rates, what stops that new senior moving to Company B?
Company A and Company B thus have to pay roughly the same, who did the Junior->Senior transition doesn't matter
Inertia helps. It's common knowledge that you'll get paid more if you switch jobs. Which means Company A gets a discount until the person leaves (but maybe they'll take a matching offer)
That's the normal stickiness of a job, but if you are a junior and you've levelled up to senior you'll likely be looking at a wide number of roles far more than a senior staying still.
Some things are easy wins for retention -- my company gives extra holiday as tenure extends for example, and people of a certain age still have a defined benefits retirement plan which has significant value. The extra holiday costs companies nothing, but an extra day each year really helps, start with say 28 days, but after 5 years you're on 33 days. It's harder to put a monetary value an extra day off, so harder to make the jump-ship calculation.
This has been my pet peeve for a long time now. Just about every job listing insists on seniors only and they companies complain there aren't enough developers.
In software in particular, thresholds have fallen. Maybe "Senior" today is like a junior 15 years ago. (Some interns out of college are really sharp, and some can basically work at the "senior" level immediately. Basically, they think logically, and they know how to write software, which they've been practicing through high school and some college.)
Put another way ... most companies just really suck at hiring software engineers, and the ones they hired before weren't good enough, so it seems they need to hire at a higher level ...
> I know because I also switched to work for one of the vendors)
Is that legal in the United States? In many European countries, you can't just leave your employer and go work for a client/partner due to the potential of you using the business secrets to disadvantage your former employer
Absolutely. You can leave your employer any time you want, and there is nothing they can do about it. You don’t even have to give notice, although it is polite to do so. And you can go work for their competitors too, unless you signed a contract ahead of time in which you promised that you wouldn’t. Even then, that may not be enforceable.
> "About one in five American workers—approximately 30 million people—are bound by a non-compete clause and are thus restricted from pursuing better employment opportunities. A non-compete clause is a contractual term between an employer and a worker that blocks the worker from working for a competing employer, or starting a competing business, typically within a certain geographic area and period of time after the worker’s employment ends. Because non-compete clauses prevent workers from leaving jobs and decrease competition for workers, they lower wages for both workers who are subject to them as well as workers who are not. Non-compete clauses also prevent new businesses from forming, stifling entrepreneurship, and prevent novel innovation which would otherwise occur when workers are able to broadly share their ideas. The Federal Trade Commission proposes preventing employers from entering into non-compete clauses with workers and requiring employers to rescind existing non-compete clauses. The Commission estimates that the proposed rule would increase American workers’ earnings between $250 billion and $296 billion per year. The Commission is asking for the public’s opinion on its proposal to declare that non-compete clauses are an unfair method of competition, and on the possible alternatives to this rule that the Commission has proposed. "
Even in Europe it can be legal, depending on exact contracts. Especially moving along outsourced "trusted" companies, sometimes it's seen as essentially divestiture of business unit into another company, etc.
I came to say much the same thing, but specifically about IT.
I used to run architectural ideas by operations people who would - and occasionally did - tell me I was full of shit. Maybe 1 in 10 of us are brave enough to to this, 1 in 6 if we are generous, but now there is nobody to tell us we are being stupid before we steer the ship toward an iceberg.
Yes, it feels like a certain project that was foisted upon me.
Fixed price SOW with a vendor to build a thing my firm didn't have domain knowledge in.
Paid them to design a thing, then paid them to implement the design, as well as project manage themselves. SOW lacked meaningful acceptance criteria / objective tests.
Of course, it was non-stop debacle of new things being discovered during implementation. Weekly status calls just turned into recrimination sessions with fingers pointed in all directions as to who is responsible for the time/cost.
I've worked at 2 companies now that have been eaten by bigger ones and pretty much instantly moved to lower income countries. Both in manufacturing, one in aerospace.
> they explained how they believe that the US will never regain what it has given away, in the last couple of decades.
Sure we can. It requires pivoting into stealing or otherwise replicating China's insane level of industrialization, but it's a little funny seeing people become despondent at the idea of merely losing clear economic hegemony over the world and becoming #2. We didn't lose anything in the last 5 decades we can't gain back faster.
Here's hoping China's reign comes with fewer invasions.
I believe in something called "Social Infrastructure"[0]. That's basically what folks might label "tribal knowledge," but it goes far deeper.
This is something that takes generations to build, but can get lost, very quickly.
Folks, these days, aren't actually any smarter than our ancestors. We just have a vast social infrastructure that raises the baseline for our starting point.
The US has not lost industry. We have lost unskilled and semi-skilled grunt labors, but there is a lot of manufacturing happening here and a lot of expertise. If you want to cut a piece of metal by hand to high accuracy - sorry we have moved all that to CNC (often laser) cutters and nobody remembers how to do it anymore. However if you want to take those cut parts and assemble them into something - there is plenty of expertise to be had.
> If you want to cut a piece of metal by hand to high accuracy - sorry we have moved all that to CNC (often laser) cutters and nobody remembers how to do it anymore.
That's just the tooling keeping up with the times. The Chinese don't do this by hand either.
One cnc today machine does the work of 100 1950s men. (1950 so no women) that is the point, those factories still exist in the us, but with far less people in manufacturing
first of all, there's no point in having all kinds of low-added-value industry in high-income places as long as there are millions of people willing and able to do it all in the same place close to a port.
second, US industry suffers from two major problems. protective tariffs keeping productivity low, and the 'exorbitant privilege' of the USD being reserve currency of the world, which counterintuitively hurts export of every non-finance sector
First of all, yes there is, because it creates a culture of hands-on expertise, and appreciation for how the real world works outside of a spreadsheet.
Second, productivity in the US is fine. The problem is the profits are very unevenly distributed.
You can't run a consumer economy by underpaying your consumers, forcing them into debt, and bankrupting them with - for example - health care costs.
Third, the kindest thing you can say about outsourced manufacturing is that it's strategically unwise. It's good if you want cheap Chinese chips with unknown abilities in your military and civil infrastructure, but not so good if you stop to wonder if perhaps that isn't all that good an idea.
the claim was that the US has lost its industry compared to China. which is ridiculous when looking at the numbers, but understandable if someone is misinformed (because they only know about the rust belt, let's say)
what I'm trying to point out is that having a first-class industrial base, with enough experts, well running supply-chains, and so on, is different from eclipsing China in straight to trash gadget output.
that said, of course, as the article and the comment section clearly shows there are a lot of high profile cases where the trope of bean counters ran the business into the ground has been very unfortunately true.
productivity of the whole economy is fine, but aggregates hide a gigantic mountain of first- and second-order effects that hurt millions directly and indirectly. (as you mention wealth, income, health and other kinds of inequalities are mostly reinforced by a lot of powerful systems. and, just to emphasize this, US social mobility is on par with Spain's, despite the latter known for generous welfare programs, but almost all developed countries have serious tensions between rural-urban groups, generational wealth transfer due to real estate prices spiraling out of control, and so on.)
there are other countries besides China, and there are other sectors besides pew-pew and let's say nuclear power plants, or train safety systems.
the obvious (well, of course not to everyone) problem is that there's no serious effort for economic integration with US allies. the US still has a lot of protectionism dressed up as national security. from the Jones Act shenanigans (oh think of the shipbuilders, oh only one left basically in a zombie state), and the baby formula oopsie (oh think of the horror of Canadian baby formula or European, but no Abbott knows best), and there's some pork for the textile industry too, and so on.
> what I'm trying to point out is that having a first-class industrial base, with enough experts, well running supply-chains, and so on, is different from eclipsing China in straight to trash gadget output.
Absolutely true! But we're nowhere near able to do the latter, so what's the point in caring?
> social mobility
Unrelated, but this is a misnomer. The correct term would be "economic mobility". Social concerns are necessarily orthogonal (i.e. intersectional) to economic ones. I understand that social mobility is the common term but it's extremely disingenuous when it only intersects with social interests through economic interests.
Economic mobility is also strictly less interesting than wealth disparity—being able to move up the social ladder doesn't matter much if there's still self-aggrandizing ghouls controlling most of the economy and the market fails to represent the public.
what are you talking about? the public buys shit from China and uses Amazon, and votes for idiots who then dismantle the rest of the system around them. sure, we can console ourselves that it's not the majority, but hundreds of millions of them are part of the problem.
... if you automate it there's even more things to learn, of course.
this is not a black-and-white thing, outsourcing makes sense in many cases and doesn't in others. the automotive industry does it for quasi-standardized components. (and there's a competitive market, for airplane parts, not so much it seems.)
and on top of all this for things that have inherent safety critical aspects there is no real difference between outsourcing or doing it in-house, there's a need for controls (organizational, quality, independent testing lab with random sampling).
the fucked up process of gutting companies for short-term profits happened just as well for non-outsourced departments too.
as industries mature, companies grow and became organizationally more complex training and advancement itself becomes a challenge. (and many companies just put their heads in the proverbial sand, and hire clueless recruiters - or outsource it - and end up with paper tigers, who have absolutely no idea WTF is going on in the company, but quarterly reports look amazing.)
...
finally, if market forces push for short-term thinking (and simple, wrong, but fancy 'solutions') that's what we'll end up. and if society and politics also has the same mindset it's not surprising that industry will mirror it. (and to overuse the overused cliché gestures wildly )
> there's no point in having all kinds of low-added-value industry in high-income places
The point is economic and social stability. If you don't value that over short-term economic efficiency (i.e. profits), of course, I can understand why you would be resistant to this line of thought.
Also, this betrays your belief that "high income places" have significant-added-value compared to low income places! I don't believe this is true, especially over the long term. This is an illusion formed from wealth-extraction.
Whats most interesting to me, is he's a former DAC person not a former Boeing one, and he saw first hand how outsourcing harmed DAC/MDC - particularly this section which caught my attention:
"The correctness of the author's position' on these matters is easily confirmed by two facts. It was the suppliers who made all the profits on the extensively out-sourced DC-10s, not the so-called systems-integrating prime manufacturer. (The same thing has happened on aircraft assembled by Boeing, in Seattle, too.) Also, when plans were being formulated for the proposed MD-12 very large transport aircraft, almost all potential suppliers indicated a preference for being subcontractors rather than risk-sharing "partners". Could they have known more about maximizing profits, minimizing risk, etc., than the prime manufacturer who sought their help even though it could borrow money at lower rates of interest than potential suppliers could? The DC-8 was manufactured and assembled almost entirely within the Long Beach plant, with only the nose coming from Santa Monica. That policy was changed after the acquisition of the former Douglas Aircraft Company by the former McDonnell Aircraft Company, but the change did not improve the company's profitability. It is time for Boeing to reverse this policy."
This closing also caught my eye -
"The fate of the former Douglas Aircraft Company, which was reduced to a systems integrator in the early 1970s by excessive outsourcing of DC-10 production, is a clear indicator of what will happen to other companies which fail to sustain the conditions under which it is possible to launch new products. It is hoped that this sacrifice can save the new and expanded Boeing from a similar fate."
Boeing in the end took the track that led to DAC functionally going out of business, putting thousands out of work in the end. It's not too late to undo it however - buying Spirit back would be one way to go about doing it - but I dont know if the Boeing management is aware enough being that the headquarters is in Arlington, VA, far away from any engineering or manufacturing centers that this is what must be done.
The problem is that Spirit is much bigger then it was, and Boeing doesn't really have the money to buy Spirit. And in addition, Spirit is supplier to Airbus as well, and they wouldn't want Boeing to have it. They might even buy Spirit themselves.
I saw another one of his gems the other day in another thread:
> “The performance of the prime manufacturer can never exceed the capabilities of the least proficient of the suppliers,” Hart-Smith wrote. “These costs do not vanish merely because the work itself is out-of-sight.”
> Retain sufficient in-house production manufacturing that it is possible for future engineers to acquire the skills needed to develop new products, without which all businesses will fail. Even the work that is out-sourced requires internal expertise to write the specifications.
Damn, that really reminds me of a previous company I worked for, that wanted to replace important core internal libraries with open source libraries. My argument was always that we should always have in-house knowledge of the core technologies. I think a lot of companies fail to think long-term.
> Listen more to your own employees about how to save cost than to any outside business consultants who have never run a factory producing your kind of product. In any event, if the advice they offer changes every year, it cannot possibly be correct.
This one is the difference between management-driven company and engineers-driven company.
Open source is different, in that you as a company can become maintainer and therefore expert of that component _and_ profit of other work being upstreamed. In case the library is not your USP, I think it's not that clear cut.
Or in the context of Boeing, Boeing shouldn't be in the business of making its own bolts. An internal lack of bolt expertise isn't what caused the door plug to fly out.
Unique Selling Proposition. If the thing the library implements does not substantially differentiate your company from others, it's a candidate to be maintained as open source project. For example, just become an expert ffmpeg user if you're a live streaming service. Your USP is your content, transcoding just needs to work. In contrast, if you're Dolby, that would probably not be the right strategy.
I can hire people who have expertise in oss libraries. I have to build people who have expertise in our in house stuff.
Importantly, we can sit around and bond over bitching about how bad one of those libraries is. If the authors are or were internal, we are now being divisive and unprofessional.
> Retain sufficient in-house production manufacturing that it is possible for future engineers to acquire the skills needed to develop new products, without which all businesses will fail. Even the work that is out-sourced requires internal expertise to write the specifications.
This x1000 is what has led so many large government projects - no matter if in IT, construction, healthcare, military - go completely nuts.
When there is no one to write the specifications, the "consultants" writing the specifications instead will write them in a way that allows their closely related industry friends to deliver bullshit, and since the government doesn't have experts any more (because they are "too expensive" for shoestring budgets), it can't realize that it's being led by the nose.
When there are no experts to audit a project, no one can detect bullshit being designed, built or delivered until it's such a colossal failure that it cannot be hidden any more.
When there are no experts to maintain a project that miraculously got completed and delivered after years of delays and billions of overruns, eventually even the best project will go and rot.
And even in the private sector, this same concept holds. Just ask any F500 employee whose company "outsourced" their IT or anything else not "core of the business" to India or Pakistan to the cheapest bidder, or their building cleaning service or facility management, about what service quality they receive and how much upper management cares about that.
The general ideology of outsourcing everything that's not "core of the business" is the single utter scourge of modern ultra-capitalism.
If you squint, could apply some of those observation to the world of software.
For a TL;DR just skip to Hart-Smith's recommendations list at the end of the paper. Here are the ones I liked:
> Look continuously at the entire activity. Do not minimize costs in isolation. Understand that one global cost minimization is worth far more than even 20 sub-optimum cost reductions.
> Retain sufficient in-house production manufacturing that it is possible for future engineers to acquire the skills needed to develop new products, without which all businesses will fail. Even the work that is out-sourced requires internal expertise to write the specifications.
> Acknowledge that cost-saving techniques that work in other high-volume industries are often quite inappropriate for low-volume industries like aerospace.
> Listen more to your own employees about how to save cost than to any outside business consultants who have never run a factory producing your kind of product. In any event, if the advice they offer changes every year, it cannot possibly be correct.