poniedziałek, 28 kwietnia 2008

O tym jak Rubin walczy z Gozzilą...

Kiedy rzucę w ether hasło "narzędzie webowe będące zarazem doskonałym bugtrackerem, issue-trackerem oraz systemem zarządzania projektem", jaka będzie pierwsza myśl, która przyjdzie Wam do głowy? Trudno mi tu zgadywać, ale czuje (i korzystam tu troszkę z mojego i moich kolegów doświadczenia), że wszyscy (a przynajmniej większość) zgodnym chórem krzykną JIRA! Ale wiecie co, ja Jiry nie lubię!

Większość z Was krzyknie, bluźnierca! I nie ma się co specjalnie tu dziwić, gdyż Jira jest narzędziem doskonale sprawdzającym się jako issue oraz bug tracker. Sam przez kilka miesięcy klepania kodu w pracy miałem z nią do czynienia, a używałem jej również przy tworzeniu pracy magisterskiej. Od dłuższego czasu uważałem, że nie ma sobie równych.
Jeśli nigdy nie używaliście Jiry, polecam obejrzeć krótki filmik przedstawiający niektóre z feature'ów dostarczonych razem z narzędziem. Video jest mocno marketingowe (w końcu ściągnięte jest bezpośrednio ze strony głównej producenta) nie mniej jednak w tym kilku minutowym filmiku, można mniej więcej zobaczyć, co Jira może nam zaproponować.

I uwierzcie mi posiadanie takiego narzędzia się opłaca. Zapewne większość z Was nie muszę do tego zbytnio przekonywać, ale jeśli ktoś nie próbował, nie bawił się, nie chciał, to zachęcam. Planowanie, raportowanie, śpiewanie, szacowanie, badanie, zgłaszanie, polepszanie.. wszystko w jednym miejscu. Narzędzie miód, ideał.

Ale zaraz zaraz, czy ja na początku nie wspomniałem przypadkiem, że Jiry nie lubię? No tak, z tym, że musze być tu w tym temacie troszkę, dokładniejszy. Ja Jirę lubie, nawet bardzo, poprstu nie pałam do niej miłością.
No ale czemu (ktoś może rzec), skoro Jira jest taka cudowna, piękna, pyszna i śliczna? Powód jest prosty, nie będę owijał w bawełnę i po prostu od razu wkleję screenshota z broszurki reklamującej Jirę:


Tak tak moi mili, za Jirę trzeba płacić (i to sporo) i właśnie dlatego jej nie lubię. No bo sorry, ale zdążyłem się już przyzwyczaić, że system mam za darmo, środowisko developerskie mam darmowe, języki programowania w których piszę też są for free. To samo tyczy się serwera, na którym wdrażam moje aplikacje, konta mailowego (o pojemności kilku gigabajtów), bloga i wielu inny tego typu cudów. I nagle zong! Za issue trackera mam płacić? I to jeszcze 1200 dolarów minimum? Wolne żarty...


Jakiś czas temu zrobiłem bardzo krótki research, sprawdzający czy jest coś na rynku, co by mogło z Jirą konkurować. Najczęściej natrafiałem na artykuły mówiące czemu Jira jest lepsza od Bugzilly, proste programy typu project managment oraz narzędzia dedykowane danej metodologii wytwarzania oprogramowania (taki choćby XPlanner). Konkurenta Jiry nie znalazłem. Teraz już wiem, że nie szukałem zbyt dokładnie, ale o tym za chwilkę...

Od kilku tygodni zgłębiam tajniki języka Ruby oraz frameworka Ruby on Rails. Przyznać muszę, że to właśnie RoR był moim obiektem zainteresowań z początku, do samego Ruby miałem mieszane uczucia. Teraz moje podejście się trochę zmieniło i sam język nawet do mnie przemawia. Nauka z tego taka, że do niczego nie można podchodzić z uprzedzeniami.
Wracając jednak do głównego wątku, szperając trochę po polskich forach railsowych, natknąłem się na ofertę pracy, zupełnie inną od tych standardowych do których zdążyliśmy się już przezwyczaić (młody zespół, wysokie zarobki, musisz znać Jave - czytaj bierzemy wszystko co dotkneło chociaż raz w życiu klawiatury). Jednym z elementów oferty pracy było wylistowanie projektów opensourcowych, w których pracownicy firmy biorą udział. Wyklikałem wszystkie linki (z czystej ciekawości) i w ten oto sposób poznałem Redmine.

