Firma, która decyduje się na dedykowaną aplikację Android dla magazynu zamiast gotowego produktu, staje przed innym zadaniem niż wybór licencji z listy dostawców - musi znaleźć partnera technologicznego zdolnego zaprojektować, zbudować i utrzymać oprogramowanie szyte na miarę jej procesów. Wybór software house'u do takiego projektu wymaga oceny zupełnie innych kryteriów niż porównanie funkcji gotowych aplikacji WMS - liczy się portfolio projektów magazynowych, znajomość technologii Android, doświadczenie w integracji ze skanerami i API systemów WMS, a także model współpracy i wsparcie po wdrożeniu. Ten artykuł porządkuje te kryteria krok po kroku, tak aby decyzja o wyborze wykonawcy dedykowanej aplikacji magazynowej opierała się na sprawdzalnych faktach, a nie wyłącznie na cenie oferty.

Dedykowana aplikacja Android czy gotowy produkt WMS

Zanim firma rozpocznie poszukiwania software house'u, warto ustalić, czy custom development rzeczywiście jest właściwą drogą. Gotowe programy magazynowe na Androida, takie jak Android WMS, obsługują standardowe procesy przyjęcia, składowania i wydania towaru bez konieczności prowadzenia własnego projektu programistycznego - wdrożenie trwa krócej, a koszt początkowy jest niższy. Zestawienie kryteriów porównawczych i checklistę pytań do dostawców takich rozwiązań zawiera artykuł o programach magazynowych na Androida.

Dedykowana aplikacja ma sens tam, gdzie procesy magazynowe odbiegają od standardowego schematu - niestandardowa struktura lokalizacji, nietypowe jednostki logistyczne, integracja z maszynami produkcyjnymi lub własnym systemem ERP, którego żaden gotowy produkt nie obsługuje z pudełka. W takich sytuacjach koszt i czas budowy aplikacji od podstaw rekompensuje pełne dopasowanie do realnych procesów magazynu oraz brak kompromisów wynikających z ograniczeń cudzego produktu.

Kryteria wyboru software house'u do projektu magazynowego

Wybór wykonawcy dedykowanej aplikacji magazynowej warto oprzeć na kilku uporządkowanych kryteriach, ocenianych w tej samej kolejności dla każdego kandydata.

  1. Portfolio projektów magazynowych i logistycznych - referencje z wdrożeń o zbliżonej skali i branży, najlepiej możliwe do zweryfikowania bezpośrednio u wskazanego klienta.
  2. Znajomość technologii Android - doświadczenie zespołu w językach Kotlin i Java oraz w pracy z natywnym SDK Android, a nie wyłącznie z uniwersalnymi frameworkami wieloplatformowymi.
  3. Doświadczenie w integracji sprzętu magazynowego - obsługa kolektorów danych, skanerów kodów kreskowych i czytników RFID poprzez natywne API urządzeń, nie tylko przez kamerę smartfona.
  4. Znajomość integracji z systemami WMS i ERP - umiejętność budowy interfejsów API łączących aplikację mobilną z bazą danych magazynu i systemem księgowym.
  5. Stabilność organizacyjna zespołu - liczba programistów przypisanych do projektu oraz plan na wypadek rotacji osób odpowiedzialnych za realizację w jej trakcie.
  6. Podejście do bezpieczeństwa danych - sposób przechowywania danych logowania, szyfrowania komunikacji oraz zarządzania dostępem do kodu źródłowego po zakończeniu współpracy.

Żadne z powyższych kryteriów nie powinno rozstrzygać wyboru samodzielnie. Software house z bogatym portfolio, ale bez doświadczenia w integracji sprzętu, poradzi sobie z warstwą wizualną aplikacji, lecz może utknąć na etapie podłączenia kolektora danych do bazy magazynu. Odwrotnie, zespół techniczny bez wcześniejszych wdrożeń logistycznych łatwo pominie procesy, które w magazynie wydają się oczywiste, a które nigdzie nie zostały spisane wprost - na przykład kolejność skanowania palety przed lokalizacją. Dopiero łączna ocena wszystkich sześciu obszarów pozwala odróżnić wykonawcę przygotowanego do projektu magazynowego od zespołu, który uczyłby się specyfiki branży kosztem klienta.

Portfolio projektów magazynowych i logistycznych

