Illustration style plan d'ingénierie – pile de papiers désordonnée devenant un tableur organisé

Un mois de travail, trois heures de travail

Plus de 6 000 articles de données produits migrés entre deux systèmes d'inventaire, en deux séances Google Meet.

Un ami à moi est investisseur dans une entreprise de commerce en ligne britannique. Il m'a mentionné autour d'un café que l'entreprise était bloquée dans le déplacement d'années et d'années de données produits vers un nouveau système d'inventaire, et qu'ils avaient évalué le travail à l'interne à environ un mois. Je lui ai dit que j'allais y jeter un œil.

Je me suis branché sur un Google Meet avec la personne qui menait la migration. On a commencé par la fin, pas par le début : le nouveau système ne te donnait pas un export CSV propre de ses enregistrements existants, seulement des PDF. Alors la première chose que j'ai faite, c'est d'extraire l'état actuel du système cible à partir de ces PDF avec un court script Python, et d'en faire la liste de référence contre laquelle chaque décision de correspondance allait être vérifiée. Tant que tu ne sais pas ce qu'il y a déjà dans la destination, tu ne peux pas vraiment dire ce que tu es en train de déplacer.

Ensuite on est passés au catalogue source – plus de 6 000 articles, chacun avec une multitude d'options. La plupart du travail s'est révélé être du nettoyage : des fragments qui avaient été fusionnés croche, des notations de quantité encodées de trois façons différentes, des suffixes d'unité qui voulaient dire une chose pour un type de composant et l'inverse pour un autre. J'ai séquencé les corrections par dépendance – structurel d'abord, puis notation, puis mappage de codes, puis correspondance approximative pour tout ce qui ne matchait pas exactement – et chaque passe enregistrait chaque changement, ancienne valeur et nouvelle, dans une piste de vérification.

À la fin de la séance, environ 99,5 % des lignes avaient été appariées automatiquement – à peu près 1 680 corrections appliquées – et 87 items avaient été signalés pour révision humaine, chacun avec la raison précise pour laquelle une personne devait trancher. L'équipe pouvait régler ça en un après-midi de son côté. Le projet d'un mois a été fait en environ trois heures.

Ils sont clients payants depuis. Et les techniques tirées de cette séance – vingt-et-une au total – sont allées dans ma bibliothèque. La prochaine migration de système d'inventaire que je vais faire ne va pas prendre trois heures. Elle va prendre moins.

La première chose, ce n'était pas de déplacer des données. C'était de trouver ce qui était déjà dans la destination.

La référence maître en premier – extraction de l'état actuel du système de destination à partir de PDF avant toute transformation

Ensuite le vrai travail : faire en sorte que les lignes disent la même chose à chaque fois.

Une seule ligne d'article avant et après la passe de nettoyage, avec les fragments fusionnés et la notation normalisée

Séquencées par dépendance, pour que chaque passe puisse se fier à la précédente.

Quatre passes ordonnées par dépendance : structurelle, notation, mappage, correspondance approximative

Chaque changement journalisé avec la règle qui s'est déclenchée, pour que le client puisse lire le travail.

Piste de vérification montrant l'ancienne valeur, la nouvelle valeur, et la règle qui s'est déclenchée pour chaque ligne

99,5 % appariés automatiquement. 87 signalés pour un humain, chacun avec la raison attachée.

Validation par étapes – correspondances appliquées automatiquement, file de révision manuelle, et les raisons pour lesquelles chaque ligne a été signalée

Ce mandat a produit un protocole que j'applique maintenant à toute migration de système d'inventaire. La version complète, vingt-et-une techniques, est dans ma bibliothèque de savoir-faire.

Si vous avez un problème qui ressemble à une migration, la première séance, c'est comme ça : une heure sur vos vraies données. Si ça fitte, on continue.

Écrivez-moi →

Projets connexes