Architectural Kata dla zwinnego zespołu
KORZYŚCI ZE SZKOLENIA
Architectural Kata to trzy dni niesamowicie intensywnych warsztatów dla zespołu, których celem jest zdiagnozowanie problemów w istniejącej architekturze aplikacji oraz zaprojektowanie nowej architektury.
Kluczowymi punktami warsztatów są:
- Zdefiniowanie problemów w istniejącej architekturze
- Wypracowanie Mantry Architektonicznej™ czyli nowej architektury aplikacji
- Zaimplementowanie proof of concept w nowej architekturze
- Zaplanowanie procesu refaktoryzacji do nowej architektury
Podstawowy program
Moduł. 1
KATA 1. – Zdefiniujemy wizję nowej architektury aplikacji
Moduł. 2
KATA 2. – Określimy priorytety wymagań odnośnie zmian w architekturze
Moduł. 3
Prezentacja – Nie ma jednej słusznej drogi w architekturze
Moduł. 4
Prezentacja – Wzorce oraz style architektoniczne
Moduł. 5
KATA 3. – Określimy, które wzorce oraz style architektoniczne najlepiej pasują do naszego kontekstu
Moduł. 6
Prezentacja – Mantra Architektoniczna™
Moduł. 7
KATA 4. – Zaprojektujemy strukturę Mantry Architektonicznej™
Moduł. 8
KATA 5. – Zaimplementujemy proof of concept nowej architektury
Moduł. 9
Prezentacja – Długotrwałe i długie refaktoryzację – jak się do tego zabrać?
Moduł. 10
KATA 6. – Opracujemy plan refaktoryzacji aplikacji do nowej architektury
Moduł. 11
Podsumowanie warsztatów
Szczegółowy program
Moduł. 1
KATA 1. – Zdefiniujemy wizję nowej architektury aplikacji
- Określimy istniejące problemy związane z architekturą
- Przeanalizujemy architekturę z użyciem narzędzia Structure101
- Zmierzymy ilość oraz jakość długu technicznego
- Zdefiniujemy kluczowe wymagania nowej architektury oraz związane z nimi kryteria akceptacji
Moduł. 2
KATA 2. – Określimy priorytety wymagań odnośnie zmian w architekturze
- Przeanalizujemy wartość techniczną oraz wartość biznesową zmian
- Oszacujemy złożoność oraz czasochłonność zmian
Moduł. 3
Prezentacja – Nie ma jednej słusznej drogi w architekturze
- Kontekst – kluczowa zmienna w procesie wyboru architektury
- Czynniki nietechniczne, które trzeba wziąć pod uwagę
Moduł. 4
Prezentacja – Wzorce oraz style architektoniczne
- Najczęściej stosowane wzorce architektoniczne i ich konsekwencje
- Najczęściej stosowane style architektoniczne i ich konsekwencje
Moduł. 5
KATA 3. – Określimy, które wzorce oraz style architektoniczne najlepiej pasują do naszego kontekstu
- Rozpoznamy, jakie wzorce architektoniczne obecnie stosujemy
- Rozpoznamy, jakie style architektoniczne obecnie stosujemy
- Zdefiniujemy czym jest nasz kontekst w odniesieniu do architektury aplikacji
- Przyjrzymy się wzorcom i stylom architektonicznym pod kątem stosowalności do naszego kontekstu, wyzwań oraz problemów
Moduł. 6
Prezentacja – Mantra Architektoniczna™
- Refaktoryzacje
- Extract method
- Inline method
- Inline temp
- Replace temp with query
- Introduce explaining variable
- Split temporary variable
- Remove assignments to parameters
- Extract Method Object
- Substitute Algorithm
Moduł. 7
KATA 4. – Zaprojektujemy strukturę Mantry Architektonicznej™
- Mantra Architektoniczna™ = Struktura + odpowiedzialności + proces
- Dlaczego architektura dryfuje?
- W jaki sposób Mantra Architektoniczna™ zapobiega dryfowaniu architektury?
- Najczęściej popełniane błędy podczas definiowania Mantry Architektonicznej™
Moduł. 8
KATA 5. – Zaimplementujemy proof of concept nowej architektury
- Zdefiniujemy testy akceptacyjne dla implementowanego fragmentu systemu
- Zdefiniujemy testy jednostkowe dla implementowanego fragmentu systemu
- Przygotujemy referencyjną implementację nowej architektury
Moduł. 9
Prezentacja – Długotrwałe i długie refaktoryzację – jak się do tego zabrać?
- Proste przekształcenie refakoryzacyjne
- Naturalny Porządek Refaktoryzacji™ - podstawowy refactoring worflow, którym posługuje się programista
- Konsekwencje refaktoryzacji na długą skalę
- Planowanie refaktoryzacji
Moduł. 10
KATA 6. – Opracujemy plan refaktoryzacji aplikacji do nowej architektury
- Określimy kluczowe wyzwania związane z refaktoryzacją
- Opracujemy architekturę kluczowych adapterów, fasad, anti-coruption layers
- Zdefiniujemy kroki do przeprowadzenia refaktoryzacji oraz sposób włączenia ich w bieżące prace programistyczne
- Oszacujemy czasochłonność oraz horyzont czasowy refaktoryzacji
Moduł. 11
Podsumowanie warsztatów