Z cyklu #AbsurdyKorpo
Dawno nie było ale dzisiaj mi mózg rozpi..ło więc się z wami tym podzielę.
Firma, w której pracuję prowadzi równolegle wiele projektów, a co za tym idzie pozatrudniali mnóstwo nowych osób. Jako, że pracuję tam już sporo czasu to poproszono mnie o udział w projekcie z dwoma nowymi developerami aby przez jakiś czas ich nadzorować. Sęk w tym, że projekt bardzo duży ilość wiedzy dla kogoś nowego ogromna zatem część ustaleń (np architektonicznych) omówiłem bezpośrednio z PM'em oraz architektem zanim tych nowych ludzi pozatrudniali.
Abyście lepiej zrozumieli poziom absurdu opowiem wam też nieco o procesie wydawniczym, który z takich czy innych przyczyn nie jest dobry ale jest to pewien kompromis między potrzebami biznesu i git flow, który chcielibyśmy mieć. Mianowicie dev robią zmiany na środowisku DEV, jak są gotowi idą z tą zmianą na środowisko TEST1. Tam znęca się nad tym zespół QA. Następnie jak QA klepnie idziemy na TEST2 i tam znęca się nad tym biznes i dopiero jak biznes klepnie, że jest ok to idziemy na prod. Każde środowisko TEST1, TEST2 oraz PROD ma odwzorowanie w GIT tak aby kody z GIT pokrywały się z bazą. No i dochodzimy do sedna problemu. Nowy projekt to nowy biznes, który z przyczyn niezależnych od nas nie ma dostępu do TEST2 i mieć nie będzie. Zatem jakaś mądra głowa wymyśliła kolejne środowisko TEST3. Zupełnie niezależne od wszystkiego z dostępem dla nowego biznesu. Środowisko z pełnymi testami E2E. No dobra ale jak to wpiąć w normalny nasz proces wydawniczy aby sobie kodów potem na prod nie nadpisywać?
Ustaliłem z PM'em i architektem, że Ci 2 nowi developerzy będą developować na tym środowisku TEST3. Jak im biznes potwierdzi, że działa poprawnie to te zmiany dev przeniosą na nasze normalne środowiska czyli DEV (tylko dla formalności), TEST1 (do testów QA) oraz TEST2 ale tu już biznes nic nie robi bo mamy potwierdzenie na TEST3 i idziemy na PROD. Nie jest idealnie ale tak jak wspomniałem wcześniej nie da się inaczej kompromis nigdy nikogo nie zadowala w pełni.
Po mniej więcej pół roku to środowisko TEST3 w końcu powstało. Ja się z projektu już urwałem bo były inne pilniejsze tematy, a dziś na spotkaniu zespołowym (wszyscy developerzy PL/SQL z całego zespołu) mówią nam, że od teraz po testach na TEST2 mamy te zmiany z TEST2 (nie związane z powyższym projektem) wgrywać też na TEST3 tak aby na TEST3 były wszystkie zmiany i pokrywało się to z prodem. No to pierwsze 15 min wytykałem im dziury w tym podejściu, że jeden projekt będzie musiał czekać na drugi, że retesty, że rozjazd kodów, że brak nawet repo pod TEST3 i gdy w końcu się już wystarczająco "wyżyłem" pytam kto to tak spier...lił? No i odzywa się mój kierownik, że przecież było spotkanie i było ustalone. No to pytam kto był na tym spotkaniu i dostaję listę:
I tak o to 11 osób bez absolutnie ŻADNEJ wiedzy na temat procesu przyszło i wymyśliło nowy proces nowe flow i jeszcze nas poinformować zapomnieli. Serio rozglądam się czy gdzieś jakaś kamera nie wisi i ktoś nie ciśnie ze mnie beki w jakiejś ukrytej kamerze
Padły terminy pl/sql i oracle, więc zakładam, że w gicie trzymany jest kod jakichś procedur bazodanowych.
Nie potrafię sobie wyobrazić czemu tak to działa i jaki problem to rozwiązuje, ale to chyba klucz do tego problemu