Understanding Design Version Control
There are varied methods for setting your design system, but the method I find second to none is Master-Design-Feature method (yeah the name needs work!)
How to setup Master-Design-Feature system?
- Just like in Git every designer on the team creates a branch from the Master with their First Name (for simplicity in distinction) as the branch’s name. For example: Design_John
- Now every designer has their own branch that cannot effect the Master without review, a good practice is to make the branch a feature (functionality, design) branch with the components you need to work on.
- If there are more than one functionalities that you need to work on, create a sub-branch (Iconography or Log-in Screen) to your direct branch (Design_John) from the Master. Work in this fork and then merge into your original branch.
- Commit your features to your personal branch and once it is reviewed by the client or your senior, merge them to the Master.
The guidelines help you in setting up a system that your team can follow and save time required in rework. If you follow above to the letter, you might just pull off a Monet!
How to devise a Unified Style Guide?
Ingenious designs are tolerable when the bulk of labour falls on you but when you need to be in cahoots with designers having styles as unique as Van Gogh and Vermeer your team needs to show a harmony in finalfinalfinal draft.
I’ve formulated a couple of style guides for clients and even for my personal projects. Setting up style guides for small and personal projects is optional but for colossal design projects, your team needs to follow a style guide that they can refer, to maintain homogeneity in the system.
I find Abstract the best tool for this cumbersome task. Once your Style Guide is ready, make that your Master through which fellow designers can apply for pull requests and the symbols and layer styles are visible through the branches in the design system.
How I do it ?
All the components I make in the style guide, I make them as symbols and layer styles. Like for example. I make a card symbol in my Master Sketch file which can be used in all concerned fields, spreading to all the branches of the system. Other designers who want to use this component can directly insert this symbol into their design and then if they need to edit some properties of the component they can detach the symbol from the library and use it to their convenience.
How to make a Sketch file a Library in Abstract?
Right click on the Sketch file from the overview in Abstract and tick the “Use as Library..” and you are good to use your Sketch file as Library.
The stronger your style guide the better homogeneity your design will exhibit across all the sketch files and art-boards.
This guide will save you a hell lot of time and still allow you to integrate your vision without destroying the consistency of design.