en

Nasze doświadczenie budujemy od 2001 roku. Pracujemy w oparciu o sprawdzone i wciąż udoskonalane standardy. Pozwalają one na zapewnienie wysokiej jakości tworzonego oprogramowania, bezpieczeństwa i stabilnej pracy. Precyzyjnie określone procesy prowadzenia projektu gwarantują także przejrzystą i przewidywalną współpracę z Klientem na wszystkich etapach: planowania, projektowania, produkcji, testów, utrzymania, czy w trakcie wdrażania kolejnych wersji.

Zbieranie i analiza wymagań

  • Zatrudniamy doświadczonych analityków
  • Tworzymy makiety statyczne i dynamiczne (UX) (Axure, HTML)
  • Tworzymy scenariusze testowe oraz przypadki użycia

Proces zbierania wymagań rozpoczyna się od zebrania wymagań biznesowych (BRS - Business Requirements Specification). Są to opisane cele biznesowe firmy, które mają być osiągnięte dzięki tworzonemu oprogramowaniu. Taki dokument jest pisany z perspektywy biznesu i zawiera tylko ogólne wymagania jakie ma spełniać nowy system. Zazwyczaj jest tworzony przez Klienta przed rozpoczęciem projektu. O ile jest taka potrzeba (dla większych projektów) na podstawie dokumentu BRS nasi analitycy przygotowują Dokument Wizji. Jest to zwięzły dokument inicjujący projekt. Po zatwierdzeniu dokumentu przez wszystkich uczestników projektu następuje przejście do fazy zbierania wymagań użytkowników. Odbywa się to zazwyczaj poprzez serwie spotkań-warsztatów/wywiadów na których przechodzi się przez kolejne funkcjonalności systemu wpisane w analizowany proces biznesowy. Podczas tych warszatów analitycy tworzą przypadki użycia lub historie użytkownika. Takie dokumenty opisują szczegółowo proces interakcji użytkownika z aplikacją (możliwe są też interakcje pomiędzy systemami). Czasmi tworzone są makiety (prototypy) interfejsu użytkownika w formie obrazu formularza. Taki obraz czasami pozwala na lepsze wyobrażenie sobie zachowania systemu, a także na podwyższenie ergonomii interfejsu użytkownika. Projektując interfejsy użytkownika kierujemy się wypracowanymi zasadami użyteczności oraz zasadami dotyczącymi rozsądnego dostępu do danych – tak aby znaleźć kompromis pomiędzy wymaganiami użytkownika, a obciążeniem systemu. Wraz z wymaganiami użytkownika zbierane są inne wymagania w tym niefunkcjonalne (np. określenie poziomu dostępności aplikacji, czas przechowywania danych w bazie danych).

Zapraszamy do zapoznania się z artykułem, w którym szczegółowo opisujemy proces analizy wymagań w 3e.

Zarządzanie projektem

  • Stosujemy metodyki zwinne oparte na iteracjach (2-3 tygodnie)
  • Tworzymy testy jednostkowe i funkcjonalne, uruchamiane po każdej aktualizacji kodu w repozytorium (SVN)
  • Przed przystąpieniem do realizacji projektu zbieramy wymagania i tworzymy możliwie szczgegółową specyfikację techniczną (SRS)
  • Zbieramy, ewidencjonujemy i aktualizujemy wszystkie zgłoszenia w systemie Redmine

Zapewnienie jakości i bezpieczeństwa

  • Działamy w oparciu o metodykę Test Driven Development (TDD) - polegającą na tworzeniu mechanizmów testujących w momencie budowy systemu (a także jego rozbudowy)
  • Database versioning
  • Przeprowadzamy automatyczne testy funkcjonalne (Selenium2). Jesteśmy autorami open source’owej biblioteki do pisania automatycznych tesów w PHP
  • Stosujemy praktykę ciągłej integracji (Hudson)
  • Przestrzegamy zasad bezpieczeństwa OWASP TOP 10
  • Nasze rozwiązania spełniają wymagania GIODO
  • Posadamy osobny zespół odpowiedzialny za zapewnienie jakości: 3 testerów w tym 1 posiadający certyfikat ISTQB
  • Tworzymy i utrzymujemy aktualne scenariusze/skrypty testowe
  • Przeprowadzamy testy manualne oraz automatyczne
  • Testujemy w oparciu o framework xUnit
  • Nasze rozwiązania testowane są na wszystkich przeglądarkach. Stosujemy testy funkcjonalne o w oparciu o Selenium2

Więcej informacji: Metody zapewnienia jakości

Nasze kompetencje

Technologie webowe

  • Java/ JVM
    • tworzymy rozwiązania korporacyjne zgodne z J2EE (JEE)
    • SpringFramework, Spring MVC, Hibernate / Eclipselink
    • Jetty, Tomcat, Weblogic
  • Node.js, aplikacje webowe w Express
  • PHP, wykorzystujemy głównie Yii Framework
  • Single Page Applications - JavaScript, HTML5, ReactJS

Aplikacje mobilne:

  • Natywne aplikacje dla iOS
  • Natywne aplikacje dla Android
  • Aplikacje hybrydowe (phoneGap + Single Page App)

Technologie desktopowe i legacy:

  • Electron - aplikacje dla kiosków w node.js (javascript)
  • (legacy) Delphi - stworzyliśmy i nadal wspieramy wiele aplikacji desktopowych
  • (legacy) Java / Swing

Bazy danych:

  • PostgreSQL,MySQL,
  • Oracle, posiadamy bardzo duże doświadczenie w tworzeniu rozwiązań korzystających z bazy Oracle 10g/11g również z wykorzystaniem PL/SQL.
  • MongoDB
  • Apache Solr - wyszukiwanie pełnotekstowe

Wykorzystywane techniki:

  • Automatyczne testy jednostkowe i funkcjonalne (wykorzystujemy platformę Selenium do testów aplikacji webowych), adaptujemy elementy TDD (Test Driven Development)
  • Ciągła integracja (Hudson)

Administracja serwerami Linux:

  • Konfiguracja i administracja serwerami
  • Konfiguracja Failover i HA
  • Monitoring środowisk IT: nagios, cacti
Zamknij ten komunikat

Nasze strony wykorzystują pliki cookies.

Na naszych stronach używamy informacji zapisanych za pomocą cookies m.in. w celach reklamowych i statystycznych. Mogą też stosować je współpracujące z nami podmioty, takie jak firmy badawcze oraz dostawcy aplikacji multimedialnych. W każdej przeglądarce internetowej można zmienić ustawienia dotyczące cookies. Korzystanie z naszych serwisów internetowych bez zmiany ustawień dotyczących cookies oznacza, że będą one zapisane w pamięci urządzenia.