Portfolio ogólne, złożone z aplikacji z różnych branż, mówi niewiele o zdolności software house'u do zrozumienia specyfiki magazynu. Warto poprosić o realizacje bezpośrednio z logistyki lub magazynowania - najlepiej takie, w których wykonawca odpowiadał nie tylko za interfejs, ale również za integrację z systemem WMS działającym w tle. Rozmowa z klientem referencyjnym, choćby krótka, zwykle ujawnia więcej niż lista projektów na stronie internetowej wykonawcy. Szerszy przegląd tematu wyboru wykonawcy dla systemów magazynowych zawiera artykuł WMS Software house.

Znajomość technologii Android i integracji sprzętowej

Aplikacja magazynowa różni się od typowej aplikacji konsumenckiej przede wszystkim integracją ze sprzętem - kolektorami danych, skanerami przemysłowymi i czytnikami RFID. Zespół, który zna wyłącznie tworzenie aplikacji pod kamerę smartfona, może nie poradzić sobie z obsługą klawiatury fizycznej terminala, trybem pracy w rękawicach roboczych czy odczytem kodów w słabym oświetleniu magazynu wysokiego składowania. Warto zapytać wprost o dotychczasowe wdrożenia integracji z kolektorem danych oraz o doświadczenie w pracy z programem magazynowym wyposażonym w skaner. Istotne bywa również sprawdzenie, czy aplikacja działała dotychczas w warunkach zbliżonych do rzeczywistego magazynu - niska temperatura chłodni, zapylenie hali produkcyjnej czy praca zmianowa wymuszająca ciągłą dostępność urządzenia bez restartów.

Skanery i kolektory danych sprawdzane przy wyborze software house'u do integracji aplikacji Android

Model współpracy z software house'em przy budowie aplikacji

Poza kompetencjami technicznymi liczy się także sposób prowadzenia projektu - to on decyduje, czy firma zamawiająca aplikację zachowa kontrolę nad zakresem prac i budżetem od pierwszego do ostatniego tygodnia współpracy.

Metodyka Agile i etapowe dostarczanie funkcji

Projekty budowane od podstaw rzadko udaje się zaplanować ze stuprocentową precyzją na starcie - wymagania magazynu doprecyzowują się w trakcie pracy, gdy zespół zderza założenia z rzeczywistym przepływem towaru. Metodyka Agile, oparta na krótkich sprintach i regularnych demonstracjach działającej aplikacji, pozwala na bieżąco korygować kierunek prac, zamiast czekać do końca wielomiesięcznego kontraktu na pierwszą wersję gotową do testów. Dobry wykonawca prezentuje przyrosty funkcjonalności co dwa, trzy tygodnie i aktualizuje razem z klientem listę priorytetów.

Wycena projektu i modele rozliczeń

Software house zwykle proponuje jeden z dwóch modeli rozliczeń - stałą cenę za z góry określony zakres (fixed price) lub rozliczenie za czas pracy zespołu (time and material). Pierwszy model sprawdza się przy dobrze opisanych, niezmiennych wymaganiach, drugi - przy projektach, w których zakres będzie ewoluował wraz z postępem prac, co w praktyce dotyczy większości dedykowanych aplikacji magazynowych. Niezależnie od modelu warto zażądać rozbicia wyceny na etapy, tak aby każdy kolejny fragment budżetu był uruchamiany po odbiorze poprzedniego. Osobno warto ustalić, czy wycena obejmuje testy na rzeczywistym sprzęcie magazynowym, czy tylko na urządzeniach deweloperskich - różnica bywa źródłem nieprzewidzianych kosztów tuż przed uruchomieniem produkcyjnym.

Umowa i poziom SLA

Umowa z software house'em powinna precyzować nie tylko zakres i harmonogram prac, ale również poziom SLA obowiązujący po wdrożeniu - czas reakcji na zgłoszenie awarii, godziny dostępności wsparcia oraz kary umowne za niedotrzymanie ustalonych terminów. Równie istotny jest zapis o przekazaniu pełnych praw do kodu źródłowego oraz dokumentacji technicznej po zakończeniu projektu - bez tego firma zamawiająca aplikację pozostaje trwale związana z jednym wykonawcą, nawet jeśli współpraca się nie sprawdzi.

Wsparcie powdrożeniowe i utrzymanie aplikacji

