Wróć do listy

Ile kosztuje stworzenie dedykowanego oprogramowania?

OprogramowanieBiznesProjekty
Dawid Napora

Decydując się na stworzenie własnego oprogramowania, zastanawiamy się, ile będzie ono nas kosztować. Stworzenie dedykowanego oprogramowania bowiem zawsze wiąże się z wydatkiem. W tym artykule odpowiemy na pytanie, które nurtuje każdego przedsiębiorcę stojącego przed decyzją o wdrożeniu dedykowanych rozwiązań w swojej firmie. Podpowiemy także, jak dzięki zwinnym rozwiązaniom w Imoli można zoptymalizować koszty związane z produkcją oprogramowania.

Blog Ile Kosztuje Stworzenie Dedykowanego Oprogramowania

TL; DR

Oczywiście na pytanie ile dedykowane oprogramowanie kosztuje, nie ma jednoznacznej odpowiedzi. Na cenę oprogramowania składa się wiele czynników, które zostaną omówione w tym artykule. Najważniejszym z nich są nasze wymagania wobec oprogramowania, które przekładają się na czas realizacji. Im bardziej złożoną aplikację tworzymy, tym wyższa cena, i tutaj górnej granicy cenowej nie znajdziemy. Możemy jednak założyć, że stworzenie najprostszej aplikacji może kosztować już od kilkunastu tysięcy złotych. Przyjmuje się, że na stworzenie oprogramowania przeciętna firma musi natomiast przeznaczyć od kilkudziesięciu tysięcy do kilkuset tysięcy złotych.

Skalowanie projektu

Wymagania, jakie stawiamy tworzonemu oprogramowaniu, są podstawowym elementem wpływającym na jego cenę. Możemy stworzyć prostą aplikację, która będzie działała offline i jedynie będzie przeprowadzała dla nas proste obliczenia lub przechowywała dla nas jakieś informacje w urządzeniu. Możemy także stworzyć system, który będzie pozwalał na zapis i odczyt informacji na serwerze, dzięki czemu wielu użytkowników będzie korzystało ze wspólnego zestawu danych. A możemy także wymagać od naszego oprogramowania całkowitego zautomatyzowania procesów w naszej firmie poprzez integrację wielu różnych urządzeń.

Nasze wymagania możemy dowolnie skalować i wpływać tym samym na cenę całego przedsięwzięcia. Możemy dodawać nowe funkcjonalności lub z nich rezygnować.

Wybierając Imoli jako producenta dla swojego oprogramowania, firmy mają możliwość wpływania na projekt przez cały proces jego powstawania. W Imoli stosujemy metodyki zwinnego programowania (ang. agile software development), dzięki czemu klient przez cały czas widzi, jak powstaje jego oprogramowanie i ma realny wpływ na efekt pracy designerów oraz zespołu deweloperskiego. Cały projekt podzielony jest na mniejsze części (sprinty), co pozwala na sukcesywne wprowadzanie kolejnych funkcjonalności i możliwość decydowania o tym, co jest w danej aplikacji najważniejsze, aby zrealizować to w nadchodzącym sprincie.

Czas i zespół

Oprogramowanie nie powstaje z dnia na dzień. W przypadku prostych aplikacji może to być kwestia tygodni. Większe systemy potrzebują miesięcy, a nawet lat.  Termin realizacji wydłuża się, kiedy nasze wymagania rosną.

Najbardziej miarodajnym sposobem wyceny projektu jest więc czas. I tutaj pojawia się pewien problem: czasu nie da się przewidzieć bez precyzyjnie określonych wymagań, a te z kolei ewoluują w trakcie realizacji projektu. Efektem tego jest to, że dokładną cenę każdej funkcjonalności tak naprawdę można poznać dopiero po jej ukończeniu.

Pracę nad oprogramowaniem dzieli się na kilku programistów według ich profesji. Są programiści, którzy specjalizują się w oprogramowaniu klienckim (front-end), są też tacy, którzy zajmują się oprogramowaniem serwerowym (back-end). Pośród nich są tacy, którzy tworzą aplikacje mobilne, inni webowe. Oprócz programistów w projekt zaangażowani są również dizajnerzy oraz menedżerowie. Im większe oprogramowanie, tym większa ilość osób zaangażowana w jego rozwój.

Szukając odpowiedniego wykonawcy oprogramowania, można się natknąć na firmy, które na podstawie kilku zdań są w stanie bardzo w bardzo krótkim czasie podać cenę oprogramowania. Może to świadczyć o braku doświadczenia w wycenie projektów i chęci naciągnięcia klienta na niską cenę. Takie wyceny nie biorą pod uwagę zmian w trakcie trwania projektu, przez co możemy nie otrzymać wszystkich funkcjonalności, których potrzebujemy. Jeżeli cena projektu jest z góry określona, a wymagania niejasne, realizacja projektu może przebiegać na zasadzie dopasowania efektów pracy do podanej wcześniej ceny, co w efekcie może dać wątpliwej jakości produkt o wybrakowanej funkcjonalności. Często w takich przypadkach klient dopiero po zakończeniu prac widzi, że wytworzone oprogramowanie odbiega od jego wyobrażenia.

Dlatego też w Imoli przed podaniem szacunkowej ceny spotykamy się z klientem, aby ustalić szczegóły projektu. Spisujemy wszystkie funkcjonalności w formie User Stories, wtedy właśnie poznajemy oprogramowanie od podszewki, a klient dowiaduje się, czego tak naprawdę od oprogramowania oczekuje, oraz co oprócz założonych wymagań jest jeszcze potrzebne. Dopiero wtedy jesteśmy w stanie określić relatywną złożoność poszczególnych funkcji. To pozwala nam określić wstępną cenę każdej z nich.

