Kickstarting libraries of shared React components for multiple teams

A presentation at React Foo in in Bengaluru, Karnataka, India by Xavier Lefèvre

In a company, as the technical teams grow and work on different projects, the question of creating a set of common components naturally arises. This is what happened to us: over the years different teams redeveloped very similar components, from simple UI elements to complete business features. 9 months ago, it was time for us to take a step back and think: how can we do better?

This talk will present you our journey toward:

  • What we’ve tried in the past… and the reason behind many failed attempts. 😢
  • The technical design that worked for us, a mono-repository architecture with helpful tooling: Lerna, React, Flow, Yeoman… 🤓
  • The indicators and processes that we set up to ensure that we maintain a good quality and speed of development. 📈
  • And finally, the most important: how to onboard other teams in this long running task. 🧐

Today, five teams re-use and contribute to our common libraries on a daily basis, and other departments are expressing a big interest in it. And we even worked through extracting performance indicators, proving us that it was worth maintaining such a collaborative project - that could help you convince your co-workers that it’s worth investing time in such a project. You won’t regret it!

Video

Buzz and feedback

Here’s what was said about this presentation on Twitter.