Skip to content

Witaj w Świecie Jutra!

  • Technologie jutra
  • Sprzęt jutra
  • Aplikacje jutra
  • Programowanie
  • Księga Drogi
  • Renowacja
  • Różności
  • Archiwum
  • Autor
  • Home
  • Wszystko
  • Czym jest Jira (i Confluence)?
  • Programowanie
  • Wszystko

Czym jest Jira (i Confluence)?

Jakub Raczkowski 29 maja 2024

Poznawszy tajniki metodologii pracy możemy śmiało wkroczyć w świat zarządzania projektem i ekipą. Wiedza z dzisiejszego odcinka – czyli znajomość pakietu Atlassian, nie jest obowiązkowa dla programistów, ale pomaga w spojrzeniu na swoją pracę z szerszej perspektywy.

Uwaga! W tej serii zajmuję się opisowym przedstawieniem tematu, a celem jest zapoznanie z zagadnieniem w sposób luźny i zrozumiały dla nowicjusza. W związku z tym wiele elementów siłą rzeczy musi zostać pominiętych. Tych z was, którzy chcieliby się dowiedzieć więcej, zapraszam do źródeł na końcu artykułu.

Ucząc się programowania i tworząc co raz to obszerniejsze programy, w pewnym momencie zauważycie, że sami zaczynacie się gubić w natłoku rzeczy do zrobienia.

Już przy moim pierwszym samodzielnym projekcie: minigierce CleanThemAll (która składa się z zaledwie dwudziestu-kilku klas obejmujących front i backend) wielokrotnie zastanawiałem się:

Czym to ja mam tu się dzisiaj zająć?

Potem przychodzi jeszcze ten etap, kiedy nie dość, że projekt sam w sobie jest potężny to jeszcze dostajecie kompana albo kilku do „pomocy”. Chcecie po prostu coś porobić, dodać coś od siebie do wspólnego kodu, ale zamiast produkować tracicie bezowocnie czas myśląc:

  • co jest najpilniejsze?
  • czy przypadkiem ktoś już tego nie robi?
  • które zadanie najbardziej odpowiada moim kompetencjom?

Każdy kto kiedykolwiek grał w popularnych „Herosów” wie jak ważne jest dowodzenie. I nie chodzi tu tylko o popularny skill „Leadership” dający boost do morale co zwiększa szansę na podwójny atak w danej rundzie.

Odpowiednie dobieranie jednostek do danego zadania to klucz do sukcesu. Wprawny taktyk zwycięży przeważające siły wroga wykorzystując największe atuty swojego zespołu. Krasnoludy są słabe i powolne, ale jeśli otoczymy nimi naszych elfich snajperów to ci zdążą przetrzebić legiony nieprzyjaciela zanim ten się przebije przez zastęp brodatych kurdupli.

Nie inaczej jest w zarządzaniu projektem. Musimy uświadomić sobie jakie są mocne i słabe strony naszego zespołu aby wprawnie delegować posiadane jednostki.

Kontynuując tę swobodną metaforę realiów biurowych na to co znamy z gier możemy powiedzieć, że programiści odwalają główną robotę jako damage dealerzy, ale nie poradzą sobie bez tanków biorących bugi i nieobsłużone wyjątki na klatę – czyli testerów QA. Skryci w cieniu łotrzykowie z DevOpsa otwierają zamki i rozbrajają pułapki, a support HR dba aby drużyna była zbuffowana i wypoczęta.

No i w końcu mamy też mistrzów gry – Product Ownera, Scrum Mastera i Team Leadera – to oni rzucają kośćmi, rozdają questy oraz dbają o to aby fabuła trzymała się kupy.

Zespół przygotowuje się do kolejnego epickiego epika

Zarządzanie tym wszystkim może, owszem, odbywać się analogowo: z ust do ust, zostawiając memo na żółtych karteczkach czy organizując spotkania ze slajdami, białą tablicą i pudełkiem zmazywalnych markerów.

Ale hej, przecież nie po to jesteśmy w IT, żeby robić takie rzeczy jak jaskiniowcy! To wszystko da się zautomatyzować, przyśpieszyć, uprościć. Potrzebne jest tylko odpowiednie narzędzie, na przykład takie jak:

