Software do zarządzania projektami

Mam pytanie do osób, które zajmują się developowaniem aplikacji webowych profesjonalnie.

Jak u was w firmach wygląda zarządzanie kodem źródłowym, błędami itp? Tzn. chodzi mi o to czy w waszych firmach korzysta się z płatnych usług typu assembla, github i itp., czy raczej repozytoria, bugtrackery i inne tego typu narzędzia stawiacie na lokalnych serwerach?

U nas jest użyty gitosis (bez gitweba) i postawiony na VPS.

IMHO wykupywanie takich usług mija się z celem. Już za 18zł/mc można mieć swojego “virtualnego dedyka”, na którym możńa postawić wszystko, czego potrzeba. Oczywiście 18zł to dla bardzo zdesperowanych.
Pomijam teraz kwestie bezpieczeństwa typu poufność kodu źródłowego. Ale zawsze chyba lepiej na swoim.

Korzystaliśmy z redmine do trackowania błędów ale się nie sprawdził. Po prostu zbyt spowalnia. Formalizowanie takich rzeczy myślę, że jest potrzebne w trudnych przypadkach.
Dużo lepiej się sprawdza kartka papieru i rozmowa w cztery oczy/skype. Poza tym błędy lepiej poprawiać od ręki.

Ja w ramachtworzenia stanowiska pracy, póki co, niestety w domu ze względu na kosszty zbudowałem sobie takie biurko i ścianę:

http://img30.imageshack.us/img30/4580/desktoptg.jpg - przeglądarka z lewej, kod na dużym.laptop gościnnie
http://img43.imageshack.us/img43/2885/20090909204843.jpg
Tablica 120x90 spełnia się jako TODOList idealnie. I nie trzeba uruchamiać żadnego programu w celu zobaczenia, co mam jeszcze zrobić w projekcie.

Redmine oraz assebla to bardzo dobre narzedzia, ulatwija prace oraz poprawiaja komunikacje, nawet przy malych projektach. Tylko nalezy z nich odpowiednie korzystac.

Tu sie z Toba nie zgodze. Jezeli jestes w trakcie robieniia jakiegos zadania to nie zostawisz rozgrzebanego kodu po to aby naprawiac bledy. Moim zdaniem bledy powinny byc zapisywane, zeby zaden nie umknal uwadze.

Jesli blad jest drobiazgiem to lepiej zawiesc prace (git ma fajne polecenie stash) i poprawic go od reki (w miare mozliwosci). Czasem opisywanie bledu, zapisywaniu w narzedziu do trackowania jest dluzsze niz naprawa bledu. Imho nie ma sensu odadac bledow, ktorych naprawa trwa dluzej niz 5 minut. Nie powstaje wtedy niepotrzebnie dluga kolejka zadan, ani nie tracimy czasu podwojnie. Zgodnie moim rozumieniem metpdyki programowania zwinnego, kazdy jest wspolodpowiedzialny za kod i powinien naprawiac blad, jesli go znajdzie.

Co z zadaniami, ktorych nie da sie wykonac od reki? W przypadku zespolow pracujacych zdalnie, faktycznie Redmine moze pomoc, jednak nalezy uwazac, by nie przesadzic. Nadmierna formalizacja moze spowodowac, ze programisci zamiast tworzyc kod beda zajmowac sie opisywaniem, co zrobili.

W przypadku, gdy szef projektu spotkal sie z klientem i ma liste uwag, powinien wydzielic liste drobiazgow, usiasc z jednym programista i poprawic je od reki. Trudniejsze zadania powinny znalezc sie w planie, albo biezacej, albo nastepnej iteracji w postaci historyjek. Albo na odpowiedniej tablicy, albo w redmine.

Pragne zaznaczyc, ze jest to modelowa sytuacja, ktora chce testowac w nastepnym projekcie. W poprzednim praca z redmine stala sie frustrujaca. Wolelismy rozmawiafc przez skype i notowac na kartkach.

Poza tym chce powiedziec, ze mialem okazje pracowac w projekcie i zdalnie i bezposrednio z klientem. Zdecydowanie lepsza jest opcja 2. Praca jest szybsza i mozna uniknac bledow komunikacji, gdyz klient nie zawsze do konca wie, czego chce.

