Dwa czynniki wpływają na koszty tworzenia oprogramowania na zamówienie: liczba systemów, z którymi oprogramowanie musi być zsynchronizowane, oraz liczba oddzielnych jednostek organizacyjnych, które musi obsługiwać jednocześnie. Liczba ekranów ledwo wpływa na cenę. Dwa produkty z tymi samymi dwudziestoma ekranami mogą różnić się ceną nawet trzykrotnie, ponieważ jeden z nich komunikuje się z jedną bazą danych, a drugi musi zapewnić zgodność Slacka, Salesforce, dostawcy usług kadrowo-płacowych i trzech regionalnych zestawów reguł. Jeśli porównujesz oferty i kwoty wydają się nie do pogodzenia, to prawie zawsze właśnie tam tkwi różnica.
Na co faktycznie zwracają się koszty tworzenia oprogramowania na zamówienie
Kiedy pytasz, ile kosztuje oprogramowanie na zamówienie, tak naprawdę pytasz o cztery oddzielne rzeczy, które dostawcy łączą w jedną kwotę.
Godziny w określonej stawce. To jest ta część, którą wszyscy rozumieją. Stawki godzinowe w branży są podzielone według regionu: Europa Wschodnia zazwyczaj wynosi $40-100, Europa Zachodnia $75-200, a USA $100-250. To są punkty odniesienia, a nie cennik pojedynczego dostawcy, i wyjaśniają mniej, niż ludzie się spodziewają. Zespół z $60/godziną, który potrzebuje trzy razy więcej godzin, nie jest tańszy.
Zakres, który jest widoczny. Ekrany, formularze, raporty, aplikacja mobilna. To właśnie na to wskazuje interesariusz w wersji demonstracyjnej i jest to najmniejsza część szacunków w przypadku każdej poważnej budowy.
Zakres, który jest niewidzialny. Integracje, migracja danych, role i uprawnienia, ścieżki audytu, środowiska, obsługa błędów w każdym przypadku, gdy system zewnętrzny nie odpowiada. Nikt tego nie demonstruje. To rutynowo dominuje w budżecie.
Ryzyko. Ile jeszcze dostawca nie wie o Twojej firmie? Wycena oparta na niejasnym briefie jest później podwyższana, renegocjowana, a może jedno i drugie.
Koszt oprogramowania na zamówienie to suma tych czterech, a w przypadku dwóch ostatnich szacunki się różnią. Przydatny test podczas czytania oferty: znajdź pozycje zamówienia, do których nie jest dołączony ekran. Jeśli ich nie ma, dostawca wycenił wersję demonstracyjną, a nie system.
Dlaczego integracje kosztują więcej niż ekrany
Ekran to praca ograniczona. Tworzysz go, przeglądasz i jest gotowy. Integracja nie jest ograniczona przez swój interfejs — jest ograniczona przez zachowanie drugiego systemu, nad którym nie masz kontroli.
Weźmy na przykład pojedyncze połączenie z CRM. Szczęśliwy scenariusz to dzień pracy. Potem pojawiają się prawdziwe pytania. Co się stanie, gdy token uwierzytelniający wygaśnie w trakcie synchronizacji? API ogranicza częstotliwość próbkowania podczas szczytu na koniec miesiąca, a połowa kolejki po cichu zawiedzie. Zapis kończy się sukcesem, więc po jednej stronie masz rekord, a po drugiej nic. Następnie dostawca zmienia typ pola w wersji pomniejszej. Każda z tych sytuacji to decyzja projektowa, fragment kodu, test i coś do monitorowania w środowisku produkcyjnym. Pisaliśmy o tym trybie awarii szczegółowo w kontekście automatyzacji sprzedaży, gdzie doszliśmy do tego samego wniosku: większość błędów integracji nie wynika ze złej logiki, ale z wygasających tokenów, ograniczeń przepustowości i częściowo udanych zapisów na granicy systemu.
Teraz pomnóż. Pięć integracji to nie pięć razy jedna integracja, ponieważ muszą się one również ze sobą zgadzać. Jeśli Slack zgłosi zamianę zmiany, dział płac musi się na to zgodzić, a raport zgodności musi odzwierciedlać tę samą wersję zdarzeń. Ta warstwa uzgadniania jest niewidoczna w interfejsie użytkownika i często stanowi jedną trzecią pracy back-endowej.
Nie dotyczy to żadnej konkretnej branży. Podobny kształt widzieliśmy w przypadku projektu fintech, gdzie integracje okazały się jednym z największych ukrytych czynników wpływających na budżet — widoczny interfejs rozrósł się w umiarkowanym stopniu, natomiast powierzchnia operacyjna za nim rosła znacznie szybciej.
To, co naprawdę dodaje "musi skalować się do kilku lokalizacji"
Ten wers pojawia się w niemal każdym streszczeniu, zazwyczaj jako pojedyncze zdanie pod koniec. To nie jest zdanie. To warstwa architektoniczna i jest wyceniana jako taka.
Multi-lokalizacja oznacza co najmniej:
| Wymóg | Co właściwie dodaje |
|---|---|
| Role i uprawnienia | Model uprawnień, który jest niezależny od lokalizacji, a nie globalny. Kto widzi czyje dane, kto zatwierdza dane w różnych jednostkach, co może zrobić menedżer regionalny, a czego nie może menedżer lokalny. |
| Izolacja danych | Każde zapytanie ma swój zakres. Każdy raport ma swój zakres. Błędy w tym przypadku to wycieki danych, więc to wymaga testów, a nie tylko dbałości. |
| Zasady regionalne | Różne zasady dotyczące wynagrodzeń, różne progi dotyczące nadgodzin, różne obowiązki sprawozdawcze w zależności od regionu — konfigurowalne, nie zakodowane na stałe. |
| Zbiór | Raporty gromadzą się w różnych lokalizacjach, bez podwójnego liczenia osób pracujących w więcej niż jednej lokalizacji. |
| Wdrożenie | Nie można wdrożyć zmiany we wszystkich lokalizacjach jednocześnie, jeśli ich reguły się różnią. Oznacza to flagi funkcji i migrację etapową. |
Wersja tego samego produktu dla pojedynczego biura pomija wszystkie pięć. To jest szczera odpowiedź na pytanie, dlaczego dwóch dostawców podających tę samą listę funkcji może się znacznie różnić pod względem kosztów oprogramowania na zamówienie: jeden z nich przeczytał to zdanie, a drugi nie.
Przykład z naszej praktyki
Zbudowaliśmy SAMAY, platforma HR i kadrowa dla klienta z Krakowa. Lista funkcji przypomina standardowy produkt administracyjny: cyfrowe meldunki, śledzenie czasu pracy, planowanie zmian, zarządzanie nieobecnościami, przechowywanie dokumentów kadrowych, automatyczne obliczanie wynagrodzeń i raportowanie zgodności.
Gdyby wycenić tę listę według ekranów, otrzymalibyśmy skromną kwotę. Rzeczywisty kształt pracy był inny.
Gdzie tak naprawdę trafił budżet
Ekrany odprawy i śledzenia czasu pracy były prostą częścią. Budżet został przeznaczony na dwa obszary. Po pierwsze, na integracje – platforma musiała być zintegrowana z narzędziami, z których korzystała już firma, od Slacka do codziennej komunikacji zmianowej i dotyczącej nieobecności, po Salesforce po stronie komercyjnej. Każde z tych połączeń wymagało pracy nad granicami opisanymi powyżej: co się stanie, gdy system zewnętrzny przestanie działać podczas odprawy, jak rozprzestrzeni się zmiana wprowadzona w jednym miejscu, jak później udowodnić, który system był źródłem danych dla danego wpisu płacowego. Automatyzacja płac sprawia, że to ostatnie pytanie jest kosztowne, ponieważ błędna liczba nie oznacza zgłoszenia błędu, a jedynie pensję pracownika.
Co dodano w ramach wielolokalizacji
Po drugie, wymóg obsługi wielu lokalizacji. System musiał działać jednocześnie w jednym biurze i w sieci biur w różnych regionach. Oznaczało to, że model uprawnień, izolacja danych, regionalne zasady dotyczące płac i raportowanie zgodności z przepisami dla danego regionu – wszystkie te elementy musiały istnieć jako pierwszorzędne koncepcje od momentu podjęcia pierwszej decyzji architektonicznej, a nie być modernizowane. Migracja danych z poprzednich narzędzi musiała uwzględniać te same ograniczenia – nie można zaimportować płaskiego eksportu do systemu o określonym zakresie bez ustalenia, wiersz po wierszu, do którego zakresu należy każdy z nich.
Wniosek inżynierski, jaki wyciągnęliśmy z tej budowy: wymóg, który jest najdroższy, prawie nigdy nie jest tym napisanym największą czcionką. “Wiele lokalizacji” było jednym z punktów w opisie i jednym z największych czynników kosztowych w projekcie.
Na co zwrócić uwagę
Odkrywanie nie jest obciążeniem. Faza odkrywania, która mapuje integracje, model uprawnień i warianty regionalne, przekształca nieznane ryzyko w zakres objęty wyceną. Pominięcie jej nie oszczędza pieniędzy; powoduje jedynie przeniesienie kosztów na żądania zmian z większym prawdopodobieństwem.
Kwestia stałej ceny czy czasu i materiałów to kwestia pewności, a nie bezpieczeństwa. W jasno określonym zakresie stała cena rzeczywiście Cię chroni. W przypadku niejasnego briefu, sprzedawca albo dodaje bufor, albo przewiduje późniejszą renegocjację – do tego samego wniosku doszliśmy, gdy rozbijaliśmy umowę. co tak naprawdę ustala budżet aplikacji: zakres, nie pomysł. Czas i materiały to uczciwy model, gdy zakres wciąż się zmienia, pod warunkiem, że masz rytm na sprint i prawo do zatrzymania. Praktyczny schemat: odkrycie czasu i materiałów, a następnie ustalona cena za wygenerowany zakres odkrycia.
Porównuj stawki za tworzenie oprogramowania niestandardowego na końcu, a nie na początku. Stawka nic nie mówi o liczbie godzin. Zapytaj każdego dostawcę, ile godzin przydzielił na integracje i model uprawnień. Różnica w tych dwóch pozycjach wyjaśnia większość różnicy w sumach.
Szukaj szacunków bez linii migracji danych. Twoje obecne dane są chaotyczne, a ich uporządkowanie to prawdziwa praca, którą trzeba wykonać przed uruchomieniem, a nie po nim.
Zapytaj, kto jest właścicielem integracji, gdy inny dostawca zmieni swój interfejs API. Jeśli nie zostanie to zapisane w umowie, to później stanie się to przedmiotem sporu, zazwyczaj w najgorszym możliwym momencie.
Co przygotować przed poproszeniem o wycenę
Otrzymasz lepszą cenę za tworzenie oprogramowania na zamówienie, jeśli przygotujesz cztery rzeczy: listę systemów, z którymi oprogramowanie musi się komunikować, oraz kierunek przepływu danych; schemat organizacyjny przełożony na role i informacje, które każda z nich może zobaczyć; listę lokalizacji i wszystkich reguł, które się między nimi różnią; oraz opis posiadanych danych i ich lokalizacji. Taki dokument ma większe znaczenie dla dokładności wyceny niż jakakolwiek lista funkcji.
Wniosek
Powierzchnia integracji wpływa na koszty tworzenia oprogramowania na zamówienie, wraz z modelem uprawnień i izolacji, na którym opiera się obsługa wielu lokalizacji, oraz ze wszystkim, co umowa wciąż pozostawia nieznane – nie liczbą ekranów w pliku projektu. Stawki regionalne określają cenę jednostkową, ale architektura określa godziny, a Twoje wymagania określają architekturę – wymagania, które możesz opisać w jednym zdaniu i zapłacić za nie ponad rok. Budowa SAMAY jest tego czystym przykładem: konwencjonalna lista funkcji HR, z budżetem skoncentrowanym na integracjach i na tym, aby jeden system obsługiwał jedno biuro i sieć biur równie dobrze. Jeśli chcesz liczby, która przetrwa kontakt z Twoim rzeczywistym środowiskiem, zacznij od mapy integracji i modelu uprawnień. To jest praca, którą wykonujemy w pierwszej kolejności za każdym razem. tworzenie oprogramowania na zamówienie zaręczyny.


