Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ewolucyjna architekturawww.bnsit.plwww.sxc.hu/photo/850368
Imię i nazwisko                Firma                3 słowa o sobiePoznajmy się!www.bnsit.pl
Strefa Wiedzy Lidera IT        # 1. spotkanie 16 września        # W prasie               • Artykuły w czasopiśmie Program...
Tylko dla uczestników tego spotkania        # 1-2 h konsultacji               • Omówienie problemów               • Wspóln...
Po co się spotkaliśmy?        # Jak zdefiniowad proces ewolucji architektury?        # Jak wdrożyd ten proces?        # Ja...
Agenda        1.     Problemy z architekturą i konsekwencje        2.     Idea ewolucji architektury        3.     Modele ...
Harmonogram        # 12.00 – 13.30 – sesja        # 13.30 – 13.45 – przerwa kawowa        # 13.45 – 15.15 – sesja        #...
Jak powstaje architektura?                              Ewolucyjna architekturawww.bnsit.pl          Strefa Wiedzy Lidera ...
Najczęściej...        # Architektura jest tworzona na początku        # Opór przed zmianą architektury               • Duż...
Dlaczego tak się dzieje?        # Na początku będzie szybciejwww.bnsit.pl                    Strefa Wiedzy Lidera IT   10
Dlaczego tak się dzieje?        # Nie zdążymy zrobid wszystkiego, czego          oczekuje klientwww.bnsit.pl              ...
Dlaczego tak się dzieje?        # Bywają naciski, aby wykonywad tylko to, co          „widad”                    Najważnie...
Dlaczego tak się dzieje?        # Ludzie sobie jakoś poradząwww.bnsit.pl                    Strefa Wiedzy Lidera IT   13
A z tego wynika...                  Ewolucyjna architekturawww.bnsit.pl
Problem 1        # Może się okazad, że trzeba będzie zakopad          systemwww.bnsit.pl
Problem 2        # Rozwój systemu nie nadąża za potrzebami          biznesowymiwww.bnsit.pl               Strefa Wiedzy Li...
Problem 3        # Demotywacja zespołuwww.bnsit.pl               Strefa Wiedzy Lidera IT   17
Problem 4        # Coraz trudniej odnajdowad błędywww.bnsit.pl               Strefa Wiedzy Lidera IT   18
Problem 5        # Brak powtarzalnych rozwiązao i powielanie          pracywww.bnsit.pl               Strefa Wiedzy Lidera...
Problem 6        # Rozwój systemu to obsługa przypadków          szczególnychwww.bnsit.pl               Strefa Wiedzy Lide...
Podejścia do rozwoju architektury                                 Ewolucyjna architekturawww.bnsit.pl
Na razie hasłowo        # Nic nie robid – „Ludzie sobie jakoś poradzą”        # Reagowanie na poważne problemy (blokery)  ...
Idea ewolucji architektury                           Ewolucja architekturywww.bnsit.pl
Idea ewolucji architektury        # Jeśli proces rozwoju architektury toczy się          przypadkowo, to przypadkowe będą ...
Korzyści z ewolucji                   Ewolucyjna architekturawww.bnsit.pl
Korzyść najważniejsza        # Przetrwaniewww.bnsit.pl
Korzyść 2        # Architektura będzie się upraszczadwww.bnsit.pl               Strefa Wiedzy Lidera IT   27
Korzyść 3        # Zmiana wymagao nie będzie aż taką tragediąwww.bnsit.pl               Strefa Wiedzy Lidera IT     28
Korzyść 4        # Krótszy czas implementacji i poszukiwania          błędów i niższy kosz utrzymaniawww.bnsit.pl         ...
Korzyść 5        # Nie będą potrzebni zewnętrzni konsultanciwww.bnsit.pl               Strefa Wiedzy Lidera IT    30
ale...www.bnsit.pl   Strefa Wiedzy Lidera IT            31
Jakie „ale”?        # Nie jest istotne ulepszenie architektury jako          takiej, lecz rozwiązanie problemów        # D...
Ewolucyjna architektura               Oczekiwanie: żeby było szybko        # Rozwiązania architektoniczne powinny szybko  ...
Ewolucyjna architektura               Oczekiwanie: ewolucyjnie nie rewolucyjnie        # Nie zmieniad od razu wszystkiego,...
Ewolucyjna architektura               Oczekiwanie: Dużo magicznych sztuczek        # Sprytny trik architektoniczny rozwiąż...
Modele organizacyjne                    Ewolucyjna architekturawww.bnsit.pl
Ewolucyjna architektura               Trywialny model        # Lider architektury wyłania się          samoczynnie        ...
Ewolucyjna architektura               Złożony model organizacyjny         Architekt Korporacyjny         (Enterprise Archi...
Ewolucyjna architektura               Architekt Korporacyjny                                         # Przygotowywanie map...
Ewolucyjna architektura               Architekt aplikacji        # Dobieranie technologii do          wymagao funkcjonalny...
Ewolucyjna architektura               Jeszcze bardziej złożony model organizacyjnywww.bnsit.pl                            ...
Ewolucyjna architektura               Odpowiedzialności architektów        # Główny Architekt (Chief Enterprise Architect)...
Architekt: stanowisko czy rola?                               Ewolucyjna architekturawww.bnsit.pl
Ewolucyjna architektura               Minusy stanowiska        # Wąskie specjalizacje poszczególnych osób        # Sztuczn...
Ewolucyjna architektura               Lider Architektury         # Bierze udział w pracach, ma kontakt z kodem         # Z...
Ewolucyjna architektura               Skalowanie roli lidera architekturywww.bnsit.pl                             Strefa W...
Ewolucyjna architektura               Stanowisko może mieć znaczenie        # Daje możliwośd awansu        # Uatrakcyjnia ...
Ewolucyjna architektura               Możliwe rozwiązania        # Listy gratulacyjne za konkretne osiągniecia        # Sy...
Ewolucyjna architektura               Zasady zwinnej architektury        1.     Zespoły, które kodują także projektują sys...
Proces ewolucji architektury                            Ewolucyjna architekturawww.bnsit.pl
Proces rozwoju architektury               Założenia        # JIT (just in time) – zajmuj się tylko tym, co jest          w...
Proces rozwoju architektury               Proces ewolucji architekturywww.bnsit.pl                                 Strefa ...
Najprostsza implementacjawww.bnsit.pl                    Strefa Wiedzy Lidera IT   53
Szczegóły procesu                  Ewolucja architekturywww.bnsit.pl
Proces rozwoju architektury               Koszyk        # W Koszyku przechowywane są pomysły (epics) na          udoskonal...
Proces rozwoju architektury               Koszyk: pomysły (architectural epics)        # Pomysł (epic) to luźne zdanie opi...
Proces rozwoju architektury               Koszyk: Ocena pomysłu        # Każdy pomysł oceniany jest pod kątem             ...
Proces rozwoju architektury               Koszyk: Ocena pomysłu        # Przykładowy sposób wyliczania wskaźnika        Ro...
Proces rozwoju architektury               Koszyk: Ocena pomysłu        # Jak często pomysły są oceniane?               • R...
Proces rozwoju architektury               Rejestr (backlog)        # Pozycje rejestru (backlog items) są          uporządk...
Proces rozwoju architektury               Rejestr: Analiza Rejestru        # Każda pozycja z Rejestru               • Ocen...
Proces rozwoju architektury               Analiza        # Celem Analizy jest opracowanie alternatyw          projektowych...
Proces rozwoju architektury               Zasada wartości biznesowej        # Funkcjonalności (potentially shippable      ...
Proces rozwoju architektury               Zasada wartości biznesowej                                                      ...
Proces rozwoju architektury               Analiza: Zrąb raportu biznesowego        # Interesariusze i sponsorzy           ...
KRYTYCZNE cechy procesu                        Ewolucja architekturywww.bnsit.pl
Minimalizuj liczbę jednocześnie wykonywanych zadań        # Widoczne konsekwencje wprowadzanych          zmian        # Ko...
Koncentracja wysiłków        # Możliwie szybko dąż do zakooczenia i          wdrożenia zmianwww.bnsit.pl
Wizualizuj postępy prac        # W widocznych miejscach        # Co wizualizowad?               • Koszyk, Rejestr, zadania...
Wdrażanie – dodatkowe iteracje                              Ewolucyjna architekturawww.bnsit.pl
Proces rozwoju architektury               Iteracyjny proces pracy zespołu        # Cele procesu iteracyjnego              ...
Proces rozwoju architektury               Iteracja „0”                            Wstępne określenie                      ...
Proces rozwoju architektury               Iteracja „0”: Wstępne modelowanie        #      Szkic technologii        #      ...
Proces rozwoju architektury               Iteracja zakańczająca (Hardening Iteration)        # Cel iteracji: spłacenie czę...
Proces rozwoju architektury               Iteracja innowacji (Hackathon Iteration)        # Cel iteracji: stymulowanie inn...
Proces rozwoju architektury               Iteracje i wydania        # Wydania i iteracje nie muszą (i zazwyczaj nie       ...
Wdrażanie – alokacja zasobów                            Ewolucyjna architekturawww.bnsit.pl
Alokacja czasu na prace architektoniczne        # W ramach przydzielania zasobów częśd prac          przewiduje się na roz...
Wdrażanie – DUŻA refaktoryzacja                               Ewolucyjna architekturawww.bnsit.pl
Duża refaktoryzacja        # Wydzielenie czasu (np. iteracji) tylko na rozwój          architektury        # Duże ryzyko z...
Wdrażanie – przepisanie systemu                               Ewolucyjna architekturawww.bnsit.pl
Przepisanie systemu        # Istnieją dwie linie produktu (duży koszt utrzymania          spójności)        # Przy nowej t...
Wdrażanie – usuwanie wąskich gardeł                             Ewolucyjna architekturawww.bnsit.pl
Usuwanie wąskich gardeł      Lider architektury/zespoły      # wiedzą, gdzie są wąskie         gardła      # należy wybrad...
Wdrażanie – izolowanie starego kodu                             Ewolucyjna architekturawww.bnsit.pl
Izolowanie starego kodu      # Znacząca częśd kodu        jest stabilna      # Mimo że słabo napisana        lub oparta na...
Wdrażanie - arkusz pytań                        Ewolucyjna architekturawww.bnsit.pl
Arkusz pytań – definiowanie procesuwww.bnsit.pl
Praktyki               Proces rozwoju architekturywww.bnsit.pl
Proces rozwoju architektury               Spotkanie rozpoczynającewww.bnsit.pl                                 Strefa Wied...
Proces rozwoju architektury               Spotkanie rozpoczynające        # Cel: zbudowanie wspólnego rozumienia          ...
Proces rozwoju architektury               Spotkanie rozpoczynające: odpowiedzialności osób        # Przedstawiciel sponsor...
Proces rozwoju architektury               Spotkanie rozpoczynające: odpowiedzialności osób        # Lider architektury    ...
Proces rozwoju architektury               Spotkanie rozpoczynające: odpowiedzialności osób        # Programista (opcjonaln...
Proces rozwoju architektury               Warsztaty projektowania        # Ustalanie architektury          w trakcie Itera...
Proces rozwoju architektury               Warsztaty projektowania: rozprzestrzenianie wiedzy                              ...
Proces rozwoju architektury               Warsztaty projektowania: ujednolicanie języka        # Spójny język dziedziny   ...
Proces rozwoju architektury               Dream Teamwww.bnsit.pl                                 Strefa Wiedzy Lidera IT  ...
Proces rozwoju architektury               Dream Team        # Najlepsi ludzie, najbardziej zgrany zespół rozpędza         ...
Proces rozwoju architektury               Architekci i architektura        # Architekt, który nie dotyka kodu zaczyna     ...
Proces rozwoju architektury               Ostrożnie z Komitetem Architektonicznym        # Możliwe problemy               ...
Lider architektury       # Polecamy szkolenie           Projektowanie architektury aplikacji biznesowych               htt...
Upcoming SlideShare
Loading in …5
×

Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

861 views

Published on

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.

Published in: Technology
  • Be the first to comment

Ewolucyjna architektura (Spotkanie Strefy Wiedzy Liderów IT)

  1. 1. Ewolucyjna architekturawww.bnsit.plwww.sxc.hu/photo/850368
  2. 2. Imię i nazwisko Firma 3 słowa o sobiePoznajmy się!www.bnsit.pl
  3. 3. Strefa Wiedzy Lidera IT # 1. spotkanie 16 września # W prasie • Artykuły w czasopiśmie Programista • Strefa Wiedzy Lidera IT na portalu czasopisma • Napisz do nas liderit@bnsit.pl # Kolejne spotkanie: 19 kwietnia 2012www.bnsit.pl Strefa Wiedzy Lidera IT 3
  4. 4. Tylko dla uczestników tego spotkania # 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ówwww.bnsit.pl Strefa Wiedzy Lidera IT 4
  5. 5. Po co się spotkaliśmy? # 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?www.bnsit.pl Strefa Wiedzy Lidera IT 5
  6. 6. Agenda 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 organizacjiwww.bnsit.pl Strefa Wiedzy Lidera IT 6
  7. 7. Harmonogram # 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 – sesjawww.bnsit.pl Strefa Wiedzy Lidera IT 7
  8. 8. Jak powstaje architektura? Ewolucyjna architekturawww.bnsit.pl Strefa Wiedzy Lidera IT 8
  9. 9. Najczęściej... # Architektura jest tworzona na początku # Opór przed zmianą architektury • Duży wpływ na resztę systemu • Duży koszt • Duże ryzykowww.bnsit.pl
  10. 10. Dlaczego tak się dzieje? # Na początku będzie szybciejwww.bnsit.pl Strefa Wiedzy Lidera IT 10
  11. 11. Dlaczego tak się dzieje? # Nie zdążymy zrobid wszystkiego, czego oczekuje klientwww.bnsit.pl Strefa Wiedzy Lidera IT 11
  12. 12. Dlaczego tak się dzieje? # Bywają naciski, aby wykonywad tylko to, co „widad” Najważniejsze jest to, co nie widoczne dla oczu Mały Książęwww.bnsit.pl Strefa Wiedzy Lidera IT 12
  13. 13. Dlaczego tak się dzieje? # Ludzie sobie jakoś poradząwww.bnsit.pl Strefa Wiedzy Lidera IT 13
  14. 14. A z tego wynika... Ewolucyjna architekturawww.bnsit.pl
  15. 15. Problem 1 # Może się okazad, że trzeba będzie zakopad systemwww.bnsit.pl
  16. 16. Problem 2 # Rozwój systemu nie nadąża za potrzebami biznesowymiwww.bnsit.pl Strefa Wiedzy Lidera IT 16
  17. 17. Problem 3 # Demotywacja zespołuwww.bnsit.pl Strefa Wiedzy Lidera IT 17
  18. 18. Problem 4 # Coraz trudniej odnajdowad błędywww.bnsit.pl Strefa Wiedzy Lidera IT 18
  19. 19. Problem 5 # Brak powtarzalnych rozwiązao i powielanie pracywww.bnsit.pl Strefa Wiedzy Lidera IT 19
  20. 20. Problem 6 # Rozwój systemu to obsługa przypadków szczególnychwww.bnsit.pl Strefa Wiedzy Lidera IT 20
  21. 21. Podejścia do rozwoju architektury Ewolucyjna architekturawww.bnsit.pl
  22. 22. Na razie hasłowo # 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…www.bnsit.pl Strefa Wiedzy Lidera IT 22
  23. 23. Idea ewolucji architektury Ewolucja architekturywww.bnsit.pl
  24. 24. Idea ewolucji architektury # Jeśli proces rozwoju architektury toczy się przypadkowo, to przypadkowe będą również efektywww.bnsit.pl Strefa Wiedzy Lidera IT 24
  25. 25. Korzyści z ewolucji Ewolucyjna architekturawww.bnsit.pl
  26. 26. Korzyść najważniejsza # Przetrwaniewww.bnsit.pl
  27. 27. Korzyść 2 # Architektura będzie się upraszczadwww.bnsit.pl Strefa Wiedzy Lidera IT 27
  28. 28. Korzyść 3 # Zmiana wymagao nie będzie aż taką tragediąwww.bnsit.pl Strefa Wiedzy Lidera IT 28
  29. 29. Korzyść 4 # Krótszy czas implementacji i poszukiwania błędów i niższy kosz utrzymaniawww.bnsit.pl Strefa Wiedzy Lidera IT 29
  30. 30. Korzyść 5 # Nie będą potrzebni zewnętrzni konsultanciwww.bnsit.pl Strefa Wiedzy Lidera IT 30
  31. 31. ale...www.bnsit.pl Strefa Wiedzy Lidera IT 31
  32. 32. Jakie „ale”? # Nie jest istotne ulepszenie architektury jako takiej, lecz rozwiązanie problemów # Dla konkretnego przypadku potrzeba analizy biznesowej # Konsultacje dla uczestników tego spotkaniawww.bnsit.pl Strefa Wiedzy Lidera IT 32
  33. 33. Ewolucyjna architektura Oczekiwanie: żeby było szybko # Rozwiązania architektoniczne powinny szybko zaradzid problemom # Brak zdefiniowanego procesu pracy nad architekturą # Rozwój architektury powinien odbywad się w międzyczasiewww.bnsit.pl Strefa Wiedzy Lidera IT 33
  34. 34. Ewolucyjna architektura Oczekiwanie: ewolucyjnie nie rewolucyjnie # 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 czasuwww.bnsit.pl Strefa Wiedzy Lidera IT 34
  35. 35. Ewolucyjna architektura Oczekiwanie: Dużo magicznych sztuczek # Sprytny trik architektoniczny rozwiąże problemy # Nie zmieniad zbyt wiele, a jedynie nieznacznie zmodyfikowad # Nie potrzeba na to zbyt wiele wysiłkuwww.bnsit.pl Strefa Wiedzy Lidera IT 35
  36. 36. Modele organizacyjne Ewolucyjna architekturawww.bnsit.pl
  37. 37. Ewolucyjna architektura Trywialny model # Lider architektury wyłania się samoczynnie # Zazwyczaj jest to programista z największym doświadczeniem # Istnieje niebezpieczeostwo, że nikt nie zainteresuje się architekturąwww.bnsit.pl Strefa Wiedzy Lidera IT 37
  38. 38. Ewolucyjna architektura Złożony model organizacyjny Architekt Korporacyjny (Enterprise Architect) Architekt Aplikacji (Software Architect)www.bnsit.pl Strefa Wiedzy Lidera IT 38
  39. 39. Ewolucyjna architektura Architekt Korporacyjny # Przygotowywanie mapy systemów dla organizacji # Opracowywanie infrastruktury programowej dla organizacji # Szacowanie kosztu usunięcia/dodania systemu do/z infrastruktury # Opracowywanie polityki i harmonogramu wdrożeowww.bnsit.pl Strefa Wiedzy Lidera IT 39
  40. 40. Ewolucyjna architektura Architekt aplikacji # Dobieranie technologii do wymagao funkcjonalnych # Zaprojektowanie sposobu działania, przechowywania i prezentacji danych w systemie # Opracowanie sposobu egzekwowania zasad bezpieczeostwa przez system # etc.www.bnsit.pl Strefa Wiedzy Lidera IT 40
  41. 41. Ewolucyjna architektura Jeszcze bardziej złożony model organizacyjnywww.bnsit.pl Strefa Wiedzy Lidera IT 41
  42. 42. Ewolucyjna architektura Odpowiedzialności architektów # 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ściwww.bnsit.pl Strefa Wiedzy Lidera IT 42
  43. 43. Architekt: stanowisko czy rola? Ewolucyjna architekturawww.bnsit.pl
  44. 44. Ewolucyjna architektura Minusy stanowiska # Wąskie specjalizacje poszczególnych osób # Sztuczne oddzielanie myślenia o architekturze od programowania # Powstawanie Power Point architects # Tłumienie kreatywności programistówwww.bnsit.pl Strefa Wiedzy Lidera IT 44
  45. 45. Ewolucyjna architektura 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 zespolewww.bnsit.pl Strefa Wiedzy Lidera IT 45
  46. 46. Ewolucyjna architektura Skalowanie roli lidera architekturywww.bnsit.pl Strefa Wiedzy Lidera IT 46
  47. 47. Ewolucyjna architektura Stanowisko może mieć znaczenie # Daje możliwośd awansu # Uatrakcyjnia CV # Stanowisko architekt uważane jest za bardziej prestiżowe niż stanowisko programistawww.bnsit.pl Strefa Wiedzy Lidera IT 47
  48. 48. Ewolucyjna architektura Możliwe rozwiązania # 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 projekciewww.bnsit.pl Strefa Wiedzy Lidera IT 48
  49. 49. Ewolucyjna architektura Zasady zwinnej architektury 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.www.bnsit.pl Strefa Wiedzy Lidera IT 49
  50. 50. Proces ewolucji architektury Ewolucyjna architekturawww.bnsit.pl
  51. 51. Proces rozwoju architektury 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 organizacjiwww.bnsit.pl Strefa Wiedzy Lidera IT 51
  52. 52. Proces rozwoju architektury Proces ewolucji architekturywww.bnsit.pl Strefa Wiedzy Lidera IT 52
  53. 53. Najprostsza implementacjawww.bnsit.pl Strefa Wiedzy Lidera IT 53
  54. 54. Szczegóły procesu Ewolucja architekturywww.bnsit.pl
  55. 55. Proces rozwoju architektury Koszyk # 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 bugtrackerwww.bnsit.pl Strefa Wiedzy Lidera IT 55
  56. 56. Proces rozwoju architektury Koszyk: pomysły (architectural epics) # 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 podzielonewww.bnsit.pl Strefa Wiedzy Lidera IT 56
  57. 57. Proces rozwoju architektury Koszyk: Ocena pomysłu # 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, 128www.bnsit.pl Strefa Wiedzy Lidera IT 57
  58. 58. Proces rozwoju architektury Koszyk: Ocena pomysłu # 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) * Dopasowaniewww.bnsit.pl Strefa Wiedzy Lidera IT 58
  59. 59. Proces rozwoju architektury Koszyk: Ocena pomysłu # 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 architekturywww.bnsit.pl Strefa Wiedzy Lidera IT 59
  60. 60. Proces rozwoju architektury Rejestr (backlog) # 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ądkowaniewww.bnsit.pl Strefa Wiedzy Lidera IT 60
  61. 61. Proces rozwoju architektury Rejestr: Analiza Rejestru # 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 cykluwww.bnsit.pl Strefa Wiedzy Lidera IT 61
  62. 62. Proces rozwoju architektury Analiza # 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 architekturywww.bnsit.pl Strefa Wiedzy Lidera IT 62
  63. 63. Proces rozwoju architektury Zasada wartości biznesowej # 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ą produktuwww.bnsit.pl Strefa Wiedzy Lidera IT 63
  64. 64. Proces rozwoju architektury Zasada wartości biznesowej # Idea rozbudowy architektury: architectural slices of customer-centric features # Kolejne slices architektury są wpisane w cykl zwiększania wartości biznesowejwww.bnsit.pl Strefa Wiedzy Lidera IT 64
  65. 65. Proces rozwoju architektury Analiza: Zrąb raportu biznesowego # 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?www.bnsit.pl Strefa Wiedzy Lidera IT 65
  66. 66. KRYTYCZNE cechy procesu Ewolucja architekturywww.bnsit.pl
  67. 67. Minimalizuj liczbę jednocześnie wykonywanych zadań # Widoczne konsekwencje wprowadzanych zmian # Kontrolowane ryzykowww.bnsit.pl
  68. 68. Koncentracja wysiłków # Możliwie szybko dąż do zakooczenia i wdrożenia zmianwww.bnsit.pl
  69. 69. Wizualizuj postępy prac # W widocznych miejscach # Co wizualizowad? • Koszyk, Rejestr, zadania w toku • Prosty diagram HLDwww.bnsit.pl
  70. 70. Wdrażanie – dodatkowe iteracje Ewolucyjna architekturawww.bnsit.pl
  71. 71. Proces rozwoju architektury Iteracyjny proces pracy zespołu # 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 architekturzewww.bnsit.pl Strefa Wiedzy Lidera IT 71
  72. 72. Proces rozwoju architektury Iteracja „0” Wstępne określenie Wstępne określenie wymagao architektury (dni) (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 implementacjiwww.bnsit.pl Strefa Wiedzy Lidera IT 72
  73. 73. Proces rozwoju architektury Iteracja „0”: Wstępne modelowanie # Szkic technologii # Ekrany użytkownika # Model konceptualny # Przypadki zmianwww.bnsit.pl Strefa Wiedzy Lidera IT 73
  74. 74. Proces rozwoju architektury 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ściwww.bnsit.pl Strefa Wiedzy Lidera IT 74
  75. 75. Proces rozwoju architektury 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ęwww.bnsit.pl Strefa Wiedzy Lidera IT 75
  76. 76. Proces rozwoju architektury Iteracje i wydania # Wydania i iteracje nie muszą (i zazwyczaj nie są) zorganizowane szeregowo # Gdy prace w jednym cyklu są wygaszane, rozpoczynają się wstępne prace w kolejnychwww.bnsit.pl Strefa Wiedzy Lidera IT 76
  77. 77. Wdrażanie – alokacja zasobów Ewolucyjna architekturawww.bnsit.pl
  78. 78. Alokacja czasu na prace architektoniczne # W ramach przydzielania zasobów częśd prac przewiduje się na rozwój architektury # Początkowo można przyjąd 10-15% ODwww.bnsit.pl
  79. 79. Wdrażanie – DUŻA refaktoryzacja Ewolucyjna architekturawww.bnsit.pl
  80. 80. Duża refaktoryzacja # 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 produktuwww.bnsit.pl
  81. 81. Wdrażanie – przepisanie systemu Ewolucyjna architekturawww.bnsit.pl
  82. 82. Przepisanie systemu # 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 czasuwww.bnsit.pl
  83. 83. Wdrażanie – usuwanie wąskich gardeł Ewolucyjna architekturawww.bnsit.pl
  84. 84. 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 efektwww.bnsit.pl
  85. 85. Wdrażanie – izolowanie starego kodu Ewolucyjna architekturawww.bnsit.pl
  86. 86. 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ściwww.bnsit.pl
  87. 87. Wdrażanie - arkusz pytań Ewolucyjna architekturawww.bnsit.pl
  88. 88. Arkusz pytań – definiowanie procesuwww.bnsit.pl
  89. 89. Praktyki Proces rozwoju architekturywww.bnsit.pl
  90. 90. Proces rozwoju architektury Spotkanie rozpoczynającewww.bnsit.pl Strefa Wiedzy Lidera IT 90
  91. 91. Proces rozwoju architektury Spotkanie rozpoczynające # 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 pracwww.bnsit.pl Strefa Wiedzy Lidera IT 91
  92. 92. Proces rozwoju architektury Spotkanie rozpoczynające: odpowiedzialności osób # Przedstawiciel sponsora • Określenie celu wydania • Odpowiadanie na pytania # Liderzy komponentów • Analizowanie wpływu wymagania na architekturę komponentu • Zgłaszanie sugestiiwww.bnsit.pl Strefa Wiedzy Lidera IT 92
  93. 93. Proces rozwoju architektury Spotkanie rozpoczynające: odpowiedzialności osób # Lider architektury • Analizowanie wpływu wymagania na architektury systemu • Zgłaszanie sugestii # Lider testerów • Określenie zakresu testów akceptacyjnych • Zgłaszanie sugestiiwww.bnsit.pl Strefa Wiedzy Lidera IT 93
  94. 94. Proces rozwoju architektury Spotkanie rozpoczynające: odpowiedzialności osób # 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 sugestiiwww.bnsit.pl Strefa Wiedzy Lidera IT 94
  95. 95. Proces rozwoju architektury Warsztaty projektowania # 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) • Flamastrywww.bnsit.pl Strefa Wiedzy Lidera IT 95
  96. 96. Proces rozwoju architektury Warsztaty projektowania: rozprzestrzenianie wiedzy A single conversation with a wise man is better than ten years of study # 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łowewww.bnsit.pl Strefa Wiedzy Lidera IT 96
  97. 97. Proces rozwoju architektury Warsztaty projektowania: ujednolicanie języka # 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 abstrakcjiwww.bnsit.pl Strefa Wiedzy Lidera IT 97
  98. 98. Proces rozwoju architektury Dream Teamwww.bnsit.pl Strefa Wiedzy Lidera IT 98
  99. 99. Proces rozwoju architektury Dream Team # 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 projektowaniawww.bnsit.pl Strefa Wiedzy Lidera IT 99
  100. 100. Proces rozwoju architektury Architekci i architektura # 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ę projektuwww.bnsit.pl Strefa Wiedzy Lidera IT 100
  101. 101. Proces rozwoju architektury Ostrożnie z Komitetem Architektonicznym # 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 architekturywww.bnsit.pl Strefa Wiedzy Lidera IT 101
  102. 102. Lider architektury # Polecamy szkolenie Projektowanie architektury aplikacji biznesowych http://www.bnsit.pl/szkolenie,projektowanie-architektury-aplikacji- biznesowychwww.bnsit.pl Strefa Wiedzy Lidera IT 102

×