Technologie

Projekty prowadzimy w sposób umożliwiający realizację nie tylko zakresu projektu, ale i jego wizji.


  • Stosujemy metodyki agile, nazywane lekkimi, zwinnymi, lub (rzadziej lecz bardziej adekwatnie) adaptacyjnymi,
  • wykorzystujemy architektury sterowane modelem (Model-Driven Architecture - MDA) od czasów, kiedy jeszcze trzeba było tłumaczyć naszym kolegom z konkurencji czym one są,
  • rozwiązania informatyczne powstają u nas w językach Java, PHP i Ruby - decyzję, który język wybrać podejmujemy w oparciu o potrzeby i oczekiwania Klienta.

Języki programowania

Proszę nie ufać tym, którzy zapewniają, że w jednym języku programowania mogą napisać dowolną aplikację. Jest to przeważnie nieprawda, a w pozostałych przypadkach nadużycie. Przy każdym z rozpoczynanych projektów decydujemy wspólnie z klientem, z której technologii skorzystać (klient rzecz jasna nie jest zobowiązany do podejmowania technologicznych decyzji, a jedynie wskazania swoich potrzeb). W przypadku prostych aplikacji internetowych nie wytaczamy armat i nie zmuszamy klienta do kupowania oprogramowania klasy enterprise. To jak usiłowanie sprzedania diabelskiego młyna klientowi, który chciał kupić huśtawkę.
Jeśli natomiast to właśnie diabelski młyn jest tym, czego oczekuje klient - z pełnym entuzjazmem sięgniemy po profesjonalne narzędzia.

Technologia Java

  • Język programowania: Java (EJB lub, Spring + Hibernate, RCP lub Swing)
  • Serwery aplikacji - Glassfish, JBoss
  • Baza danych - dowolna, w praktyce najczęściej PostgreSQL, MySQL, Oracle
  • Generatory - tak, stosowanie MDA

Technologia Ruby

  • Język programowania: Ruby (framework Ruby on Rails 2 i 3)
  • Serwer WWW: Apache + Mongrel
  • Baza danych - dowolna, w praktyce najczęściej PostgreSQL i MySQL
  • Generatory- tak, Rubik::Generator

Technologia PHP

  • Język programowania: PHP (framework Propeller)
  • Serwer WWW: Apache
  • Baza danych - dowolna, w praktyce najczęściej MySQL
  • Generatory- tak, Propeller::Generator

 

Agile i MDA

Stosujemy metodyki adaptacyje

  • Iteracyjne wytwarzanie oprogramowania - po każdej iteracji (w przeciągu 2-3 tygodni) klient otrzymuje oprogramowanie z częścią zaimplementowanej funkcjonalności.
  • Łatwe i elastyczne zarządzanie zmianami - dzięki architekturom sterowanym modelem (i generatorom) w dowolnej chwili możliwe są zmiany koncepcji dotyczące struktury projektu.

Stawiamy funkcjonalność oprogramowania ponad szczegółową dokumentację


  • Nigdy nie zapominamy o tym, że Klient oczekuje optymalnego wykorzystania budżetu. Tworzenie rozbudowanej dokumentacji pociąga za sobą poważne koszty i decyzję o jej wytwarzaniu podejmujemy wspólnie z Klientem.
  • W tradycyjnym podejściu do tworzenia oprogramowania przez piewsze tygodnie pisze się szczegółową specyfikację. My natomiast określamy tyle ile konieczne (lecz ani odrobinę mniej) i najszybciej jak to możliwe wykonujemy pierwsze prototypy oraz implementujemy pierwsze funkcjonalności. Szczegółowe specyfikacje w pierwszych etapach tworzą jedynie mylne przeświadczenie, że wszystko zostało już ustalone. My wraz z Klientem decydujemy podczas całego procesu, co jest dobre a co nie, w oparciu o testy kolejnych wersji oprogramowania.
  • Pozostajemy z Klientem w ścisłym kontakcie we wszystkich fazach projektu, dzięki czemu na bieżąco ustalamy szczegóły wtedy, kiedy jest to niezbędne. Szczegółowe pytania rodzą się zawsze w trakcie implementacji, bez względu na to jak bardzo dokładną sporządzono wcześniej specyfikację.

Automatyzujemy procesy


  • Stosujemy generatory wszędzie tam, gdzie jest to możliwe - dzięki temu powstaje wydajny, sprawdzony i wielokrotnie przetestowany kod, wolny od czynnika ludzkiego błędu.
  • Traktujemy modelowanie jako element procesu implementacji, a nie wytwarzania poglądowej dokumentacji. Modele architektoniczne są zawsze w 100% zgodne z oprogramowaniem.
  • Wykorzystujemy kompleksowy i otwarty system budowania projektów.

Stosujemy konwencje i wzorce projektowe


  • Projekty informatyczne przejęte od innych zespołów projektowych to jeden z największych koszmarów dla programistów. Są to najczęściej setki trudnej do ogarnięcia i niespójnej z oprogramowaniem dokumentacji, zagmatwany kod programu.
    My stosujemy konwencje, przy których przejście z jednego projektu do drugiego jest jak prowadzenie innego modelu samochodu. Jeśli ktoś przesiada się przykładowo z Poloneza do Chryslera, to może nie od razu prowadzi płynnie i pewnie, ale od samego początku wie jak to robić.

etykiety: technologie

W czym możemy pomóc?


Zachęcamy do kontaktu z nami

Zamiast przeszukiwać kolejne oferty i błądzić po Internecie - skontaktuj się z nami. Z zainteresowaniem przyjrzymy się twojemu problemowi i podzielimy się cennymi wskazówkami.
Być może będziemy mieli dla Ciebie rozwiązanie, a już na pewno nie zmarnujesz swojego czasu.


 

Wyszukiwarka