102
www.bnsit.pl Ewolucyjna architektura www.sxc.hu/photo/850368

Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

  • Upload
    bns-it

  • View
    511

  • Download
    0

Embed Size (px)

DESCRIPTION

Prezentacja ze spotkania Strefy Liderów IT zatytułowanego "Zarządzanie ewolucją architektury systemu w projektach IT". Ewolucyjna architektura to jeden z odkrytych przez nas czynników sukcesów w zespołach IT. Podczas prac projektowych skupiamy się na procesie dostarczania oprogramowania dla naszych klientów. Jednocześnie proces rozwoju architektury schodzi na dalszy plan albo w ogóle nie istnieje.

Citation preview

Page 1: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Ewolucyjna architektura

www.sxc.hu/photo/850368

Page 2: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Poznajmy się!

Imię i nazwisko Firma 3 słowa o sobie

Page 3: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# 1. spotkanie 16 września

# W prasie

• Artykuły w czasopiśmie Programista

• Strefa Wiedzy Lidera IT na portalu czasopisma

• Napisz do nas [email protected]

# Kolejne spotkanie: 19 kwietnia 2012

Strefa Wiedzy Lidera IT

Strefa Wiedzy Lidera IT 3

Page 4: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# 1-2 h konsultacji

• Omówienie problemów

• Wspólne pomysły na rozwiązania

• Dalsza współpraca

# Kupon do portalu DevCastZone.com

# Książka Eseje o efektywności programistów

Tylko dla uczestników tego spotkania

Strefa Wiedzy Lidera IT 4

Page 5: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Jak zdefiniowad proces ewolucji architektury?

# Jak wdrożyd ten proces?

# Jak określid zakres odpowiedzialności architekta?

# Jak powiązad proces ewolucji architektury z cyklem produkcyjnym w organizacji?

# Jak rozwijad architekturę w nowych i istniejących projektach?

# Jak zarządzad wiedzą o architekturze i projektowaniu w

firmie?

Po co się spotkaliśmy?

Strefa Wiedzy Lidera IT 5

Page 6: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

1. Problemy z architekturą i konsekwencje

2. Idea ewolucji architektury

3. Modele organizacyjne i rola architekta

4. Proces ewolucji architektury

5. Jak wdrożyd proces?

6. Praktyki związane z architekturą w organizacji

Agenda

Strefa Wiedzy Lidera IT 6

Page 7: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# 12.00 – 13.30 – sesja

# 13.30 – 13.45 – przerwa kawowa

# 13.45 – 15.15 – sesja

# 15.15 – 15.45 – przerwa lunchowa

# 15.45 – 17.00 – sesja

Harmonogram

Strefa Wiedzy Lidera IT 7

Page 8: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Jak powstaje architektura? Ewolucyjna architektura

Strefa Wiedzy Lidera IT 8

Page 9: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Architektura jest tworzona na początku

# Opór przed zmianą architektury • Duży wpływ na resztę systemu

• Duży koszt

• Duże ryzyko

Najczęściej...

Page 10: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Na początku będzie szybciej

Dlaczego tak się dzieje?

Strefa Wiedzy Lidera IT 10

Page 11: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Nie zdążymy zrobid wszystkiego, czego oczekuje klient

Dlaczego tak się dzieje?

Strefa Wiedzy Lidera IT 11

Page 12: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Bywają naciski, aby wykonywad tylko to, co „widad”

Dlaczego tak się dzieje?

Strefa Wiedzy Lidera IT 12

Najważniejsze jest to, co nie widoczne dla oczu Mały Książę

Page 13: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Ludzie sobie jakoś poradzą

Dlaczego tak się dzieje?

Strefa Wiedzy Lidera IT 13

Page 14: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

A z tego wynika... Ewolucyjna architektura

Page 15: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Może się okazad, że trzeba będzie zakopad system

Problem 1

Page 16: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Rozwój systemu nie nadąża za potrzebami biznesowymi

Problem 2

Strefa Wiedzy Lidera IT 16

Page 17: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Demotywacja zespołu

Problem 3

Strefa Wiedzy Lidera IT 17

Page 18: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Coraz trudniej odnajdowad błędy

Problem 4

Strefa Wiedzy Lidera IT 18

Page 19: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Brak powtarzalnych rozwiązao i powielanie pracy

Problem 5

Strefa Wiedzy Lidera IT 19

Page 20: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Rozwój systemu to obsługa przypadków szczególnych

Problem 6

Strefa Wiedzy Lidera IT 20

Page 21: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Podejścia do rozwoju architektury Ewolucyjna architektura

Page 22: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Nic nie robid – „Ludzie sobie jakoś poradzą”

# Reagowanie na poważne problemy (blokery)

# Faza refaktoryzacji po implementacji

# Zarządzanie ewolucją architektury • Alokowanie zasobów na prace nad architekturą • Dodatkowe iteracje

# CDN…

Na razie hasłowo

Strefa Wiedzy Lidera IT 22

Page 23: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Idea ewolucji architektury Ewolucja architektury

Page 24: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Jeśli proces rozwoju architektury toczy się przypadkowo, to przypadkowe będą również efekty

Idea ewolucji architektury

Strefa Wiedzy Lidera IT 24

Page 25: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Korzyści z ewolucji Ewolucyjna architektura

Page 26: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Przetrwanie

Korzyść najważniejsza

Page 27: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Architektura będzie się upraszczad

Korzyść 2

Strefa Wiedzy Lidera IT 27

Page 28: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Zmiana wymagao nie będzie aż taką tragedią

Korzyść 3

Strefa Wiedzy Lidera IT 28

Page 29: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Krótszy czas implementacji i poszukiwania błędów i niższy kosz utrzymania

Korzyść 4

Strefa Wiedzy Lidera IT 29

Page 30: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Nie będą potrzebni zewnętrzni konsultanci

Korzyść 5

Strefa Wiedzy Lidera IT 30

Page 31: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

ale...

Strefa Wiedzy Lidera IT 31

Page 32: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Nie jest istotne ulepszenie architektury jako

takiej, lecz rozwiązanie problemów

# Dla konkretnego przypadku potrzeba analizy biznesowej

# Konsultacje dla uczestników tego spotkania

Jakie „ale”?

Strefa Wiedzy Lidera IT 32

Page 33: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Rozwiązania architektoniczne powinny szybko zaradzid problemom

# Brak zdefiniowanego procesu pracy nad

architekturą

# Rozwój architektury powinien odbywad się w międzyczasie

Oczekiwanie: żeby było szybko

Strefa Wiedzy Lidera IT 33

Ewolucyjna architektura

Page 34: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Nie zmieniad od razu wszystkiego, lecz stopniowo tylko to, co konieczne

# Architektura powinna dojrzewad wraz z funkcjonalnościami systemu

# Zapominamy, że ewolucja również wymaga czasu

Oczekiwanie: ewolucyjnie nie rewolucyjnie

Strefa Wiedzy Lidera IT 34

Ewolucyjna architektura

Page 35: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Sprytny trik architektoniczny rozwiąże problemy

# Nie zmieniad zbyt wiele, a jedynie nieznacznie zmodyfikowad

# Nie potrzeba na to zbyt wiele wysiłku

Oczekiwanie: Dużo magicznych sztuczek

Strefa Wiedzy Lidera IT 35

Ewolucyjna architektura

Page 36: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Modele organizacyjne Ewolucyjna architektura

Page 37: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Lider architektury wyłania się samoczynnie

# Zazwyczaj jest to programista z największym doświadczeniem

# Istnieje niebezpieczeostwo, że nikt nie zainteresuje się architekturą

Trywialny model

Strefa Wiedzy Lidera IT 37

Ewolucyjna architektura

Page 38: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Architekt Korporacyjny (Enterprise Architect)

Złożony model organizacyjny

Strefa Wiedzy Lidera IT 38

Ewolucyjna architektura

Architekt Aplikacji (Software Architect)

Page 39: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Przygotowywanie mapy systemów dla organizacji

# Opracowywanie infrastruktury programowej dla organizacji

Architekt Korporacyjny

Strefa Wiedzy Lidera IT 39

Ewolucyjna architektura

# Szacowanie kosztu usunięcia/dodania systemu do/z infrastruktury

# Opracowywanie polityki i harmonogramu wdrożeo

Page 40: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Dobieranie technologii do wymagao funkcjonalnych

# Zaprojektowanie sposobu działania, przechowywania i prezentacji danych w systemie

# Opracowanie sposobu egzekwowania zasad bezpieczeostwa przez system

# etc.

Architekt aplikacji

Strefa Wiedzy Lidera IT 40

Ewolucyjna architektura

Page 41: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Jeszcze bardziej złożony model organizacyjny

Strefa Wiedzy Lidera IT 41

Ewolucyjna architektura

Page 42: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Główny Architekt (Chief Enterprise Architect) • Dba, by wdrażanie konkretnych rozwiązao wspierało

procesy biznesowe w organizacji • Przewodniczy Komitetowi Architektonicznemu

# Architekt Funkcjonalny • Łączy odpowiedzialności Analityka Biznesowego,

Analityka Funkcjonalnego i menadżera • Analizuje proces biznesowy i definiuje

funkcjonalności, do których powinni mied dostęp użytkownicy

• Określa, w których systemach powinny zostad zaimplementowane poszczególne funkcjonalności

Odpowiedzialności architektów

Strefa Wiedzy Lidera IT 42

Ewolucyjna architektura

Page 43: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Architekt: stanowisko czy rola? Ewolucyjna architektura

Page 44: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Minusy stanowiska

Strefa Wiedzy Lidera IT 44

Ewolucyjna architektura

# Wąskie specjalizacje poszczególnych osób

# Sztuczne oddzielanie myślenia o architekturze od programowania

# Powstawanie Power Point architects

# Tłumienie kreatywności programistów

Page 45: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Lider Architektury

# Bierze udział w pracach, ma kontakt z kodem

# Zbiera informacje o problemach z architekturą

# Zbiera pomysły na poprawę architektury

# Edukuje programistów w zakresie architektury

# Inicjuje zmiany w architekturze

# Opracowuje dokumentację oraz mantrę architektoniczną

# Dba o wymianę wiedzy technicznej w zespole

Strefa Wiedzy Lidera IT 45

Ewolucyjna architektura

Page 46: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Skalowanie roli lidera architektury

Strefa Wiedzy Lidera IT 46

Ewolucyjna architektura

Page 47: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Stanowisko może mieć znaczenie

# Daje możliwośd awansu

# Uatrakcyjnia CV

# Stanowisko architekt uważane jest za bardziej prestiżowe niż stanowisko programista

Strefa Wiedzy Lidera IT 47

Ewolucyjna architektura

Page 48: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Listy gratulacyjne za konkretne osiągniecia

# System certyfikacji wewnętrznej

# Kultura zdobywania sprawności na zasadzie Black Belt Factory

# Oddzielenie stanowisk od ról pełnionych w projekcie

Możliwe rozwiązania

Strefa Wiedzy Lidera IT 48

Ewolucyjna architektura

Page 49: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

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

Strefa Wiedzy Lidera IT 49

Ewolucyjna architektura

Page 50: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Proces ewolucji architektury Ewolucyjna architektura

Page 51: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Założenia

# JIT (just in time) – zajmuj się tylko tym, co jest ważne teraz

# Zakłada się, że architektura będzie ewoluowad i zmieniad się w miarę postępu projektu

# Proces ewolucji architektury musi zostad zdefiniowany w organizacji

Strefa Wiedzy Lidera IT 51

Proces rozwoju architektury

Page 52: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Proces ewolucji architektury

Strefa Wiedzy Lidera IT 52

Proces rozwoju architektury

Page 53: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Najprostsza implementacja

Strefa Wiedzy Lidera IT 53

Page 54: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Szczegóły procesu Ewolucja architektury

Page 55: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# W Koszyku przechowywane są pomysły (epics) na udoskonalenia w architekturze

# Kto może wrzucad do Koszyka? • Programiści • Testerzy • Liderzy architektury

# Jaką formę ma Koszyk? • Pudełko • Dedykowany adres mailowy • Lista mailingowa • Strona wiki • Tickety w systemie bugtracker

Koszyk

Strefa Wiedzy Lidera IT 55

Proces rozwoju architektury

Page 56: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Pomysł (epic) to luźne zdanie opisujące udoskonalenie w architekturze

# Przykłady

• Zastąpić Hibernate przez myBatis

• Wprowadzić loadbalancing

• Usunąć nieużywane funkcjonalności

# Pomysły muszą zostad podzielone

Koszyk: pomysły (architectural epics)

Strefa Wiedzy Lidera IT 56

Proces rozwoju architektury

Page 57: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Każdy pomysł oceniany jest pod kątem • Wartości biznesowej

• Kosztu stworzenia

• Pomysły powyżej ustalonego poziomu: wartość/koszt trafiają do Rejestru

• Pomysły poniżej poziomu są definitywnie odrzucane

# W jakich jednostkach ocenia się pomysły? • Wartośd: liczba całkowita, pieniądze

• Koszt: osobodni, pieniądze

• Jednostka względna: 2, 4, 8, 16, 32, 64, 128

Koszyk: Ocena pomysłu

Strefa Wiedzy Lidera IT 57

Proces rozwoju architektury

Page 58: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Przykładowy sposób wyliczania wskaźnika

Rozmiar zadania – 1, 2, 3, 5, 8, 13, 20, 40

Wartośd biznesowa – 1, 2, 3, 5, 8, 13, 20, 40

Dopasowanie do obecnych celów biznesowych – 0, ¼, ½, ¾, 1

Wskaźnik = (Wartość biznesowa/Rozmiar) * Dopasowanie

Koszyk: Ocena pomysłu

Strefa Wiedzy Lidera IT 58

Proces rozwoju architektury

Page 59: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Jak często pomysły są oceniane? • Regularnie, co ustalony odstęp czasu • Nieregularnie, gdy koszyk przekroczy założoną

pojemnośd • Wprowadza się dodatkowy wskaźnik czas życia

pomysłu w koszyku, aby zapobiec odraczaniu oceny pomysłów

# Ile pomysłów w koszyku? • maksymalnie 50-75

# Kto ocenia pomysły? • Liderzy architektury

Koszyk: Ocena pomysłu

Strefa Wiedzy Lidera IT 59

Proces rozwoju architektury

Page 60: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Pozycje rejestru (backlog items) są uporządkowane według wskaźnika

# Kto może dodawad pozycje do Rejestru? • Liderzy architektury • Jeden z liderów architektury

# Jaką formę ma Rejestr? • Plik arkusza kalkulacyjnego • Folder mailowy • Najistotniejszą cechą rejestru jest jego

uporządkowanie

Rejestr (backlog)

Strefa Wiedzy Lidera IT 60

Proces rozwoju architektury

Page 61: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Każda pozycja z Rejestru • Oceniana jest pod katem kosztu zaniechania • Ma aktualizowaną wartośd oraz koszt • Ma aktualizowany wskaźnik • Jeśli przebywa w Rejestrze ponad określony czas jest

z niego usuwana • Pozycja/e ze szczytu Rejestru przekazywane są do analizy

# Jak dużo elementów? • maksymalnie 20-25

# Jak często analizowany jest Rejestr? • W trakcie planowania wydania • Jeśli cykle produkcyjne są długie, to w trakcie planowania

kolejnego cyklu

Rejestr: Analiza Rejestru

Strefa Wiedzy Lidera IT 61

Proces rozwoju architektury

Page 62: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Celem Analizy jest opracowanie alternatyw projektowych oraz oszacowanie zasobów niezbędnych do wdrożenia danej pozycji

# Ile elementów? • maksymalnie 5-7

# Kto wykonuje analizę? • Lider komponentu

• Lider architektury

Analiza

Strefa Wiedzy Lidera IT 62

Proces rozwoju architektury

Page 63: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Funkcjonalności (potentially shippable increments) oraz architektura mają całkowicie inną charakterystykę rozwoju

# Proces ewolucji architektury musi promowad rozwój funkcjonalności, aby powiększad wartośd biznesową produktu

Zasada wartości biznesowej

Strefa Wiedzy Lidera IT 63

Proces rozwoju architektury

Page 64: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Zasada wartości biznesowej

# Idea rozbudowy architektury: architectural slices of customer-centric features

# Kolejne slices architektury są wpisane w cykl zwiększania wartości biznesowej

Strefa Wiedzy Lidera IT 64

Proces rozwoju architektury

Page 65: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# 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: Zrąb raportu biznesowego

Strefa Wiedzy Lidera IT 65

Proces rozwoju architektury

Page 66: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

KRYTYCZNE cechy procesu Ewolucja architektury

Page 67: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Widoczne konsekwencje wprowadzanych zmian

# Kontrolowane ryzyko

Minimalizuj liczbę jednocześnie wykonywanych zadań

Page 68: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Możliwie szybko dąż do zakooczenia i wdrożenia zmian

Koncentracja wysiłków

Page 69: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# W widocznych miejscach

# Co wizualizowad? • Koszyk, Rejestr, zadania w toku • Prosty diagram HLD

Wizualizuj postępy prac

Page 70: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Wdrażanie – dodatkowe iteracje Ewolucyjna architektura

Page 71: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Iteracyjny proces pracy zespołu

Strefa Wiedzy Lidera IT 71

Proces rozwoju architektury

# Cele procesu iteracyjnego • Stopniowe odkrywanie potrzebnych funkcjonalności i

ich ciągłe dostarczanie • Koncentracja na wartości biznesowej • Dbanie o jakośd wytwarzanego kodu • Stymulowanie innowacji w architekturze

