Producent oprogramowania odpowiada za cały cykl życia programu, od analizy potrzeb po wsparcie po wdrożeniu. SoftwareStudio z Poznania prowadzi taką działalność dla firm z logistyki magazynowej, a także z sektora produkcyjnego i handlowego. Ten tekst opisuje zakres usług producenta, ofertę poza logistyką oraz sposób oceny wykonawcy przed umową.

Opis opiera się na faktach z oferty SoftwareStudio. Mechanizmy ogólne, takie jak wersjonowanie bazy czy kopie zapasowe, przedstawiono jako wiedzę o wytwarzaniu oprogramowania, a nie jako deklarację konkretnego produktu.

Producent oprogramowania z Poznania - zakres usług

Producent projektuje i programuje systemy, a następnie testuje je i wdraża. Klient dostaje wynik w postaci działającego programu oraz dokumentu, który opisuje jego zakres. Usługi dzielą się na kilka grup, z których każda kończy się innym produktem pracy.

UsługaCo obejmujeWynik dla klienta
Analiza biznesowaOpis procesów i danych, spotkania z użytkownikamiLista wymagań z priorytetami
Założenia rozwiązaniaDoradztwo przy określaniu zakresu systemuDokument założeń
Specyfikacja do wnioskuOpis funkcjonalny do wniosków unijnychTekst specyfikacji
Aplikacje internetoweProgram działający w przeglądarce, na serwerze IIS z bazą SQL ServerWersje testowa i produkcyjna
Aplikacje mobilneProgramy na urządzenia z systemem AndroidAplikacja dla terminala lub telefonu
Wdrożenie i wsparcieInstalacja, szkolenia, obsługa zgłoszeńPrzeszkoleni użytkownicy i kanał zgłoszeń

Reguła: zakres usługi ustala się na piśmie przed pracami, bo tylko wtedy odbiór można oprzeć na sprawdzalnych kryteriach.

Poziom szczegółowości zależy od projektu. Aplikacja dla jednego działu wymaga innej analizy niż system dla całej firmy, ale pierwszy krok jest ten sam: rozmowa z ludźmi, którzy na co dzień wykonują dany proces. Opis takiej fazy zawiera artykuł o analizie przedwdrożeniowej.

Produkty własne i oprogramowanie na zamówienie

Producent może oferować gotowe systemy albo pisać oprogramowanie od podstaw. Gotowy system uruchamia się szybciej, bo procesy są już zaprogramowane, a klient konfiguruje parametry. Program pisany na zamówienie pasuje do niestandardowego procesu, ale wymaga dłuższej analizy i utrzymania kodu.

SystemObszarProces, który obsługuje
Studio WMS.netMagazynPrzyjęcia, lokalizacje, wydania
Studio VSS.netAwizacje dostawRezerwacja okien czasowych dla przewoźników
Studio TCS.netNarzędziowniaWypożyczanie i zwroty narzędzi
Studio PWS.netGospodarka paletowaSaldo i ruch palet
Studio RMA.netReklamacjeRejestracja i obsługa zgłoszeń
Studio RPL.netWycena metaliWycena katalizatorów w skupie

Główne różnice między systemami wynikają z procesu, nie z technologii. Wszystkie działają w przeglądarce na wspólnej platformie, a odmienne są dane i reguły. Magazyn opisuje artykuł o systemie zarządzania magazynem, a rezerwację okien dla przewoźników tekst o systemie VSS.net.

Gdy proces firmy odbiega od standardu, producent proponuje moduł lub aplikację dopisaną na zamówienie. Ogólny przegląd tej oferty daje artykuł o producencie oprogramowania, a podobne zagadnienie w innym ujęciu porusza tekst o aplikacjach internetowych i ich architekturze.

Gotowy system czy program na zamówienie

Decyzję ułatwia porównanie procesu firmy z tym, co system potrafi skonfigurować. Jeśli większość procesów da się pokryć parametrami, gotowy system jest tańszy w utrzymaniu, bo producent dostarcza aktualizacje wszystkim klientom naraz. Jeśli proces jest niestandardowy i stanowi o przewadze firmy, warto rozważyć program pisany na zamówienie.

W praktyce obie drogi się łączą. Rdzeń, czyli magazyn i dokumenty wraz z uprawnieniami, pochodzi z gotowego systemu, a dopisane moduły obsługują wyjątki. Granicę wyznacza to, czy zmiana da się wprowadzić bez ingerencji w kod, który producent aktualizuje dla innych klientów.

Oferta poza sektorem logistyki

Oferta SoftwareStudio nie ogranicza się do logistyki magazynowej. Poza magazynem i transportem producent utrzymuje systemy dla reklamacji i gospodarki paletowej, a także dla narzędziowni i wyceny metali w złomie. Poniżej opisano cztery z nich razem z mechanizmem, na którym się opierają.

Reklamacje - Studio RMA.net

Reklamacja przechodzi cztery etapy: przyjęcie zgłoszenia i ocenę, a potem decyzję i zamknięcie. System zapisuje datę każdego etapu i osobę, która go wykonała, dzięki czemu widać, które zgłoszenia czekają zbyt długo. Zakres modułu opisuje artykuł o systemie obsługi reklamacji, a produkt prezentuje serwis Studio RMA.net.

Gospodarka paletowa - Studio PWS.net

Palety zwrotne są majątkiem, który krąży między firmą a kontrahentami. Program prowadzi saldo palet dla każdego kontrahenta, więc różnicę między wydanymi a zwróconymi paletami widać bez liczenia dokumentów. Szczegóły procesu zawiera artykuł o gospodarce paletowej.

Otwarte biuro z monitorem, na którym widać kolorowy interfejs, w tle zespół przy stanowiskach pracy
Zespół producenta pracuje nad kilkoma systemami na wspólnej platformie technicznej

Wycena skupu katalizatorów - Studio RPL.net

Studio RPL.net (Recycling Price List) wspiera handel katalizatorami i ich recykling. Aplikacja udostępnia bazę katalizatorów z zawartością metali szlachetnych oraz ceny metali aktualizowane na podstawie danych z giełdy. Kurs EUR/USD również jest aktualizowany, bo część cen podaje się w walucie obcej. Opis aplikacji zawiera artykuł o Studio RPL.net.

Składnik wycenySkąd pochodziZmienność
Zawartość metali szlachetnychBaza katalizatorówStała dla danego modelu
Cena metaluDane z giełdy metali szlachetnychAktualizowana na bieżąco
Kurs EUR/USDZewnętrzne źródło danychAktualizowany na bieżąco

Tabela pokazuje, że wartość zależy od trzech danych o różnej zmienności. Wycena musi zapisywać ceny oraz kurs obowiązujące w chwili obliczenia, bo później kurs się zmieni, a dokument wyceny ma pozostać taki, jak w dniu transakcji.

Gospodarka narzędziowa - Studio TCS.net

Narzędziownia prowadzi narzędzia wypożyczane pracownikom i kontrahentom. Program pokazuje, kto pobrał narzędzie i kiedy ma je zwrócić, a ewidencja pozostaje w porządku bez ręcznych zestawień. Ten obszar omawia artykuł o programie do magazynu narzędzi.

Doradztwo - założenia rozwiązania i wnioski unijne

Producent SoftwareStudio doradza klientom przy określaniu założeń rozwiązania i wykonuje analizy biznesowe. Pomaga też przy pisaniu specyfikacji do wniosków unijnych. Specyfikacja do wniosku różni się od dokumentacji projektowej tym, że musi opisać funkcje systemu bez ustalonej jeszcze technologii i bez pewności co do dokładnego zakresu prac.

Dobra specyfikacja nazywa problem, wymienia procesy objęte systemem i opisuje dane, które trafią do bazy. Zawiera też kryteria odbioru, czyli warunki, po spełnieniu których można uznać funkcję za dostarczoną. Zasady przyznawania dofinansowania ustala instytucja rozpatrująca wniosek, więc wymagania formalne trzeba sprawdzić w dokumentach naboru. Szersze ujęcie doradztwa znajduje się w artykule o doradzaniu przy tworzeniu systemów IT.

Przy wniosku unijnym opis systemu musi być spójny z budżetem i harmonogramem projektu. Zmiana funkcji po przyznaniu dofinansowania bywa ograniczona regulaminem konkursu, więc specyfikacja wymaga ostrożności w deklaracjach. Obietnica funkcji, której nie da się zrealizować, tworzy ryzyko przy rozliczeniu, dlatego analityk zestawia każdą pozycję opisu z możliwościami technicznymi.

Technologie i sposób dostarczania systemu

SoftwareStudio tworzy przede wszystkim aplikacje internetowe, czyli takie, które działają w przeglądarce. Serwer aplikacji pracuje na Microsoft IIS, a dane leżą w SQL Server. W przeszłości firma tworzyła także programy na kolektory danych, a obecnie buduje aplikacje na Androida, o czym mówi artykuł o aplikacji magazynowej na Androida.

Chmura z logo okna i napisem o dostępie z każdego urządzenia, wokół tablety, laptopy i monitory z aplikacjami
Jeden system dostępny w przeglądarce oraz na urządzeniach mobilnych z Androidem

Wersjonowanie bazy przy aktualizacjach

Aktualizacja programu zwykle zmienia strukturę bazy, więc producent dostarcza ją jako skrypty z numerem wersji. Skrypt sprawdza, czy dana zmiana została już wykonana, i dzięki temu można go uruchomić ponownie bez szkody. Przykład jest umowny.

IF NOT EXISTS (SELECT 1 FROM dbo.WersjaSchematu WHERE Wersja = 42)
BEGIN
    ALTER TABLE dbo.Zamowienie ADD Uwagi nvarchar(500) NULL;

    INSERT INTO dbo.WersjaSchematu (Wersja, Opis, Kiedy)
    VALUES (42, N'Dodano pole uwag do zamówienia', SYSDATETIME());
END;

Reguła: skrypt aktualizacji uruchamia się najpierw na kopii bazy klienta, a dopiero po pozytywnym wyniku na produkcji.

Wycena i model rozliczenia prac

Koszt aplikacji na zamówienie zależy od zakresu funkcji, od liczby integracji i od wymaganego czasu realizacji, więc SoftwareStudio wycenia projekty indywidualnie. Producent dzieli pracę na pozycje, a każda z nich ma własną niepewność. Analiza i projekt bazy są przewidywalne, a integracja z cudzym programem bywa najbardziej ryzykowna, bo zależy od jakości dokumentacji po drugiej stronie.

  • Ryczałt za zakres - stała kwota za opisane funkcje, wygodna przy dobrze określonych wymaganiach.
  • Czas i materiał - rozliczenie według faktycznie przepracowanych godzin, stosowane przy zmiennym zakresie.
  • Wycena etapowa - każdy etap ma osobną kwotę i odbiór, a decyzja o następnym zapada po poprzednim.
  • Abonament serwisowy - opłata okresowa za wsparcie oraz aktualizacje po okresie gwarancji.

Model rozliczenia trzeba dobrać do stopnia niepewności. Przy prostym projekcie w postaci MVP, który ma wąski i dobrze opisany zakres, ryczałt jest zwykle wystarczający. Rozbudowane systemy trwają dłużej, a precyzyjny harmonogram ustala się dopiero po analizie wymagań, więc wycena etapowa daje obu stronom większą kontrolę.

Testowanie i odbiór aplikacji

Odbiór opiera się na scenariuszach, a nie na wrażeniu ogólnym. Scenariusz opisuje sytuację wyjściową i czynności użytkownika, a na końcu oczekiwany wynik, na przykład rejestrację reklamacji z załącznikiem i sprawdzenie, czy trafiła do właściwej kolejki. Scenariusze przygotowuje się razem z użytkownikami końcowymi, bo tylko oni wiedzą, jak proces przebiega na co dzień.

Środowisko testowe i produkcyjne

Testy wykonuje się na osobnym środowisku z osobną bazą, żeby błąd w nowej wersji nie dotknął danych produkcyjnych. Kopia bazy do testów nie powinna zawierać danych osobowych w czytelnej postaci, więc przed jej użyciem zamienia się je na dane zastępcze. Środowisko testowe utrzymuje się w tej samej wersji SQL Server i IIS co produkcyjne, bo różnice w konfiguracji potrafią ukryć błąd do dnia uruchomienia.

Kontrola spójności danych po przeniesieniu

Po przeniesieniu danych ze starego systemu wykonuje się zapytania kontrolne, które wyszukują rekordy bez powiązań. Poniższe zapytanie zwraca zamówienia, których kontrahenta nie ma w kartotece; wynik różny od zera blokuje odbiór do czasu poprawy danych. Nazwy tabel są przykładowe.

SELECT z.ZamowienieId, z.NumerZamowienia
FROM dbo.Zamowienie AS z
LEFT JOIN dbo.Kontrahent AS k ON k.KontrahentId = z.KontrahentId
WHERE k.KontrahentId IS NULL;

Podobne zapytania obejmują pozycje bez nagłówka dokumentu oraz ilości ujemne, a także daty poza dozwolonym zakresem. Zestaw kontroli zostaje w systemie po odbiorze i uruchamia się go po każdej aktualizacji.

Wsparcie po wdrożeniu - szkolenia oraz aktualizacje

Sama dostawa systemu to za mało, liczy się opieka po uruchomieniu. SoftwareStudio zapewnia klientom wsparcie techniczne i szkolenia, aby użytkownicy potrafili wykorzystać funkcje programu. Zakres wsparcia warto spisać, bo zapis w umowie pozwala odróżnić poprawkę błędu od nowej funkcji.

  • Kanał zgłoszeń - telefon lub poczta, przy których każde zgłoszenie dostaje numer i osobę odpowiedzialną.
  • Czas reakcji - liczony od przyjęcia zgłoszenia do pierwszej odpowiedzi, a osobno od zgłoszenia do usunięcia błędu.
  • Aktualizacje - wydania z listą zmian i skryptami bazy, testowane przed wdrożeniem u klienta.
  • Szkolenia - spotkania dla użytkowników końcowych i krótsze dla administratora systemu.

Zgłoszenia dzieli się na priorytety. Awaria zatrzymująca pracę magazynu wymaga innej reakcji niż prośba o dodatkowy raport, więc umowa opisuje, które sytuacje zaliczają się do której grupy. Bez takiego podziału każde zgłoszenie ma ten sam priorytet, a pilne sprawy toną wśród drobnych próśb.

Do wsparcia należy też ochrona danych. Kopie zapasowe wykonuje się według częstotliwości wynikającej z akceptowalnej utraty danych, a każdą należy sprawdzać próbą odtworzenia. Zasady tworzenia i przywracania kopii SQL Server opisuje dokumentacja Microsoft Learn.

Ocena producenta przed podpisaniem umowy

Przy wyborze producenta oprogramowania dobrze sprawdzić, czy oferuje wsparcie techniczne i szkolenia po wdrożeniu. Drugą kwestią jest legalność licencji: oprogramowanie kupione od producenta lub zaufanego dystrybutora daje dostęp do aktualizacji i chroni firmę przed konsekwencjami prawnymi. Szczegóły praw autorskich i licencji należy omówić z prawnikiem.

Monitor z otwartym oknem dokumentu na biurku, w tle rozmyte światła miasta, ilustracja dokumentacji technicznej systemu
Dokumentacja techniczna przekazywana klientowi po odbiorze systemu
  • Dokumentacja - opis modelu danych oraz lista integracji z instrukcją odtworzenia środowiska.
  • Prawa do programu - umowa wskazuje, czy klient dostaje licencję na użytkowanie, czy prawa do kodu, i na jakich polach eksploatacji.
  • Referencje procesowe - przykład wdrożenia w podobnym procesie, na przykład magazynowym albo reklamacyjnym.
  • Utrzymanie - zapis, kto naprawia błędy po upływie okresu gwarancji i według jakiej stawki.

Po wstępnej rozmowie klient może obejrzeć działanie systemów w demo online, a zakres prac wyjaśnić przez telefon +48 533 322 626. Wycena aplikacji na zamówienie zależy od zakresu funkcji i od czasu realizacji, a osobno od liczby integracji, więc SoftwareStudio przygotowuje ją indywidualnie. Przegląd usług programistycznych firmy znajduje się w serwisie usług SoftwareStudio.