Organizowanie i optymalizacja pracy zespołów deweloperskich
Cele
- Formalizacja procesów wytwarzania oprogramowania (przejrzystość, powtarzalność)
- Uproszczenie utrzymania istniejących rozwiązań – starszych lub o złożonej architekturze
- Zasadnicze skrócenie cyklu dostarczania nowych funkcji biznesowych
- Mniejsza zależność terminów projektów i jakości rozwiązań od dostępności specjalistów
- Większa elastyczność w rozdzielaniu zadań projektowych między członków zespołów
- Usprawnienie bieżącej współpracy między deweloperami i testerami
- Trwała eliminacja regresji starych błędów w nowych wersjach rozwiązań
Realizacja
Internetium pomaga zespołom deweloperskim lepiej wykorzystać dostępne kompetencje i czas. Mieliśmy (i stale mamy) okazję oraz przywilej przyglądać się pracy zespołów tworzących rozwiązania dla dużych i bardzo dużych firm z różnych branż, m.in. przemysłu,
sektora finansowego i usługowego. Wiemy, co w polskich warunkach faktycznie działa, a co wygląda dobrze tylko na papierze. Potrafimy trafnie dobierać procedury i zakresy zadań do poziomu kompetencji zespołu, strategii zarządzania
zespołem, istniejącej kultury pracy oraz charakteru typowych projektów. Wszystkie koncepcje, procedury, usprawnienia i pomysły testujemy także wewnętrznie w Internetium.
Dostarczamy i wdrażamy dwa gotowe frameworki: Internetium Framework for .NET do tworzenia wielowarstwowych aplikacji klient-serwer oraz Internetium Framework for Web do budowania rozwiązań z klientem przeglądarkowym. Wdrażamy
je jako kompletne, w pełni skonfigurowane środowiska odzwierciedlające procedury zgodne z najlepszymi praktykami światowymi, które przyjęły się w warunkach średnich i dużych projektów realizowanych w Polsce. Oba frameworki
implementują koncepcje architektury aplikacji wszechstronnie sprawdzone, w tym w środowiskach heterogenicznych Microsoft/Oracle. Pomimo całościowego charakteru obu frameworków każdy z nich można wdrażać fragmentarycznie
i/lub etapami.
W ramach frameworków klienci uzyskują m.in.:
- Kilkadziesiąt poprawnie zaimplementowanych wzorców projektowych – w postaci gotowych klas .NET
- Wsparcie dla łatwej implementacji koncepcji Inversion of Control (IoC)
- Gotowe implementacje usług bezpieczeństwa z kontrolą uprawnień do obiektów i czynności
- Działającą szynę integracyjną i do wymiany danych z dowolnymi systemami zewnętrznymi
- Zaawansowane kontrolki interfejsu użytkownika pozwalające na spójną i prostą realizację skomplikowanych scenariuszy, takich jak: walidacja, sortowanie, listy wirtualne, stronicowanie danych itp.
- Narzędzia do zarządzania procesami produkcji oprogramowania skonfigurowane wg założeń
- Bibliotekę aspektową Postsharp weryfikującą podczas kompilacji zgodność kodu z wzorcami
- Sprawdzone w praktyce, efektywne metody pracy i współpracy w ramach zespołów
- Dobre praktyki umożliwiające i wspierające automatyzację testów jednostkowych i testów UI
Rezultaty
- Projekty skupiające się głównie na rozwoju funkcji biznesowych
- Kolejne wersje rozwiązań nie powstają przez przepisywanie od nowa starego kodu
- Brak konieczności utrzymania i rozwoju kodu związanego z architekturą i komunikacją
- Mniejsza potrzeba troszczenia się o skalowanie budowanych rozwiązań
- Automatyczna weryfikacja zgodności kodu z architekturą i innymi założeniami
- Eliminacja znakomitej większości problemów i błędów związanych z bezpieczeństwem
- Uproszczenie etapu testowania przez automatyzację: mniej pracy, więcej efektów
- Skalowalność wszystkich warstw budowanych rozwiązań bez dodatkowych zabiegów