[Video] – Agile Scrum at Facebook

Video journalist Craig Duff took a look inside Facebook’s engineering department for a whole day and we got to see a very Agile process at work. This video came with good timing as we wrote about Mark Zuckerberg and Agile just last week.

Peter Deng meets with the data team in the afternoon and as a Product Owner works closely with the team giving direction and course correction as needed. Very cool!

“Being all together in one room with PMs, Designers, and Product Owners helps.” – Josh Wiseman, Profile Team Engineering Manager

All the engineers at Facebook enjoy working closely together.

“We try to move very quickly here at Facebook and get user feedback very quickly.” – Peter Deng

Every action by Facebook users are recorded and used by the engineering team to understand how to better build the UI and educate users with educational text. What you’ll find on the Facebook engineering page is exactly that, a very fine-tuned process of collecting data, iterating, changing, and moving quickly to customer needs and demands:

Move Fast

The best way we have to deal with these surprises is to have engineering and operations teams that are flexible, and can deal with problems quickly. Moving fast also allows us to try a lot more things, to see which ones actually work out in practice. We’ve found that maintaining this flexibility is far more important than any particular technical decision.

Change Incrementally

The best way we’ve found to keep moving fast is to make lots of small changes and measure what happens with all of them. This doesn’t mean we don’t do big things, it just means that whenever possible we break them into as many distinct parts as possible… Even when we have something that can’t be broken apart in terms of functionality we try to roll it out incrementally. This could mean a few users or a few machines at a time…The thing that’s great about incremental changes is that you know as quickly as possible when something isn’t going as you expected. This ends up, counter-intuitively, making it easier to keep the system stable.

Measure Everything

Making lots of small changes and watching what happens only works if you’re actually able to watch what happens. At Facebook we collect an enormous amount of data.

Small, Independent Teams

We have three people working on photos. Each of those three people knows photos inside and out, and can make decisions about it. So when something needs to change in photos they get it done quickly and correctly.

Control and Responsibility

None of the previous principles work without operations and engineering teams that work together seamlessly, and can handle problems together as a team.

The person responsible for something must have control over it.

At Facebook we push code to the site every day, and the person who wrote that code is there to take responsibility for it. Seeing something you created be used by half a billion people is awe inspiring and humbling. Seeing it break is even more humbling. The best way we know of to get great software to these 500 million people is to have a person who understands the importance of what they’re doing make a good decision about something they understand and control.

Sounds like Facebook is doing things right. I guess Zuckerberg knows how to build software better than most, and he begins with allowing his developers to design it.

20,000+ Subscribers and Growing!

Our Mission:

AgileScout.com is a Software Development News site dedicated to providing valuable articles, reviews, interviews, and commentary on relevant technology related issues.
We exist to serve the community!
Thanks for dropping by and don't forget to subscribe (you can subscribe individually to different RSS categories).