Page 72: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Iteracja „0”

Strefa Wiedzy Lidera IT 72

Wstępne określenie wymagao

(dni)

Wstępne określenie architektury

(dni)

Iteracja 0: Wizualizacja

# Przygotowanie do kolejnego wydania

# Stworzenie podwalin architektury

# Wybranie z Rejestru pozycji do realizacji

# Określenie celu wydania

# Określenie listy wymagao do implementacji

Proces rozwoju architektury

Page 73: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Iteracja „0”: Wstępne modelowanie

# Szkic technologii

# Ekrany użytkownika

# Model konceptualny

# Przypadki zmian

Strefa Wiedzy Lidera IT 73

Proces rozwoju architektury

Page 74: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Iteracja zakańczająca (Hardening Iteration)

# Cel iteracji: spłacenie części długu technicznego występującego w kodzie

# Działania podejmowane w trakcie iteracji

• Implementowanie pozycji Rejestru, dla których nie było miejsca w standardowych iteracjach

• Poprawianie czytelności kodu

• Doprowadzanie kodu do stanu, w którym spełnia on przyjęte normy jakości

Strefa Wiedzy Lidera IT 74

Proces rozwoju architektury

Page 75: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Iteracja innowacji (Hackathon Iteration)

# Cel iteracji: stymulowanie innowacji w obszarze architektury

# Działania podejmowane w trakcie iteracji • Eksperymentowanie z nowymi technologiami pod

kątem użyteczności dla organizacji

# Korzyści z Iteracji innowacji • Czas na „złapanie oddechu” dla zespołu • Generuje nowe innowacyjne pomysły • Pomaga programistom byd „na czasie” i poprawia

motywację

Strefa Wiedzy Lidera IT 75

Proces rozwoju architektury

Page 76: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Wydania i iteracje nie muszą (i zazwyczaj nie są) zorganizowane szeregowo

# Gdy prace w jednym cyklu są wygaszane, rozpoczynają się wstępne prace w kolejnych

Iteracje i wydania

Strefa Wiedzy Lidera IT 76

Proces rozwoju architektury

Page 77: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Wdrażanie – alokacja zasobów Ewolucyjna architektura

Page 78: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# W ramach przydzielania zasobów częśd prac przewiduje się na rozwój architektury

# Początkowo można przyjąd 10-15% OD

Alokacja czasu na prace architektoniczne

Page 79: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Wdrażanie – DUŻA refaktoryzacja Ewolucyjna architektura

Page 80: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Wydzielenie czasu (np. iteracji) tylko na rozwój architektury

# Duże ryzyko zaniechania prac ze względu brak szybkich efektów

# Duże wyzwanie na poziomie integracyjnym # Zatrzymanie rozwoju produktu

Duża refaktoryzacja

Page 81: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Wdrażanie – przepisanie systemu Ewolucyjna architektura

Page 82: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Istnieją dwie linie produktu (duży koszt utrzymania spójności)

# Przy nowej technologii – duży koszt pozyskania kompetencji

# Przepisanie młodego systemu zajmuje 20-25% pierwotnego czasu

Przepisanie systemu

Page 83: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Wdrażanie – usuwanie wąskich gardeł Ewolucyjna architektura

Page 84: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Usuwanie wąskich gardeł

Lider architektury/zespoły

# wiedzą, gdzie są wąskie gardła

# należy wybrad te 2-3 zmiany, które będą miały największy efekt

Page 85: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Wdrażanie – izolowanie starego kodu Ewolucyjna architektura

Page 86: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Izolowanie starego kodu

# Znacząca częśd kodu jest stabilna

# Mimo że słabo napisana lub oparta na starej technologii

# Opakuj stabilną częśd systemu warstwą izolacyjną

# Odizoluj nowe funkcjonalności

Page 87: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Wdrażanie - arkusz pytań Ewolucyjna architektura

Page 88: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Arkusz pytań – definiowanie procesu

Page 89: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Praktyki Proces rozwoju architektury

Page 90: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Spotkanie rozpoczynające

Strefa Wiedzy Lidera IT 90

Proces rozwoju architektury

Page 91: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Cel: zbudowanie wspólnego rozumienia produktu, który należy dostarczyd

# Kto bierze udział w spotkaniu?

• Osoby, które będą wykonywad prace

# Jak często odbywa się spotkanie? • Przed rozpoczęciem prac nad kolejnym wydaniem

• W razie potrzeby w mniejszym gronie w trakcie trwania prac

Spotkanie rozpoczynające

Strefa Wiedzy Lidera IT 91

Proces rozwoju architektury

Page 92: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Przedstawiciel sponsora

• Określenie celu wydania

• Odpowiadanie na pytania

# Liderzy komponentów

• Analizowanie wpływu wymagania na architekturę komponentu

• Zgłaszanie sugestii

Spotkanie rozpoczynające: odpowiedzialności osób

Strefa Wiedzy Lidera IT 92

Proces rozwoju architektury

Page 93: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Lider architektury

• Analizowanie wpływu wymagania na architektury systemu

• Zgłaszanie sugestii

# Lider testerów

• Określenie zakresu testów akceptacyjnych

• Zgłaszanie sugestii

Spotkanie rozpoczynające: odpowiedzialności osób

Strefa Wiedzy Lidera IT 93

Proces rozwoju architektury

Page 94: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Programista (opcjonalnie)

• Wykrywanie zagadnieo i niespójności, które mogą wyniknąd w trakcie implementacji

• Zgłaszanie sugestii

# Użytkownik (opcjonalnie)

• Zgłaszanie uwag nt. ergonomii interfejsu użytkownika i komfortu pracy

• Zgłaszanie sugestii

Spotkanie rozpoczynające: odpowiedzialności osób

Strefa Wiedzy Lidera IT 94

Proces rozwoju architektury

Page 95: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Ustalanie architektury w trakcie Iteracji „0”

# Uaktualnianie architektury na początku iteracji

# Spontaniczne warsztaty w razie potrzeby (just-in-time)

# Narzędzia • Tablica ścieralna (im większa tym lepsza) • Folia elektrostatyczna (np. HandyChart) • Flamastry

Warsztaty projektowania

Strefa Wiedzy Lidera IT 95

Proces rozwoju architektury

Page 96: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Liderzy aranżują miniszkolenia dotyczące architektury systemu

# Wiedza jest naturalnie rozprzestrzeniana w zespołach (human infection)

# Istotniejsze fragmenty można przechowywad na wiki jako fotografie

# Również warsztaty międzyzespołowe

Warsztaty projektowania: rozprzestrzenianie wiedzy

Strefa Wiedzy Lidera IT 96

A single conversation with a wise man is better than ten years of study

Proces rozwoju architektury

Page 97: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Spójny język dziedziny • „Metryczka” to….

• „Odzysk” to…

• „Pudełko” to…

# Spójny język techniczny • „Użyjmy tu fabryki konfigurowanej przez fluent api”

• „Ten adpater nie powinien znajdowad się w warstwie serwisów, lecz niżej zaraz nad domeną

• Programiści posługują się konceptami – językiem na wyższym poziomie abstrakcji

Warsztaty projektowania: ujednolicanie języka

Strefa Wiedzy Lidera IT 97

Proces rozwoju architektury

Page 98: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

Dream Team

Strefa Wiedzy Lidera IT 98

Proces rozwoju architektury

Page 99: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Najlepsi ludzie, najbardziej zgrany zespół rozpędza projekt

# Czym kooczą się prace Dream Team? • Szkielet systemu • Ustalona architektura • Dokumentacja architektury systemu

# Co dalej? • Uczestnicy Dream Team organizują kolejne zespoły • Uczą programistów i rozprzestrzeniają wiedzę (human

infection) • Prowadzą Warsztaty projektowania

Dream Team

Strefa Wiedzy Lidera IT 99

Proces rozwoju architektury

Page 100: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Architekt, który nie dotyka kodu zaczyna fantazjowad

# Niektóre decyzje architektoniczne są już nieaktualne - uważaj na chorobliwą konsekwencję w ich podtrzymywaniu

# Jeśli możesz wybierad zmiany architektoniczne do wdrożenia, to wybieraj te, które mają największy wpływ na poprawę projektu

Architekci i architektura

Strefa Wiedzy Lidera IT 100

Proces rozwoju architektury

Page 101: Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

www.bnsit.pl

# Możliwe problemy • Duży narzut czasu na przygotowanie

dokumentacji projektu

• Zespół długo oczekuje na odpowiedź Komitetu

• Projekt prawie na pewno zostanie zwrócony do poprawy

# Zamiast tego • Projekt (dokument) zostaje przygotowany i

zaakceptowany podczas warsztatów projektowych z liderem architektury

Ostrożnie z Komitetem Architektonicznym

Strefa Wiedzy Lidera IT 101

Proces rozwoju architektury