Atlassian to australijska firma założona w 2002 roku i mająca na swoim koncie kilka popularnych aplikacji pomagających w zarządzaniu projektami i zespołem (nie tylko IT). Moje pierwsze zetknięcie z produktem od Atlassian nastąpiło w lutym tego roku kiedy organizowałem swoje zadania podczas pracy nad ITCandidateEvaluator.

Trello pomogło mi w organizacji pracy przy moim ostatnim projekcie.

Zasada działania Trello jest banalnie prosta i można ją podsumować słowami:

ToDo List

Lista rzeczy do zrobienia. Ot mamy kilka kolumn – do tej najbardziej po lewej wrzucamy pomysły, a następnie przekładamy je co raz bardziej w prawo w miarę postępujących prac, np.

pomysł -> do zrobienia -> w trakcie -> do przetestowania -> gotowe

Jak widzicie nie ma w tym większej filozofii, a użytkowanie można rozpocząć z marszu, bez żadnego tutoriala, całkowicie za darmo. Mamy też opcję upublicznienia naszej tablicy co może być pomocnym uzupełnieniem dokumentacji czy pliku readme projektu.

Tablica w Jirze jest podobna do tej z Trello ale opcji jest więcej.

Sama Jira natomiast to takie baaardzo rozbudowane Trello, przystosowane do pracy w środowisku komercyjnym w metodologii Agile i wieloosobowych zespołach.

