Well, it's to make money by shipping software (or whatever the company does).
If the goal of a company was just to make money, full stop, then all companies would just do the same handful of most-profitable activities. But what we actually see is companies doing an enormous range of different things, with an equally huge range of levels of profitability.
I think it's overly reductive to say that the only purpose a company has is to make money.
> I think it's overly reductive to say that the only purpose a company has is to make money.
Yes, but also no. It's a simplification that is amazingly accurate, it does help to think of different companies as thinking about money on shorter or longer timespans.
As someone working in big tech, I have to say that for certain features I would much rather ship the right 10,000 lines in 6 months than 100,000 lines of the kind of wrong thing. The cost of being even a little wrong at the scale my company operates at is eye-watering.
We had two teams do a bit of what you describe over the course of six months, shipped a lot without building much alignment. We are going to live with the cost of those decisions for a minimum of 5 years.
The lower bound of the cost of working around their mistakes right now is equivalent to... 80 engineer years maybe? Because now we have customers who rely on some insane functionality they built that we are contractually obligated to support (and spiritually want to maintain good faith) and it will infect a bunch of other systems that will now have to integrate with their choices and take on that tech debt.
Absolutely. But I think it's still worth talking about productivity in the sense of how much are you investing for the additional value you're generating.
In the context of this discussion and your comment, wouldn't it be better if those teams were aligned and productive? Is that just not possible in large orgs/software or is it just poor management?
I think it's just unusual to have enough information to be able to plan up front. There are two aspects:
1. Do we have all the information to make the right product decisions now?
2. Do we have all the information to scope all the technical work?
Both are unusual and the second requires the first. It's not that it never happens (A nearby team in my org did it over the last six months) but this has become harder to achieve as the complexity of software has increased.
We need to be more specific than "make money". The purpose is to maximize the discounted cash flow. I.e. to max out the present value of the company's profits over the life of the company, or in other words, max out the value of the company.
That means that you might engage in R&D for projects that have a chance to become really big in the future. It can also mean pursuing an ever larger range of smaller profitability projects (still adds to your profit).
This may not be what the CEO is optimizing for. Even assuming a CEO is an all knowing oracle in terms of predicting future profits and even assuming they are aware of all the details of what a large company is working on (hint: they're not either). The rest of the organization has a life of its own as well with individuals optimizing for different things that are rarely in perfect alignment with the company's goals.
On top of all that, shipping software may not be the business driver. Promising things, demos, good salesmanship, may all contribute to a business more than "shipping software". Look at Tesla's "FSD". I.e. it's not even clear that shipping sooner with amazing value/quality to the end user drives the business side that strongly. Often software is not sold directly to the end user. Even when it is the end user may have other things driving their money spending decisions. I would say it likely can be a driver but you also need the kind of organization that is able to leverage that in the market.
If the goal of a company was just to make money, full stop, then all companies would just do the same handful of most-profitable activities. But what we actually see is companies doing an enormous range of different things, with an equally huge range of levels of profitability.
I think it's overly reductive to say that the only purpose a company has is to make money.