Redmine to (cytując ze strony głównej) "flexible project management web application". Czyli innymi słowy - Jira2! Poważnie, nie oszukuję. Ma funkcjonalność Jiry ale i nie tylko. Główna strona projektu Redmine jest uruchomioną instancją redmina, więc de facto wchodząc na stronę www.redmine.org od początku widzimy ją w działaniu. Mamy znany nam z Jiry issue i bug tracker, miejsce na wiki, forum dla developerów. Osobne działy typu Roadmap (budowane na podstawie issuetrackera), Repository (pełny wgląd w repozytorium), dział newsów, autoamtycznie generowany dział Activity (można szybko zobaczyć jak wyglądają postępy prac nad danym projektem) i wiele wiele innych. Polecam po prostu wejść na stronę http://www.redmine.org i zobaczyć aplikację w działaniu.
Dołóżmy do tego bardzo ładny, przejrzysty layout, możliwość rozwoju o pluginy, wspracie dla LDAP'a, Gantt chart oraz kalendarz (menadżerowie to kochają :) ) oraz kilka innych feature'ów i na naszych oczach powstaje już naprawdę niczego sobie narzędzie, które spokojnie może zacząć konkurować z Jirą.
Redmine napisany jest w Ruby on Rails, ruszy z każdą bazą danych (tzn z większością tych znanych) na każdym systemie operacyjnym (tam gdzie uruchomimy railsy). Jest opensourcowy, wydany na licencji GNU General Public License (GPL). Kilku z programistów , tworzących redmine'a to nasi rodacy (oczywiście z Krakowa, bo to kolebka RoR'a w Polsce).

Gorąco zachęcam do korzystania z Redmina. Wiem, że firmy się raczej nie przerzucą, bo za licencję już zapłacili, wydali gro kasy na szkolenia, podpięcie Jiry pod inne systemy (na przykład Hudsona), więc im się to po prostu nie opłaca. Ale jeśli pracujesz w takiej firmie i chciałbyś mieć coś ala Jira, lecz za darmo, wtedy bez dwóch zdań polecam Redmina!

I jeszcze na koniec kilka zdań, co by sprostować:

* Można uzyskać darmową licencję Jirowską dla projektów typu opensource. Ale muszą być to naprawdę projekty tego typu. Napisanie jestem studentem, chciałbym licencje dla własnego użytku (non-profit) nie zadziała - próbowałem :)
* Nazwa Jira wywodzi się tam jakoś bezpośrednio od Gozzila (gdzieś kiedyś na necie przeczytałem)
* Nie wiem od czego wywodzi się nazwa Redmine, może ktoś z Was wie?
* Railsy są fajne :)

1 komentarz:

Szymon Jeż pisze...

Również używam Remine. Zarówno do osobistych projektów jak i do pracy zawodowej. Kiedyś używałem TRACa, ale Redmine bije go na głowę pod każdym względem. Łatwo również zmigrować z TRACa do Redmine dzięki skryptom dostarczonym do tego ostatniego automatyzującymi ten proces. Każdy ma jednak swoje wymagania. Jedno jest jednak dla mnie pewne - warto spróbować pracy z takimi narzędziami, bo w mojej opinii bardzo korzystanie wpływa to na projekt. Wszystko staje się jaśniejsze, widać dokładniej cele na, których można się lepiej skupić.

Redmine? Od czego to słowo? No chyba od tego, że Redmine jest napisane w Rubym, a to nazwa kamienia szlachetnego rubin. Rubiny są czerwone (ang. red) i wydobywane w kopalni (ang. mine). Praca na projektem może się też kojarzyć z pracą w kopalni :P. Sprytna nazwa.