Nie rezygnuj z jakości

Od jakości oprogramowania zależy sprawność jego funkcjonowania, a niesprawne oprogramowanie może  w naszej firmie wyrządzić więcej szkód niż pożytku.

Dlatego wybierając podwykonawcę, nie należy kierować się najniższą ceną, a jak najwyższym stosunkiem jakości do ceny.

W Imoli stawiamy na jakość wytwarzanego przez nas oprogramowania. Dzięki stosowanym przez nas metodykom zarządzania projektami jesteśmy w stanie bez utraty jakości optymalizować koszty.

Testowanie oprogramowania

Istotną rolę w zagwarantowaniu jakości odgrywa testowanie oprogramowania. W celu zapewnienia możliwie najwyższej jakości tworzone aplikacje należy testować na wiele sposobów.

Testy oprogramowania możemy podzielić na dwie grupy:

Testy funkcjonalne — obejmują testowanie funkcjonalnych aspektów aplikacji. Mają na celu przetestowanie każdej funkcjonalności, sprawdzając, czy ich działanie daje pożądane rezultaty, czy nie.

Spośród najważniejszych testów funkcjonalnych możemy wyróżnić:

  • Testy jednostkowe — polegają na stworzeniu kodu, który ma za zadanie przetestowanie funkcjonowania innego kodu, testy te tworzy się jeszcze przed powstaniem danej funkcjonalności;
  • Testy integracyjne — wykonuje się je w celu wykrycia usterek w interfejsach i interakcjach pomiędzy zintegrowanymi modułami;
  • Testy E2E - dostarczają ogromnej ilości informacji na temat gotowego produktu i pozwalają przyjrzeć mu się z perspektywy końcowego odbiorcy;
  • Testy interfejsu — pozwalają na zapewnienie poprawnego połączenie pomiędzy różnymi systemami czy usługami.

Testy niefunkcjonalne — mające na celu badanie niefunkcjonalnych aspektów aplikacji, takich jak wydajność, niezawodność, użyteczność, bezpieczeństwo. Testy niefunkcjonalne wykonywane są po testach funkcjonalnych.

Testy niefunkcjonalne to między innymi:

  • Testy wydajności — dzięki nim można zbadać, jak szybkie jest oprogramowanie i co należy zrobić, aby usprawnić jego działanie
  • Testy bezpieczeństwa — pozwalają na ujawnienie luk w mechanizmach bezpieczeństwa systemu, które chronią dane i zachowują funkcjonalność zgodnie z przeznaczeniem;
  • Testy obciążeniowe — dają gwarancję, że oprogramowanie jest w stanie wytrzymać dany ruch użytkowników oraz pozwalają skorygować aplikację tak, aby spełniała wymagania i dają gwarancję odporności systemu na przeciążenie;
  • Testy kompatybilności — polegają na sprawdzeniu działania oprogramowania w różnych środowiskach, np. czy aplikacja webowa działa poprawnie się w różnych przeglądarkach, a mobilna na różnych smartfonach;
  • Testy użyteczności — dają one bezpośrednią informację na temat tego, w jaki sposób użytkownicy korzystają z systemu.

Wykonywanie testów również jest czynnikiem wpływającym na cenę i tak samo, jak dodatkowe funkcjonalności, tak dodatkowe testy zwiększają budżet projektu. Nie należy natomiast przedkładać ceny ponad jakość. Przetestowane oprogramowanie będzie bezawaryjnym rozwiązaniem, na którym firma będzie mogła polegać.

Decydując się na stworzenie oprogramowania z Imoli, otrzymasz pomoc przy wyborze odpowiednich rozwiązań oraz pomoc w optymalizacji kosztów produkcji oprogramowania. Tworzone przez nas oprogramowanie będzie dokładnie takie, jakiego potrzebujesz.

Podsumowanie

Oprogramowanie dedykowane to rozwiązanie dopasowane do potrzeb klienta i jego wycena nie jest prosta. Aby móc powiedzieć, ile takie oprogramowanie może kosztować, należy bardzo szczegółowo je przeanalizować. W tym celu niezbędne jest zgromadzenie niezbędnych informacji od klienta oraz doświadczenie w tworzeniu oprogramowania.

Jako że pomysły ewoluują, nie należy traktować wyceny jako ceny ostatecznej. Może się okazać, że w rzeczywistości potrzebujemy prostszego rozwiązania lub zrezygnujemy z niektórych funkcji, możemy także zechcieć rozwinąć nasze oprogramowanie w zupełnie innym kierunku. O niektórych rzeczach można zapomnieć i nie uwzględnić ich w swoim pomyśle na oprogramowanie. Dlatego istotne jest stworzenie Backlogu, czyli spisanie wszystkich naszych oczekiwań w formie User Stories, oraz ułożenie ich według priorytetu. Funkcjonalności, które nie są niezbędne, można odłożyć na później.

Najlepszym sposobem na rozliczenie pracy nad oprogramowaniem jest więc rozliczenie godzinowe lub wynajem zespołu deweloperskiego, który będzie do Twojej dyspozycji, ponieważ to czas jest głównym wyznacznikiem ceny, a czas ten zależy od wymagań.

W Imoli otrzymasz profesjonalną wycenę swojego projektu, a nasi specjaliści pomogą w optymalizacji kosztów oraz dopasowaniu wymagań do potrzeb biznesowych Twojego przedsięwzięcia.

 

18 lutego 2022
Dawid Napora
Front-end developer w Imoli