Hej,
nie jestem pewny czy dział odpowiedni więc w razie czego proszę o przesunięcie.
Pracowałem już w wielu firmach - małych, dużych, średnich. Wszędzie był 'chaos' (a przynajmniej tak mi się wydaje) na różnych poziomach oraz wszechobecne developerów narzekanie na ten chaos. Ja narzekać czasami też lubię, ale tak w między czasie zastanawiam się - co zrobić, aby ten chaos choć trochę ograniczyć.
No i prawdę mówiąc mam kilka pomysłów, ale kompletnie nie jestem przekonany, że długoterminowo będą one faktycznie skuteczne. I tutaj pytanie do was. Załóżmy na potrzeby tematu taką sytuacje:
Mamy projekt w korpo. Projekt nowy, ale dość spory - niech to będzie 15 zespołów (plus minus, bo wiadomo co miesiąc 5 osób odejdzie, 3 przyjdzie). Cała architektura to ok. 90 komponentów (cały czas się rozrasta), mikroserwisy blebleble. Część mikroserwisów jest 'wspólna' - np. jakieś zbieracze logów, jakieś systemy alertów itd.
No i teraz problemy:
- wspólne komponenty nie mają właściciela - chcesz coś dodać? musisz zrobić to sam - każda nowa osoba traci sporo czasu, aby się zintegrować z systemami (czy nie powinien być tutaj jeden właściciel?)
- utrzymanie dokumentacji - częśc w confluencie, część na githubowych readmie, część w teamsach na wiki
- przepływ informacji - czy wymagane są spotkania całych zespołow? jak często? od czego to zależy? a może sami team leaderzy?
- rozwój wspólnych bibliotek - jak ogarnąć, że robimy w sumie to samo i może warto z jakimś zespołem porozmawiać o wspólnej bibliotece - kto wtedy jest włascicielem?
- wprowadzenie nowych ludzi - wszystko w okoł się zmienia, zespoły mają różne problemy i projekty wiec ciężko zrobić jedno intro dla nowych
No i oczywiście największy problem - deadline, biznes blebleble.Aczkolwiek wydaje mi się, że tak na prawdę problemem jest kwestia wszechobecnej niewiedzy. Jest pare osób, które ogarniają projekt, ale nie mają czasu na konkretna dokumentacje. Jak już mają czas i zrobią dokumentację to niestety nie ma osób, które chcą później ją aktualizować i tak o to kończymy z masą nieaktualnej dokumentacji.
Jak to u Was wygląda? Wiadomo, że każdy chce mieć idealną specyfikację podaną na tacy, super dokumentacje projektu, aby od razu w niego wskoczyć, ale jednoczesnie nikomu się nie chce jej zaktualizować gdy widzi, że jakiś krok się zmienił... I tak wszyscy sobie narzekają, a nic nie chcą z tym zrobić.
Co zrobić, aby było dobrze? Jak żyć?
Dodam tylko, że zmiana pracy w tym przypadku to nie jest rozwiązanie - przerabiałem to. Chcę faktycznie zrozumieć jak to robi np. google, albo inne firmy w których to działa. W czym tkwi sekret - może np. dokumentacja w stylu https://documentation.divio.com/, a może jakiś trick typu - one page doc dla całego projektu? A może faktycznie jest tutaj przede wszystkim konieczna mobilizacja ludzi?