Dowiedz się więcej
Poznaj i zrozum jak wygląda
Technologia
Elastyczne zespoły
Sztuczna inteligencja
Cloud / chmura
Rozwój oprogramowania
Projektowanie produktów cyfrowych
Wybrane technologie
Usługi serwisowe IT
Fintech
Przemysł i produkcja
Rozwiązania dedykowane
Oprogramowanie produkcyjne
Rozszerzona rzeczywistość
Oprogramowanie dla branży HoReCa
Poznajmy się
Pierwsze spotkanie to dobra okazja do poznania się, obustronnego zrozumienia celów biznesowych i charakterystyki działania. Z naszej strony krótko opowiemy o tym co robimy oraz jak możemy zaadresować Twoje potrzeby.
Oceńmy kompletność potrzeb
Podczas dyskusji postaramy się sprawdzić, czy Twoje potrzeby względem oprogramowania są zdefiniowane w sposób wystarczająco precyzyjny, czy należy popracować nad nimi od strony analitycznej i ideowej.
Oceńmy skalę rozwiązania
Mając już świadomość czego potrzebujesz określimy wstępną skalę przedsięwzięcia i określimy niezbędny zasób do jego realizacji. Wstępnie będziemy w stanie odpowiedzieć również na pytanie, jak czasochłonna byłaby analiza całego rozwiązania.
Zaplanujmy kolejne kroki i horyzont zdarzeń
Po spotkaniu przeanalizujemy Twój projekt pod kątem możliwych dalszych kroków. W ciągu kilku kolejnych dni przedstawimy konkretną propozycję i nakreślimy horyzont zdarzeń, który pozwoli na realizację Twojego projektu.
Ideacja
Zacznijmy od zbudowania klarownej wizji oprogramowania, które chcemy wspólnie stworzyć. Użyjemy do tego celu najbardziej doświadczonych członków zespołu pracujących w modelu design thinking - od analityka po UI/UX designera.
Budowa zarysu specyfikacji funkcjonalnej
Silny zarys specyfikacji funkcjonalnej będzie swojego rodzaju listą kontrolną do zrealizowania, aby osiągnąć zamierzony cel. To również dobry punkt wyjścia do przygotowania wstępnej wyceny projektu.
Nakreślenie kamieni milowych
Podział funkcjonalności na etapy pozwoli racjonalizować zarządzanie budżetem i określić ramy czasowe całego projektu.
Określenie MVP
Wybierzemy również te funkcjonalności, które są niezbędne z punktu widzenia biznesu do pierwszej walidacji funkcjonalności, czyli minimalną wersję projektu. Swojego rodzaju w pełni funkcjonalny prototyp.
Wybór metodologii realizacji projektu jest fundamentalną decyzją wpływającą na dalszy kształt współpracy. Powinien być poparty silnymi argumentami jednoznacznie wskazującymi na konkretną opcję. Znając już spójność idei, skalę rozwiązania i zakres funkcjonalny jesteśmy w stanie rekomendować konkretne podejście.
Podejście kaskadowe wymaga określenia wszystkich niezbędnych warunków brzegowych do realizacji projektu jeszcze przed jego realizacją. Dlatego każdorazowo w tym modelu należy przeprowadzić pełną analizę, zbudować dokumentację i przeświadczenie wszystkich stron o kompletności założeń. Jakiekolwiek zmiany na etapie realizacji projektu mogą znacząco wpłynąć na budżet i harmonogram. To podejście rekomendujemy dla projektów o małym zakresie funkcjonalnym lub projektów o precyzyjnie określonym budżecie.
Wycena
Mając gotową dokumentację projektową możemy precyzyjnie określić koszty poszczególnych obszarów funkcjonalnych, co w konsekwencji pozwala zbudować nieprzekraczalny budżet do realizacji projektu. Choć model kaskadowy jest przeważnie droższym podejściem niż model zwinny (koszt wykonania pełnej analizy, realizacja, margines bezpieczeństwa przy realizacji) pozwala na sztywne określenie budżetu i gwarancję jego nieprzekraczalności, co daje dodatkowy komfort.
Fixed-price
Choć rozliczenia fixed-price najczęściej dzielimy na etapy ostateczny koszt projektu znany jest już w dniu podpisania umowy i staje się nieprzekraczalną wartością projektu. Należy brać jednak pod uwagę, że wprowadzenie jakichkolwiek zmian w projekcie może zaburzyć zarówno budżet jak i harmonogram.
Cykl
Cykle rozwoju w metodologii kaskadowej uwzględniają realizację kamieni milowych będących etapami projektu. W każdym cyklu należy przeprowadzić analizę, następnie wycenić dany zakres funkcjonalny, zrealizować go, przetestować i wdrożyć. Cykle są zależne od skali projektu - czasami dotyczą mniejszych wycinków funkcjonalnych, w innych przypadkach są to całe projekty.
Tworzenie oprogramowania w modelu zwinnym rekomendujemy dla średnich i dużych projektów. Szczegółowa analiza może być realizowana w czasie, a krótkie iteracje projektowe pozwalają dostarczać wartościowe funkcjonalności od pierwszego tygodnia. Każda kolejna iteracja będzie poparta doświadczeniem i uwagami użytkowników z dostarczonych już funkcjonalności. Zmiany nie będą powodowały zaburzenia procesu rozwoju, ani nie wpłyną na długoterminowy harmonogram projektu.
Estymata
Choć estymata i wycena to wyrazy bliskoznaczne zdecydowanie rozróżniamy ich znaczenie w metodologii zwinnej. Estymowanie polega na określaniu skali poszczególnych funkcjonalności do realizacji i przekładaniu ich, przy uwzględnieniu średniej wydajności zespołu, na potencjalny zasób (liczbę godzin) potrzebny, na ich realizację. Nie jest to jednak bardzo precyzyjna metoda, ponieważ nie jest poparta pełną analizą, a niektóre wymagania mogą ulec zmianie w czasie.
Time&material
Rozliczenia time&material opieramy o transparentność procesu. Klient otrzymuje pełen dostęp do zespołu i wgląd do narzędzia raportowania czasu przez poszczególnych członków zespołu w czasie rzeczywistym. Dzięki temu może na bieżąco monitorować koszty i kształtować je współbieżnie z oczekiwanymi funkcjonalnościami.
Iteracja
Oprogramowanie i funkcjonalności dostarczamy w iteracjach zwanych sprintami. Te tygodniowe lub dwutygodniowe okresy pozwalają na dostarczenie nowych funkcjonalności, walidację założeń i prace nad kolejnymi obszarami. W praktyce oznacza to, że od pojawienia się potrzeby funkcjonalnej do jej wdrożenia mija kilka, góra kilkanaście dni.
W pierwszym kroku musimy zebrać wszystkie wymagania od naszego klienta. Podczas tego procesu pracujemy ze sobą tak blisko, jak to możliwe. Próbujemy nie tylko zrozumieć jak działa biznes naszego klienta obecnie, ale również znaleźć możliwości jego rozwinięcia i usprawnienia, aby przenieść go na zupełnie nowy poziom.
Stworzenie szczegółowej dokumentacji projektu wymaga prac analitycznych. Podczas tego procesu nie tylko klarujemy pomysł, ale również szczegółowo przyglądamy się wymaganiom, sytuacji i całemu środowisku, gdzie nasze rozwiązanie zostanie wdrożone. Musimy zrozumieć dane, procesy nieobecne w rozwiązaniach IT, ludzi, integracje z systemami zewnętrznymi. Całość musi zostać udokumentowana na potrzeby dalszego rozwoju.
Wynikiem analizy jest dokumentacja zawierająca wszystkie wymagania, specyfikację funkcjonalną, zarys harmonogramu realizacji. Pozwala nam to również oszacować koszty poszczególnych etapów i funkcjonalności.
W pierwszym kroku określamy wszystkie przepływy biznesowe zachodzące wewnątrz nowego rozwiązania, oraz wybieramy odpowiednie dla nich narzędzia aby były spójne i stabilne.
Mając pełny obraz procesów biznesowych zachodzących wewnątrz rozwiązania możemy podjąć decyzje architektoniczne. Zawsze wybieramy wyłącznie rozwiązania, które są skalowalne i ekonomicznie uzasadnione zarazem. Decyzje podjęte podczas tego etapu będą skutkowały w prostocie dalszego rozwoju rozwiązania i jego utrzymania.
Tworzenie zarysu interfejsu użytkownika w postaci makiet ramkowych umożliwia upewnienie się, że wszystkie procesy biznesowe zostały zaprojektowane w sposób poprawny i ergonomiczny, względem wymagań. Utworzone na ich podstawie makiety pozwalają natomiast pokazać klientowi zarys gotowego rozwiązania, bez fizycznego tworzenia go. To doskonała okazja, żeby zweryfikować każdy jego aspekt przed implementacją.
Podczas implementacji klienci zawsze otrzymują dostęp do specjalnej platformy, w której na bieżąco mogą śledzić postępy prac i testować aktualną wersję rozwiązania.
Testowanie jest dla nas równie istotne co proces implementacji. Do testów używamy między innymi scenariuszy utworzonych podczas procesu analitycznego. To na ich podstawie weryfikujemy nie tylko poprawność rozwiązania, ale spełnienie wszystkich wymagań.
Wdrożenie to zawsze wielki dzień. Nie ma znaczenia, czy migrujemy dane z istniejącego rozwiązania, czy wdrażamy zupełnie nowe. Zawsze niecierpliwie odliczamy dni, trzymamy kciuki i chłodzimy w lodówce champagne-a. A tak naprawdę to automatyzujemy ten proces tak, że zarówno wdrożenie całego rozwiązania jak i małych zmian zawsze jest niewidzialne i płynne.
Przez lata wypracowaliśmy własną ścieżkę współpracy z naszymi klientami tak, aby cały proces pozostał transparentny, czysty i zrozumiały dla obu stron.
Na każde nasze rozwiązanie dajemy dwa rodzaje gwarancji - ograniczoną czasowo gwarancję na rozwiązanie i dożywotnią gwarancję na kod. Ale wdrożenie to dopiero początek życia projektu, dlatego proponujemy wsparcie i utrzymanie rozwiązania, a także umowy ubezpieczeniowe gwarantujące dostępność usług opartych o nasze rozwiązania (ang. SLA - Service Level Agreement ).
Po ostatnie. I najważniejsze. Przenosimy autorskie prawa majątkowe na naszych klientów i przekazujemy im pełny, powstały na ich potrzeby, kod źródłowy.
Kod źródłowy
Posiadanie bazy kodu rozwiązania dedykowanego jest kluczowym aspektem tworzenia oprogramowania. To gwarancja bezpieczeństwa i możliwości dowolnego rozwoju w przyszłości. To także:
Autorskie prawa majątkowe
Choć zbycie praw autorskich w przypadku oprogramowania jest niemożliwe, to przekazanie autorskich praw majątkowych ma niemal ten sam skutek. Dzięki temu nasi klienci stają się w pełni właścicielami rozwiązania i mogą je dalej przekazywać, licencjonować, sprzedawać i rozwijać w nieograniczonym zakresie. To także: