Why offshore teams need Design Systems Engineering

Recently I worked on a project where most of the dev team was housed offshore. That in itself is not a problem, I love my offshore buddies, but it presents an interesting set of problems. Problems that can be largely solved by using Design Systems Engineering.

One of the biggest issues is the time difference.

Even if you are just separated by a few time zones, it makes meetings just that much more difficult.

Additionally, East Coaster at the end of their day might feel and operate a bit differently that us West Coasters who just hit up our local favorite coffee shop.

One might be thinking about how they are going to spend time with their family, the other might be fired up about getting some serious work done.

Now when you go across many time zones, even if you match your work hours, you will still run into issues.

So meetings are tough; you have to make the most of them.

One important way to do that is to make sure everyone is working from the same playing field.

One of the best things you can create is a maintained set of front-end code. At a minimum you should have at least 5 major templates.

Additionally, your team will run into issues where they need an extra modal, or an alert, or a badge. This is where a living (or coded) styleguide can come in really handy.

Even if you are extending a framework such as ZURB Foundation or Bootstrap, it is important to display common elements in their final coded form.

Ideally you want the trifecta of truth:

  1. A coded example
  2. What that example looks like rendered (bonus points for it being html / css based)
  3. Some basic documentation about what it is, what it does, and how to use it (extra classes, options, etc.)

Now, imagine having these tools in place.

No longer will you have to answer questions like, how do I code that button. Or, where is that icon for the alert. Or, what font should I use.

Focus on what your team does best. Build on your individual strengths.

In American Football (which can be quite confusing to the uninitiated) you have specialized roles.

You have the quarterback. He pretty much throws the ball based on the play. He is awesome at throwing that ball. He can throw it faster and more accurately that anyone else.

But what about field goals (kicking the football through the goal), punts (just kicking the ball down the field) or kickoffs (pretty much the same as a punt but from a defined spot)?

Sure, you could put your quarterback there. Why not? He can kick.

But the problem is that he can’t kick as well as the kicker.

They become a better team and win more games by focusing their directed roles through a common strategy.

This is what Design Systems Engineering can do for your team. 

It helps you to simply do better work.


Also published on Medium.