Ewolucyjna architektura (Konferencja 33rd Degree)
-
Upload
bns-it -
Category
Technology
-
view
422 -
download
2
description
Transcript of Ewolucyjna architektura (Konferencja 33rd Degree)
Main sponsor
Ewolucyjna architektura
Mariusz Sieraczkiewicz*
www.bnsit.pl
Mariusz Sieraczkiewicz konsultant trener BNS IT
procesy zwinne i nie tylko architektura czysty kod
software crafstmanship strategie skutecznych
programistów technical leadership
Na początek
Ewolucyjna architektura 33 Degree Conference 2012 2
www.bnsit.pl
Jak zaprojektowad proces rozwoju architektury w projekcie?
Główne pytanie
Ewolucyjna architektura 33 Degree Conference 2012 3
www.bnsit.pl
Programiści, projektanci, architekci, każdy dla kogo temat architektury
jest WAŻNY
Dla kogo?
Ewolucyjna architektura 33 Degree Conference 2012 4
www.bnsit.pl
procesy zwinne retrospekcja Domain Driven Design
czysty kod wzorce projektowe leadership backlog
punkty story points refaktoryzacja flow kanban
Jakie słowa warto znać?
Ewolucyjna architektura 33 Degree Conference 2012 5
www.bnsit.pl
Ewolucyjna architektura
architektura, która w sposób ciągły jest adaptowana
do zmieniających się potrzeb projektowych
Definicja
Ewolucyjna architektura 33 Degree Conference 2012 6
www.bnsit.pl
zastąpid Hibernate przez myBatis wprowadzid CQRS wprowadzid warstwę przetwarzania asynchronicznego dodad blok typu
UseCaseController wprowadzid maszynę stanową
wprowadzid komunikację zdarzeniową wprowadzid NoSQL do przetwarzenia zapytao o przedmioty
Jakie zmiany mamy na myśli?
Ewolucyjna architektura 33 Degree Conference 2012 7
www.bnsit.pl
1. Zespoły, które kodują także projektują system
2. Twórz najprostszą architekturę, która prawdopodobnie zadziała.
3. Kiedy nie masz pewności, spróbuj zakodowad fragment rozwiązania lub
zamodeluj.
4. Ci którzy piszą, testują.
5. Im większy system, tym dłuższy czas wydania.
6. Architektura jest efektem działania wszystkich osób zaangażowanych w projekt.
7. Nie ma monopolu na innowacje.
8. Rozwijaj architekturę w sposób ciągły.
Zasady zwinnej architektury
Ewolucyjna architektura 33 Degree Conference 2012 8
Ewolucyjna architektura
www.bnsit.pl
Jak jest? Ewolucyjna architektura
www.bnsit.pl
# Ustalona na początku nie jest zmieniana
# Ustalona na początku zmienia się chaotycznie
# Brak wizji początkowej – rozwój chaotyczny
# Zrywy architektoniczne – akcja refaktoryzacja
# Przepisanie systemu – czasem ma sens
# Mieszanka powyższych
Podejścia do Architektury
Ewolucyjna architektura 33 Degree Conference 2012 10
www.bnsit.pl
Rozwój architektury będzie odbywad się samoistnie w międzyczasie
Sprytny trik architektoniczny rozwiąże problemy
Mity
Ewolucyjna architektura 33 Degree Conference 2012 11
Ewolucyjna architektura
www.bnsit.pl
Czym zająd się w pierwszej kolejności? Jak wybrad pomiędzy alternatywnymi rozwiązaniami problemu? Kto powinien zająd się poprawianiem architektury? Jak się upewnid czy wszystko
wciąż działa? Czym mamy wystarczającą wiedzę i umiejętności? Czy trzeba poprosid kogoś o zgodę? Kogo? Jak przekonad moich
zwierzchników, że warto? Ile czasu zajmą zmiany? Czy to jest właściwy moment, aby się tym zająd?
Pytania … ughhhh …
Ewolucyjna architektura 33 Degree Conference 2012 12
Ewolucyjna architektura
www.bnsit.pl
A z tego wynika... Ewolucyjna architektura
www.bnsit.pl
# Może się okazad, że trzeba będzie zakopad system
Problem 1
Ewolucyjna architektura 33 Degree Conference 2012 14
www.bnsit.pl
# Rozwój systemu nie nadąża za potrzebami biznesowymi
Problem 2
Ewolucyjna architektura 33 Degree Conference 2012 15
www.bnsit.pl
# Demotywacja zespołu
Problem 3
Ewolucyjna architektura 33 Degree Conference 2012 16
www.bnsit.pl
# Coraz trudniej naprawiad błędy
Problem 4
Ewolucyjna architektura 33 Degree Conference 2012 17
www.bnsit.pl
# Brak powtarzalnych rozwiązao i powielanie pracy
Problem 5
Ewolucyjna architektura 33 Degree Conference 2012 18
www.bnsit.pl
# Rozwój systemu to obsługa przypadków szczególnych
Problem 6
Ewolucyjna architektura 33 Degree Conference 2012 19
www.bnsit.pl
brak nazwanego procesu
przyczyna ...
Ewolucyjna architektura 33 Degree Conference 2012 20
www.bnsit.pl
Zacznijmy od początku… Ewolucyjna architektura
www.bnsit.pl
rozwój
strategiczny
lokalny
Poziomy rozwoju architektury
Ewolucyjna architektura 33 Degree Conference 2012 22
www.bnsit.pl
Poziom strategiczny
Ewolucyjna architektura 33 Degree Conference 2012 23
www.bnsit.pl
Poziom lokalny
Ewolucyjna architektura 33 Degree Conference 2012 24
www.bnsit.pl
Procesy ewolucyjnej architektury Ewolucyjna architektura
www.bnsit.pl
Ewolucyjna architektura 33 Degree Conference 2012 26
www.bnsit.pl
Ewolucyjna architektura 33 Degree Conference 2012 27
www.bnsit.pl
Ewolucyjna architektura 33 Degree Conference 2012 28
www.bnsit.pl
Ustalanie architektury
Aktualizacja architektury na początku iteracji lub wydania
# Forma • Wspólne warsztaty • Konsultacje „społeczne”
• UML lub free style diagram
• Tablica ścieralna (im większa tym lepsza) • Folia elektrostatyczna (np. HandyChart) • Flamastry
Wstępny projekt
Ewolucyjna architektura 33 Degree Conference 2012 29
Proces rozwoju architektury
www.bnsit.pl
Szkic technologii
Ewolucyjna architektura 33 Degree Conference 2012
Proces rozwoju architektury
30 30
www.bnsit.pl
Ekrany użytkownika
Ewolucyjna architektura 33 Degree Conference 2012 31
Proces rozwoju architektury
www.bnsit.pl
Model dziedziny
Ewolucyjna architektura 33 Degree Conference 2012 32
Proces rozwoju architektury
www.bnsit.pl
Ewolucyjna architektura 33 Degree Conference 2012 33
www.bnsit.pl
Wszyscy wiedzą, że to jest ważne
Większośd zna podstawowe techniki
Mało kto to robi ze względu na brak pragmatycznego podejścia
Czysty kod, wzorce projektowe
Refaktoryzacja
Ewolucyjna architektura 33 Degree Conference 2012 34
www.bnsit.pl
Ewolucyjna architektura 33 Degree Conference 2012 35
www.bnsit.pl
Naturalny porządek refaktoryzacji
Ewolucyjna architektura 33 Degree Conference 2012 36
Refaktoryzacja
www.bnsit.pl
Ewolucyjna architektura 33 Degree Conference 2012 37
www.bnsit.pl
Jakie błędy się powtarzają?
Jakie dobre rozwiązania warto rozpowszechnid?
Jakie zmiany powinniśmy wprowadzid do architektury?
Jak wprowadzid te zmiany (najmniej boleśnie?)
Czy mantra architektoniczna jest aktualna?
Retrospekcja architektoniczna
Ewolucyjna architektura 33 Degree Conference 2012 38
www.bnsit.pl
Mantra architektoniczna
Odpowiedzialności
Presentation Layer - …
Entity - ….
Repository - ….
Factory - ….
Application Controller - …
…
Ewolucyjna architektura 33 Degree Conference 2012 39
www.bnsit.pl
Ewolucyjna architektura 33 Degree Conference 2012 40
www.bnsit.pl
Strategiczna ewolucja architektury Ewolucyjna architektura
www.bnsit.pl
Ewolucyjna architektura 33 Degree Conference 2012 42
www.bnsit.pl
Założenia
JIT (just in time) – zajmuj się tym, co jest teraz najważniejsze
Ewolucyjna architektura 33 Degree Conference 2012 43
Proces rozwoju architektury
www.bnsit.pl
Proces ewolucji architektury
Ewolucyjna architektura 33 Degree Conference 2012 44
Proces rozwoju architektury
www.bnsit.pl
# Luźne pomysły na zmiany w architekturze
# Małe i duże zmiany
# Maksymalnie 50-70
# *opcja+ Zgrubnie złożonośd i wartośd biznesowa
Koszyk
Ewolucyjna architektura 33 Degree Conference 2012 45
Proces rozwoju architektury
www.bnsit.pl
# Uporządkowany
# Elementy skonkretyzowane i podzielone
# Określona złożonośd i wartośd biznesowa
# Ocena kosztu zaniechania
# Maksymalnie 20-25 elementów
# Przegląd raz na wydanie
Rejestr
Ewolucyjna architektura 33 Degree Conference 2012 46
Proces rozwoju architektury
www.bnsit.pl
# Wybrane elementy – wąskie gardła
# Raz na wydanie lub na wniosek lidera architektury
# Może byd pracochłonna
# Cel: Stworzenie uzasadnienia biznesowego
Analiza
Ewolucyjna architektura 33 Degree Conference 2012 47
Proces rozwoju architektury
www.bnsit.pl
# Wybrane 5-7 elementów
# Interesariusze i sponsorzy • Kto odczuje korzyśd z wdrożenia tej zmiany?
# Wpływ na projekty • Na które projekty/produkty ma wpływ to wdrożenie? • Na które usługi ma wpływ to wdrożenie?
# Wpływ na procesy • Jaki ma to wpływ na sprzedaż? • Jaki ma to wpływ na dystrybucję produktów i usług?
# Koszt i zasoby • Jak bardzo czasochłonny jest ten temat? • Ile osób, o jakich kompetencjach i przez jaki czas potrzeba na wdrożenie tej
zmiany?
Analiza
Ewolucyjna architektura 33 Degree Conference 2012 48
Proces rozwoju architektury
www.bnsit.pl
Ewolucyjna architektura 33 Degree Conference 2012 49
www.bnsit.pl
Jak to wdrożyć? Ewolucyjna architektura
www.bnsit.pl
Ewolucyjna architektura 33 Degree Conference 2012 51
www.bnsit.pl
Trzeba odpowiedzieć na kilka pytań
Ewolucyjna architektura 33 Degree Conference 2012 52
www.bnsit.pl
Strategie W ramach przydzielania zasobów częśd czasu prac przewiduje się na rozwój architektury (10-15% OD)
Częśd punktów jest przeznaczana na rozwój architektury
Obniżana jest prędkośd
Alokacja czasu na prace architektoniczne
Ewolucyjna architektura 33 Degree Conference 2012 53
www.bnsit.pl
Lider architektury
Tryb konsultacyjny
Angażuje wszystkich
Motywuje i rozpowszechnia wiedzę
Siła napędowa
Ewolucyjna architektura 33 Degree Conference 2012 54
www.bnsit.pl
Podsumowanie Ewolucyjna architektura
Ewolucyjna architektura 33 Degree Conference 2012 55
www.bnsit.pl
Poziom strategiczny
Ewolucyjna architektura 33 Degree Conference 2012 56
www.bnsit.pl
Poziom lokalny
Ewolucyjna architektura 33 Degree Conference 2012 57
www.bnsit.pl
Lider architektury
Ewolucyjna architektura 33 Degree Conference 2012 58
www.bnsit.pl
# Polecamy szkolenie
Projektowanie architektury aplikacji biznesowych http://www.bnsit.pl/szkolenie,projektowanie-architektury-aplikacji-
biznesowych
Lider architektury
Ewolucyjna architektura 33 Degree Conference 2012 59
Main sponsor
Pytania?
Main sponsor
Dziękuję za uwagę!
* Podziękowania dla Michała Bartyzela za współtworzenie koncepcji i prezentacji