W tym poście kończę już temat listy 15 najważniejszych aspektów technicznych, który podzieliłam na 3 części. Poprzednie odcinki: 1. i 2. znajdziesz na blogu ;).
11. DevOps
Pojęcie najczęściej kojarzone z CI/CD, czyli ciągłą integracją i wdrażaniem. DevOps mylnie jest uważane za czystą technologię, jest to bardziej kultura i metodyka pracy. Oczywiście wspierają to praktyki i narzędzia, ale za tym pojęciem idzie coś więcej ;).
W kontekście pracy z zespołem to myślę, że warto rozumieć:
jak wygląda nasz proces wdrożeniowy
jak często wypuszczamy nową wersję oprogramowania i skąd ten interwał czasowy
jak wygląda praktyczne podejście do automatyzacji: co automatyzujemy i dlaczego
jakimi narzędziami się posługujemy
jakie są możliwości integracyjne pomiędzy narzędziami i co one oferują
kto w zespole chce się rozwijać w kierunku DevOps
DevOps podnosi poprzeczkę w dostarczaniu wartości i jakości w produktach. Wiele firm dąży w kierunku, który wytyczają najlepsi w branży. Często wdrożenie najlepszych praktyk wymaga zamiecenia długu technicznego i technologicznego w firmach.
12. Cyberbezpieczeństwo w akcji
Temat niezwykle modny i od jakichś 2-3 lat można zaobserwować wysyp ofert na stanowiska Security Manager, Security Specialist, itp. Popularyzacja internetu nie przyniosła tylko korzyści firmom, ale również okazję hakerom. Czy możemy zabezpieczyć się przed atakami hakerskimi? Rzeczywistość nie jest malowana w kolorowych barwach, bo brzmi: nie. Natomiast możemy poczynić przygotowania, na wypadek gdyby do takowego doszło, to mamy już stworzone procedury i odpowiednie działania są uruchamiane. Na pewno trzeba się orientować w:
rodzajach ataków
sposobach detekcji i możliwym zarządzaniu w kryzysie
zabezpieczeniach wdrożonych zarówno w firmie, w której pracujemy jak i w zespołach
13. Observability
Niegdyś był monitoring i alerting aplikacji. Teraz doszedł nowy klocek do układanki: tracing. W ten sposób ukształtował się nowy trend na rynku - observability. W pracy nad aplikacją; poza jej tworzeniem i dostarczeniem; trzeba dobrze rozumieć:
jaki mamy system monitoringu aplikacji i jej architektury
jakie powiadomienia [alerty] otrzymujemy
kto to utrzymuje, sprawdza i reaguje
jakie zbieramy eventy i logi systemowe
jakich narzędzi używamy do tracingu i jak odtwarzamy ścieżkę użytkownika aplikacji
W moim odczuciu chyba najmniej doceniona odsłona IT i najmniej poznana w świecie osób "nietechnicznych".
14. Utrzymanie aplikacji
No dobra, mamy to! Aplikacja została oddana użytkownikom do korzystania. Czy to oznacza koniec prac nad nią? Niekoniecznie. W większości jednak przypadków, prace rozwojowe trwają, a utrzymywanie jest stałym elementem prac w zespole. Aczkolwiek, wraz z życiem aplikacji może zapaść decyzja o zamrożeniu prac rozwojowych i przechodzi ona w stan utrzymania.
Pomimo że zdecydowanie rzadziej się to zdarza, to warto jednak rozumieć, na jakich zasadach utrzymanie funkcjonuje w naszej firmie. Jaki zespół się tym zajmuje, jak zgłaszane są zgłoszenia od użytkowników w obu przypadkach: błędów i pomysłów na rozwój. Jakie mamy SLA [ang. Service Level Agreement] dla poszczególnych klas błędów.
Warto nadmienić, że dla wielu programistów praca w utrzymaniu jest nieatrakcyjna. Należy to wziąć pod uwagę, szukając odpowiednich ludzi.
15. Nierozerwalna "para" - agile i technologia
Teraz zdecydowanie nie ułatwię, pisząc, że w życiu, większość z obszarów poruszonych w moich 3 postach, działa ze sobą na zasadzie naczyń połączonych. Nigdy te tematy nie są odizolowane i niezależne. Właśnie dlatego by być dobrym partnerem dla zespołu i Product Ownera/Managera, czy zarządu firm; Scrum Master musi rozumieć te obszary by sprawnie się w nich poruszać i móc wspierać ich w codziennej pracy.
Innym dobrym argumentem, który przychodzi mi do głowy to: transformacja agile w firmie nie kończy się tylko na "przetasowaniu" zespołów i wdrożenia nowych sposób pracy. Zawsze towarzyszy temu transformacja technologiczna.
Czymże jest zwinność? Jeśli nie szybszym dostarczaniem wartości do klienta końcowego i walidowania naszych pomysłów? Nauki na nich i ich poprawiania? Można mieć fantastyczne retro, ale jeśli nie jesteśmy "prędcy", bo hamuje nas technologia, w jakiej pracujemy to, czy jesteśmy "naprawdę" zwinni? W moim odczuciu i moich doświadczenia: No nie.
Właśnie dlatego propaguję myśl i twierdzenie, że musimy "ogarniać" technicznie. Prędzej czy później każdą osobę pracującą z systemami, aplikacjami spotka konieczność podszkolenia się z technologii.
Comments