Wycena: tak mierzymy rozmiar i cenę oprogramowania
Mesterséges Intelligencia Központ Kft. to firma programistyczna z Budapesztu. Ceny nie ustalamy na podstawie szacunku godzin: mierzymy rozmiar funkcjonalny oprogramowania w punktach funkcyjnych COSMIC (ISO/IEC 19761), a na tej podstawie powstają oferta i harmonogram.
W skrócie: najpierw wspólnie opisujemy, co oprogramowanie ma umieć, potem mierzymy, jak duże jest, a cenę i harmonogram podajemy na podstawie zmierzonego rozmiaru. Dlatego nie podajemy ceny po pierwszej rozmowie telefonicznej i dlatego nie publikujemy też cennika.
Dlaczego mierzymy rozmiar, a nie szacujemy godzin?
Szacunek w godzinach mówi, ile pracy spodziewa się szacujący, a to zależy od jego doświadczenia, ostrożności i zespołu. Za to samo zadanie dwie firmy mogą podać bardzo różną liczbę godzin, a z zewnątrz nie widać, skąd bierze się każda z tych liczb.
Rozmiar funkcjonalny jest natomiast cechą samego oprogramowania: mierzy, co ma ono umieć, a nie to, kto i jak je zbuduje. Dlatego można go sprawdzić, zmierzyć ponownie i porównać za jego pomocą dwie oferty.
Czym jest punkt funkcyjny COSMIC?
COSMIC to jedna z międzynarodowo znormalizowanych metod pomiaru rozmiaru funkcjonalnego oprogramowania (ISO/IEC 19761). Zlicza, ile przemieszczeń danych występuje w procesach funkcjonalnych oprogramowania. Istnieją cztery rodzaje przemieszczeń danych:
| Przemieszczenie danych | Co oznacza | Przykład |
|---|---|---|
| Entry (wejście) | dane napływają od użytkownika lub z innego systemu | klient wysyła formularz zamówienia |
| Exit (wyjście) | dane wychodzą do użytkownika lub do innego systemu | system wysyła potwierdzenie |
| Read (odczyt) | oprogramowanie odczytuje zapisane dane | wczytuje wcześniejsze zamówienia klienta |
| Write (zapis) | oprogramowanie zapisuje dane | zapisuje nowe zamówienie |
Każde przemieszczenie danych jest warte 1 punkt funkcyjny COSMIC (CFP), a rozmiar oprogramowania jest ich sumą. Uproszczony proces „rejestracja zamówienia” składa się na przykład z jednego wejścia, jednego odczytu, jednego zapisu i jednego wyjścia, czyli ma 4 CFP. Pomiar nie zależy od języka programowania, technologii ani od tego, który zespół pracuje nad oprogramowaniem. Metodę wraz z przykładem krok po kroku i jej ograniczeniami przedstawia nasz artykuł Czym jest punkt funkcyjny COSMIC i czym różni się od szacowania godzin?
Jak z rozmiaru powstają oferta i harmonogram?
- Specyfikacja: wspólnie, pozycja po pozycji, opisujemy funkcje, aktorów i dane (zob. Jak pracujemy).
- Pomiar: nasz własny proces pracy wspomagany sztuczną inteligencją mierzy grupy funkcji za pomocą kilku niezależnych od siebie zliczeń, a runda uzgadniająca zapewnia, że każdy proces liczy się dokładnie raz.
- Weryfikacja: przeglądamy pomiar i wyjaśniamy niepewne punkty.
- Oferta: cena wynika ze zmierzonego rozmiaru, uzupełnionego o to, czego rozmiar funkcjonalny nie wyraża (zob. niżej).
- Harmonogram: rozmiar widzimy także w podziale na grupy funkcji, więc na nim opieramy również etapy, ich kolejność i terminy.
Jeśli w trakcie prac pojawi się nowe wymaganie, mierzymy je w ten sam sposób, dzięki czemu zawsze widać, o ile zmienia się zakres i co to oznacza dla ceny i harmonogramu.
Co jeszcze wpływa na koszt?
Rozmiar funkcjonalny mierzy, co robi oprogramowanie, ale nie wszystko, co wymaga pracy. Poniższe czynniki pomiar oznacza osobno, dzięki czemu także w ofercie nie pozostają ukryte:
- Integracje: z iloma systemami zewnętrznymi trzeba się połączyć i jak dobrze udokumentowane są ich interfejsy.
- Wymagania niefunkcjonalne: wydajność, dostępność systemu, bezpieczeństwo danych, dostępność cyfrowa.
- Niestandardowy interfejs i grafika: projekt graficzny szyty na miarę i indywidualne elementy wizualne.
- Wiele platform: gdy to samo jest potrzebne w wersji webowej, na iOS i na Androida.
- Migracja danych: przeniesienie danych starego systemu do nowego.
- Złożone obliczenia i działanie w czasie rzeczywistym: algorytmy, strumienie danych na żywo.
Eksploatacja po przekazaniu to osobna pozycja: prowadzenie systemu, utrzymanie i dalszy rozwój, a w przypadku funkcji AI także zależne od użycia opłaty za modele językowe. Piszemy o tym również w pytaniach poniżej.
Dlaczego dzięki temu dwie oferty można porównać?
Jeśli dwie oferty wychodzą od tej samej specyfikacji i tego samego zmierzonego rozmiaru, dotyczą tego samego zakresu: widać, ile obie firmy liczą sobie za to samo i co doliczają osobno. Godzin nie da się porównać w ten sposób, bo godzina nie jest cechą oprogramowania. COSMIC to publiczna, znormalizowana metoda, dlatego nasz pomiar może sprawdzić także ktoś inny. Warto zapytać pozostałych oferentów, dla jakiego zakresu podali swoją cenę.
Częste pytania
Dlaczego nie podają Państwo ceny przez telefon?
Przez telefon nie podajemy ceny, ponieważ cena oprogramowania zależy od tego, co ma ono umieć, a tego nie da się odpowiedzialnie zmierzyć podczas krótkiej rozmowy. Pierwsza konsultacja jest bezpłatna: potem wspólnie opisujemy wymagania, mierzymy rozmiar i na tej podstawie przygotowujemy ofertę. O termin spotkania mogą Państwo poprosić na stronie Kontakt.
Co sprawia, że realizacja jest droższa?
Realizacja jest droższa przede wszystkim wtedy, gdy zawiera więcej funkcji, czyli więcej przemieszczeń danych. Koszt mogą podnieść również czynniki wymienione wyżej: wiele lub słabo udokumentowanych integracji, rygorystyczne wymagania dotyczące wydajności i bezpieczeństwa, indywidualna grafika, wiele platform albo migracja dużej ilości danych.
Ile kosztuje eksploatacja?
Koszt eksploatacji zależy od tego, co obejmuje: hosting i prowadzenie systemu, aktualizacje, usuwanie błędów, dalszy rozwój, a w przypadku funkcji AI również opłaty za modele językowe, zależne od użycia. Zakres eksploatacji dopasowujemy do konkretnego systemu; kolejne prace rozwojowe mierzymy tak samo jak pierwsze. Na dalsze pytania odpowiadamy na stronie Częste pytania.