Wycena projektu IT to cztery kroki: rozbij zakres na zadania, oszacuj każde w trzech wariantach, dodaj bufor na nazwane ryzyka i przemnóż godziny przez stawkę, która pokrywa koszt zespołu, bench i marżę. Na końcu wybierz model rozliczenia. To on decyduje, kto zapłaci za pomyłkę w szacunku.
W polskim prawie przy wynagrodzeniu ryczałtowym wykonawca nie może żądać podwyżki, nawet jeśli rozmiaru prac nie dało się przewidzieć (art. 632 § 1 Kodeksu cywilnego). Błąd w wycenie fixed price idzie więc w całości z twojej marży.
Jak wycenić projekt IT krok po kroku?
- Zbierz wymagania w formie, którą da się policzyć: role, scenariusze, integracje, wymagania niefunkcjonalne. Pomaga w tym specyfikacja wymagań.
- Rozbij zakres na zadania nie większe niż kilka dni pracy jednej osoby. Większe zadanie to ukryta niewiadoma.
- Oszacuj każde zadanie w trzech wariantach: optymistycznym, realnym i pesymistycznym.
- Dolicz prace poza kodem: PM, QA, code review, DevOps, spotkania, wdrożenie, okres gwarancyjny.
- Nazwij ryzyka i dla każdego dodaj bufor.
- Przemnóż przez stawkę albo przez stawki różnych ról.
- Wybierz model rozliczenia i dopisz założenia, na których oparłeś wycenę.
Jak oszacować pracochłonność?
Najprostsza metoda, która uwzględnia niepewność, to szacowanie trzypunktowe. Dla każdego zadania liczysz:
(O + 4 × R + P) / 6
gdzie O to wariant optymistyczny, R realny, a P pesymistyczny. Przykład z liczbami umownymi, w godzinach:
| Zadanie | O | R | P | Wynik |
|---|---|---|---|---|
| Logowanie i role | 16 | 24 | 40 | 25,3 |
| Integracja z płatnościami | 24 | 40 | 96 | 46,7 |
| Panel raportów | 40 | 56 | 80 | 57,3 |
| Razem | 129,3 |
Zadania z dużą rozpiętością między O a P doprecyzuj przed podpisaniem umowy. W przykładzie to integracja z płatnościami.
Ile dodać na ryzyko?
Nie dodawaj jednego procentu „na wszelki wypadek”. Wypisz ryzyka i wyceń każde osobno:
- Nowa domena. Zespół nie zna branży klienta.
- Integracje. Systemy klienta, których nie widziałeś, bez dokumentacji albo bez środowiska testowego.
- Nowa technologia. Zespół robi coś pierwszy raz.
- Decyzyjność. Brak jednej osoby po stronie klienta, która akceptuje zakres.
- Termin. Twarda data startu, której nie da się przesunąć.
Pokaż bufor w wycenie jako osobną pozycję. Klient widzi, za co płaci, a ty masz argument, gdy będzie chciał go wyciąć.
Jaką stawkę przyjąć do wyceny?
Stawka musi pokryć koszt godziny sprzedanej, czyli zafakturowanej klientowi. Przykład z liczbami umownymi:
- Koszt programisty na B2B: 22 000 zł miesięcznie.
- Godziny, które realnie zafakturujesz: 130 miesięcznie, bo reszta to urlopy, bench, szkolenia i presales.
- Koszt godziny sprzedanej: 22 000 / 130 = 169 zł.
- Narzut na biuro, sprzedaż, księgowość i narzędzia, w przykładzie 25%: 169 × 1,25 = 211 zł.
- Marża, w przykładzie 20% ceny: 211 / 0,8 = 264 zł za godzinę.
Najczęstszy błąd to liczenie kroku 3 od 168 godzin w miesiącu. Wtedy bench zjada marżę, zanim projekt się zacznie.
Fixed price, T&M czy kosztorys?
Kodeks cywilny zna dwa sposoby ustalenia wynagrodzenia za dzieło, a rynek dodaje trzeci:
| Model | Co mówi prawo | Kto ryzykuje |
|---|---|---|
| Fixed price (ryczałt) | Bez podwyżki, nawet przy nieprzewidzianym zakresie (art. 632 § 1 KC) | Software house |
| Kosztorys | Podwyżka możliwa przy pracach nieprzewidzianych w zestawieniu, na warunkach z art. 629-630 KC | Dzielone, zależnie od tego, kto zrobił zestawienie |
| T&M | Umowa o świadczenie usług, do której stosuje się przepisy o zleceniu (art. 750 KC), płatność za godziny | Klient |
Przy kosztorysie zwróć uwagę na art. 630 § 1 KC. Jeśli zestawienie prac przygotował wykonawca, podwyżki może żądać tylko wtedy, gdy mimo należytej staranności nie mógł przewidzieć prac dodatkowych. Za prace dodatkowe wykonane bez zgody zamawiającego podwyżki nie dostaniesz (art. 630 § 2 KC).
Porównanie modeli z przykładem rachunku jest na stronie fixed price czy time and material.
Jak nie stracić na zmianach w trakcie projektu?
- Zapisz w umowie procedurę change requestu: kto zgłasza, kto wycenia, w jakim terminie klient akceptuje.
- Wyceniaj każdy CR przed rozpoczęciem pracy. Prace dodatkowe bez zgody klienta są ryzykiem bez pokrycia.
- Prowadź rejestr zmian z datami i akceptacjami.
- Płatności dziel na etapy z odbiorami. Bez innej umowy wynagrodzenie za dzieło należy się w chwili oddania dzieła (art. 642 § 1 KC), a to przy długim projekcie oznacza miesiące kredytowania klienta.
O tym, jak etapowanie płatności chroni płynność, piszemy na stronie płynność finansowa software house’u.
Jak gotowy kod obniża wycenę?
Każda biblioteka, moduł albo szablon, do którego twoja firma ma prawa, zmniejsza liczbę godzin w wycenie kolejnego projektu. Masz wtedy dwie opcje:
- niższa cena i większa szansa na wygranie oferty,
- ta sama cena za mniej godzin plus opłata za licencję na twoje komponenty. Warunek: umowa z klientem daje mu licencję na te komponenty i zostawia prawa do nich w twojej firmie.
Jak to zapisać, opisujemy na stronie licencja na oprogramowanie. Ile jest wart kod, który już zebrałeś, sprawdzisz na stronie ile jest wart kod źródłowy.