2009-08-02 11 views
54

Używamy silnie Jira w naszych codziennych pracach rozwojowych. Chciałbym sprawdzić, czy istnieją jakieś najlepsze praktyki w tworzeniu komponentów projektu w Jira?Najlepsza praktyka używania komponentów w projektach jira

Na przykład, czy Twoim zdaniem, lepiej jest utworzyć komponent dla każdego modułu programistycznego w Jira, czy może komponenty o drobniejszym uziarnieniu są preferowane przez Twój zespół?

Odpowiedz

11

Chciałbym dopasować komponenty do twoich modułów/artefaktów/słoików, aby każdy problem mógł należeć do konkretnego modułu (chociaż może mieć również zależności/relacje z innymi).

Jeśli masz mocne argumenty, aby lepiej zarządzać problemami niż poziom modułu, zastanów się, dlaczego nie oddzielisz również powiązanego modułu.

Dzięki temu mapowaniu 1-1 pomaga wyjaśnić harmonogram wydań, można łatwo, jakie problemy ma wersja X swojego projektu, i które moduły skupić wysiłek na. Pomaga także uprościć powiązania między Jira, systemem kompilacji i SCM, np. jeśli używasz Bamboo, prawdopodobnie będziesz mieć projekt kompilacji na moduł, więc możesz po prostu dodać skojarzenie.

27

Komponenty są jak małe podprojekty. Projekty wydają się najbardziej przydatne, gdy grupują ludzi. Polecam moim klientom, że projekty JIRA w pewnym stopniu odzwierciedlają organizację społeczną, przynajmniej do momentu, gdy liczba projektów stanie się bardzo duża.

Należy także unikać używania komponentu o nazwie "Różne" lub "Inne". Mają tendencję do stania się wysypiskiem odpadów, na które nikt się nie troszczy.

10

Utwórz komponent dla każdego głównego modułu, a może nawet warstwy systemowej (np. Backend, Frontend). Nie zejdę poniżej poziomu szczegółowości na poziomie modułów. Możesz dodać komponenty do działań wspierających, takich jak BA, Testing (zgadzając się z mdoar) ... Komponenty są prostopadłe do wersji/uwalnia

16

Najważniejszym temat komponentów ma być jednoznaczne i nie zbyt wiele. W naszym zespole Teraz jesteśmy migracji do 3 poziomu hierarchii (w GreenHopper sensie):

  • na najwyższym poziomie masz składników BA, które są nieliczne i wytyczone przez zespół (infra, backend, GUI) - to pomaga BA faceci kierują zgłoszenie do właściwego kierownika zespołu DEV przypisanego do kierownika komponentu.
  • Drugi poziom to proces rzeczywisty (w znaczeniu uniksowym). To jest bardzo jasna definicja. W przypadku, gdy problem przypisany jest do wielu procesów, przypisujemy go do jednego z nich (BTW, GreenHopper nie zezwala na wiele komponentów liścia, ale działa tak samo JIRA). Dokonuje tego menedżer DEV.
  • Trzeci poziom jest opcjonalny i rzadko używany, oznaczający podsystem w ramach procesu. Używamy go, gdy znaczna część problemów jest związana z dobrze zdefiniowaną częścią kodu i chcemy je śledzić osobno. Zwykle robi to programista pracujący nad tym problemem.

Aby takie progresywne udoskonalenie działało, trzeba mieć pojęcie, kto przypisuje do którego komponentu i kto przetwarza problemy przypisane do niego. Ten drugi jest oznaczony przez składnik wiodący, pierwszy nie jest wyraźnie wspierany przez JIRA (lub moglibyśmy powiedzieć, że BA widzą tylko ich komponenty, menedżerowie DEV, tylko ich podkomponenty + wszystkie BA, itp.)

1

Używamy 2-poziomowa hierarchia komponentów (dzięki greenhopper ...) - Themes and Epics. Kompilacja w motywach i eposach Greenhoppera nie pozwala nam na agregowanie i raportowanie w sposób, w jaki chcemy, i to całkiem dobrze.

11

Od wersji 4.2.4 nie jest możliwa wersja komponentów, tylko projekty. Miej to na uwadze, jeśli chcesz korzystać z funkcji mapy drogowej.

Jest (7+ lat) żądania od dawna, aby dodać wersjonowanie komponentów:

http://jira.atlassian.com/browse/JRA-3501

+1

Opracowałem wtyczkę umożliwiającą numery wersji na poziomie komponentu w JIRA. Umożliwia także grupowanie komponentów w pakiecie o wspólnym numerze wersji. Więcej informacji można znaleźć na stronie pomocy wtyczki: http: //jiraplugins.denizoguz.com/plugin-help/ – Deniz

5

Mam inny weźmie na komponentach teraz.
Z klientami I odnoszą się do dziedziny składników jak:

A multiselect field that's useful for automatically assigning issues. Each of the things in this field has a potential assignee associated with it.

a potem mówię:

If you don't care about automatic assignment, just treat the components field as a convenient system field.

Tak, aby ponownie odpowiedzieć na oryginalne pytanie, należy zadać sobie pytanie, czy można przypisać problemów przez drużynie lub przez grzywnę, o której wspomniałeś?
Prawdopodobnie pierwsze.

2

JIRA zaprojektowany tak, aby każdy komponent projektu miał ten sam zestaw numerów wersji, więc jeśli chcesz, aby komponenty miały niezależne numery wersji, musisz skonfigurować inny projekt dla każdego komponentu lub użyć wtyczki opracowanej przeze mnie pozwala na numery wersji specyficzne dla komponentów, a jednocześnie umożliwia grupowanie komponentów w pakiet. Wtyczka jest "Component/Subcomponents/Bundle Versions for JIRA" i dostępna na Atlassian Marketplace. Więcej informacji można uzyskać pod adresem atlassian plugins help page. Inną opcją jest zmuszenie każdego komponentu zespołu do posiadania tego samego zestawu numerów wersji. W przeciwnym razie bardzo trudno jest wybrać poprawne numery wersji dla komponentów.

Powiązane problemy