Pracuję w projekcie monolicie jako dev, w którym aktualnie mamy dwa zespoły podzielone po 9 osób. Ostatnio zarówno w jednym jak i drugim zespole działamy w tych samych obszarach aplikacji. Problem jest taki, że jest bardzo słaba synchronizacja/komunikacja między zespołami.
Każdy coś tam działa na swoim podwórku i to generuje chaos w projekcie. Te rozdzielenie na zespoły było głównie po to, żeby nie tracić za dużo czasu na daily.
A wiecie, co jeszcze bardziej oszczędza czas na robieniu daily? Nie robienie daily…
Bez sensu? A dlaczego? Czyżby dlatego, że bez takich spotkań ludzie nie będą wiedzieć, co robią inne osoby? Teraz też nie wiedzą, bo każdy ma kontakt z co najwyżej połową.
Taka już jest naturalna kolej rzeczy — żeby ludzie wiedzieli, co się dzieje, trzeba im powiedzieć. Żeby mogli coś przedyskutować, muszą się spotkać. Ograniczenie komunikacji ogranicza zrozumienie. Ograniczenie dyskusji ogranicza porozumienie. Można planować pod to, żeby nie było potrzeba aż takiego zrozumienia — znacznie drobniej podzielić zadania tak, żeby były bardziej samowystarczalne, więc nie było potrzeby rozumienia, czy i jak zrealizowane są inne; co wymaga spędzenia czasu na odpowiednim zaplanowaniu wszystkiego z góry, co przy okazji trochę usztywni projekt. A można mieć też mniej planowania i więcej improwizacji, ale wtedy ludzie muszą wiedzieć, i muszą rozumieć, i muszą się dogadać, i muszą się porozumieć — zatem masz więcej spotkań z większą liczbą osób, co przy okazji spowolni projekt, bo trudno jest przewidzieć w takiej sytuacji, kto faktycznie się na tym spotkaniu przyda, więc ludzie będą odrywani od realizacji zadań częściej, niż to ściśle potrzebne — albo, co gorsza, rzadziej niż to potrzebne, przez co ich praca będzie psu na buty, bo nie będzie pasować do reszty.