My staramy się trzymać agile. My 2-tygodniowe "sprinty", które polegają na realizacji jakiegoś konkretnego celu. Np. obsługi jakiejś złożonej operacji w aplikacji. W pierwszym dniu sprintu robimy planowanie i dorzucamy notki z backloga do sprintu i w razie potrzeby tworzymy nowe notki. Notki są kategoryzowane na "feature'y" (np. feature: Logowanie i do tego notki: 1 - przygotowanie GUI, 2 - połączenie z serwerem, 3 - autoryzacja, etc.). Podczas sprintu developerzy przypisują do siebie notki, realizują je zgodnie z Git flow (osobny branch na feature, osobny branch na task/notkę). Po zrealizowaniu taska, przechodzi on Code Review (ostatnio używamy do tego Gitlaba). Po wprowadzeniu zmian po Code Review, mergujemy brancha z taskiem do feature brancha. Po skończeniu wszystkich tasków, mergujemy feature brancha do mastera i przekazujemy notkę do testów testerom. Testerzy mogą odbijać notkę, gdy coś jest nie tak, po poprawce, notka wraca do testów i tester podejmuje decyzję, czy ją zamknąć. Szczegóły dot. kwestii domenowych dogadujemy z Product Ownerem i testerami. Po zakończeniu sprintu, robimy jego review i retrospektywę. Do obsługi notek korzystamy z Jiry. Nie spotkałem się z lepszym issue trackerem. Jeśli chodzi o bardziej skomplikowane zadania, to czasami rozpisujemy diagramy klas UML i opisujemy proces działania aplikacji. Najczęściej dzieje się to, gdy projekt rusza od zera lub jest robiony jakiś konkretny refaktoring kodu. Później, gdy projekt już hula, ewentualne diagramy siedzą na wiki (na Jirze - confluence) i można do nich powrócić.