Jak oszacować koszty stworzenia aplikacji webowej dla firmy?
Aplikacje webowe są bardzo różnorodne. Może to być bardzo proste narzędzie, które można zrobić w ciągu kilku godzin. Jednocześnie może to być bardzo duży projekt, który rozwijać się będzie latami. Wszyscy znamy platformy typu Allegro, Amazon, eBay itd. Poniższe zestawienie będzie pomocne przy każdej wielkości aplikacji. Nie ma znaczenia jakiego rodzaju ma to być system.
Załóżmy, że szukasz programu dla średniej wielkości firmy. Oprogramowanie powinno zawierać elementy z CRM, ERP i MES do produkcji. W rzeczywistości może to być oprogramowanie, które zawiera dowolny zestaw funkcjonalności, którego potrzebuje twoja firma. Schemat wyceny jest analogiczny.
W przypadku aplikacji webowych ogranicza nas kilka rzeczy:
Pozostałe elementy można wykonać.
UWAGA! Można je wykonać, ale to nie znaczy, że są opłacalne dla Twojej firmy. Powiedzmy, że funkcjonalność 1 w aplikacji kosztuje 2000 zł i oszczędzi ci 200 godzin pracy zespołu w ciągu roku. To się opłaca.
Funkcjonalność 2, którą fajnie byłoby mieć może kosztować 1500 zł, ale może się okazać, że w zasadzie na ma korzyści z jej wykonania. W związku z czym biznesowo nie jest opłacalna.
Mogą to być systemy typu:
Poniżej znajdują się podstawowe elementy jakie trzeba wziąć pod uwagę przy wycenie aplikacji webowej. W tekście uwzględniliśmy również gwarancję, utrzymanie, i przyszły rozwój narzędzia oraz szkolenia dla zespołu.
Uwzględnij w swojej wycenie wszystkie poniższe elementy. Dopytaj każdego dostawcę o ich listę potencjalnych kosztów. Porównaj te listy i upewnij się, że każdy punkt jest dla ciebie jasny i wiesz co zostanie w jego ramach wykonane.
Jeśli z twojej aplikacji webowej mają korzystać klienci musi wyglądać super. Warto do takiego projektu znaleźć odpowiedniego grafika z doświadczeniem. Musi to być osoba, która czuje UX i UI oraz będzie potrafiła myśleć kategoriami grupy docelowej. Należy ustalić co dokładnie ma zrobić:
W przypadku jeśli ma być to oprogramowanie do wewnętrznego użytku w twojej firmie to aspekty wizualne schodzą na plan dalszy. Natomiast należy dołożyć wszelkich starań, aby ergonomia pracy była jak najwyższa. Wszystkie powtarzalne zadania muszą mieć przeanalizowaną ilość kliknięć do wykonania czynności. Należy dążyć, aby odczyt każdego rodzaju informacji był osiągalny w 3 kliknięciach. Software house z doświadczeniem na pewno przedstawi ci gotowe wyglądy paneli. Wycena prac graficznych będzie zróżnicowana. Praca grafika waha się od 80 do 120 zł netto / h.
Ramka na czerwono pokazuje menu nawigacyjne. Na niebiesko są zaznaczona filtry, które można zwijać i rozwijać. Zielone tło pokazuje aktualnie przefiltrowaną tabelę. Na pomarańczowo został zaznaczony profil jednego rekordu. Z tej pozycji można filtrować, zmieniać rekordy i przełączać się do kolejnych zakładek w obrębie profilu.
Czego potrzebuje Twój zespół? To proste pytanie, natomiast odpowiedź jest bardzo trudna.
Wdrożenie aplikacji to najlepszy moment, aby przyjrzeć się aktualnym procesom zachodzącym w zespole. Analizując wymagania pod kątem oprogramowania przyjrzyj się analizie całego biznesu. Co można robić lepiej, szybciej, a czego w ogóle nie warto robić.
Uwzględnij wymagania całego zespołu. Słowo "całego" potraktuj proszę dosłownie. Aplikacja webowa może w sposób genialny usprawniać pracę w często nie oczywistych obszarach. Otwórz się na nowe możliwości i korzystaj z konsultacji z firmami programistycznymi. Dopytuj co jeszcze można zoptymalizować wykorzystując najnowsze technologie webowe.
Znajdź firmy programistyczne, które wykonywały podobne projekty i tylko z takimi rozmawiaj. Chyba nie chcesz, aby firma programistyczna uczyła się na Twoim projekcie.
Analiza potrzeb powinna zostać drobiazgowo opracowana. Jeśli masz osoby o takich kwalifikacjach zaangażuj je do tego procesu. W przypadku jeśli nie dysponujesz takimi osobami skorzystaj z zewnętrznych specjalistów, aby mieć jak najdokładniejszy obraz budżetu projektu.
To jest kluczowy element. Wszystkie funkcjonalności muszą być spisane w jednoznaczny sposób i przedstawione firmie programistycznej. Oczywiście przedstawiciele software house muszą wspierać ciebie i twój zespół, ale to wy znacie swoją firmę najlepiej. Sugeruję, abyście w swoim zespole zorganizowali kilka warsztatów i zastanowili się co chcecie obsługiwać w aplikacji webowej wykonanej dla waszego zespołu. Spiszcie wszystkie moduły jakie mają powstać w programie. Przykładowo w przypadku szkoły językowej mogą to być:
Wskaż w każdym z tych modułów jakie wariantowości przewidujesz. Przykładowo mogą to być :
Co może się wydarzyć z grupą?
Takich scenariuszy jest dużo i trzeba je przewidzieć i opisać.
Wszystkie rekordy w aplikacji będą miały status. Pisząc rekord mam na myśli:
Najmniej rozbudowane statusy to aktywny i nieaktywny. W wielu przypadkach warto rozbudować ilość opcji w statusach. W bardziej skomplikowanych przypadkach warto użyć kilku statusów.
Przykładowo w przypadku kiedy tworzymy umowę z klientem każdy dokument będzie miał dwie niezależne informacje.
To są oczywiście tylko przykłady. Natomiast status powinien wskazywać jednoznacznie co dzieje się aktualnie z danym rekordem oraz kto i co powinien teraz zrobić.
Przy analizie procesów i ich optymalizacji należy rozpisać wszystkie opcje. Jeśli scenariuszy, które zdarzają się rzadko jest dużo warto w aplikacji nie uwzględniać ich wszystkich. Należy jednak opracować niestandardowy scenariusz, który pozwoli na ich obsłużenie.
Przykładowo w systemie CRM, gdzie obsługujemy reklamacje scenariuszy na ich obsługę będzie kilka. Należy uwzględnić proces, gdzie klient nie przesyła
Każdy scenariusz to dodatkowa praca dla zespołu programistycznego, dlatego nie należy przesadzać, aby projekt mieścił się w budżecie.
Integracje z systemami zewnętrznymi nie są koniecznością, ale mogą okazać się korzystne. Celem może być oszczędność czasu lub zwiększenie możliwości.
Przykładowo w firmie produkcyjnej nie ma sensu, aby faktury kosztowe i PZ-ki były dodawane do oprogramowania księgowego, a potem ta sama praca była wykonywana w dedykowanej aplikacji webowej do obsługi produkcji. Te systemy warto zintegrować, aby czynność ta była wykonywana jeden raz.
Integracja z platformą do wysyłania SMSów może usprawnić obieg informacji miedzy zespołem i partnerami. Aplikacja może wysyłać automatycznie smsy lub maile do wskazanych osób w odpowiednim momencie. Przykładowo w firmie rekrutacyjnej SMS i mail może być wysłany dzień przed spotkaniem w celu przypomnienia i potwierdzenia spotkania.
Wycenę integracji z aplikację webową należy przygotować w każdym przypadku oddzielnie.
Oszacuj ile rekordów będzie miała Twoja aplikacja za 3 lata. Zapytaj czy firma programistyczna może wygenerować dla ciebie bazę danych o wskazanej ilości oraz ją udostępnił. Sprawdź jak szybko działa aplikacja jeśli będzie w niej przykładowo 100 000 klientów. Upewnij się czy taka operacja jest w cenie czy będzie podlegała dopiero wycenie.
Ustal z firmą programistyczną jak mają działać tabele, aby szybko i sprawnie się ładowały. Wypracujcie wspólnie, które miejsca mogą w aplikacji działać najwolniej z uwagi na ilość obliczeń.
Trudno opisać prawa własności do aplikacji webowych z uwagi na fakt, że jest ich tyle co dostawców. Przeczytaj uważnie umowę lub zleć analizę prawnikowi, abyś wiedział na czym stoisz. Zwróć uwagą jakie będziesz mieć możliwości zmian z tym samym dostawcą oraz innym. Bardzo ważne jest czy nabędziesz kod i bazy danych, które nie będą zaszyfrowane przez jakiekolwiek narzędzie. Nie mniej ważne jest, abyś miał prawo rozwijać aplikację zgodnie ze swoimi potrzebami z wybranym dostawcą lub innym zespołem.
Zastanów się czy chcesz skorzystać z globalnych dostawców chmurowych, renomowanych firm lokalnych czy utrzymywać serwer w swoim biurze. Każde z tych rozwiązań ma swoje wady i zalety oraz wiąże się z różnymi kosztami. Jeśli chcesz utrzymywać serwer we własnym zakresie musisz przez cały czas utrzymywać zespół lub podwykonawcę, który będzie o ten serwer dbać w pełnym tego słowa znaczenia.
Aspekt ten łączy się bezpośrednio z przetwarzaniem danych osobowych. Upewnij się, że wszystko będzie robione zgodnie z prawem.
Musisz je mieć i nie ma od tego odstępstwa. Im częściej będą się wykonywać tym lepiej.
Uwaga! Kopia bezpieczeństwa to jedno. Przywrócenie systemu z kopii bezpieczeństwa to inna sprawa. Zaleca się przeprowadzenie takiej operacji, aby mieć pewność, że jeśli zajdzie taka potrzeba proces ten uda się szybko wykonać.
Jest to kluczowe z uwagi na fakt, że przestój w działaniu aplikacji spowoduje straty po stronie twojej firmy. Jeśli proces ten nie będzie przepracowany wznowienie działania systemu może trwać kilka dni lub okaże się z jakiegoś powodu niemożliwy.
W wycenie aplikacji webowej musi być uwzględniona gwarancja. Sprawdź na jak długo jest udzielona. Jeśli otrzymasz kody źródłowe w umowie na pewno znajdzie się zapis, że kod nie może być zmieniany jeśli gwarancja ma obowiązywać. Upewnij się, że zespół który będzie miał dostęp do kodu nie będzie wprowadzało swoich poprawek.
Sprawdź koniecznie zapisy na temat czasu reakacji dostawcy aplikacji webowej po zgłoszeniu błędu. W umowie powinna znajdować się definicja błędu.
Utrzymanie aplikacji webowej to szerszy termin niż sama gwarancja. Gwarancja obejmuje samą aplikację. Utrzymanie dotyczy również całej infrastruktury systemowej. Do sprawnego działania systemu niezbędne są 3 elementy
W zależności od serwera jaki wybrałeś wycena będzie wyglądać inaczej. Podobnie jak w gwarancji należy zwrócić uwagę na czas reakcji oraz ilość godzin jakie dostawca zarezerwuje na twój projekt w każdym miesiącu.
Największą zaletą aplikacji webowych jest dowolna możliwość ich rozwoju. Dowiedź się jak wygląda proces rozwoju programu. Poproś o wzór umowy ramowej na podstawie, której zmiany będą wprowadzane.
Najlepiej, aby Twoja firma była jedynym decydentem w kwestii rozwoju aplikacji. W tym celu musisz wybrać software house, który przekaże ci wszystkie prawa do aplikacji. Nie możesz być uzależniony od jeden firmy. Ich polityka może się zmienić w kwestii twojej firmy, a na takie ryzyko nie warto się narażać.
Dopytaj o proces zgłaszania pomysłów czy potrzeb i jak wygląda proces wdrażania. Warto dopytać o rozliczenia czasu przepracowanego nad rozwojem i utrzymaniem.
Trudno jest przewidzieć koszt rozwoju aplikacji, ponieważ nawet ty w tym momencie nie możesz tego przewidzieć. Poznanie stawki za roboczogodzinę daje pewien obraz, ale najważniejsza jest w tej kwestii efektywność. Wycena roboczogodziny konsultanta, programisty i testera waha się od 150 do 200 zł netto/ godzinę.
Efektywność pracy firmy programistycznej
Są dwa rodzaje dokumentacji. Pierwszy to dokumentacja kodu dla potencjalnego nowego zespołu, który miałby przejąć aplikację. Drugim rodzajem jest dokumentacja dla użytkowników.
Ta dokumentacja prawdopodobnie nie zostanie nigdy wykorzystana. Zdarza się, że utrzmanie systemu jest przekazywane innej firmie. Nie słyszałem, aby aplikacja dwa razy była przekazywana kolejnemu zespołowi.
W przypadku dokumentacji do integracji oczywiście będzie ona dość często wykorzystywana. `
Dokumentację można zamówić, ale doświadczenie podpowiada, że potem użytkownicy nie bardzo z niej korzystają. Kolejnym minusem czyli kosztem jest konieczność jej aktualizowania. Jeśli powstanie zmiana w aplikacji niezbędne jest uaktualnienie samej dokumentacji. Nie zabieramy stanowiska czy warto to robić czy nie. Chcemy tylko podkreślić, że wiąże się to z kosztami oraz wolniejszym wprowadzaniem zmiany.
Dobrą alternatywą jest dodanie jednego modułu, dla zespołu, aby sam sobie pisał i aktualizował zbiór zasad (procedur) korzystania z aplikacji. Jest to coś więcej niż dokumentacja do programu. W procedurach będą zawarte informacje jak zespół ma pracować i zachowywać się w poszczególnych sytuacjach, a nie tylko jak obsługiwać aplikację.
Zasadniczo aplikacje powinna mieć testy automatyczne. Nie będę opisywał rodzajów testów oraz ich przeznaczenia. Natomiast dobrze jest omówić z kilkoma potencjalnymi dostawcami aplikacji webowej jakiego rodzaje testy robią i porównać je. Zwróc uwagę czy umowa jasno wskazuje, że testy te zostaną tobie przekazane razem z programem.
Jeśli Twoja aplikacja webowa ma się rozwijać i mieć po drodze wiele wersji tym bardziej należy położyć nacisk na odpowiednie tworzenie testów. Zwróć szczególną uwagę na testy:
Im więcej będziesz wymagać tym wycena będzie wyższa.
Miej na uwadze, że twoja aplikacja webowa będzie jedynym tego typu systemem na świecie. To oznacza, że nawet wyszukiwarka Google nie podpowie ci jak działa, ani dlaczego w tym przypadku zachowała się tak, a nie inaczej.
Ilość szkoleń jest uzależniona od wielkości zespołu oraz rotacji pracowników, a więc wycena musi być oparta na tych zmiennych.
Twój zespół choćby nie wiem jak był kompetetny i zaangażowany musi mieć możliwość skorzystania ze wsparcie kogoś kto ma wgląd w kod i go rozumie. Nieważne czy taka sytuacja będzie się zdarzać często czy rzadko. Nie ma możliwości, aby Twój zespół był pozbawiony szans na wyjaśnienie zachowania systemu.
W przypadku aplikacji, które się rozwijają jeden element mógł działać na kilka sposobów, dlatego poleganie na pamięci nie jest dobrym pomysłem. Tym bardziej, że w trakcie omawiania jak ma działać dany element mogło powstać kilkadziesiąt pomysłów na jego funkcjonowanie.
Kamee Sp. z o.o.
30-147 Kraków, ul. Na Błonie 15/57
NIP: 677 240 70 93 REGON: 36524526200000 KRS: 0000633262
Send massage
darmowe konsultacje