Zwinne podejście do projektów – AGILE
Przygotowując projekty opieramy się na następujących metodykach zwinnych:
SCRUM
Nowoczesna metodyka umożliwia dostosowywanie produktu na etapie jego wdrożenia, bez ponoszenia dodatkowych kosztów na późniejszych etapach realizacji. Zespół realizujący metodykę SCRUM składa się z :
- Product owner (właściela produktu), który odpowiada za kontakt z klientem,
- Certyfikowanego Scrum Mastera, który rozwija wizję produktu,
- zespołu deweloperskiego o różnych kompetencjach.
Projekt w tej metodyce opiera się na podzieleniu projektu na mniejsze elementy, tzw. Sprinty. Jeden taki etap zazwyczaj trwa od 1 do 2 tygodnii oraz dzieli się na cztery etapy:
- Planowanie
- Realizacja
- Przegląd sprintu
- Retrospektywa
Dlaczego korzystamy ze SCRUM AGILE?
Ze względu na kluczowe wartości: dążenie do wspólnego celu, współpracy i bycie w ciągłym kontakcie z Klientem. Informowanie o postępie prac nad projektem oraz otrzymywanie informacji zwrotnej to gwarancja powodzenia projektu.
Prince2 (Projects In Controlled Environments, czyli projekty w sterowanym środowisku).
To podejście zarządzania projektami charakteryzuje planowanie, rozpoczęcie i zarządzanie wytwarzanym produktem w trakcie jego powstawania.
Cała metoda skupia się samym produkcie, jego uzasadnieniu biznesowym, kontroli zarządzania jego realizacji. Metodę można wykorzystać do każdego typu projektu. Podobnie jak w przypadku SCRUM, praca może zostać podzielona na poszczególne etapy. PRINCE2 opiera się na aż 21 elementach (7 zasadach, 7 tematach oraz 7 procesach). To sprawdzone na przestrzeni lat wytyczne, którymi kierują się kierownicy projektów oraz zespół projektowy.
Dlaczego korzystamy z Prince2 AGILE?
Gdy wykorzystujemy już opracowane i sprawdzone wytyczne, zarówno my jak i klient mamy kontrolę nad procesem wytwarzania oprogramowania. Projekty wykonane są według obowiązujących standardów, a klient uzyskuje wysokiej jakości produkt.
Zyskuj przewagę nad konkurencją – DevOps
Szybkie tworzenie oraz wypuszczenie oprogramowania na rynek ma ogromne znaczenie dla osiągnięcia technologicznej przewagi konkurencyjnej. Dlatego najwięcej czasu spędzamy z Klientami oraz na produkcji. Tak właśnie pracujemy na co dzień.
Czym jest DevOps (Development and Operations)?
Oznacza rozwój i dostarczanie oprogramowania. To innowacyjna metodyka stawia na połączenie rozwoju, eksploatacji oraz zapewnienia jakości przy wykorzystaniu potencjału automatyzacji. Innymi słowy, pomaga nam optymalizować wszelkie procesy związane z testowaniem Twojego nowego oprogramowania. Dzięki tym zabiegom skracamy czas implementacji nowych komponentów oprogramowania oraz ich natychmiastowej weryfikacji.
W naszej pracy korzystamy z optymalizacji procesów dostarczania oprogramowania, po to aby nasz Klient szybciej otrzymał swoje oprogramowanie, ale i by było wolne od błędów oraz niedociągnięć. Poniżej przedstawiamy techniki DevOps, które wykorzystujemy podczas rozwijania i dostarczania LOGITO DMS. Wiele z nich stosuje się również w metodyce AGILE, podczas zarządzania projektami oraz tworzenia oprogramowania. Nic nie stoi na przeszkodzie, by stosować je równolegle, a nawet łączyć ze sobą.
- CD (Continuous Development) - Ciągły rozwój umożliwia szybsze tworzenie, rozwijanie i przekazywanie do testów oraz integrowanie coraz to nowych funkcjonalności oprogramowania. Ten etap skupia się na automatyzacji wielu procesów, co jest ważne dla naszych Klientów w kontekście utrzymania konkurencyjności na rynku.
- CI (Continuous Integration) – Ciągła integracja to nic innego, jak kompilowanie oraz testowanie na poziomie samego oprogramowania oraz kodu aplikacji pisanego przez naszych programistów. Stale tworzą testy (jednostkowe oraz integracyjne), aby od razu sprawdzić czy nowe komponenty oprogramowania są ze sobą kompatybilne.
- CT (Continuous Testing) – Ciągłe testowanie, które jest kombinacją powyższych CI oraz CD. Poprzez wykonywanie wielu automatycznych testów (np. wydajnościowych, regresyjnych) gwarantuje wysokiej jakości aplikację oraz kod stworzony przez programistów. Dzięki temu etapowi, LOGITO DMS może przejść na produkcję i staje się aplikacją gotową do użytku dla naszych użytkowników.
- CD (Continuous Delivery) - Ciagłe dostarczanie oprogramowania to przedostatni etap tworzenia oprogramowania zanim trafi na serwer produkcyjny - do Ciebie, Kliencie. Przeprowadzamy ten etap manualnie w formie szeregu testów (jednostkowych, integracyjnych, funkcjonalnych) opracowywanych przez nas indywidualnie. Po pozytywnej weryfikacji działania, kompilujemy nowe elementy z działającym już oprogramowaniem znajdującym się na produkcji. Wówczas mamy pewność, że dane funkcje będą działały poprawnie i według oczekiwań Klienta. W ten sposób nowe funkcjonalności stają się integralną częścią oprogramowania.
Certyfikowani Kierownicy Projektów od IPMA
Zarządzania projektami wymaga zarówno umiejętności miękkich jak, i twardych. Wszyscy nasi Kierownicy projektów przeszli certyfikowane szkolenia w tym zakresie. Każdy z nich otrzymał certyfikat od International Project Management Association.
Obowiązujące standardy pracy nad projektami, umiejętności zarządzania budżetem, szybkiego podejmowania decyzji oraz kierowaniem pracy zespołu projektowanie.
Etapy realizacji projektów
1. W pierwszej kolejności jesteśmy doradcami. Każde wdrożenie poprzedzone jest dokładną diagnozą problemów oraz analizą potrzeb i celów, które organizacja chce osiągnąć dzięki wdrożeniu. Na tym etapie opracowujemy raport uwzględniający specyfikę rynku, działania konkurencji oraz ewentualne ograniczenia technologiczne. Wspólnie z klientem ustalamy koncepcyjny wygląd projektu, zakres prac oraz ich harmonogram.
2. Zespół projektowy, który będzie odpowiedzialny za realizację projektu dobierany jest, gdy znana jest specyfikacja projektowanej aplikacji i technologia, w której będziemy pracować. Mamy do dyspozycji specjalistów z różnych dziedzin, wśród nich są analitycy, architekci informacji, administratorzy sieci, projektanci, programiści, webmasterzy, graficy komputerowi, testerzy, specjaliści ds. SEO, ale także osoby, które spojrzą na projekt z biznesowego punktu widzenia. Za efektywną pracę zespołu i sukces przedsięwzięcia odpowiada Kierownik projektu.
3. System zarządzania projektem (Redmine lub
JIRA Software) umożliwia szybkie sprawdzenie, jakie zadania są aktualnie realizowane. Ułatwiają także szybką reakcję w przypadku konieczności wprowadzenia zmian. Sprawniejszą pracę nad projektami ułatwia nam także korzystanie z systemu kontroli wersji GitLab. Dla podniesienia sprawności i jakości pracy na etapie realizacji projektu, coraz częściej stosujemy praktykę Continuous Delivery / Continuous Deployment.
4. Przed wdrożeniem projektu dokładnie testujemy wszelkie mechanizmy oraz ich działanie na platformach mobilnych i stacjonarnych.
Instalację i testowanie wykonujemy z wykorzystaniem metody DevOps - Continuous Integration. Gdy projekt otrzyma pozytywną ocenę jakościową następuje jego wdrożenie. To moment, w którym Klient otrzymuje skuteczne i efektywne rozwiązanie biznesowe.
5. Oprócz wdrożenia danego rozwiązania dbamy o jego dalszy rozwój. Z przyjemnością tworzymy nowe funkcjonalności i usprawniamy działanie już istniejących. Dzięki odpowiedniemu projektowaniu realizowanych przez nas systemów i aplikacji jesteśmy w stanie rozbudować je w późniejszych etapach bez utraty spójności i stabilnego funkcjonowania pozostałych elementów. Przeprowadzamy także szkolenia w zakresie efektywnego wykorzystania wdrażanych przez nas aplikacji dla pracowników Klienta.