Doświadczony software house – czyli w sumie jaki? – część 2

Przedstawiam kolejną część artykułu Doświadczony software house - czyli w sumie jaki?

Jakie zadania są realizowane przy tworzeniu projektów IT?

Praktycznie każdy projekt IT realizowany przez software house ma swój cykl życia. W jego skład wchodzi cały szereg zadań, a w zależności od obszaru z jakiego jest realizowany dany projekt zadania mogą się od siebie różnić i wymagać różnych kompetencji technicznych. Zadań tych jest całkiem sporo, dlatego skupmy się tylko na tych najbardziej ogólnych:
  • analiza specyfikacji przez analityka biznesowego i wspólne opracowanie wymagań z klientem, aby projekt posiadał funkcjonalności które zoptymalizują działanie procesów przedsiębiorstwa, poprawią wydajność pracy od strony narzędzi wykorzystywanych przez klienta i jego firmę w codziennej pracy operacyjnej
  • przygotowanie architektury rozwiązania - architekt systemowy dokonuje podziału całego projektu na mniejsze moduły i usługi wg jednej z głównych metod projektowania algorytmów - "dziel i zwyciężaj", czyli podziel duży problem na mniejsze, tak długo aż staną się wystarczająco zrozumiałe i proste do realizacji i wdrożenia
  • design graficzny czyli przygotowanie szkiców i makiet całej aplikacji przez osoby odpowiedzialne za UX/UI tak, aby interfejs użytkownika był nowoczesny, przyjazny i przede wszystkim intuicyjny
  • development w nowoczesnych, dostępnych na rynku technologiach dobranych do wymagań aplikacji przez zespół programistów w taki sposób, aby doprowadzić do szybkiego wdrożenia i jednocześnie zapewnić perspektywy na dalszy rozwój platformy od strony wydajności i skalowalności
  • weryfikacja przez zespół testerów czy świadczone przez software house usługi, aplikacje i jej funkcjonalności spełniają wymogi jakościowe
  • kontakt na linii biznes - software house oraz nadzór nad postępem realizacji i jej terminowością oraz dotrzymaniem warunków umowy - czuwa nad tym project manager
  • opieka nad wszystkimi procesami i procedurami wewnętrznymi zapewniającymi bezproblemowy development projektów a także ciągły rozwój kompetencji zespołu - to w modelu zwinnego wytwarzania oprogramowania praca za którą odpowiedzialny jest scrum master
  • pomoc dla klientów i użytkowników od startu projektu aż do wdrożenia gotowego rozwiązania IT świadczona przez opiekunów z działu wsparcia

Praktyka, czyli najważniejszy czynnik budujący doświadczenie

Z powyższego zestawienia wynika bardzo ważny wniosek, że doświadczenie firmy to w praktyce suma doświadczenia wszystkich jej pracowników. Przecież wszystkie opisane wcześniej zadania są realizowane przez zespół złożony z ludzi o konkretnie sprecyzowanych kompetencjach. To specjaliści pełniący bardzo istotne role w procesie powstawania dedykowanego rozwiązania IT. Od analityków przygotowujących aplikacje od strony merytorycznej, opracowujących funkcjonalności których potrzebują klienci, przez programistów realizujących development, testerów weryfikujących dedykowane oprogramowanie po osoby od zarządzania wszystkimi procesami w firmie. A przecież na doświadczenie poszczególnych specjalistów IT składa się ich dotychczasowy dorobek zawodowy, realizacje projektów dla różnych klientów z różnych branży i różnych obszarów rynku - to ich wieloletnia praca w obecnej firmie jak i u poprzednich pracodawców. Nie można zatem pominąć tego kluczowego aspektu jeśli chodzi o kwestię doświadczenia. Software house to przede wszystkim ludzie, którzy go tworzą. Bez nich software house nie zrealizuje żadnego projektu, nie dostarczy żadnego systemu, żadnej aplikacji ani nawet żadnej strony www.

Jakość - co często umyka a nie powinno?

W branży IT dość popularne jest jeszcze jedno stwierdzenie: "nie ma takiego projektu którego nie dałoby się zrealizować skończona liczbą studentów". Okazuje się to być prawdą jedynie częściowo. Bo o ile wytworzenie dowolnego oprogramowania jest możliwe za pomocą mało doświadczonych specjalistów, to efekt takiego procesu może nie spełniać wszystkich stawianych przed nim wymagań. Problem może dotyczyć każdej ze składowych systemu z osobna lub, jak to się dzieje najczęściej, wszystkich jednocześnie. Mówimy tutaj o problemach zarówno architektonicznych, jakościowych oraz wydajnościowych. Zatem doświadczenie musi się również przekładać wprost na jakość przygotowywanych rozwiązań IT.

Podsumowując, doświadczony, czyli jaki?

Doświadczony software house to taki, którego pracownicy posiadają już znaczący staż pracy, specjalizują się w wybranych obszarach działania i wykonali już odpowiednią dużą liczbę projektów, co przekłada się na wytwarzanie wysokiej jakości oprogramowania - czyli realizację podstawowej działalności firmy. Czyż nie takich właśnie usług oczekiwalibyśmy jako klienci?

Jak zatem rozpoznać doświadczony software house?

Przeczytasz o tym w następnym artykule - zapraszamy już za tydzień :)

Zobacz również

Doświadczony software house – czyli w sumie jaki?

Doświadczony software house – czyli w sumie jaki? W tytule artykułu mamy zestawione ze sobą dwa proste pojęcia oraz banalne pytanie na które odpowiedź nie jest już taka oczywista. Zacznijmy od tego czym jest software house – w ogólnym rozumieniu to firma zajmująca się projektowaniem i wytwarzaniem różnych rozwiązań IT dla biznesu. Jak zdefiniować doświadczenie? […]

Czytaj więcej

Pair programming

Co to w zasadzie jest pair programming? Pojęcie pair programming odnosi się do tworzenia jednego projektu IT lub jego fragmentów w parach. Jeden z programistów pisze kolejne wiersze kodu, podczas gdy ten drugi śledzi kod na ekranie monitora i zwraca uwagę na ewentualne błędy. Takie działanie w parach w układzie tzw. driver & navigator jest […]

Czytaj więcej