Najdroższe nieporozumienie między biznesem i IT potrafi zmieścić się w jednym zwyczajnym słowie. „Sprzedane”. „Dostępne”. „Przyjęte”. Każdy uczestnik rozmowy rozumie je bez trudu. Problem zaczyna się wtedy, gdy każdy rozumie je odrobinę inaczej, a na tej podstawie powstają decyzje albo kod systemów IT wspierających zarządzanie.
Im łatwiej tworzyć oprogramowanie, tym dokładniej trzeba określić, jak ma działać biznes, który ono obsługuje. Szybka implementacja zazwyczaj skraca drogę od niejasnego założenia do kosztownego błędu.
To jeden z powodów, dla których zbudowałem „Open Retail Process Reference”. Jest to otwarty, wersjonowany standard architektury procesów biznesowych w handlu detalicznym. ORPR ma dawać wspólny punkt odniesienia ludziom projektującym zmianę oraz systemom i agentom AI, które pomagają ją wykonać.
Impuls do opracowania tego standardu pojawił się podczas pracy nad aplikacją tworzoną metodą Spec Driven Development, czyli na podstawie specyfikacji opisującej oczekiwane działanie. Potrzebowałem materiału, do którego agent AI mógłby się odwołać, zanim zacznie uzupełniać brakujące informacje własnym wyobrażeniem o retailu.
Bez tej warstwy proces SDD generuje zbyt dużo kosztownych w usuwaniu błędów. Większy problem jest jednak w tym, że nie jest ich w stanie wykryć ani informatyk, ani nawet analityk biznesowy. Do tego potrzebna jest wiedza wykraczająca poza to, jak działa proces czy funkcjonalność. Niezbędna jest perspektywa całego biznesu.
Zacząłem od podstaw. Co opisujemy, gdzie stawiamy granice i po czym poznamy poprawne wykonanie? Odpowiedzi ukształtowały konstrukcję ORPR.
Proces rozpoznajemy po wyniku i granicach
Nazwa działu nie wystarcza. Zakres modułu systemu też nie. To, że dwie czynności wykonuje dziś jeden pracownik albo jedna aplikacja, nie przesądza, że stanowią ten sam proces.
Weźmy sprzedaż z późniejszym odbiorem towaru. Klient kupił produkt, ale jeszcze go nie odebrał. Firma ma zobowiązanie wobec klienta. Towar nadal fizycznie stoi w lokalizacji. Trzeba ograniczyć możliwość ponownego sprzedania tej samej ilości, a jednocześnie zachować prawdziwą informację o jej fizycznym stanie.
Jeżeli system utożsami sprzedaż z wydaniem, utraci tę różnicę. Później zaczyna się łatanie dziur: wyjątki, dodatkowe pola i ręczne wyjaśnienia. Ten błąd oglądałem w systemach obsługujących setki punktów sprzedaży i naprawa zawsze wyglądała tak samo. Dodatkowe pole i instrukcja dla kasjera.
W ORPR SAL-01 opisuje przejście od koszyka do sprzedaży, a SAL-03 przejście od sprzedaży do wydania towaru. To rozróżnienie ma konkretny skutek. Zapis sprzedaży nie jest dowodem fizycznego wydania, więc rozchód musi mieć własne potwierdzenie.
Taki zapis pomaga zarówno w rozmowie biznesowej, jak i przy projektowaniu systemu. Daje też podstawę do oceny, czy rozwiązanie wykonało to, co miało wykonać.
Reguła musi wytrzymać sprawdzenie
Zdanie „system ma prawidłowo obsługiwać sprzedaż” pozostawia prawie całą pracę do wykonania. Słowo „prawidłowo” ma tę wygodną właściwość, że każdy może podpisać pod nim coś innego. Trzeba ustalić, jakie zdarzenie kończy sprzedaż, co ją pokrywa, co dzieje się przy ponowieniu komunikatu i które skutki należą już do innych procesów.
Dlatego ORPR zawiera niezmienniki, czyli warunki, które muszą pozostać prawdziwe podczas działania procesu, oraz kontrakty określające jego granice. Ich wartość polega na tym, że można skonfrontować z nimi konkretne wykonanie.
Model potrafi przekonująco uzasadnić swoje działanie. Branie takiego wyjaśnienia za dobrą monetę to za mało, trzeba jeszcze sprawdzić rezultat. Opis warunku i dowód jego spełnienia pozwalają oddzielić te dwie rzeczy.
Brak decyzji trzeba ujawnić
Organizacje mają różne modele działania. Ten sam proces występuje w sklepie niezależnym, programie partnerskim i sieci własnej, ale prawo do decyzji może należeć do innych osób lub podmiotów. Przeniesienie rozwiązania z jednego modelu do drugiego wymaga rozpoznania tych różnic.
Z tego powodu karta zawiera pytania analityczne. Mają pomóc odkryć, czego jeszcze nie ustalono, jakie warunki występują w konkretnej firmie i gdzie pozorna zgodność nazw ukrywa różnicę działania.
Jeżeli nie wiadomo, kto może zwolnić potrzebę do zakupu, agent nie powinien rozwiązywać problemu przez wybranie najbardziej prawdopodobnej roli. Powinien ujawnić brak rozstrzygnięcia. To organizacja nadaje uprawnienie i bierze odpowiedzialność za jego zakres.
To samo dotyczy odstępstw od referencji. Firma może mieć uzasadniony powód, żeby działać inaczej. Różnica powinna być jawną decyzją z opisanymi konsekwencjami. Wymagań wynikających z prawa nie można przy tym traktować jak dowolnej preferencji projektowej.
Człowiek i maszyna potrzebują tej samej wersji treści
Każdy proces ma stabilny identyfikator. Dzięki temu można odwołać się do niego w rozmowie, wymaganiu, integracji czy odpowiedzi agenta. Wersja pozwala ustalić, do jakiego opisu odnosimy decyzję. Dostęp maszynowy umożliwia pobranie tego materiału bez przepisywania go z prezentacji.
To jest praktyczne znaczenie API i plików przeznaczonych do odczytu przez modele. Nie wystarczy udostępnić dużej ilości tekstu. Trzeba jeszcze wiedzieć, który fragment dotyczy danego procesu i jakie wydanie stanowi podstawę pracy.
Pierwsze wydanie mapy ORPR obejmuje 74 procesy w 22 obszarach. Liczby określają zakres, ale same nie dowodzą wartości. Tę trzeba oceniać na konkretnych rozstrzygnięciach i zastosowaniach. Rejestr ORPR.
ORPR jako warstwa translacyjna między biznesem i IT
Intencję „obsłuż sprzedaż” trzeba przełożyć na opis wyniku, danych, uprawnień i warunków poprawności. Ten opis może następnie wykorzystać analityk, architekt albo agent tworzący rozwiązanie. Każdy powinien mieć możliwość sprawdzenia, gdzie kończy się uzgodniona reguła, a zaczyna założenie wymagające decyzji.
Czym ORPR nie jest? Nie jest notacją modelowania taką jak BPMN ani zamiennikiem SCOR, modelu referencyjnego dla łańcucha dostaw. Z APQC PCF, także w wersji retail, łączy go porządkowanie procesów. Różni jednak podejście do tematu. APQC klasyfikuje, ORPR opisuje granice wykonania, niezmienniki i pytania, które trzeba rozstrzygnąć w konkretnej firmie, zanim ktoś napisze pierwszą linię kodu.
O przydatności ORPR ostatecznie rozstrzygnie rzeczywiste użycie w kolejnych wdrożeniach. Publikacja autorskiego standardu oczywiście nie oznacza jeszcze przyjęcia go przez branżę. Publicznie dostępne są mapa, opisy procesów i sześć pełnych kart. Pozostałe 68 kart istnieje w pełnej wersji, publicznie widać jedynie ich streszczenia.
Wartość własnego doświadczenia sprawdzam tu bardzo praktycznie. Czy potrafię wyjaśnić różnicę, zapisać jej konsekwencje i podać warunek, po którym ktoś inny rozpozna poprawne wykonanie? Wiedza pozostająca wyłącznie w głowie autora ma ograniczony zasięg. Zapisana w ten sposób może stać się podstawą cudzej pracy i przedmiotem rzeczowej krytyki.
ORPR jest rezultatem takiego podejścia. Chcę, żeby pomagał przechodzić od doświadczenia i intencji biznesowej do jawnych zasad, według których ludzie oraz systemy mogą działać. Im więcej wykonania przejmą agenci, tym większą wagę będzie miała jakość tych zasad.
