Ewolucyjna architektura (Konferencja 33rd Degree)

Post on 09-May-2015

423 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Ewolucyjna architektura - architektura, która w sposób ciągły jest adaptowana do zmieniających się potrzeb projektowych

Transcript

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

Main sponsor

Pytania?

Main sponsor

Dziękuję za uwagę!

* Podziękowania dla Michała Bartyzela za współtworzenie koncepcji i prezentacji

top related