Odbiór aplikacji nie kończy relacji z software house'em - dedykowane oprogramowanie wymaga regularnych aktualizacji, poprawek bezpieczeństwa oraz dostosowań do nowych wersji systemu Android, które producenci urządzeń wprowadzają co kilkanaście miesięcy. Warto ustalić przed podpisaniem umowy, czy wykonawca oferuje osobny pakiet utrzymaniowy, jakie są jego koszty oraz czy obejmuje on również rozbudowę integracji systemów magazynowych o kolejne moduły i kanały sprzedaży.

Firmy, które planują rozwój aplikacji w dłuższej perspektywie, powinny zapytać wykonawcę o plan wsparcia po wdrożeniu systemu WMS w całym magazynie, nie tylko w pierwszych tygodniach po starcie produkcyjnym. Brak takiego planu bywa jednym z częstszych powodów, dla których dedykowane aplikacje magazynowe po roku, dwóch latach przestają nadążać za zmieniającymi się procesami firmy.

Telefony, tablety i terminale objęte wsparciem powdrożeniowym dedykowanej aplikacji magazynowej

Custom development a gotowy produkt WMS na Androida - porównanie

Zestawienie poniżej porządkuje różnice między budową dedykowanej aplikacji a wdrożeniem gotowego produktu, pomocne przy podjęciu ostatecznej decyzji.

KryteriumCustom developmentGotowy produkt WMS
Dopasowanie do procesówPełne, aplikacja budowana pod konkretny magazynOgraniczone do funkcji przewidzianych przez producenta
Czas realizacjiTygodnie do kilku miesięcy, zależnie od zakresuKrótki, program gotowy do pracy niemal od razu
Koszt początkowyWyższy, obejmuje analizę i programowanie od podstawNiższy, cena licencji lub subskrypcji
Zależność od dostawcyWysoka, aplikację rozwija zwykle jeden wykonawcaOgraniczona do umowy licencyjnej i wsparcia producenta
Rozwój w czasieElastyczny, zakres ustala zamawiającyZależny od mapy rozwoju produktu dostawcy
Androidowy program magazynowy porównywany z dedykowaną aplikacją budowaną przez software house

Ryzyka związane z custom developmentem aplikacji magazynowej

Custom development niesie ze sobą ryzyka, których nie ma przy wdrożeniu gotowego produktu, i warto je świadomie zaakceptować przed podpisaniem umowy, a nie odkrywać w trakcie realizacji projektu.

Największym ryzykiem pozostaje uzależnienie od jednego dostawcy - jeśli software house zakończy działalność, zmieni priorytety biznesowe lub straci doświadczonych programistów, kontynuacja projektu, a nawet bieżące utrzymanie aplikacji, może stanąć pod znakiem zapytania. Drugim istotnym ryzykiem jest przekroczenie budżetu i harmonogramu - typowe dla projektów, w których zakres prac nie został precyzyjnie opisany na etapie analizy, a zmiany wymagań w trakcie realizacji nie były rozliczane w ramach jasno określonego procesu. Trzecim ryzykiem jest niedoszacowanie kosztu utrzymania - aplikacja, która na starcie kosztuje mniej niż zakładano, po dwóch latach eksploatacji potrafi generować wydatki przewyższające pierwotny budżet wdrożenia.

Wskazówka

Przed podpisaniem umowy warto zażądać nie tylko referencji, ale również rozmowy z klientem, dla którego software house realizował podobny projekt magazynowy, oraz zapisu gwarantującego przekazanie kodu źródłowego po zakończeniu współpracy - to dwa elementy, które najskuteczniej ograniczają ryzyko uzależnienia od jednego dostawcy.

Decyzja o wyborze software house'u do budowy dedykowanej aplikacji Android dla magazynu powinna opierać się na tych samych zasadach, co każdy inny projekt informatyczny o dużym znaczeniu operacyjnym - sprawdzonym portfolio, jasnym modelu współpracy, mierzalnym SLA i realnym planie wsparcia po wdrożeniu. Firmy, które nie są pewne, czy potrzebują aplikacji szytej na miarę, czy wystarczy im gotowy program magazynowy na Androida, powinny najpierw przetestować możliwości gotowych rozwiązań, zanim zdecydują się na kosztowniejszą i dłuższą ścieżkę wdrożenia systemu budowanego od podstaw.