Jak wybrać system zarządzania gospodarką magazynową, z jakim dostawcą oprogramowania związać się często na dłużej, jak spełnić sprzeczne wymagania funkcjonalne użytkowników, jak wreszcie zapewnić zgodność systemu ze strategią przedsiębiorstwa? Chęć sprostania tym wyzwaniom i zaspokojenia potrzeb wszystkich przyszłych użytkowników systemu prowadzi do budowania obszernej listy wymagań funkcjonalnych.
Duża rotacja magazynierów, wysoki odsetek błędnych kompletacji wysyłek, zbyt mała powierzchnia wymagają wdrożenia systemu zarządzania magazynem – tak dyrektor logistyki zidentyfikował problemy w swoim dziale i sposób ich rozwiązania. Zarząd firmy podjął więc decyzję o inwestycji w nowy system. Otwartym pytaniem pozostaje jednak, jaki to ma być system, jakiego producenta i kto go wdroży. To duża przedsięwzięcie i jeszcze większe nadzieje z nim związane. Nie można przecież zawieść przyszłych użytkowników i beneficjentów systemu, a będzie ich sporo. W jaki sposób zaspokoić ich potrzeby? – najprościej zapytać i zebrać wymagania użytkowników. Nawet jeśli nie potrafimy zrobić tego sami, zawsze możemy zatrudnić niezależnego doradcę i jemu powierzyć zadanie zbudowania listy wymagań funkcjonalnych. Następnie zaprośmy dostawców systemów na prezentację swoich produktów i wybierzmy najlepszy. Plan wygląda na prosty i bardzo skuteczny. Dlaczego zatem nie działa w praktyce?
Dysfunkcja wymagań funkcjonalnych
Przelanie życzeń i oczekiwań przyszłych użytkowników na listę wymagań funkcjonalnych powoduje, że:
- ta lista jest bardzo obszerna – w praktyce spotyka się listy obejmujące ponad tysiąc wymagań. Trudno nad takim zbiorem zapanować oraz zapewnić, że wymagania są spójne i układają się w pełne procesy gospodarcze. W zasadzie to nie jest trudne – to jest po prostu niemożliwe;
- znaczna liczba tych wymagań jest: albo trywialna i nic nie wnosi do procesu wyboru systemu WMS; albo nieprecyzyjna, a dowolność ich interpretacji jest raczej źródłem nieporozumień i problemów wdrożeniowych niż wyrazem pożądanego kształtu systemu; albo związana z optymalizacją bez określenia żadnych szczegółów, nazywam je „pułapką optymalizacji”;
- wymagania funkcjonalne skutecznie przesłaniają cele wdrożenia – efekty, jakie ma dać przedsiębiorstwu inwestycja w nowy system WMS.
Kilka przykładów wymagań funkcjonalnych
„Obsługa magazynu wysokiego składowania”. To jest typowe, trywialne wymaganie, które można by z powodzeniem usunąć z listy, gdyż w żaden sposób nie ułatwia wyboru. Przecież każdy system WMS obsługuje magazyn wysokiego składowania, pytanie tylko, jak to robi, jakie procesy magazynowe obsługuje, jak pozwala zarządzać pracą ludzi i urządzeń, w jaki sposób wizualizuje obciążenie zasobów i sytuacje wyjątkowe, jak można system połączyć z automatyką magazynową. Takie pytania można mnożyć, a wszystkie one są związane z obsługą magazynu wysokiego składowania.
„Elastyczne definiowanie sposobu składowania”. Jak precyzyjnie zmierzyć tutaj elastyczność? Czym jest ta elastyczność? Czy autor wymagania miał na myśli definiowanie warunków paletyzacji zapasów, czy może określanie stref magazynowych dla materiałów wymagających szczególnych warunków składowania albo niebezpiecznych? Może wizją autora jest określanie sposobu składowania w trójwymiarowej wizualizacji magazynu? Tak sformułowane wymaganie pozostawia olbrzymie pole do sprzecznych interpretacji, a każda może prowadzić do wyboru diametralnie różnych systemów WMS i przekłada się na rzeczywiste koszty wdrożenia. Samo pojęcie elastyczności może być różnie rozumiane. Dla mnie systemy SAP są bardzo elastyczne. Jednak znam wiele przeciwnych opinii.
„Automatyczne podpowiadanie miejsca składowania”. Podobnie jak wcześniej, taką funkcjonalność realizowaną tak czy inaczej mają wszystkie systemy WMS. Pytanie tylko, według jakiego algorytmu czy strategii, jakimi regułami ma się kierować system, podpowiadając miejsce składowania? Czy ma raczej dbać o efektywne wykorzystanie przestrzeni magazynowej, czy może raczej wymuszać składowanie jednorodne, aby nie mieszać serii wyrobów, co jest częstym wymaganiem firm farmaceutycznych? Skoro system ma miejsce składowania „podpowiadać”, to zapewne nie wymuszać. Czy zatem magazynier ma mieć możliwość zmienienia podpowiedzianej lokalizacji?
„Optymalizacja ścieżki pobrań”. To pozornie oczywista funkcjonalność każdego systemu WMS. Tylko pozornie jednak, gdyż w ogólnym przypadku ta optymalizacja jest np. trudnym problemem komiwojażera, nierozwiązywalnym w czasie wielomianowym. W praktyce do takiej optymalizacji stosuje się algorytmy heurystyczne, które choć bardzo skuteczne i w rzeczywistości zupełnie wystarczające, formalnie rzecz biorąc nie spełniają takiego wymagania.
Rzetelnie zebrane i precyzyjnie określone wymagania funkcjonalne są dobrym sposobem wstępnego definiowania systemu, który jest pisany od podstaw. Ważne jest wtedy określenie, co ten system ma robić, jak działać. Taka lista stanowi wtedy punkt wyjścia dla dalszych prac projektowych i programistycznych prowadzonych według określonej metodyki, bardziej tradycyjnej, jak model kaskadowy (ang. waterfall model), czy nowszej, zwinniejszej, jak scrum.
Tutaj rozważamy jednak proces wyboru systemu i wdrożenia, a nie jego tworzenia i programowania. Wymagania funkcjonalne zamiast ułatwiać wybór systemu, prowadzą często już w trakcie prac wdrożeniowych do zupełnie nieuzasadnionych zmian w systemie. Takie zmiany mogą prowadzić do utraty gwarancji producenta oprogramowania i istotnie zwiększać koszt utrzymania oraz rozwoju całego rozwiązania. Oczywiście tak się dzieje, gdy dogmatycznie trzymamy się raz zdefiniowanych wymagań. Dlaczego tak się dzieje? Dlatego, że…
Dura lex, sed lex
Naturalna chęć zagwarantowania sobie możliwości przyszłego systemu, zdefiniowanych lepiej czy gorzej w formie listy wymagań funkcjonalnych, prowadzi do sformalizowania tej listy w postaci załącznika do umowy wdrożeniowej. Wtedy te wymagania, przy wszystkich ich wspomnianych wcześniej wadach, stają się prawnie wiążące. Pół biedy, jeśli projekt wdrożeniowy postępuje bezproblemowo, ku zadowoleniu obu stron. Wtedy system WMS, nawet jeśli literalnie rzecz biorąc nie spełnia jakiegoś wymagania, jest uruchamiany i odbierany.
Nie zawsze się tak jednak dzieje. Przedsięwzięcia wdrożeniowe są dużymi projektami z licznymi interesariuszami. Trudno uniknąć w nich konfliktów, a jeszcze trudniej oprzeć się pokusie formalnego powoływania na zapisy umowy. Z drugiej strony umowa i jej załączniki są po to, aby się na nie powoływać. Wtedy różnice w interpretacji wymagań czy stwierdzenie ich spełnienia stają się domeną prawników, a to nie prowadzi zwykle do efektywnego zakończenia projektu.
Dyskretny urok prezentacji
Systemy, które zgodnie z deklaracjami dostawców powinny spełnić nasze wymagania, są oczywiście prezentowane. Zwykle taka prezentacja obejmuje scenariusze określone czy zadane przez potencjalnego klienta. Członkowie przyszłego zespołu wdrożeniowego uczestniczą w takiej prezentacji i na jej podstawie wybierają system. Pozornie to skuteczne podejście. Dlaczego je odradzam? Dlatego że na prezentacji można pokazać wszystko i obiecać wszystko, natomiast nie można dostatecznie zweryfikować faktycznych możliwości systemu. Przecież nawet do końca nie wiadomo, czy pokazywany jest rzeczywisty system, czy animacja we Flashu.
Dodatkowo uczestnicy takiej prezentacji mają skłonność do doszukiwania się w przedstawianym scenariuszu swojego docelowego rozwiązania, z uwzględnieniem pełnej specyfiki firmy. Jeżeli przygotowanie takiego pokazu dla typowego systemu WMS byłoby możliwe w krótkim czasie, to proces wdrożenia trwałby dni czy tygodnie, a nie miesiące czy lata.
Skoro wymagania funkcjonalne i prezentacje są nieskuteczne, jak zatem wybierać mądrzej?
Cele wdrożenia, czyli po co ten cały wysiłek?
To jest podstawowe, fundamentalne pytanie, które powinno sterować całym procesem wyboru, a następnie wdrożenia systemu WMS. Niech tych celów będzie pięć, maksymalnie dziesięć, niech odpowiadają rzeczywistym potrzebom przedsiębiorstwa, niech będą przede wszystkim w prosty sposób mierzalne.
W kolejnym kroku cele wdrożenia powinny zostać zmapowane na funkcjonalności, które są wymagane w nowym systemie. Myślę tutaj tylko o tych funkcjonalnościach, które są niezbędne do realizacji celów wdrożenia. Przykładowo funkcjonalność pełnego przeglądu obciążenia magazynierów pracą i alarmowania o przeciążeniach będzie wynikać z celu zwiększenia wydajności magazynu bez wzrostu zatrudnienia, a kontrola wysyłek przy pomocy automatycznej wagi elektronicznej – z celu zmniejszenia błędnych wysyłek. To ważne, aby każda wymagana funkcjonalność przyczyniała się do osiągnięcia przyjętych celów wdrożenia. W przeciwnym razie funkcjonalności systemu WMS stają się drogimi ozdobnikami, często zupełnie zbędnymi.
W tym miejscu przychodzi czas na kontakt z producentem oprogramowania i weryfikację, czy system ma wymagane funkcjonalności. Sugeruję tutaj współpracę bezpośrednio z producentem lub partnerem wdrożeniowym. Moje rozumowanie jest następujące: producent, który jest autorem oprogramowania, powinien wiedzieć najlepiej, jak działa jego system, natomiast partner wie, jak system sprawdza się w praktyce. Nie ma tutaj prostej odpowiedzi na pytanie, z kim współpracować.
Ostatnim etapem powinien być wybór partnera wdrożeniowego. Z premedytacją piszę partnera, a nie firmy czy dostawcy. Wdrożenie jest bowiem procesem przebiegającym w partnerskim środowisku stworzonym z przedstawicieli klienta i konsultantów. To nie jest dzieło, które można zakontraktować i kupić. Formalnie rzecz biorąc, można w ten sposób sformułować umowę wdrożeniową. Jednak dynamika wdrożenia, jego sukces zależą przede wszystkim od relacji międzyludzkich w zespole, efektywnej komunikacji i woli współpracy, a większość problemów w projektach ma swoje źródło w upośledzonej komunikacji.
Po owocach ich czynów poznacie ich
Silnie konkurencyjne środowisko producentów oprogramowania i firm wdrożeniowych budzi uzasadnione obawy o rzetelność deklaracji składanych w trakcie procesu wyboru systemu. Skoro prezentacja nie działa, jak zatem zweryfikować składane obietnice? Moim zdaniem tylko poprzez referencje. Należy pytać innych użytkowników oferowanego systemu o efekty wdrożenia, o sukcesy i przede wszystkim o problemy, jakie sprawia system, a także o fachowość i rzetelność konsultantów wdrożeniowców. Moim zdaniem to najlepszy sposób weryfikacji i wyboru systemu WMS, a firmy i ich pracownicy, które przeszły przez ten proces, wbrew pozorom chętnie dzielą się swoimi doświadczeniami. Z takimi przynajmniej ludźmi mam przyjemność pracować najczęściej.
“Nowoczesny Magazyn”, 6/2012