Proces realizacji

Jak tworzymy?

Proces realizacji

Nasze solidne rozwiązania opierają się na dwóch bardzo ważnych filarach: naszym technologicznym know-how – wypracowanym przez zespół osób które są ekspertami w swojej dziedzinie, a także dzięki zastosowaniu odpowiednich metodyk pracy. Wykorzystując nasze doświadczenie tworzymy najlepsze praktyki i przenosimy je bezpośrednio do naszych działań.

Jesteśmy miłośnikami innowacji i łączymy naszą pasję z solidnym pragmatycznym podejściem. Patrząc na nowe technologie zawsze myślimy w kategoriach jak mogą zostać wykorzystane w realizacji potrzeb naszych Klientów. Nigdy nie staraliśmy się umieszczać technologii w pierwszeństwie przed tworzeniem produktów które mogą zostać pokochane przez Klientów. Dla nas liczy się przede wszystkim odpowiednie podejście, które może zapewnić innowacja dająca Klientom znaczną przewagę nad konkurencją.

Zwinnie lub sekwencyjnie. Decyzja należy do Ciebie.

Stosujemy dwie podstawowe metodyki aby zapewnić realizację projektów naszych klientów: zwinną – Agile i metodykę sekwencyjne. Ponieważ każdy projekt jest wyjątkowy, podejście zależy od kontekstu, złożoności celów zawartych w projekcie i decyzji Klienta.

Nie ukrywamy jednak naszych preferencji do stosowania metodyk zwinnych. Od samego początku naszej działalności używaliśmy rozwiązań Agile – dzięki czemu możemy uzyskiwać oprogramowanie wysokiej jakości – dużo szybciej i sprawniej. Podejście to umożliwia nam stanie się strategicznym partnerem dla naszych Klientów. Takim, który nie tylko pomaga budować wspaniałe oprogramowanie, ale poszukuje nowych sposobów rozwoju ich biznesu.

Podstawowe metodyki

Proces realizacji

SCRUM

Metodyka SCRUM to zwinne, iteracyjne tworzenie oprogramowania pozwalające na szybką weryfikację założeń oraz ich korektę jeszcze podczas procesu tworzenia. Dzięki zastosowaniu tego rodzaju podejścia – Klienci mają ciągły wgląd w postęp realizacji projektu. Już po kilku tygodniach otrzymują pierwszą działającą wersję swojego produktu.

Stosowanie tej metodyki najlepsze wyniki osiąga w projektach:

  • Napędzanych przez czas oczekiwania i ograniczania kosztów.
  • Mających znany zakres, ale w których wymagania mogą zmieniać się wraz z postępem prac.
  • Gdzie Klient wyraża wolę uczestniczenia / współpracy z zespołem na etapie produkcyjnym.
  • Gdzie przewiduje się udział od 5 do 7 osób w zespole.
  • Trwających co najmniej 8 tygodni.
Proces realizacji

LEAN

Lean to bardziej taktyczne podejście niż rodzaj metodyki. Lean to adaptacja zwinnych metod opartych na szybkim dostarczaniu wartości (MVP). Ciągłe udoskonalanie i poprawianie produktu na podstawie analizy wskaźników. Lean to szybkie sprzężenie zwrotne uzyskiwane na bazie testów – wzglętem przyjętych założeń. Dzięki Lean dużo szybciej można reagować na potrzeby rynku i Klientów. Projekty lean nie mają minimalnego czasu trwania, ani określonej wielkości zespołu. Metody lean nadają się do projektów w których:

  • Wymagane jest szybki czas stworzenia produktu i szybki zwrot z inwestycji.
  • Klient może zdefiniować minimalnie satysfakcjonujący produkt z zestawem minimalnej ilości funkcjonalności.
  • Nie ma kontekstu innowacji, a podstawowe założenia projektowe muszą być jeszcze zweryfikowane.
Proces realizacji

SYNERGY

Jest to klasyczna metodyka sekwencyjna oparta na modelu kaskadowym. Składa się ona z pięciu do ośmiu cykli.
Metodyka ta została przygotowana przez InterSynergy specjalnie z myślą o projektach, które:

  • Mają sztywno określony zakres i czas trwania.
  • Są małych rozmiarów i nie posiadają poważnego ryzyka, czy zagrożeń technologicznych.
  • Wymagają etapu analizy i projektowania na podstawie szczegółowej specyfikacji wymagań.

Proces realizacji

CONTINUOUS INTEGRATION

Aby zapewnić możliwie najlepszą jakość kodu na każdym etapie projektu, nieustannie prowadzimy testy za pomocą platform continuous integration. Za każdym razem kiedy programista wysyła stworzony kod do repozytorium kodów źródłowych GIT – automatycznie przeprowadzane są testy. Idea ta polega głównie na tym by tworzony kod cały czas zachowywał swoją jakość i działał prawidłowo, a także na tym by kod który ciągle powstaje mógł być integrowany do całości projektu bez zbędnych problemów. Takie podejście pozwala znacząco przyspieszyć proces wdrażania rozwiązań przy jednoczesnym obniżaniu kosztów.

Proces realizacji

TEST-DRIVEN DEVELOPMENT

Dobrzy programiści uwielbiają testy, kochają wręcz testować praktycznie wszystko. Pewnie, że pisanie kodu bez testów jest prostszą drogą, ale wg. nas ta droga zawsze będzie zła. W InterSynergy – dążymy do 100% pokrycia każdego aspektu projektu testami. Począwszy od testów jednostkowych skończywszy na testach behawioralnych i testach integracyjnych.

Uważamy, że jedyną rozsądną formą testów jest testowanie zautomatyzowane. Wykonywanie testów jeszcze przed napisaniem czegokolwiek to świetne rozwiązanie by zapewnić prawidłowe działanie tworzonego przez nas oprogramowania. Jest to szczególnie ważny aspekt jeżeli zależy nam na potwierdzeniu działania zgodnie z wymaganiami i specyfikacją dostarczoną przez klienta.


Dostarczaj wcześnie, dostarczaj często!

Być zwinnym, być szczupłym oznacza, że nie wiemy wszystkiego o swoich Klientach, modelu biznesowym od samego początku, ale doskonale zdajemy sobie sprawę i ciągle dążymy do tego aby udoskonalać nasze podejście czy rozwiązania. Projekt może tak na prawdę mieć wielkich projektantów i architektów, ale wciąż gdy chcemy wiedzieć czy wszystkie nasze założenia są trafne – musimy przeprowadzać ciągłe testy i eksperymenty. Nasz zespół uwielbia dokonywać ciągłych analiz i pomiarów naszych rozwiązań.

Coraz częściej skłaniamy się w kierunku krótkich iteracji i coraz szybszemu dostarczaniu minimalnie satysfakcjonujących produktów (MVP). Staramy się sugerować naszym Klientom korzystać z pętli sprzężenia zwrotnego w celu ciągłej poprawy ich działań. Doskonale zdajemy sobie sprawę z tego, że tylko dzięki takiemu podejściu nasi Klienci mają szansę na zdobycie znaczącej przewagi konkurencyjnej.