Nie mialem jedynie okazji pracowac z drugim programista w parze face2face.

Przepraszam za brak polskich znakow i skroty. Pisze z telefonu. Btw to forum szybko dziala po EDGE przynajmniej w okolicach Krosniewic

Myślę, że w powyższych zdaniach pomieszałeś trochę Agile Development z GPM (Guerilla Programming Methodology - Programowanie Partyzanckie ) :smiley:

Gdybym musiał za każdym razem rozmawiać z QA w cztery oczy i poprawiać bugi od razu kiedy je zgłaszają to musiałbym mieć przynajmniej z 10 głów, 30 par oczu i uszu i 44 ręce :slight_smile:

@Sevos: tak jak Seewer pisze, jeśli projekt jest trochę bardziej złożony i składa się z teamu większego niż dwu-trzyosobowy (a kiedy do ekipy wchodzi scrum master, product owner i tester, to nagle mamy n = developerzy + 3), jeden centralny system rejestrowania tego co się dzieje i co jest do zrobienia (komplementarny z SCMem) staje się po prostu koniecznością.

Szczerze? Nie wyobrażam sobie życia bez jakiegokolwiek systemu śledzenia błędów.

I nie wiem w jaki sposób redmine może spowalniać pracę? Wrzucasz ticketa, krótki opis, ewentualnie screena i wszystko. Jeżeli ktoś może coś małego poprawić od ręki, to ok, ale co robisz kiedy nie można? Zapisujesz sobie na kartce? I tą kartkę kserujesz i rozdajesz innym developerom, żeby też mieli szansę się tym zająć? :wink:

No i ja się w zupełności z wami zgadzam. Podczas projektu uczelnianego wymysiliśmy naszym 4-osobowym teamem na prowadzącym, że chcemy robić Agilowo a nie Waterfallowo i właśnie w ciągu ostatniego roku sporo się w Agile wdrożyłem i też widzę potrzebę korzystania z BugTrackerów i innych narzędzi. Dlatego moje pytanie nie brzmiało CZY używacie takich narzędzi :slight_smile: :wink: tylko jak: na lokalnych serwerach, VPSach czy może właśnie korzystacie z płatnych usług typu assembla, github itp…

[quote=sevos]Ja w ramachtworzenia stanowiska pracy, póki co, niestety w domu ze względu na kosszty zbudowałem sobie takie biurko i ścianę:

http://img30.imageshack.us/img30/4580/desktoptg.jpg - przeglądarka z lewej, kod na dużym.laptop gościnnie
http://img43.imageshack.us/img43/2885/20090909204843.jpg[/quote]
Świetne stanowisko pracy… Będę sobie musiał skomponować coś podobnego!!

[quote=krzyczak][quote=sevos]Ja w ramachtworzenia stanowiska pracy, póki co, niestety w domu ze względu na kosszty zbudowałem sobie takie biurko i ścianę:

http://img30.imageshack.us/img30/4580/desktoptg.jpg - przeglądarka z lewej, kod na dużym.laptop gościnnie
http://img43.imageshack.us/img43/2885/20090909204843.jpg[/quote]
Świetne stanowisko pracy… Będę sobie musiał skomponować coś podobnego!![/quote]
Czy to urządzenie po lewej stronie na pierwszym zdjęciu to Hackintosh i harcerskie/marynarskie odznaki na drugim zdjęciu ? Oj, nieładnie. Prawdziwy harcerz tak nie robi :wink:

Na pierwszym zdjeciu to Mc4lin - jedynie motyw :wink: sprawdzam czy wytrzymam w cukierkowym swiecie (a podobno jabłka zębów nie psują). Poza tym na zdjęciu widać jeden komputer z dwoma monitorami + gościnny laptop, lezacy w miejscu na nogi :stuck_out_tongue:
A drugie, to po dziadku za turnieje szachowe, zeby powiesic te tablice trzeba bylo odgracic pokoj, gdzieś chwilowo musiałem powiesić :wink:

Po głębszych przemyśleniach chciałbym sprostować. Nie uważam, że korzystanie z systemów zarządzających błędami nie jest złem. Faktycznie może pomóc.
Możliwe, że przy bieżącym projekcie źle korzystaliśmy z redmine, może wybraliśmy złe narzędzie.
Jednak potórzę: Jak najbardziej uważam, ze takie informacje należy notować, nie trzymać w głowach :wink:

W jednym z poprzednich postów zlinkowałem do artykułu o firmie Hashrocket. Oni używają tam Pivotal Tracker http://www.pivotaltracker.com/ Będe badał.

Myślę, że nie korzystanie z takiego systemu jest złem :slight_smile:

Myślę, że oba narzędzia mają troszkę inne zadanie, jedno to project managment tool, który pozwala na określanie milestones itp, drugie to typowo issue/bug tracking software choć jakieś zarządzanie projektem można niby zrobić.
Mam natomiast pytanie do ciebie apropo właśnie tego artykułu i zdjęć które tu pokazałeś. Widzę edytor podzielony na pół możesz powiedzieć co to za edytor (gvim?) i podzielić się konfiguracją. Mam zamiar dać szanse vimowi i choć używam go już z 10 lat to raczej do edycji plików systemowych, a nie pisania aplikacji.

pozdrawiam

edycja: człowiek napisze, zanim zapyta się wujka googla. Oczywiście :vsplit jeśli vim. Niemniej jednak napisz jeśli to coś więcej/innego

To dlatego, że nie spróbowałeś jeszcze Emacs’a :wink:

Konfiguracja tego GVIMa jest w moim projekcie RoRDevToolkit: http://github.com/sevos/rordevtoolkit/tree/master
Zaznaczam, że działa u mnie, na czystej instalacji ubuntu i u kolegi.
Konfiguracja nie jest do końca stabilna, tzn. pojawiaja mi sie jakieś komunikaty przy starcie VIMa, GVIM działa.
Co jest w zestawie?

  • gvim, ctags
  • pluginy:
    • fuzzyfinder (odpalany Ctrl+ENTER) - różowa imitacja RegexOpen z textmate
    • project manager (oapalany przez ctrl+p)
    • nerdsnippets: snippety do RoR i wielu innych
    • kolorowanie składni (ruby, haml, html, css i inne)
    • rails.vim - menu do obsługi projektów railsowych

To póki co u mnie działa, ale nie gwarantuję że ta konfiguracja zadziała u Was, nie znam się na konfiguroaniu ViMa a dobrze, jedynie zmieniłem nieco keybindy.Zestaw bazuje na akitaonrails - kiedys zbuduje go from scratch

Więcej o pakiecie rordevtoolkit w temacie na tym forum http://rubyonrails.pl/forum/t2155-RoRDevToolkit

Co do Pivotal Tracker; O ile dobrze pamiętam to w książce http://helion.pl/ksiazki/AGILDE.htm autor zaleca tworzenie dla większych błędów osobnych opowieści i uwzględnianie ich przy wydaniu.

To dlatego, że nie spróbowałeś jeszcze Emacs’a ;)[/quote]
Święte słowa ;-). Możesz użyć VIM-a lub od razu Emacsa. :smiley:

Heh, myślę że nie ma potrzeby prowadzić dyskusji o zaletach jednego i drugiego :slight_smile:

[quote]To dlatego, że nie spróbowałeś jeszcze Emacs’a :wink:
Święte słowa ;-). Możesz użyć VIM-a lub od razu Emacsa. :-D[/quote]
Znowu sie zaczyna :slight_smile: - przeciez wiadomo, ze Emacs jest lepszy. :slight_smile:

Nie zaczynajcie znowu! ;D

Gitosis rządzi jeśli chodzi o zarządzanie repozytoriami. Basecamp jest dobry dla małych projektów. My używamy Clocking IT, może nie jest to najlepsze narzędzie do śledzenia błędów, ale ma podstawowe funkcje i dobrze śledzi czas :).

Ja tego nie rozumiem. Jedynym true edytorem jest VIM :smiley:

Jedynym true edytorem jest windowsowy notatnik.