Narzędzia do zarządzania projektem informatycznym
Dagmara Czarnota , 10 marca 2021
W każdym projekcie wykorzystuje się narzędzia do zarządzania zadaniami i do komunikacji w zespole. W przedsięwzięciu dotyczącym budowy produktu technologicznego stosuje się także rozwiązania organizujące i usprawniające prace programistyczne. Głównym celem wykorzystania tych wszystkich narzędzi jest podniesienie efektywności prac projektowych poprzez m.in. usprawnienie komunikacji, minimalizację liczby błędów czy też zwiększenie jakości pisanego kodu. Dzięki rozwiązaniom można kontrolować etapy projektu i trzymać się harmonogramu.
Narzędzia do organizacji pracy zespołowej i zarządzania zadaniami
Na samym początku należy wybrać odpowiednie narzędzia do zorganizowania pracy całego zespołu. Takie rozwiązania powinny umożliwiać zarządzanie pracą poprzez wydzielenie konkretnych zadań, ustalenie terminów ich realizacji i przypisanie osoby odpowiedzialnej za wykonanie. W ten sposób dokonuje się podziału obowiązków i każdy członek zespołu wie za co jest odpowiedzialny i czego musi dopilnować. Dodatkowo często ma również wgląd w zadania i harmonogram prac pozostałych członków zespołu oraz może samodzielnie dodawać i edytować konkretne czynności.
Narzędzia do zarządzania zadaniami pozwalają na stałe śledzenie statusu prac, dzięki czemu łatwo ocenia się stan i fazę projektu. Umożliwiają wykonywanie prac zgodnie z harmonogramem oraz informują o opóźnieniach. Duża część rozwiązań posiada funkcję dodawania dokumentów, zdjęć i komentarzy. Pliki dotyczące konkretnego zadania znajdują się w jednym miejscu, do którego wszyscy zainteresowani mają dostęp. To samo dotyczy pisania komentarzy i dyskutowania na dany temat. Atutem wielu narzędzi jest możliwość tworzenia osobnych wątków do zadań i odpowiadania na poszczególne zapytania.
Ważną funkcjonalnością jest możliwość priorytetyzacji zadań. W ten sposób członkowie zespołu wiedzą, które czynności należy wykonać w pierwszej kolejności. Programy zintegrowane z pocztą wysyłają powiadomienia w postaci maili, w których informują o nowych zadaniach, priorytetach i przypominają o deadlinach.
Obecnie istnieje wiele darmowych narzędzi do zarządzania pracą projektową. Jednak większość z nich posiada pewne ograniczenia, dlatego firmy korzystają zwykle z ich płatnych wersji. Do najpopularniejszych rozwiązań należą: Jira, Asana, Basecamp, Wrike i Trello.
Narzędzia do komunikacji
Dobra komunikacja zespołu zwiększa efektywność wspólnej pracy poprzez minimalizację błędów wynikających ze złego zrozumienia zadania. Z badania przeprowadzonego przez KPMG Poland w 2019 r. wynika, że odpowiednia komunikacja jest jednym z kluczowych czynników przyczyniających się do sukcesu projektu.
Kierownik projektu powinien zadbać o dobrą komunikację w zespole. Aby to osiągnąć musi wybrać odpowiednie narzędzia i dopilnować, aby nikt nie wstydził się zadawania pytań czy informowania o swoich trudnościach. Należy zatroszczyć się o klarowne przekazywanie informacji wszystkim członkom zespołu. Dobrym pomysłem jest organizowanie cotygodniowych spotkań, podczas których omawia się wykonane prace i ustala kolejne cele oraz zadania. Takie zebrania mogą odbywać się w sali konferencyjnej lub online przy wykorzystaniu narzędzi umożliwiających przeprowadzenie wideokonferencji.
Niektóre posiadają dodatkowe funkcjonalności takie jak czat, wideokonferencja, udostępnianie plików oraz tworzenie grup, kanałów i wątków, dzięki którym łatwiej zarządza się treścią i dokumentacją. Poszczególni członkowie zespołu należą tylko do tych grup, które dotyczą obszaru ich pracy. Tworzenie wątków tematycznych ułatwia wyszukiwanie informacji i udostępnionych plików.
Pożądaną cechą jest udostępnianie ekranu, dzięki czemu wszystkie osoby biorące udział w wirtualnym spotkaniu widzą prezentowane fragmenty i łatwo mogą się do nich odnieść czy też zadać pytanie. Dużym atutem jest również opcja rysowania na udostępnionym ekranie oraz możliwość nagrywania, która jest często wykorzystywana podczas warsztatów i szkoleń.
Obecnie dostępnych jest bardzo wiele narzędzi do komunikacji. Większość z tych rozwiązań łączy możliwości czatowania, dzwonienia i tworzenia grup, aby jak najlepiej spełnić oczekiwania i potrzeby zespołów projektowych. Firmy często wykorzystują Microsoft Teams, Skype’a, Slacka i Zooma.
Narzędzia do zarządzania kodem
Narzędzia do zarządzania kodem wykorzystywane są w projektach IT, w których nad budową rozwiązania technologicznego pracuje cały zespół. Programiści potrzebują miejsca umożliwiającego przechowywanie, pisanie, testowanie i wdrażanie kodu. Takie udogodnienia dostarczają narzędzia do zarządzania kodem źródłowym. Dodatkowo wiele rozwiązań daje możliwości komentowania, wycofywania zmian i zatwierdzania poszczególnych fragmentów, dzięki czemu kierownik techniczny projektu szybko wykrywa błędy lub poprawia jakość pisanego kodu. Warto podkreślić, że część narzędzi do zarządzania kodem jest zintegrowana z rozwiązaniami organizującymi pracę zespołową czy też programami informującymi o błędach w oprogramowaniu. Przykładem jest Bitbucket, w którym zadania powstają automatycznie z powiadomień wysyłanych przez Trello i Jirę.
Zarządzanie kodem umożliwiają zarówno systemy kontroli wersji jak też repozytoria kodu. W systemach kontroli wersji (VCS) śledzi się wprowadzane zmiany, a także łączy fragmenty kodu tworzone przez różnych programistów. VCS zapisuje całą historię budowania oprogramowania i w razie wystąpienia błędu pozwala na cofnięcie wszystkich zmian do momentu przywrócenia prawidłowo działającego programu. Najpopularniejszymi systemami kontroli wersji są Git i Mercurial.
Repozytorium kodu jest rozbudowanym systemem kontroli wersji. Oprócz funkcjonalności dostarczanych przez VCS, rozwiązanie jest również zintegrowane z programami do zarządzania zadaniami, relacjami z klientami (CRM) i zgłoszeniami pomocy technicznej, a także oferuje dostęp do narzędzi działających zgodnie z metodyką ciągłej integracji (continuos integration) i ciągłego dostarczania (continuos delivery). Ciągła integracja polega na współdzieleniu repozytorium kodu źródłowego i częstym integrowaniu fragmentów kodu. Dzięki temu wszyscy członkowie zespołu programistycznego widzą dokonane zmiany i wprowadzają je do swoich części. Stosowanie tej metodyki pozwala na szybkie znalezienie i usunięcie błędu. Jeśli chodzi o CD to jak sama nazwa głosi automatyzuje dostarczanie, czyli ciągle umieszcza i wdraża nowo skompilowane wersje kodu do danego środowiska.
Do jednych z najbardziej znanych i najczęściej wykorzystywanych repozytoriów kodu należą Bitbucket, GitHub i GitLab. Poniżej prezentujemy porównanie tych trzech serwisów.
Narzędzia do rejestrowania i zarządzania informacjami o błędach w oprogramowaniu
W projekcie IT wykorzystuje się także tzw. bugtrackery, czyli narzędzia do rejestrowania i zarządzania informacjami o błędach w oprogramowaniu. Dzięki tym programom można szybko wykryć i usunąć problem, a tym samym polepszyć jakość pisanego kodu. Bugtrackery nie tylko informują o pojawiających się błędach w kodzie, ale także przechowują dane historyczne dotyczące procesu naprawczego. Narzędzia udostepniają bazy danych, w których przechowane są informacje m.in. o ID błędu, jego priorytecie, dacie zgłoszenia, powstałych skutkach oraz statusie. Kierownik techniczny projektu wykorzystuje te rozwiązania również do zarządzania pracami naprawczymi poprzez dokonanie podziału zadań i przydzieleniu osób odpowiedzialnych za rozwiązanie poszczególnych problemów. Wiele zespołów programistycznych korzysta z takich bugtrackerów jak Mantis, Bugzilla, Jira czy też Redmine.
Narzędzia testerskie
Testowanie produktu technologicznego lub poszczególnych fragmentów kodu jest bardzo ważnym etapem w projekcie IT, ponieważ weryfikuje prawidłowe funkcjonowanie tworzonego oprogramowania. Do narzędzi testerskich należą m.in. programy do wykrywania defektów w oprogramowaniu, narzędzia do zarządzania kodem, ale również aplikacje do obróbki zrzutów ekranów, rozwiązania do zbierania i przetwarzania logów czy narzędzia przeprowadzające testy API i funkcjonalne GUI. Zarówno w przypadku API jak i GUI istnieją programy oferujące automatyczne testowanie. Do najpopularniejszych rozwiązań wspierających testowanie API należą Postman, Rest Assured i JMeter. Jeśli chodzi o programy wykorzystywane do zautomatyzowania testów funkcjonalnych GUI to często korzysta się z Selenium, Ranorex czy też Cucumber.
Aby projekt IT przebiegał sprawnie, szybko i bezproblemowo warto korzystać z kilku narzędzi spełniających różne potrzeby. Z tego powodu warto wybierać rozwiązania, które posiadają najwięcej potrzebnych funkcjonalności oraz umożliwiają integrację z innymi wykorzystywanymi programami. Przykładem narzędzi stosowanych w projektach IT jest zestaw złożony z Trello, Bitbucketa, Jiry i Slacka. Program do zarządzania zadaniami i organizacji prac jest zintegrowany ze Slackiem służącym do komunikacji oraz z programem wykrywającym błędy w kodzie. Natomiast Jira połączona jest z Bitbucketem wykorzystywanym do zarządzania kodem. Obecnie istnieje wiele narzędzi do zarządzania projektem IT. Dobierając rozwiązania trzeba pamiętać, że ich celem jest usprawnienie prac projektowych, a nie ich spowolnienie i utrudnienie.