| What you mean is it's extremely difficult not to produce shit software with a setup like this, even though paradoxically the theory is that this should produce higher quality software. The reason for this is something called tacit knowledge. The only way for a developer to be successful is if they have the same level of understanding that product does. Since they don't, product needs to be the one implementing. Since neither happens, you get shit software. The solution is either product starts implementing or software developers stop being treated as line workers. product used to be three roles that worked together. software dev, business analyst, and marketing. And depending on the size of the company, business analyst and marketing often means working directly with business because that's who collaborates between those two. There is no value-add in product, the theory has proven out to be untrue. Give it another 10-20 years and we'll be reading articles about how the "smart" companies are doing away with product and giving it back to the other roles and asking them to do something crazy like talk to each other. |
I'm talking about a company building software products they sell, eg an enterprise software product like salesforce, google cloud, aws, splunk etc. Not internal software or software built for a specific client.