Jeden z testów scrum zawiera pytanie o definicję najlepiej opisującą „Gotowe”, gdy wiele zespołów programistycznych wykonuje prace nad tym samym produktem.
Prawidłowa odpowiedź mówi, że te zespoły programistów muszą mieć taką definicję „Gotowe”, która może sprawić, że ich połączona praca będzie potencjalnie możliwa do uwolnienia.
Prawidłowa odpowiedź na ten quiz nie jest dla mnie jasna:
- czy drużyny mogą mieć różne definicje „Gotowe”? W jakim zakresie?
Odpowiedzi:
Gdy wszystkie zespoły zdefiniują „Gotowe” w sposób uwzględniający pracę wykonaną przez inne zespoły, masz pewność, że funkcjonalność jest kompletna.
Jeśli każdy zespół inaczej zdefiniuje „wykonane” i po prostu oczekuje, że inne zespoły będą wiedziały o tej definicji, napotkasz kilka problemów:
Gdy pojawi się problem z integracją, żaden zespół nie będzie chciał zająć się jego naprawą. W końcu „zostało to zrobione”, kiedy zaczęli integrować, więc musi to być coś z pracą drugiego zespołu.
Kiedy masz więcej niż garść drużyn, trudno jest zapamiętać „definicję ukończenia”, zwłaszcza gdy występują różnice między drużynami.
Nie można zagwarantować, że definicja „gotowa” działa poprawnie.
Przyjęta odpowiedź wyraźnie stwierdza, że nie zrobiono nic, dopóki praca wszystkich zespołów nie zostanie zintegrowana i nie będzie działać poprawnie. Musi być zwalniany, a zatem akceptowany przez użytkowników końcowych w całości.
Edytuj w odpowiedzi na komentarze: Nie oznacza to, że każdy zespół ma taką samą definicję zrobione. Oznacza to, że częścią definicji każdego zespołu jest większy system, a inne integrujące elementy nie są zepsute.
źródło
Mogę sobie wyobrazić sytuację, w której jeden zespół definiuje „Gotowe” jako „Opracowane” (tj. Kod scalony w celu repo), podczas gdy inny definiuje go jako „Testing Done” (tj. Kod wydany Q / A i przetestowany).
Prowadziłoby to z natury do poważnych problemów, ponieważ ogólny stan produktu byłby w dużej mierze nieokreślony, a zatem trudno byłoby stwierdzić, czy rzeczywiście możemy go zwolnić, czy nie.
źródło