How Risk is Managed at Facebook
Arash Arabi
Best-Selling Author | Agile Coach | Project Manager | Head of Software Engineering | Taekwondo World Champion
Risk is characterised by two properties. The likelihood of an event happening and the impact of that even.
Let’s say Facebook wants to introduce a new feature, if something goes wrong during their release, they will be annoying almost three billion users. In this example the impact of the risk is pretty high. If something goes wrong three billion users will be unhappy.
The traditional mentality is if you want to avoid annoying billions of users you need to reduce the probability of mistakes and stop things from going wrong. So, you need to be very rigorous in your design and spend a lot of time ensuring you have thought through every possibility and ensure everything is going to be perfectly orchestrated.
This approach usually results in lots of sign offs, approvals, red tape, and a waterfall approach to delivery. This approach is inconsistent with the act-and-learn and safe-to-fail agile delivery model. So, what is the alternative? How can Facebook create an environment of creativity, innovation, and agility while managing their risks when delivering highly complex solutions to billions of users?
Instead of focussing on reducing the likelihood, they focus on reducing the impact. They are basically creating an environment where it’s ok to make mistakes. Instead of releasing their new features to all their users at once, they only release it to a tiny subset of their users. And then incrementally roll it out to the rest of their users.?
领英推荐
So, today, I invite you to think about how you can reduce the impact of the risks in your project. How can you create an environment where it is ok to take risks and make mistakes because the impact of those risks are small and manageable?
This is not to say we should completely ignore reducing the risk likelihood. Rather we want to focus on reducing the impact first and then focus on reducing the probability.
Please let me know in the comments how you reduce the impact of risk
CEO Corporality | Global B2B Conference founder | Public Speaker | Automation Expert
2 年Arash, thanks for sharing!
Data Driven Agile Practitioner | Product | ICP-ACC
3 年"Instead of releasing their new features to all their users at once, they only release it to a tiny subset of their users. And then incrementally roll it out to the rest of their users.?" - This is the old idea of piloting that still holds true. In today's world, you can set up multiple versions of production using a feature flag and/or an A/B testing approach. It takes effort and investment in energy to get this this place but it's worth it.
Microsoft Dynamics 365 Consultant | .Net Developer | Development Team Lead
3 年Hi Arash. This is not a great response by design, but I think it’s what many organisations use: Have additional support on call for a brief period when features go live; ready to respond quickly. This includes some of the key people involved in delivery - make sure they’re not booked out on other work straight after the go live.
Senior Project Manager, Delivery Lead for Global projects
3 年in projects, I advocate the need to incrementally roll-out; not for all features, but for those features/releases that have a design impact and/or infrastructure impact.
Scrum Master at Prezzee
3 年Yes, this is a good point Arash. More broadly, I'd say that underpinning Agile is a proactive approach to risk management; visualise and mitigate risks early and often. I'd also add that agile approaches treat different types of risk differently from traditional approaches. For example, we manage schedule risk through slicing, empiricism and releasing early and often. We manage technical risk by bringing forward hard technical challenges (doing earlier and more often), using test-first approaches, baking the pursuit of technical excellence into our culture, etc. We manage social risk by focusing on individuals and interactions; creating humane, supportive environments, etc.