December 12, 2019

Day 10: Design system' components & Flexibility

As a design author, you will get stuck to decide how much components should be flexible? What flexibility means the end consumer (developer) can extend the component, change the style, functionality and edit it as per their requirement. So, how much flexible your Design system should be? or it should not be? Let's see

I missed posting yesterday hence...I will post till 26th Dec now!!

Check the old posts related to #25DaysofDS here.

The main purpose of the Design system is to provide reusable components that are following the code guidelines and guarantee the best code. However, when you let your components to be flexible you are actually letting them move away from the code-guidelines and quality that you as Design system author providing them. It is definately a risk not just for the devs who are customizing your components but for you too. You need to now support endless tickets coming might be only because devs have used the wrong code, customized the components by using the wrong code. As design system author now your team's energy and time will be wasted into those issues which could be avoided if you haven't let them provided flexibility.

Flexibility should be very limited to the components eg: components can only accept the boolean flags to change the components behavior or any other flag, content such as label, heading, etc, class names to control the styling. The moment you provide any flexibility to change the code, you are compromising the code quality and guideline of the Design system.

So, should we or should we not?

We should limit the flexibility and do not let the devs (consumers) to modify the code.

No comments: