Oprogramowanie na zamówienie - systemy, API i integracje
Gotowy program robi 60% tego, co potrzebujecie
Resztę załatwia arkusz obok i dwie osoby, które przepisują dane. Za rok ten arkusz jest ważniejszy niż system.
Poprzedni wykonawca zniknął z kodem
Bez repozytorium, dokumentacji i dostępów rozwój stoi. Przejęcie takiego projektu jest możliwe, tylko trzeba zacząć od przeglądu.
Każda zmiana kosztuje i trwa miesiąc
Zwykle znak, że kod nie ma testów, a wdrożenie jest ręczne. To da się naprawić bez pisania wszystkiego od nowa.
Licencje rosną szybciej niż firma
Opłata za użytkownika ma sens do pewnej skali. Powyżej niej własny system zwraca się szybciej, niż większość ludzi zakłada.
Systemy nie rozmawiają ze sobą
CRM, fakturowanie i magazyn żyją osobno, a spójność utrzymuje człowiek. Integracja jest zwykle tańsza niż wymiana któregokolwiek z nich.
Nie wiadomo, co dokładnie zamówić
Wiecie, co boli, ale nie jak to opisać w specyfikacji. To normalne i dlatego zaczynam od rozmowy o procesie, nie o funkcjach.
Aplikacje webowe
Systemy działające w przeglądarce, bez instalacji, dostępne z biura, domu i telefonu. Najczęściej wybierana forma, bo najłatwiejsza w utrzymaniu.
Serwery i API
Warstwa danych i logiki: REST albo GraphQL, uprawnienia, kolejki zadań i integracje. Fundament, na którym stoi wszystko pozostałe.
Oprogramowanie dedykowane
Systemy CRM i ERP szyte pod Wasz proces, platformy e-learningowe, narzędzia analityczne. Wtedy, gdy gotowe rozwiązanie wymusza zmianę sposobu pracy.
Automatyzacje
Skrypty, boty i integracje, które przejmują powtarzalne zadania: eksporty, raporty, przenoszenie danych i pilnowanie terminów.
Sklepy i marketplace
Sprzedaż online z płatnościami, wysyłką i fakturowaniem, także w modelu wielu sprzedawców, gdy platforma ma łączyć dwie strony rynku.
Integracje systemów
Połączenie tego, co już macie: CRM z fakturowaniem, magazyn ze sklepem, kadry z listą płac. Dane przestają być przepisywane ręcznie.
Systemy rezerwacji
Rezerwacja wizyt, noclegów i biletów z kalendarzem, przypomnieniami i płatnością z góry.
Pulpity i raporty
Dane z kilku źródeł w jednym widoku, z eksportem i raportem wysyłanym automatycznie.
Systemy wewnętrzne
Zarządzanie klientami, projektami, zasobami i finansami tak, jak działa Wasza firma.
Dedykowane CMS
Panel do treści dopasowany do redakcji, zamiast uczenia zespołu obcego narzędzia.
ROZMOWA O PROCESIE
Zaczynam od tego, jak dziś pracujecie i gdzie boli, a nie od listy funkcji. Z tej rozmowy wychodzi zakres pierwszej wersji, zwykle mniejszy niż początkowe oczekiwania.
PROJEKT I ARCHITEKTURA
Ekrany, przepływ pracy i model danych. Model danych jest ważniejszy niż wygląd, bo źle zaprojektowany blokuje rozwój na lata.
BUDOWA W CYKLACH
Co dwa tygodnie widzicie działającą wersję i mówicie, co poprawić. Nie ma etapu, w którym przez trzy miesiące nic nie ma do pokazania.
TESTY I JAKOŚĆ
Testy najważniejszych ścieżek pisane razem z kodem, plus przegląd bezpieczeństwa przed startem. Poprawki po wdrożeniu są dużo droższe.
WDROŻENIE
Automatyczne wdrożenie, kopie zapasowe, monitoring i migracja danych z tego, co macie dzisiaj. Start z możliwością wycofania zmian.
UTRZYMANIE I ROZWÓJ
Wsparcie po wdrożeniu i kolejne funkcje w cyklach dwutygodniowych, albo przekazanie projektu Waszemu zespołowi z dokumentacją.
Jeden moduł
Domknięcie konkretnej luki: integracja, panel, automatyzacja jednego procesu. Najszybszy sposób sprawdzenia, jak nam się pracuje.
System dla firmy
Pełne rozwiązanie zbudowane pod Wasz proces, z panelem, uprawnieniami i integracjami. Najczęściej wybierany zakres.
Przejęcie projektu
Gdy poprzedni wykonawca zniknął albo rozwój stanął. Zaczynam od przeglądu i uczciwej odpowiedzi, czy warto ratować, czy pisać od nowa.
Ile kosztuje własny system?
Jeden moduł albo integracja to zwykle najmniejszy sensowny projekt, pełny system dla firmy jest kilka razy droższy, a dokładna kwota zależy od liczby ról, integracji i wyjątków w procesie. Podaję widełki po pierwszej rozmowie i stałą wycenę po ustaleniu zakresu. Jeśli policzę, że gotowe narzędzie wystarczy, powiem to wprost, nawet gdy to znaczy brak zlecenia.
Czy kod będzie nasz?
Tak, od pierwszego dnia i to jest zapisane w umowie. Repozytorium należy do Was, dostępy są na Wasze konta, a dokumentacja jest częścią projektu, nie dodatkiem. Chodzi o to, żebyście mogli w każdej chwili przejąć projekt albo oddać go komuś innemu bez negocjacji ze mną. Uzależnianie klienta od wykonawcy uważam za zły model biznesowy.
Nie mamy specyfikacji. Da się zacząć?
Tak i tak zaczyna większość projektów. Zamiast specyfikacji potrzebna jest rozmowa o tym, jak dziś pracujecie, gdzie powstają błędy i co zajmuje najwięcej czasu. Z tego składam zakres pierwszej wersji, który zwykle jest mniejszy niż początkowa lista pomysłów, i lepiej, bo pierwsza wersja ma zacząć działać, nie objąć wszystkiego.
Jak długo to trwa?
Jeden moduł 3-6 tygodni, system dla firmy 2-4 miesiące do pierwszej działającej wersji, potem rozwój w cyklach dwutygodniowych. Najczęstszą przyczyną opóźnień nie jest programowanie, a decyzje i dane po stronie klienta: kto zatwierdza, skąd wziąć dane z poprzedniego systemu, jak wygląda wyjątek, o którym nikt nie pamiętał.
Co, gdy przestaniemy współpracować?
Projekt jest budowany tak, żeby dało się go przejąć: standardowe technologie, dokumentacja, automatyczne wdrożenie i kod w Waszym repozytorium. Przekazanie zespołowi albo innemu wykonawcy to zwykle kilka dni pracy, nie kilka miesięcy. To samo działa w drugą stronę, dlatego biorę projekty po innych wykonawcach.
Pracujecie sam czy z zespołem?
Mniejsze projekty prowadzę sam i to jest zaleta, bo nie ma warstwy pośredniej między Wami a osobą pisząca kod. Przy większych zakresach dobieram sprawdzonych ludzi do konkretnych zadań, na przykład do projektu graficznego albo aplikacji mobilnej, i pozostaję jedynym punktem kontaktu oraz osobą odpowiedzialną za całość.
Utrzymujecie system po wdrożeniu?
Tak, w formie abonamentu albo doraźnie, jak wolicie. Abonament obejmuje aktualizacje, monitoring, poprawki i ustaloną liczbę godzin na rozwój. Model doraźny bywa tańszy przy stabilnym systemie, ale wtedy nie gwarantuję czasu reakcji. Możliwe jest też przekazanie utrzymania Waszemu zespołowi, razem ze szkoleniem.
Aplikacje web
Panele, portale klienta i systemy działające w przeglądarce.
Aplikacje mobilne
Ten sam system w telefonie, z pracą bez internetu i powiadomieniami.
DevOps i infrastruktura
Wdrożenia, monitoring i kopie zapasowe dla tego, co już działa.
Oprogramowanie na zamówienie - systemy, API i integracje | Mateusz Ulewicz
SYSTEM POD
Buduję oprogramowanie wtedy, gdy gotowe narzędzie wymusza zmianę sposobu pracy albo obsługuje tylko część procesu. Zaczynam od rozmowy o tym, jak dziś pracujecie, a nie od listy funkcji, i pokazuję działającą wersję co dwa tygodnie.
SZEŚĆ SYTUACJI,
Prawie nigdy nie zaczyna się od chęci posiadania własnego systemu. Zaczyna się od tego, że obecne narzędzia przestały wystarczać, a różnicę nadrabiają ludzie.
Zakres
Najczęściej projekt składa się z dwóch albo trzech z nich. Rzadko potrzebne jest wszystko naraz i jeszcze rzadziej od razu.
W standardzie
Te punkty nie są dodatkiem za dopłatą. Ich brak widać dopiero po roku, gdy trzeba coś zmienić, odtworzyć kopię albo przekazać projekt komuś innemu.
Warianty
Zakresy da się dzielić na etapy. Jeśli budżet jest ograniczony, zaczynamy od części, która najszybciej oszczędza czas albo zaczyna zarabiać.
Technologie
Wybieram technologie nudne i sprawdzone, bo ktoś będzie to utrzymywał za trzy lata. Nowinka bez społeczności i dokumentacji jest ryzykiem, które płaci klient.
OPISZ PROCES,
Nie potrzebuję specyfikacji ani gotowej listy funkcji. Wystarczy, że napiszesz, jak to działa dziś i co jest najgorsze. Odpowiem, co da się zrobić, w jakiej kolejności i ile to potrwa.