Tworzenie oprogramowania

 Jesteśmy grupą deweloperów specjalizujących się w implementacji systemów IT pod zamówienie dla użytkowników biznesowych oraz zakładów przetwórstwa przemysłowego. Początek każdego przedsięwzięcia to bardzo delikatny czas. W tym okresie zostają opracowane fundamenty systemu informatycznego, a kluczem do jego sukcesu będzie solidny projekt. Brak staranności na tym etapie może spowodować niekontrolowaną eskalację kosztów rozwoju systemu w przyszłości. W skrajnych przypadkach wymagane jest nawet przepisanie całego oprogramowania na nowo. Pozwól nam sobie pomóc od samego początku!

Analiza i projektowanie

Analiza wymagań

Najbardziej ogólna faza analizy, w której:

  1. Identyfikujemy osoby po stronie klienta, które będą aktywnie zaangażowane w projekt.
  2. Zbieramy od nich wymagania stawiane przed nowym systemem IT.
  3. Sprawdzamy czy niektóre wymagania od różnych uczestników projektu są sprzeczne i wymagają konsolidacji między nimi.

Produktem tej fazy jest dokument, który opisuje ogólne cele, które system albo:

  • musi spełnić – twarde wymagania,
  • powinien spełnić, jeżeli nie są zbyt kosztowne – wymagania miękkie.

Analiza procesów

Ten typ analizy jest wykonywany jeżeli nowy system IT będzie ingerował w już istniejące procesy biznesowe lub przemysłowe w firmie. Analityk udokumentuje ich obecny stan w formie tzw. przypadków użycia i diagramów przepływu aby w pełni poznać jak one funkcjonują. Nowe bardziej szczegółowe wymagania zazwyczaj powstają w tej fazie i rozszerzą dokument analizy wymagań. Następnie projekt funkcjonalny będzie się odwoływał do dokumentu analizy procesów za każdym razem gdy pojawi się w nim ulepszenie lub zmiana już istniejącego procesu.

Projekt funkcjonalny i UX

Projekt funkcjonalny stanowi szczegółowy opis jak system będzie działał z perspektywy użytkowników końcowych. Aby zrobić to w sposób precyzyjny będzie zawierał:

  • przypadki użycia – dokumentujące procesy wspierane przez system,
  • makiety GUI – szkice, które przedstawią jak będzie wyglądał i zachowywał się interfejs użytkownika.

Powstały dokument projektowy da wszystkim osobom zaangażowanym w projekt szczegółowy pogląd jak system będzie funkcjonował w ich firmie oraz jak spełni on ich wymagania.

Projekt techniczny

Projekt techniczny stanowi ogólny opis jak będą wyglądać wewnętrzne struktury systemu. Zawiera następujące elementy:

  • ogólna architektura opisana poprzez diagram wdrożenia UML,
  • inne diagramy UML opisujące najbardziej kluczowe elementy systemu jak np.:
    • fundamentalny model danych,
    • podział usług systemu oraz ich interfejsy programistyczne,
  • lista technologii, które zostaną wykorzystane to jego implementacji oraz funkcjonowania.

Dewelopment i utrzymanie

Skomponowanie zespołu

Rozpoczniemy od skomponowania zespołu z odpowiednio dobranym zestawem umiejętności. Liderem zespołu jest zawsze pracownik pochodzący z rdzenia naszej firmy. Natomiast pozostali członkowie tacy jak programiści lub testerzy są zazwyczaj kontraktowani pod projekt.

Programowanie oraz testy

Zebrany zespół  rozpocznie pracę od przekłuwania dostarczonych dokumentów projektowych na faktyczne oprogramowanie. Będzie to robić w sposób inkrementalny w cyklach: programowanie – testy. Większość testów będzie wykonywanych wewnętrznie przez zakontraktowanych testerów. Jednak od czasu do czasu będziemy prosili osoby po stronie klienta zaangażowane w projekt o wykonanie testów akceptacyjnych. To zapewni nas, że idziemy w pożądanym kierunku i że wszyscy dobrze zrozumieliśmy dokumenty projektowe.

Instalacja oraz szkolenia

Po tym jak pierwsza wersja systemu będzie gotowa i przejdzie wszystkie testy akceptacyjne będziemy mogli rozpocząć fazę wdrożeniową. Pierwszym krokiem będzie instalacja całego wymaganego oprogramowania na dostarczony sprzęt. Drugim krokiem są szkolenia pracowników Twojej firmy , które przedstawią jak pracować z systemem oraz wykonywać na nim podstawowe czynności administracyjne.

Opieka i ulepszanie

Gdy system zacznie już działać w środowisku produkcyjnym pozostawimy przynajmniej jednego programistę z naszego zespołu do opieki nad systemem oraz jego ciągłej poprawy. Będzie odpowiedzialny za wspieranie użytkowników systemu, monitorowanie jego pracy, a także za naprawianie błędów oraz implementację mniejszych ulepszeń. Gdy w przyszłości będą wymagane bardziej złożone usprawnienia do systemu, wtedy powtórzymy cały cykl analityki – projektowania – dewelopmentu.