W prawie wszystkich projektach, w których brałem udział, do zarządzania danymi referencyjnymi początkowo były używane arkusze kalkulacyjne. Nic dziwnego, ich zastosowanie daje możliwość szybkiego dostosowania do wymagań. W krótkim czasie takie podejście, efektywne na etapie budowy rozwiązania, szybko staje się prawdziwym przekleństwem, jeśli chodzi o utrzymanie jakości i spójności danych. Wtedy rozpoczyna się poszukiwanie rozwiązania, które ograniczy swobodę użytkowników. Powinni mieć możliwość zarządzania danymi, ale zgodnie z przewidzianymi regułami.
Tutaj zwykle pojawiał się ktoś, kto za pomocą ogólnie dostępnego środowiska deweloperskiego tworzył zestaw mikroaplikacji działających zgodnie z wymaganiami projektu. Jego wytworzenie zwykle nie jest trudne. To powoduje, że zaczynają pojawiać się kolejne wersje i tylko wyobraźnia i doświadczenie twórców jest ograniczeniem.
Po pewnym czasie zaczynały pojawiać się wady takiego rozwiązania. Kolejne aplikacje tworzone na potrzeby zarządzania konkretnymi zbiorami danych referencyjnych nie były spójne, a ich funkcjonalność była zróżnicowana. Brak zróżnicowanych poziomów uprawnień nie pozwalał na szerokie udostępnianie aplikacji użytkownikom. Wykonywanie bardziej skomplikowanych operacji na kilku słownikach jednocześnie praktycznie było nie wykonalne. Prawdziwą tragedią była sytuacja, gdy twórca aplikacji przestał być dostępny np. z powodu zmiany miejsca pracy.
W kilku projektach udało nam się ten problem rozwiązać. Wdrożyliśmy centralną, dedykowaną do zarządzania danymi referencyjnymi aplikację. Zestandaryzowany interfejs do wszystkich słowników z pełną funkcjonalnością i systemem uprawnień ułatwiał wdrożenie użytkowników biznesowych. Możliwości zarządzania procesami weryfikacji danych powodowała, że praca osób odpowiedzialnych za jakość danych stała się znacznie łatwiejsza.
Ostatecznie okazywało się, że utrzymanie centralnego systemu zarządzania danymi referencyjnymi w oparciu o standardowe i dedykowane oprogramowanie z półki jest łatwiejsze i tańsze niż utrzymanie wielu aplikacji tworzonych przez kilka osób za pomocą różnych narzędzi.
Zastanawiam się czy można było pominąć moment dochodzenia do tego rozwiązania? Trudno powiedzieć. Dane referencyjne nie są zwykle traktowane z odpowiednią uwagą, a tymczasem zarządzanie nimi ma podstawowy wpływ na jakość otrzymanych wyników. Warto na początku projektu zastanowić się nad tym jak docelowo będzie wyglądać zarządzanie nimi.