Jak przygotować wymagania do projektu integracji systemów?
Zamówienia trafiają do sklepu internetowego, handlowcy pracują w CRM, a magazyn korzysta z osobnego programu. Pracownicy przepisują dane między aplikacjami, więc pomysł na integrację wydaje się oczywisty. Trudniejsze pytania pojawiają się przy szczegółach: które informacje przesyłać, kiedy je aktualizować i co zrobić, gdy dwa systemy pokazują różne wartości? Dobrze przygotowane wymagania do integracji systemów pomagają ustalić zakres projektu, porównać oferty i sprawdzić, czy wdrożenie rzeczywiście usprawniło pracę.
Zacznij od procesu i celu biznesowego
Przed rozmową o technologii opisz, jak obecnie przebiega praca. Kto wprowadza dane? Skąd je pobiera? W którym miejscu pojawiają się opóźnienia, pomyłki lub podwójne wpisy?
Zamiast zapisu „połączyć sklep z magazynem” przygotuj konkretny opis:
Po opłaceniu zamówienia w sklepie pracownik przepisuje jego pozycje do systemu magazynowego. Integracja ma automatycznie tworzyć dokument zamówienia i przekazywać do sklepu informację o wysyłce.
Następnie określ oczekiwany rezultat: skrócenie czasu obsługi, ograniczenie błędów albo szybsze udostępnianie informacji klientom. Wskaż też osobę, która zna proces i może rozstrzygać wątpliwości podczas projektu.
Rozdziel wymagania konieczne do uruchomienia od usprawnień planowanych później. Dzięki temu pierwsza wersja rozwiązania może objąć zamknięty, użyteczny fragment procesu.
Przygotuj listę aplikacji i dostępnych sposobów połączenia
Sama nazwa programu zwykle nie wystarcza do wyceny. Różne wersje lub warianty licencji mogą udostępniać inne możliwości wymiany danych.
Dla każdej aplikacji zbierz:
- pełną nazwę, wersję i używane moduły;
- sposób udostępnienia: usługa w chmurze albo instalacja na własnym serwerze;
- dane kontaktowe administratora lub dostawcy;
- informację o dostępności API, czyli interfejsu umożliwiającego komunikację między programami;
- dokumentację API lub opis importu i eksportu plików;
- informacje o dodatkowych opłatach, limitach i ograniczeniach dostępu;
- dostępność środowiska testowego.
Jeżeli czegoś nie wiadomo, oznacz tę informację jako wymagającą potwierdzenia i przypisz osobę odpowiedzialną. To lepsza podstawa rozmowy niż założenie, że każdy program da się połączyć w dowolny sposób.
Nie musisz samodzielnie wybierać technologii. Wykonawca powinien zaproponować sposób połączenia po sprawdzeniu możliwości aplikacji i potrzeb procesu.
Opisz dane, kierunki przepływu i zasady aktualizacji
Najważniejszą częścią wymagań jest wskazanie, co, skąd i dokąd ma trafiać. Przygotuj prostą tabelę. Poniższy przykład pokazuje możliwy zakres integracji sklepu z systemem ERP, który obsługuje m.in. sprzedaż i magazyn.
| Dane | System źródłowy | System docelowy | Zdarzenie uruchamiające wymianę |
|---|---|---|---|
| Zamówienie i jego pozycje | Sklep | ERP | Potwierdzenie płatności |
| Stan dostępny produktu | ERP | Sklep | Zmiana dostępności |
| Numer przesyłki | ERP | Sklep | Nadanie przesyłki |
| Ceny sprzedaży | ERP | Sklep | Zatwierdzenie nowego cennika |
Zejdź do poziomu konkretnych pól
„Dane klienta” mogą oznaczać nazwę firmy, NIP, adres rozliczeniowy, adres dostawy lub dane osoby kontaktowej. Wypisz potrzebne pola oraz zaznacz, które są obowiązkowe.
Ustal również:
- po czym systemy rozpoznają ten sam produkt, klienta lub zamówienie;
- jak odpowiadają sobie statusy, np. „opłacone” i „gotowe do realizacji”;
- jak przeliczać jednostki, formaty dat i wartości liczbowe;
- co zrobić, gdy brakuje wymaganej informacji;
- jak obsługiwać korekty, anulowania i usuwanie rekordów.
Przygotuj kilka przykładowych rekordów, także z nietypowymi przypadkami. Do rozmów i testów używaj danych fikcyjnych lub odpowiednio zanonimizowanych.
Wskaż system nadrzędny
Jeżeli pracownik zmieni adres klienta w CRM, a następnie ktoś poprawi go w ERP, integracja potrzebuje jasnej reguły rozstrzygającej konflikt.
Określ system nadrzędny dla poszczególnych informacji. Przykładowo ERP może zarządzać cenami, CRM danymi kontaktowymi, a sklep adresem dostawy zapisanym przy konkretnym zamówieniu. Sam zapis „synchronizacja dwukierunkowa” nie wyjaśnia tych zasad.
Ustal częstotliwość, opóźnienia i skalę wymiany
Sformułowanie „dane aktualizowane na bieżąco” jest zbyt ogólne. Dla każdego przepływu podaj maksymalny akceptowalny czas od zmiany w aplikacji źródłowej do jej pojawienia się w aplikacji docelowej.
Przykładowo zamówienie może wymagać przesłania w ciągu dwóch minut, a dane do raportu zarządczego wystarczy aktualizować raz na dobę. Częstotliwość sprawdzania zmian i czas ich dostarczenia to różne parametry — samo odpytywanie systemu co minutę nie gwarantuje zakończenia przetwarzania w minutę.
Dołącz informacje o liczbie rekordów na dobę, wielkości początkowego importu oraz szczytach obciążenia. Opisz sezonowe promocje, większe dostawy lub inne zdarzenia, które zwiększają ruch. Warto też określić przewidywany wzrost wolumenu.
Uwzględnij awarie, bezpieczeństwo i utrzymanie
Integracja powinna mieć określone zachowanie również wtedy, gdy jeden z programów przestaje odpowiadać. Ustal, czy operacje będą ponawiane, jak długo i co stanie się z rekordami, których nie uda się przetworzyć.
Szczególnie ważne jest zapobieganie duplikatom. Ponowienie wysyłki po przerwanym połączeniu nie powinno tworzyć drugiego zamówienia. Potrzebny jest także sposób wykrywania brakujących danych i uzgadniania rozbieżności po awarii.
Przed uruchomieniem uzgodnij:
- kto monitoruje działanie integracji i otrzymuje alerty;
- kto poprawia błędy danych, a kto błędy oprogramowania;
- w jakich godzinach dostępne jest wsparcie i jaki jest uzgodniony czas reakcji;
- kto odnawia dane dostępowe i obsługuje zmiany API;
- jakie informacje zapisują dzienniki zdarzeń i jak długo są przechowywane;
- jakie uprawnienia otrzyma integracja oraz jak będą przekazywane i przechowywane dane dostępowe.
Rozdziel odpowiedzialność za integrację od odpowiedzialności dostawców łączonych aplikacji. Ustal również koszt utrzymania i zasady rozliczania zmian po wdrożeniu.
Ustal, co ma zawierać specyfikacja integracji i dokumentacja
Na pierwsze spotkanie wystarczy uporządkowany opis potrzeb. Pełna specyfikacja integracji może powstać podczas analizy prowadzonej wspólnie z wykonawcą. Powinna jednak mieć ustalony zakres i osobę zatwierdzającą.
Zapytaj, czy dokumentacja obejmie przepływy danych, powiązania pól, reguły biznesowe, obsługę błędów, konfigurację i procedury odtwarzania działania. Ustal, gdzie będzie przechowywana i kto będzie ją aktualizował.
Przy ocenie dokumentacji interfejsów pomocne może być opracowane przez Centralny Ośrodek Informatyki omówienie standardu API dla udostępniania danych. Dotyczy ono danych publicznych, ale opisane obszary, takie jak wersjonowanie, uwierzytelnianie i dokumentowanie interfejsu, mogą też pomóc uporządkować pytania do dostawców aplikacji biznesowych.
Dopytaj również o dostęp do kodu, konfiguracji i instrukcji wdrożenia oraz o możliwość przekazania utrzymania innemu zespołowi.
Zapisz mierzalne kryteria odbioru
Odbiór powinien opierać się na wcześniej uzgodnionych scenariuszach. Każdy z nich potrzebuje danych wejściowych, oczekiwanego wyniku i sposobu sprawdzenia.
Przykładowe kryteria, wymagające dostosowania do projektu, to:
- każde poprawne zamówienie z uzgodnionego zestawu testowego trafia do ERP w ciągu dwóch minut przy określonym obciążeniu;
- ponowne przesłanie tego samego zamówienia nie tworzy duplikatu;
- rekord bez wymaganego identyfikatora zostaje oznaczony jako błędny, a operator otrzymuje czytelną informację;
- po przywróceniu połączenia zaległe operacje zostają przetworzone w uzgodnionym czasie;
- korekta i anulowanie zamówienia wywołują ustalone skutki w systemie docelowym.
Ustal, kto przeprowadza testy, kto zatwierdza wynik i jakie błędy blokują uruchomienie. Dodaj plan przełączenia na produkcję oraz sposób postępowania, jeżeli konieczne będzie wycofanie wdrożenia.
Jak wykorzystać wymagania przy wyborze wykonawcy?
Wybór firmy integrującej systemy jest łatwiejszy, gdy wszyscy oferenci otrzymują ten sam opis procesu, tabelę przepływów i kryteria odbioru. Poproś, aby oferta wskazywała założenia, wyłączenia, zależności od dostawców aplikacji oraz podział kosztów na analizę, wdrożenie i utrzymanie.
Przed pierwszą rozmową przygotuj jeden pakiet: listę aplikacji, opis procesu, zakres danych, kierunki wymiany, dopuszczalne opóźnienia, wolumeny, termin i orientacyjny budżet. Zaznacz niewiadome. Taki materiał pozwoli wykonawcy zadać konkretne pytania, a Tobie ocenić, czy proponowane rozwiązanie odpowiada potrzebom firmy.