Agile, Ultra Agile, or Anarchy – An inside look at Facebook Development

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?

About these ads

, , , , ,

  1. #1 by Stuart Lynn on February 2, 2011 - 11:31 pm

    Here’s an interesting twist on the above, what if the developer and the user are one in the same? Can we assume that Facebook developers are also Facebook users… In which case how does that change the role of the Product Manager?

    Traditionally the Product Manager is the interface between the user and the developer, but not necessarily so in this case, or in the case of developers building development tools. Who knows what the product needs best other than the user?

    Thoughts anyone?

  2. #2 by Craig on February 3, 2011 - 11:22 am

    After reading halfway through this article my mind was set on agreeing that since the developer is the user who better than to know what additional functionality not only are technically possible but rather sought after within the application from the market place.

    As soon as you bring up the question about anarchy it does suggest that it is definitely not a great idea to have developers determining their own direction even though I am certain some of the ideas that are generated will be fantastic and really build great future platforms and functions.

    The big question is the future role of the Product Manager, who will then focus on what functionality produce good ROI as this in my eyes is always a topic that comes up in all scenarios. So the role of a Product Manager might just have to evolve and not only ensure that some order between user/developer or development direction is maintained. In addition the Product Manager will have to be focused on the business driver ensuring functions will bring ROI into the development platform as opposed to having nice to haves without any business need.

    • #3 by Stuart Lynn on February 3, 2011 - 12:55 pm

      Thanks for the comment Craig,

      You make a great point here about the ROI and the role of the Product Manager.

    • #4 by Steve Mallam on February 3, 2011 - 1:04 pm

      That point on Product Management’s role focussing on ROI is an interesting one. How does one determine the ROI of a particular feature or change in a business where revenue is (almost) entirely ad-driven?

      It’s tough enough for shrink-wrapped software, but when revenue depends entirely on signing up users, keeping them on the site and encouraging ad click-throughs the connection between new functionality and ROI is pretty nebulous.

      Taking that thought to an extreme, does it even matter what the new functionality is? Is change in and of itself sufficient to keep people on FaceBook? Sounds daft, but just look at the amount of effort people put into “change it back” campaigns within FaceBook itself!

  3. #5 by Craig Blumberg on February 4, 2011 - 12:05 pm

    I think that’s the point, which functionality will deliver a platform to allow for more companies wanting to put ads onto Facebook as well as users staying “addicted” to the social site. So for example Facebook have Facebook discounts aka “Places Deals” now where users can locate deals around their area or where ever they happen to be.

    This type of functionality would be something business driven and not necessarily development driven. So while ROI is very difficult to determine in a model likes Facebook’s it is without doubt something that is taken into consideration else Facebook becomes another stale social networking platform where companies cannot harness the vast number of users or target market segments with very little effort. And at the same time making users continue to use Facebook as they believe they getting the best deals and using Facebook as something more than a social networking site.

    An interesting question is which area i.e. Dev or Product Management came up with the “Places Deals” app. Idea?

    • #6 by Stuart Lynn on February 5, 2011 - 12:33 pm

      Thanks Craig,

      Great question, I guess only Facebook will have the answer for sure.

      However, another thought struck me, if you just let everyone build what they want when they want to, how long before the product becomes cluttered and unwieldy (Facebook is already starting to suffer IMHO), or before the product loses its soul and initial purpose in life?

  4. #7 by Craig Blumberg on February 7, 2011 - 11:07 am

    Stuart, I fully agree with you on both points. In my opinion Facebook is already too “busy” and they are looking at many more streams to keep both users and businesses interested. So have they already moved on from only the core purpose of the site (or have they if there core purpose is to attract and keep users on it?). It’s going to be interesting to look back at this blog in a couple years and see what direction Facebook has gone in.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 1,468 other followers

%d bloggers like this: