Around the same time that I wrote my last post “How to make Agile work for product development… It’s all about the people” a colleague sent me a link to an interesting and insightful post by @yeeguy on “How Facebook Ships Code”
I found this post fascinating and I’d recommend you take a few minutes to read it. So why not just retweet the link? Well, I wanted to add my own observations. On whether Facebook have turned Agile into some sort of Ultra Agile concept or if this is more akin to Anarchy?
As an engineer myself, it’s interesting to hear that 50% of the Facebook workforce work in engineering and Operations:
The two largest teams are Engineering and Ops, with roughly 400-500 team members each. Between the two they make up about 50% of the company.
So, they are heavily investing in the platform which is a good, or is it? I have to tell you that when I look at Facebook I can’t help wondering what a team of this size is actually delivering, unless of course one assumes they are working behind the scenes on the next generation. Anyway, let’s not get hung up on that, when you value the company at $50Billion you can afford to set fire to a pile of cash along the way. This next bit is even more interesting:
Very engineering driven culture. ”product managers are essentially useless here.” is a quote from an engineer. Engineers can modify specs mid-process, re-order work projects, and inject new feature ideas anytime
WHAT!!!!!!!, now whilst I openly profess that developers should take accountability for their own work, if we take this insight on face value what Facebook engineers are doing here is not Agile, it’s scary, very scary, especially if it’s pervasive across such a large workforce… I can only assume that anarchy prevails in parts… or that for every piece of code that makes it to the live environment a bucket load of wasted development goes down the drain.
I would also strongly contest the statement that “product managers are essentially useless here.” On the grounds that if people think that, and unfortunately I’ve met many engineers who do, then they don’t understand the function or purpose of Product Management.
In my experience this normally stems from an internal power struggle whereby the Product Manager believes they call the shots, and are opposed by an Engineering Manager who believes they call the shots. I’ve even heard Product Managers say, “we are the conscience of R&D” sounds great doesn’t it… erm no!!! A “we are watching you comment in any guise” says loud and clear that we don’t trust you and it kills relationships. My stern advice to these types of people on both sides would be to grow up and get over yourselves… My belief is that Product Management isn’t about the role it’s about the function, in exactly the same way that Development Management isn’t about the role it’s about the function.
However, all is not lost with Facebook, as another quote seems to support Product Management:
Product managers have a lot of independence and freedom. The key to being influential is to have really good relationships with engineering managers. Need to be technical enough not to suggest stupid ideas
I really like the good relationships piece, albeit the last bit seems to make this somewhat of a backhanded compliment. Whilst I believe there is no such thing as a stupid idea, I also believe that Product Managers and Development Managers need intimate knowledge of their customers, their platforms and their organisation… if they have this then they work really well together and you tend not to get stupid ideas.
So all that said, someone somewhere in Facebook must believe in Product Management, because get this:
Product manager to engineer ratio is roughly 1-to-7 or 1-to-10
Wow, for a company that doesn’t seem to value Product Management they sure have a lot of them on the payroll. From my experience American companies tend to have a higher ratio of Product Managers to developers than European Companies, but this seems high even by that standard.
Facebook sounds like an interesting place to work, I wonder what the holidays are like?