The Product Culture Shift
elidedbranches.com
elidedbranches.com
Thinking of in-house software as a product is not all that useful. It's not a product. It does not have real pricing. You can't sell more of it and increase the customer base. You can't drop money-losing products. Cost centers do not have the same incentive structure as profit centers.
Here's a classic memo on that subject.[1]
[1] https://www.fourmilab.ch/autofile/www/section2_40_3.html
For that matter there is a bunch of interesting stuff at the fourmilab site.
> It does not have real pricing.
It absolutely does have real cost pricing, in terms of the number of engineers working on it! This is why internal tools or developer productivity teams at the typical Dunder Mifflin Paper Company style orgs are chronically underfunded, and generally seens as a joke by the business people — which naturally leads to bad hires and a generally weak effort in that direction. It's self-fulfilling downward spiral.
A bunch of modern companies counteract that by treating internal tools and developer productivity as a product, which communicates not just the cost, but also the effective advantage that the company gains, and improves it over time just like the company's external-facing products would.
> You can't sell more of it and increase the customer base.
There are innumerable exceptions, but a single 27 billion dollar one is Slack, which started off as an internal tool [1] for Stewart Butterfield's company Tiny Speck.
> You can't drop money-losing products.
Wrong! In fact, you can absolutely drop "money-losing" products that don't have enough internal customers, and do a much better job than a tired team without a product mindset complaining that "no one uses this tool anyway" as they try to fix a ticket that was filed 7 years ago.
> Here's a classic memo on that subject
I don't know about "classic", it seems to be the experience of one company selling proprietary software that was founded 40 years ago, and very likely has a captive market due to a first mover advantage. I strongly counsel anyone starting out today against having over-applying this narrow "What business is the company in" mindset. In my experience, it encourages frat-house "I am working on the real product" attitudes, and destroys internal productivity, because zero people are incentivized to think positively about that.
----------------------------------------
The key for me has always been: talk to your users. If your software engineers don’t know at least some of the users on a first name basis they need to step it up. Software engineers are generally a well educated bunch who are capable of listening to users and prioritizing work when given the chance.
A good product manager is going to know that and work with the team to provide extra support above and beyond those capabilities. They should enable teams to scale with the number of customers but not be the single point of contact with them.
It’s all about communication and playing broken telephone with error reports, requirements gathering, etc is a quick way to lose team effectiveness over time.
Imo the problem with Product Manager is it's a catchall term when there are 4 types.
Research, OPS, UX/UI and technical. They are all very different in their execution and value but they are seen by some as 'you manage the backlog but with data to prove my ideas aren't wrong'
Zero point of having a PM if this is how they get deployed.
It's too bad as the role, when assigned and matched well, can cut through to the core pain points.
Also 100% agree, you want to talk to high, medium and low supporters to get a good map.
For one I worked at, I deployed receptive.io (now part of Pendo) and it showed every customer demographic wanted a specific feature and ALL their great ideas where shit on by the users.
The echo chamber at C level is, imo, the reason PMs get sidelined.
I spent a lot of my time at my last job trying to ascertain the business value of strategic projects - for which there appeared to be no business cases - while explaining to my end users who had strong businesses cases why their projects wouldn't be completed any time soon. Eventually it became clear that I was supposed to just make up some numbers to justify the work on the strategic projects; business value be damned. C level sometimes forgets their big ideas have enormous opportunity cost involved, and that they, too, should be able to justify the EFTs.
Drawing multiple scenarios of new strategies, talking to customers, setting up market research and getting sometimes pushed back hard is a fulltime job. And I didn’t even get started about traveling globally to meet customers and go to conferences. I just barely can keep up on the side with new technology and trends.
A good PM should be able to do this grindwork and get as much as possible insights to bring it to engineers and bring engineers closer to customers.
I think one doesn’t need multiple PMs and especially not PO to only groom backlogs, here I agree with you. But there is alot of work in dealing with uncertainty, ideas, strategies and put onto paper to have good discussions/discovery.
I’m suggesting that developers should know some of their users as people who use their software and talk to them semi-regularly. Especially when your company is small and still trying to find a market fit.
You hit the nail on the head: developers aren't well versed in customer and office politics, and most of them don't want to be. I am, as part of my job, and I know who is trying to muscle their pet project into the next sprint. I am the buffer; the diplomat and negotiator; and my team seems very happy with this arrangement.
I have both customer support and developer experience. The customers your engineers will know on a first-name basis are probably the troublemakers: the ones who consume $100,000 in support costs for a $20,000 contract; the ones who always have another "helpful" suggestion for irrelevant new features; the ones who have psychological issues and form parasocial relationships with your team because even their own coworkers can't handle them. I have personally seen all these things several times over.
Not to say that dev staff talking to customers is bad, just that it's very human and you have to watch out for all manner of things you wouldn't expect from reading some abstract blog post.
I've seen "must not talk" with a product owner who served to represent the voice of the customer, and incidentally take credit for the work he didn't understand and somewhat obstructed.
Also the same setup in prototype form where I couldn't talk to customers but also there wasn't a shim layer so I guessed what they'd want. That org has now converted to the former setup.
In the current one I don't talk to people who buy our tech but I do talk to their engineers. That gets rather direct feedback on what isn't working, facilitated by both sides improving the same codebase courtesy of open source.
Agile probably had the right idea in that engineers blocked from customers are more likely to build the wrong thing, and sales teams are right to be mistrustful of how the engineer may phrase descriptions of the system.
The open source backchannel collaboration seems optimal for me, at least in the niche where both sides have engineers employed working on the same codebase (llvm in my case but I doubt it's unique).
The bits of Office Space with Tom Smykowski and the Bobs were funny when I first saw the movie, but as I grew older I realized their eternal truth: people hired as customer-engineer intermediaries (whether they're called "product owner", "business analyst", or anything else) get very tetchy when engineers start communicating directly with their user base because it threatens their job security.
I think SMEs and startups should avoid hiring for this role altogether for this reason. The dysfunction it can cause is a great risk companies of this size don’t need to expose themselves to. It leads to bad requirements gathering, designing the wrong specifications, and unnecessary work and communication.
That engineers are all bad at people, have no interest in helping users has many visible obvious manifestions. But wow, I've grown really really tired of this kind of infantalizing dreck. I'd way rather try to find healthy & balanced engineers than work with anyone with this kind of "piss off engineer, we are the real channel to truth & value here" shitshow attitude.
Engineers often have a much more nuanced, complex, & advanced bead on what is possible, where to shoot for, & why it's good than product people. This downtalking article telling us we're bad at making useable things & that we need to change everything is part of a long long long line of corporate hierarchy games & clutching to power.
Edit: fwiw, most of the advice I'd grade as "not bad". But omg please never ever couch it like this.
The post then points out that hiring Product Managers is not a silver bullet, and that a wider cultural change where engineers talk to end users is required. Which seems to be pretty close to what you're arguing for.
"Adding product management to more traditional software infrastructure organizations, sometimes with a shift towards platform engineering, is all the rage today."
So it can be done. Engineering cant exist for the sake of itself - if there is no one or nothing using the engineered system, than the system is meaningless. And without understanding those who use the system, engineering fails.
Then give developers a little more respect and let them do that!
It is telling that the longest chunk of this text is about not hiring too many PMs and the next longest is about better support. Maybe we should hire fewer product mangers and more support^H^H^H^H^H^H^Hcustomer success staff.
Is this a PM telling us why we shouldn't hire for that function? I agree and I'll vote this submission up!