Przykładowy projekt w Jirze rozpoczyna się od wybrania metodologii, np. podzielonego na Sprinty Scruma albo mniej restrykcyjnego Kanbana. Kolejnym krokiem jest dodanie zadań, które dzielą się na podkategorie w zależności od tego czego dotyczą i jak bardzo są rozbudowane, np.

  • epik to zadanie główne, które może trważ kilka Sprintów i jest bardzo ogólne, dla przykładu: „Stworzyć moduł panelu użytkownika”
  • taki epik jest podzielony na stories – „story” to już bardziej konkretne zadanie (np. „panel użytkownika: profil”), a efekt jego ukończenia jest widoczny od strony użytkownika
  • story z kolei rozbija się na konkretne zadania czyli „taski„, zrobienie pojedynczego taska może zostać niezauważone przez końcowego użytkownika (np. „dodanie do encji usera atrybutu 'ulubione’ + walidacja za pomocą RegEx”)
  • jest jeszcze trochę osobno zadanie „bug” które, jak sama nazwa wskazuje, służy do informowaniu o babolach i jest prośbą o interwencję
Backlog – to tutaj trzyma się wszystkie pomysły zanim trafią do programu Sprintu

Powyższe to zaledwie wycinek możliwości jakie daje Jira. Oprócz tego są tam wirtualne pulpity (tzw. „dashboard„) w przejrzysty sposób pokazujące najważniejsze informacje o przebiegu prac nad projektem.

Jest rozbudowany moduł filtracji zgłoszeń na wszelkie możliwe sposoby (powstał nawet JQL – Jira Query Language czyli wariacja na temat SQL-a).

Dostajemy opcje automatyzacji przebiegu pracy (tzw. „workflow„) – ustawiania reguł tego co można robić, a czego nie (np. nie można przenieść taska bezpośrednio z kolumny „w trakcie” do „gotowe” z pominięciem etapu „do weryfikacji”).

No i jest też cała sekcja poświęcona tylko i wyłącznie zarządzaniu zespołem – dodawanie/usuwanie członków, przydzielanie ról i przywilejów.

Ogólnie rzecz biorąc Jira, jako system administracji projektem i personelem ma wszystko czego do tego celu potrzebujemy. A nawet więcej, jako, że dochodzą nam integracje z innymi produktami Atlassian oraz pluginy łączące Jire z rzeszą innych rozwiązań tj. GitHub, pakiet GoogleDrive czy AWS.

Rozszerzeń do Jiry jest cała masa, są lepsze i gorsze, ale każdy znajdzie tu coś co mu ułatwi pracę.

Jeśli chodzi o inne popularne produkty Atlassian z którymi Jira w naturalny sposób łączy się i ułatwia pracę, są to:

Z odcinka poświęconego Gitowi pamiętamy, że Git to program do wersjonowania plików programu, natomiast GitHub to zewnętrzne repozytorium (i sporo więcej, ale to przede wszystkim) gdzie te pliki w różnych wersjach możemy trzymać i je udostępniać. Oczywiście GH nie jest jedyną opcją i oprócz niego mamy choćby jeszcze GitLaba i właśnie BitBucket.

O ile GH jest świetny w przypadku kodu open-source, który jest widoczny dla każdego i każdy może go pobrać i „sforkować”, o tyle w rozwiązaniach komercyjnych (czyli takich gdzie kod powinien pozostać zamknięty) często lepszym zamiennikiem jest BitBucket. Posiada fajne integracje z Jirowymi taskami, a do tego łatwo się tworzy dokumentację dla takiego repo.

Jeśli Jira zarządza projektem i zespołem, to Confluence najlepiej streścić jako system zarządzania treścią. Osobiście najłatwiej mi przyrównać to do WordPressa na którym zamieszczam moje teksty. Tworzymy sobie strony („Confluence pages„) wyglądające jak dokument Worda, albo niniejszy artykuł: jest podział na paragrafy, różne formatowanie, marginesy, kolumny, obrazki itd. Potem daną treść możemy podlinkować w Jirowym tasku jako kontekst zadania, albo możemy stworzyć wiki – dokumentację dla kawałka kodu z BitBucketa.

Bardzo popularnym komunikatorem jest Slack. Oczywiście w pracy możemy używać WhatsAppa, Vibera czy choćby i GaduGadu, ale żaden z nich nie jest nastawiony na zwiększenie produktywności. Tymczasem w Slacku możemy na szybko otworzyć sobie nową dyskusję poświęconą tylko i wyłącznie jednemu z tasków, ba!, Scrum Master może kreować nowe taski bezpośrednio z poziomu Slacka! Opcji jest oczywiście znacznie więcej, a integracja z pozostałymi produktami Atlassian sprawia, że raz trafiwszy do ich ekosystemu trudno się z niego wydostać.

Slack w języku angielskim oznacza „luz” (Źródło obrazka)

A jak to działa razem?

Powiedzmy, że Product Owner ma pomysł na nową funkcjonalność w przygotowywanej appce. Spisuje go na nowej stronie w Confluence i udostępnia decyzyjnym członkom zespołu. Ci zostawiają swoje komentarze i sugestie, PO poprawia tekst i zatwierdza.

Teraz na podstawie w/w pomysłu powstaje Backlog w Jirze, tworzone są epiki, te dzielone na stories, a każde story ma odniesienie do danego paragrafu w confluence’owym pomyśle.

Omawiana jest strategia branchowania, np. 1 story = 1 branch. W BitBucket tworzone jest repozytorium, a członkowie zespołu tworzą branche do których zostali przydzieleni. BitBucket oferuje również usługi CI/CD na podobieństwo GitHub Actions.

Rozpoczyna się Sprint, pojawiają się commity, pull requesty, prośby o code review – wszystkie powiadomienia automatycznie spływają na Slacka powiązanych osób. W miarę postępujących prac rozbudowuje się dokumentacja projektu na Confluence – część jest pisana ręcznie, ale wiele rzeczy tworzy się automatycznie.


Podsumowanie

To był ostatni z zaplanowanych odcinków naszej serii „Czym jest…?”. Udało mi się omówić wszystko to co chciałem od samego początku (a nawet nieco więcej) i teraz przyszedł czas na podsumowanie oraz kolejne wyzwania.

Następny wpis będzie agregował i analizował to czego się wspólnie nauczyliśmy, wiedza zostanie uszeregowana, podzielę się źródłami skąd ją czerpać i w jakiej kolejności. Będzie tam wszystko to co potrzebujecie się dowiedzieć skończywszy ogarnianie podstaw pierwszego języka – czyli w momencie kiedy już czujecie się programistami, ale nie wiecie co robić dalej, aby udowodnić to potencjalnemu pracodawcy.


Źródła:
Kurs zarządzania projektem w Jira na Udemy (płatne) POL
Integracja Jira z Confluence YT/ANG
Slack – jak korzystać? YT/ANG

Continue Reading

Previous: Czym jest Agile (i Scrum)?
Next: Backend A-Z

Related Stories

Mageege Moon104 – test niskoprofilowego mechanika
  • Sprzęt

Mageege Moon104 – test niskoprofilowego mechanika

11 marca 2025
Przebranżowienie cz.4
  • Programowanie

Przebranżowienie cz.4

27 lutego 2025
Smartfon Jutra
  • Sprzęt

Smartfon Jutra

15 lutego 2025

Ze świata

  • Antyweb
  • Kwantowo
  • Dwóch po dwóch
Karta SIM bez rejestracji - czy to jeszcze możliwe i… czy ma sens?
Koniec balu. O te karty NVIDII będzie trudniej na rynku. Dużo trudniej
Dowiedz się jak AI pomaga w nauce! clickON to bezpłatne warsztaty nie tylko dla najmłodszych
Napakowana lista nowości HBO Max. Przezabawna trylogia i wiele więcej
Jak stworzyć miasto przyjazne rowerom? Paryż mówi to jasno
Samsung zaskoczy swoich fanów. Przecieki odkrywają sekret nowych flagowców
Twórca ChatGPT coś kombinuje. Czym jest Projekt Agora?
Elon Musk nie ma powodu do radości. Użytkownicy zgłaszają problemy
Słucham tego zamiast książek i podcastów. Ty też powinieneś spróbować
ChatGPT z dużą nowością. Przyda się, jeżeli często korzystasz
Powstał cukier doskonały. Niskie kalorie, brak wyrzutu insuliny
Windows Vista umarł doszczętnie. Microsoft wyciągnął wtyczkę
Internet mobilny w Plus – najlepsze oferty na styczeń 2026
Windows z poważnym błędem. Może ci nie działać podstawowa funkcja
Używasz tych słuchawek? Zrób to jak najszybciej dla własnego bezpieczeństwa
Gmail jeszcze nigdy nie był tak wygodny. Zastanów się dobrze, nim aktywujesz
Co dalej z "amerykańskim" smartfonem Trump Mobile? Politycy reagują
WhatsApp z fantastyczną zmianą. Mała rzecz, a ucieszy miliony
Wszyscy o nim mówią. Wyczekiwany hit już na Netflix
Europejska Agencja Kosmiczna na celowniku. Skradziono masę danych
To by było na tyle, jeśli chodzi o możliwość ugody
Ocalić od zapomnienia
Ostatni kwant
ALH 84001 – meteoryt, o którym mówiono nawet w Białym Domu
HESS zarejestrował kosmiczny elektron o niespotykanej energii [Phys. Rev. Lett.]
Matka ciemnej materii – recenzja biografii “Vera Rubin. Życie”
Satelita, który zerwał się ze smyczy
Wiadomość od Carla Sagana do przyszłych eksploratorów Marsa
Ile najdłużej może trwać zaćmienie Słońca?
Nowa największa liczba pierwsza ma ponad 41 milionów cyfr [GIMPS]
30 lat konsoli PlayStation – Odcinek #130
Omawiamy serię The Walking Dead (gość: Stary Gracz)
Nikt nie potrzebuje cienkich smartfonów – Odcinek #129
To ostatni dzwonek na kolekcjonowanie gier i filmów
Najlepsza relacja z PGA 2025 (Poznań Game Arena)
Bumblebee wśród klawiatur. Marvo Meqa 80W – recenzja
Pierwsze spotkanie z Omoda 7 Super Hybrid
Logitech MX Master 4, Wednesday, 1670 sezon 2 – Odcinek #128
Tani pad, który chciał być jak DualSense. Test Monka Contra GT-96
Secret Service i prasa komputerowa w Polsce – Odcinek #127

To może cię zainteresować:

Mageege Moon104 – test niskoprofilowego mechanika
  • Sprzęt

Mageege Moon104 – test niskoprofilowego mechanika

11 marca 2025
Przebranżowienie cz.4
  • Programowanie

Przebranżowienie cz.4

27 lutego 2025
Smartfon Jutra
  • Sprzęt

Smartfon Jutra

15 lutego 2025
Czym jest Swagger?
  • Programowanie

Czym jest Swagger?

22 lipca 2024
  • Technologie jutra
  • Sprzęt jutra
  • Aplikacje jutra
  • Programowanie
  • Księga Drogi
  • Renowacja
  • Różności
  • Archiwum
  • Autor
Copyright © All rights reserved. | DarkNews by AF themes.