I do think SV puts more trust in their engineering teams to produce polished software, whereas other companies will burn through tons of dev resources over nit-picking or implementing speculative edge-cases.
The devs still tend to have to ask a lot of questions to get anywhere useful but in these situations the P* roles at least give them some traction to work from and get movement.
If you've got good business analysts, this is what they're supposed to be doing.
I think if you have great product people, great business analysts, and great developers, the system of PO-Analyst-Developer can work. The problem is that BAs and product people aren't generally making a ton of money, so the great ones will move on to more lucrative positions, and great developers get bored quickly if they're just given a list of JIRA tickets. So pretty soon, one of the three things breaks down then all hell breaks loose. The product folks don't have a clear business vision. The analysts are soft technically and don't know what questions to ask. The developers are either building a space shuttle when they need a bike, or they don't know how to build the bike in the first place.
The best engineers I've ever worked with and for were constantly asking "why" and would get incredibly frustrated in this "Product Owner runs the backlog" type of organization.
Edit: details. Our devops allies itself with management and kept “business secrets” from developers. It was abbhorant to witness. I eventually introduced functionality into the devops tools and openned it to developers and got bullied (2nd edit: by my own team and management, i was soft bullied: silence treatments, secret meetings without me, lies, etc. i was junior. My own confession: i did the work without discussing it with the team after being told “fuck the devs” by a senior.) to quit.
I’ve never considered it from that angle.
Brilliant.
The article and the conversation here suggests that the Silicon Valley model is a good way to give developers more leverage and also to get more out of them.
That model is generally far from cooperatives and still has plenty of hierarchy.
Getting 'organised' and into cooperatives might still work, I don't know? I'm just saying that the available evidence here points to a very different direction.
(Cooperatives have been tried, and there are some software companies inside and outside of Silicon Valley that work along similar principles. But by-and-large they aren't the companies eating the world.)
Matt Levine's Money Stuff often harps on the theme of investment banks being run like workers' cooperatives in practice.
I don't think a company's purpose is necessary to eat the world but that's going into opinions so I will refrain.
It asked why couldn't development firms be organized like how doctors or lawyers often organize themselves, as partnerships with the PMs, etc like nurses or paralegals.
In some jurisdictions, there are limits that make it harder for outsiders to employ doctors or lawyers and sell their services like you would employ programmers.
(In eg Germany, that even applies to pharmacists.)
Just because anyone can be an engineer, it doesn't follow that we can't form partnerships. I could be wrong, but those doctors and lawyers who are in partnerships don't seem to be using that structure due to lack of employment opportunities under other structures.
Another argument I heard was that partnerships are required in certain fields due to liability concerns so that risk can be contained to individual partners. But this only explains why they must, not why we can't.
A big part of the regulation of doctors and lawyers is the part that keeps the competition out. Google or your favourite startup can't just train up a few neural networks and start dispensing legal or medical advice; even if that advice was much better than what you'd get from your median human lawyer or doctor.
The organisation into partnerships might be more about who's excluded, than what the people in the club are allowed to do?
You are right about liability concerns playing a role, too. And then there's also tax issues.
I agree. I just mention it because the companies that 'eat the world' will be the ones people have heard of. And those are not collectives.
Accepting the value of that behavior requires a great deal of personal and organizational maturity, especially when you want to try something out quickly and your developers refuse.
Sample phrases include: "Why did the customer ask for that - it sounds like our planned implementation won't satisfy their goals", or
"Won't this change mean we operate at a loss to subsidize your other company, which will affect staff bonuses".
I don't get it. Can you explain?
Staff at company A have negotiated a profit share / performance bonus.
Boss directs company A to provide services “below cost” to company B. Company A now has no profit to share; it has been funnelled elsewhere to avoid paying the staff their bonus.
It has slimy tax advantages too, for the company.
If you're getting profit sharing, you should be able to see the books, and have controlling shares, too... IMO.
However, because developers often don't actually want to interface with customers and just want to build cool tech, and charming socialites are very glad to act as that interface, this usually works. As a secondary effect they (non-intentionally) obfuscate the inner workings of the company from the devs who would otherwise (as the GP points out) realise how much they are being (ab)used and turn the screws on the upper management.