Nowa seria artykułów
Początek roku to tradycyjnie czas zastanawiania się „co dalej?” oraz nieśmiertelnych postanowień noworocznych – to jak ich dotrzymać to osobny temat. Żeby tradycji stało się zadość zacząłem i ja zastanawiać się co można by tu na blogu zrobić.
Kiedy sprawdziłem statystyki odwiedzin, okazało się, że najpopularniejszym artykułem jest „Co to właściwie jest ta Jira?” To podsunęło mi pomysł, żeby w tym roku skoncentrować się na treściach o podstawach – dla użytkowników a nie administratorów. Admini zwykle znają się bardzo dobrze na swoje robocie. Z moich doświadczeń i obserwacji wynika, że jest wiele osób, które nie potrafią korzystać z Jiry.
Widzę, że są pełni chęci często jednak nie potrafią zrobić najprostszych rzeczy. Czasem mają potrzebne uprawnienia, ale nie wiedzą, że mogą coś zrobić. Nie znają terminologii więc nie jest im łatwo wyszukać pomocy w Google. Niektórzy są przerażeni mnogością opcji i funkcji.
Nierzadko jak mówię czym się zajmuję to słyszę „A tak, korzystamy z Jira. Rany jak ja nienawidzę tego programu…”
A zatem – moim celem na ten rok jest oswojenie tego potwora. Mam zamiar zrobić to za pomocą krótkich artykułów zbindowanych ze sobą w coś co, być może na wyrost, postanowiłem nazwać Kursem Jira. Będzie to poradnik dla tych co „nie umio w Jira” i dla tych co już trochę „umio”.
Dla zaawansowanych użytkowników informacje, które będę opisywał mogą się wydawać śmiesznie proste. Pamiętajcie jednak proszę – jest wiele osób dla których to niemal czarnoksięstwo.
Na koniec wstępu przyznam się szczerze, że po części kieruje mną też lenistwo 😉 W codziennej pracy często spotykam się z tymi samymi lub bardzo podobnymi pytaniami i problemami. Zamiast więc po raz n-ty tłumaczyć to samo chcę mieć coś co mógłbym pokazać userowi i powiedzieć – proszę, tu jest wszystko jasno opisane. Przeczytaj a jak będziesz nadal mieć pytania to porozmawiamy.
Sam jestem ciekaw w co się to rozwinie. A więc zaczynamy…
Firma Atlassian i jej produkty
Zanim konkretnie o Jirzę najpierw parę zdań o firmie która stworzyła Jirę.
Atlassian, bo tak nazywa się ta firma, pochodzi z Australii. Założyli ją w 2002 roku w Sydney dwaj kumple ze studiów – Mike Cannon-Brookes oraz Scott Farquhar. Jak głosi legenda założyli firmę bo chcieli móc zarabiać takie same pieniądze jak w tamtych czasach płaciły korporacje ludziom po studiach. Nie chcieli jednak pracować dla kogoś innego. Jak widać poszło im nieźle bo dzisiaj obydwaj panowie są miliarderami 😉
Jako ciekawostkę wspomnę, że nazwa Atlassian pochodzi od mitologicznego tytana Atlasa, który dźwiga na swoich barkach cały świat.
Pierwszym i flagowym produktem firmy jest właśnie Jira. Jeśli zadajesz sobie pytanie skąd taka nazwa to już wyjaśniam. Pochodzi od nazwy japońskiego potwora Godzilla. Po japońsku to Gojira, w skrócie Jira. W ten sposób developerzy Atlassiana przezywali aplikację Bugzilla, którą wykorzystywali w pracy do śledzenia błędów w swoim kodzie. Kiedy potem stworzyli swoje własne oprogramowanie przezwisko stało się oficjalną nazwą. Reszta jest historią.
Dziś Atlassian to ogromna korporacja mająca przychód powyżej 1,5 miliarda dolarów rocznie. W swojej ofercie posiada wiele innych aplikacji takich jak Confluence, Bitbucket, Bamboo, Opsgenie i wiele innych. Na swoim obecnym etapie firma najczęściej wchłania inne, mniejsze, bo czasem łatwiej coś kupić w całości niż wymyślać od nowa.
Czym jest Jira?
Zdarza się, że rozmówcy kiedy dowiedzą się czym się zajmuję pytają mnie „A co to za program ta Jira? Do czego służy?”. Zastanawiałem się wielokrotnie jak odpowiedzieć na to pytanie zwięźle i w zrozumiały sposób. najlepiej jednym zdaniem. Moja aktualna odpowiedź brzmi:
Jira to oprogramowanie służące do zarządzania pracą do wykonania.
Jeśli rozmówca nadal drąży temat to z reguły dodaję, że rodzaj pracy jaką się zarządza nie ma tutaj większego znaczenia. To może być praca programistów, supportu IT, marketingu, działu HR, księgowości czy dowolnego innego działu firmy. Ba, jeśli chcesz to Jira może Ci pomóc ogarnąć Twoje codzienne obowiązki domowe.
Jeśli zaczniesz szukać w internecie to prawdopodobnie natkniesz się na wiele różnych definicji. To może lekko zdezorientować, jednak większość z nich jest prawdziwa. Dzieje się tak dlatego, że dzisiejsza Jira to nie tylko natywne oprogramowanie – czyli to co daje sama Jira, ale także ogromy ekosystem dodatków liczony w tysiącach pluginów tworzonych przez setki firm. O tym jednak później.
„Rodzaje” Jira
Napisałem „rodzaje” w cudzysłowie ponieważ Jira tak na prawdę jest jedna, jednak produktowcy Atlassiana postanowili, moim zdaniem słusznie, wyodrębnić niektóre funkcjonalności i zamknąć je w czymś na kształt właśnie „rodzajów” Jira. Nie znajduję lepszego słowa.
Mamy więc do czynienia z Jira Core, Jira Software oraz Jira Service Management (ta ostatnia do niedawna nazywała się Jira Service Desk). Szczerze mówiąc jest jeszcze Jira Align, ale tą pomijam, żeby już kompletnie nie namieszać Ci w głowie.
Z Twojego punktu widzenia nie będzie specjalnie widać czy w danej chwili korzystasz z Jira Core, Software czy Service Management. Nie będzie żadnego osobnego przycisku przenoszącego Cię z jednej do drugiej ani wielkiego napisu, że teraz korzystasz z Jira Software. Możesz się zorientować jedynie po funkcjach jakie są dostępne.
I to moim zdaniem powoduje sporo zamieszania jeśli chodzi o Jirę. Można usłyszeć, że „przecież w poprzedniej firmie korzystaliśmy w Jira i mieliśmy tą funkcję, więc skoro tutaj też jest Jira to przecież też to powinno być”. No właśnie niekoniecznie.
Na razie to wszystko w tej kwestii. W miarę kolejnych lekcji, jeśli będę omawiał funkcjonalności specyficzne dla któregoś „rodzaju” to będę o tym głośno informował.
„Rodzaje” Jira z innego punktu widzenia
Mówiąc o „rodzajach” Jira trzeba wspomnieć o jeszcze jednym rozróżnieniu. Tym w jaki sposób aplikacja jest dostarczana. W tym przypadku mamy trzy wersje, ale lada dzień zostaną dwie.
- Cloud
- Server
- Data Center
Cloud
Wersja Cloud to nic innego jak tak zwane SaaS (Software as a Service). W tym modelu dostajesz dostęp do Jira w formie subskrypcji (tak jak na przykład do Google Apps czy Netflixa). Twoja organizacja nie musi ponosić kosztów związanych z fizycznym serwerem, jego oprogramowaniem, konfiguracją i utrzymaniem.
Plusem jest brak tych kosztów i fakt, że nie musisz mieć specjalistycznej wiedzy w tym zakresie i skoncentrować się możesz jedynie na samej aplikacji. Minus jest taki, że masz o wiele mniejsze możliwości dostosowania aplikacji do swoich potrzeb.
Server
Wersja Server to tym oprogramowania fachowo nazywany on-premise. Oznacza to, że aplikacja jest zainstalowana na serwerach należących do organizacji, przez niej zarządzanych i utrzymywanych (to tak w uproszczeniu bo przecież zarządzać nim może jakaś zewnętrzna firma). W tym przypadku, w przeciwieństwie do wersji Cloud administratorzy systemu mają dostęp do wszystkich jego parametrów, komponentów a nawet do kodu źródłowego aplikacji. Dzięki temu możliwe są daleko idące zmiany i dostosowywanie aplikacji do własnych potrzeb.
Data Center
Wersja Data Center to tak naprawdę wersja Server, ale z dodatkowymi możliwościami np. instalacji na wielu serwerach. Dzięki temu np. administratorzy mogą prowadzić prace serwisowe bez przerw dla użytkowników. Z punktu widzenia Ciebie – użytkownika różnice pomiędzy Server a Data Center są niewidoczne, czego niestety nie można powiedzieć o Cloud. Tutaj różnice są i to czasami istotne.
Wspomniałem wyżej, że z trzech wersji niedługo zostaną dwie. To dlatego, że Atlassian postanowił zakończyć rozwój i wsparcie wersji Server. Zostaną zatem Cloud i Data Center. Jeśli chcesz dowiedzieć się czegoś więcej możesz zacząć od moich dwóch artykułów. Tego i tego.
Powyższe oczywiście nie wyczerpuje tematu. Świat IT jest dzisiaj bardzo skomplikowany i nie wszystko jest czarne albo białe. Można np. zainstalować wersję Server oraz Data Center w AWS (Amazon Web Services). Wtedy będzie można powiedzieć, że ma się Server/Data Center, ale w chmurze. Choć nie będzie to taka chmura jak w wersji Cloud… Dobra. Więcej nie piszę, żeby nie zamotać Ci w głowie jeszcze bardziej. To już zadania dla ludzi z IT.
Dodam jeszcze tylko, że dyskusja na temat plusów i minusów oraz dokładnych różnic każdego rozwiązania to bardzo rozległy temat, którego nie planuję rozwijać w tym kursie.
Dodatki
Wyżej napisałem, że istnieje cały ekosystem dodatków do Jiry. Opisując to zagadnienie lubię się posługiwać analogią do współczesnych smartfonów. Każdy telefon wyjęty z pudełka ma jakiś zestaw funkcjonalności. Możesz dzwonić, pisać SMSy, przeglądać internet itd. Jeśli jednak czegoś Ci brakuje to najczęściej wchodzisz do Google Play lub App Store i szukasz apki, która robi to co Cię interesuje. To właśnie czyni nasze smartfony tak potężnymi urządzeniami.
Dokładnie tak samo jest z Jira. Istnieje nawet miejsce, z którego te dodatkowe aplikacje można zainstalować. Nazywa się Atlassian Marketplace. Tutaj też tak jak w przypadku apek do smartfonów, niektóre aplikacje są bezpłatne a niektóre płatne (często droższe niż sama Jira).
To co jest najważniejsze w tym wszystkim to fakt, że jeśli Jira nie ma funkcjonalności, która Cię interesuje to jest bardzo duża szansa, że jest dodatek, który to robi. Pamiętaj też, że aplikacje te w większości przypadków są tak zintegrowane z Jirą, że nie sposób odróżnić czy korzystasz z dodatku czy z natywnej funkcji już wbudowanej w Jirę. To ponownie powoduje nieporozumienia kiedy użytkownik zmienia firmę – „przecież korzystałem już z Jira i tam było”.
Co jeszcze?
Możliwości Jira są ogromne. Nie sposób ich wszystkich wymienić w jednym tekście. Szczegóły będą jednak wykraczały poza ten kurs. To zadania dla administratorów aplikacji a nie jej użytkowników.
Jeśli jednak temat Cię zainteresuje do tego stopnia, żeby zanurkować głębiej to natkniesz się na takie zagadnienia jak np. integracja z innymi aplikacjami. Tutaj wyróżniłbym dwa kluczowe obszary: integracja z innymi produktami Atlassiana oraz integracja z aplikacjami innych dostawców. W tym pierwszym przypadku aplikacje integrują się bez jakiegoś większego nakładu pracy. W końcu to ten sam producent i zależy mu, żeby jego produkty współpracowały ze sobą w sposób płynny zarówno od strony użytkownika jak
i administratora.
Drugi obszar to integracja z aplikacjami innych producentów. Jak to wygląda w tym przypadku? To zależy. Często z pomocą przychodzą nam wspomniane wyżej pluginy, które po zainstalowaniu w Jira tworzą interface do integracji. Dotyczy to jednak najczęściej najpopularniejszego oprogramowania. Aplikacje mniej popularne najprawdopodobniej będą wymagały wiedzy programistycznej.
Innym ciekawym obszarem jest możliwość pisania własnego kodu, zarówno w formie wtyczek a także komunikacji po tak zwanym REST API czy webhookach. To już jednak wyższa szkoła jazdy. Wspominam jednak o tym, żeby dać Ci świadomość tego, że to co Ty jako użytkownik będziesz widział w okienku swojej przeglądarki – po drugiej stronie lustra tworzy ogromny, skomplikowany i jednocześnie fascynujący świat.
W dalszych artykułach tej serii postaram się Ci pomóc na tyle, żeby świat ten stał się dla Ciebie nieco bardziej przyjazny.
Następna lekcja:
Kurs Jira: Scrum