Concevoir une architecture système pour plusieurs produits

À mesure que le nombre de produits servis augmentait, notre système de conception a commencé à s'effondrer. Le seuil d'entrée des designers a augmenté et il est devenu plus difficile de travailler avec. Dans l'article je vais vous dire comment nous sommes passés à une architecture modulaire et n'avons pas perdu de cohérence.





Voici quelques notes introductives pour vous aider à comprendre si notre cas est similaire au vôtre ou non.





  • Il existe plusieurs produits.





  • Un produit peut être fabriqué par plusieurs équipes de concepteurs et de développeurs.





  • Il existe Web, Mobile et Desktop.





  • Il y a beaucoup d'héritage et d'incohérence.





  • Un concepteur dans un produit peut ne pas savoir ce qui se passe dans un autre.





S'il y a des nuances techniques, alors, tout d'abord, il faut travailler à Figma, mais je pense que tout est pareil chez Sketcha Fernanda.





Problèmes des approches existantes de la construction de bibliothèques

Du point de vue d'un concepteur, une bonne DS commence par une bibliothèque avec laquelle il est pratique de travailler.





L'expérience des différentes équipes est généralement décrite par l'un de ces modèles ou une combinaison étrange d'entre eux:





Les problèmes eux-mêmes peuvent être décrits comme suit:





  • Plusieurs bibliothèques sont connectées à un fichier. À l'intérieur du fichier se trouve un désordre de composants et de styles avec des parents différents. Les concepteurs ont peur de toucher les composants de la bibliothèque car on ne sait pas où ils sont utilisés et ce qui pourrait casser.





  • . , . , , "". , .





  • , . , .





  • .





: , . , -, , . .





, - . , : - YAGNI SOLID, DRY KISS.





— , . .





, , ? — , .





, , , .





. , .





  • > >





  • >





  • >





-- , - .





, . , .





:





  1. - "" , , . . , .





  2. , .





. "" , , , , , . , . , , .





, . , . " ".





- , . , , , .





, , , .





. - , .





"-" , , , . , .





-

, -. , , .





:





  • — .





  • — , , .





  • .





- .





, , .





, . . , , . . , , .





, - — , , , .





, :





Il y a autant de bases que de produits, mais elles essaient toutes d'être similaires à la référence.





Avec ce hack, nous prenons en charge les mises à jour de produits asynchrones et un haut niveau de cohérence tout en évitant le couplage direct et les composants redondants dans les bibliothèques de produits.





Et après?

En fait, le sujet de la bibliothèque n'a pas été divulgué et il reste encore beaucoup de bois de chauffage à casser. Il y a des nuances dans la dénomination, les composants, les styles et même dans le processus même de travail avec. Par conséquent, dans les notes suivantes, je vous expliquerai comment nous assemblons les composants, les écrans et ce que nous avons avec le contrôle de version. Eh bien, quel système de conception sans décrire l'approche de commande des couleurs, de la typographie et des styles, je vais vous en parler aussi.








All Articles