Ewolucyjna architektura



Podobne dokumenty
Feature Driven Development

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Egzamin / zaliczenie na ocenę*

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

Jak uchronić architekturę i wymagania przed chaosem? Warszawa, 27 stycznia 2016 roku

Skuteczne zarządzanie projektami IT w otoczeniu uczelnianym. Piotr Ogonowski

Naturalny Porządek Refaktoryzacji Java Developer Days 2012

Akademia ADB Wykład I Praca w grupie i jakość kodu

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Od Kodera przez Developera do Lidera

Java Persistence API - zagadnienia zaawansowane

Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)

Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla projektantów

I Twój zespół może być zwinny (choć to może trochę potrwać) Paweł Lipiński

X-DRIVEN DESIGN, Y-DRIVEN DEVELOPMENT NICZEGO NIE ZMIENIĄ

PODYPLOMOWE STUDIA ZARZĄDZANIA PROJEKTAMI KATOWICE

Jak być agile w projekcie utrzymaniowym? JOANNA SIEMIŃSKA

Projektowanie strategii HR

Podejście tradycyjne. plan wykonanie sekwencyjna natura wykonywanych zadań

PODYPLOMOWE STUDIA ZARZĄDZANIA PROJEKTAMI KATOWICE

SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

Podstawy programowania III WYKŁAD 4


Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Receptury - niezbędnik projektanta i architekta

HumanTechnology. Projektowanie interakcji. czyli łatanie dziury w procesie produkcji

Całościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Inżynieria oprogramowania (Software Engineering) Wykład 1

SEMESTR 2. Liczba punktów ECTS. Praca własna. Lp. Ogółem W klasie E learning

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

PODYPLOMOWE STUDIA ZARZĄDZANIA PROJEKTAMI WARSZAWA

Klasyczna organizacja też może być zwinna! Zarządzaj zwinnie projektami!

Projekt. Młodzi dla Środowiska

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Programowanie zespołowe

PODYPLOMOWE STUDIA ZARZĄDZANIA PROJEKTAMI GDAŃSK

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

Wzorce projektowe i refaktoryzacja

PODEJŚCIE STRATEGICZNE >>

Wszystkie problemy leżą w testach. ForProgress spółka z ograniczoną odpowiedzialnością sp.k.

mint software Business Solutions Development Team

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

4. Wprowadzanie Scruma w ImmobilienScout Opis sytuacji

Etapy życia oprogramowania

Narzędzia doskonalenia produkcji - LEAN, KAIZEN, TOC, GEMBA

Domain Driven Design - projektowanie modeli złożonych domen (część

Implementacja Domain Driven Design - wzorce architektoniczne (część

dzień otwarty Akademii Białego Kruka 3 grudnia 2013, Wrocław

Agile Project Management

Wprowadzenie do programowania aplikacji mobilnych

Programowanie Zespołowe

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

Praca z kodem legacy : strategie, naprawa błędów, refaktoryzacja oraz

Projektant strategii sprzedaży

Zarządzanie Projektami Plan kursu

Spis treúci. 1. Wprowadzenie... 13

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

DESIGN THINKING. Peter Drucker. Nie ma nic bardziej nieefektywnego niż robienie efektywnie czegoś, co nie powinno być robione wcale.

Scrum i nie tylko : teoria i praktyka w metodach Agile / Krystian Kaczor. Wyd. 2. Warszawa, Spis treści

Granty DR TOMASZ JANUS badawcze

Jarosław Żeliński analityk biznesowy, projektant systemów

Poniższy program może być skrócony do 1 dnia lub kilkugodzinnej prezentacji.

STRATEGIA LEAN. 5 kroków do wygrywania Leanpassion

Zarządzanie projektami. Wykład 2 Zarządzanie projektem

Narzędzia CASE dla.net. Łukasz Popiel

TRENING KOMPETENCJI MENEDŻERSKICH

Analiza biznesowa a metody agile owe

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Projektowanie obiektowe Wzorce projektowe. Wprowadzenie do wzorców projektowych

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Indywidualny Kurs Moderatora Design Thinking dla Twojej firmy. ww w.dt-institute.pl

Specyfikowanie wymagań przypadki użycia

Analityk i współczesna analiza

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Lean Manager. Certyfikowany Program szkoleniowy

Opis. Liczba godzin zajęć dydaktycznych z

Strategia parasolowa

AGILE PRODUCT MANAGEMENT. Szkolenie uczące, jak tworzyć i zarządzać produktami w dynamicznie zmieniającym się otoczeniu.

Piotr Ślęzak. Gdzie się podziała jakość

NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD

Domain Driven Design - projektowanie modeli złożonych domen (część

Design thinking zaprojektuj, zbuduj i przetestuj swoje pomysły

Inżynieria oprogramowania (Software Engineering)

Program szkolenia: Architektura aplikacji i systemów - Wzorce architektoniczne dla projektantów

Techniki i rozwiązania IT w optymalizacji procesów

Projektowanie systemów informatycznych. wykład 6

Wprowadzenie, podstawowe pojęcia, projekt a produkt Wykład1

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

ODPOWIEDZIĄ NA TO WYZWANIE SĄ PROGRAMY ROZWOJOWE BPP PROFESSIONAL EDUCATION.

Projekt Logistyki Miejskiej w Hanowerze. Współpraca samorządu, biznesu i środowiska naukowego

Szybkie prototypowanie w projektowaniu mechatronicznym

PRZEGLĄD KONCEPCJI ZARZĄDZANIA JAKOŚCIĄ

MŁODZIEŻOWY PROGRAM AKCELERACJI BIZNESOWEJ GDAŃSK2017 (Bezpłatne zajęcia dla młodzieży)

DZIAŁANIA RESORTU INFRASTRUKTURY I BUDOWNICTWA W OBSZARZE PRZEPISÓW TECHNICZNO-BUDOWLANYCH W DROGOWNICTWIE

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4

Transkrypt:

Ewolucyjna architektura www.sxc.hu/photo/850368

Na początek Michał Bartyzel konsultant, trener BNS IT procesy zwinne i nie tylko architektura czysty kod software crafstmanship strategie skutecznych programistów technical leadership Ewolucyjna architektura 33 Degree Conference 2012 2

Główne pytanie Jak zaprojektować proces rozwoju architektury w projekcie? Ewolucyjna architektura 33 Degree Conference 2012 3

Dla kogo? Programiści, projektanci, architekci, każdy dla kogo temat architektury jest WAŻNY Ewolucyjna architektura 33 Degree Conference 2012 4

Jakie słowa warto znać? procesy zwinne retrospekcja Domain Driven Design czysty kod wzorce projektowe leadership backlog punkty story points refaktoryzacja flow kanban Ewolucyjna architektura 33 Degree Conference 2012 5

Definicja Ewolucyjna architektura architektura, która w sposób ciągły jest adaptowana do zmieniających się potrzeb projektowych Ewolucyjna architektura 33 Degree Conference 2012 6

Jakie zmiany mamy na myśli? zastąpić Hibernate przez mybatis wprowadzić CQRS wprowadzić warstwę przetwarzania asynchronicznego dodać blok typu UseCaseController wprowadzić maszynę stanową wprowadzić komunikację zdarzeniową wprowadzić NoSQL do przetwarzenia zapytań o przedmioty Ewolucyjna architektura 33 Degree Conference 2012 7

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 zakodować 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 Ewolucyjna architektura 33 Degree Conference 2012 8

Lean Architecture Ewolucyjna architektura 33 Degree Conference 2012 9

Jak jest? Ewolucyjna architektura

Podejścia do Architektury # 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 Ewolucyjna architektura 33 Degree Conference 2012 11

Ewolucyjna architektura Mity Rozwój architektury będzie odbywać się samoistnie w międzyczasie Sprytny trik architektoniczny rozwiąże problemy Ewolucyjna architektura 33 Degree Conference 2012 12

Ewolucyjna architektura Pytania ughhhh Czym zająć się w pierwszej kolejności? Jak wybrać pomiędzy alternatywnymi rozwiązaniami problemu? Kto powinien zająć się poprawianiem architektury? Jak się upewnić czy wszystko wciąż działa? Czym mamy wystarczającą wiedzę i umiejętności? Czy trzeba poprosić kogoś o zgodę? Kogo? Jak przekonać moich zwierzchników, że warto? Ile czasu zajmą zmiany? Czy to jest właściwy moment, aby się tym zająć? Ewolucyjna architektura 33 Degree Conference 2012 13

A z tego wynika... Ewolucyjna architektura

Problem 1 # Może się okazać, że trzeba będzie zakopać system Ewolucyjna architektura 33 Degree Conference 2012 15

Problem 2 # Rozwój systemu nie nadąża za potrzebami biznesowymi Ewolucyjna architektura 33 Degree Conference 2012 16

Problem 3 # Demotywacja zespołu Ewolucyjna architektura 33 Degree Conference 2012 17

Problem 4 # Coraz trudniej naprawiać błędy Ewolucyjna architektura 33 Degree Conference 2012 18

Problem 5 # Brak powtarzalnych rozwiązań i powielanie pracy Ewolucyjna architektura 33 Degree Conference 2012 19

Problem 6 # Rozwój systemu to obsługa przypadków szczególnych Ewolucyjna architektura 33 Degree Conference 2012 20

przyczyna... brak nazwanego procesu Ewolucyjna architektura 33 Degree Conference 2012 21

Idea ewolucji architektury # Jeśli proces rozwoju architektury toczy się przypadkowo, to przypadkowe będą również efekty Strefa Wiedzy Lidera IT 22

Zacznijmy od początku Ewolucyjna architektura

Poziomy rozwoju architektury rozwój strategiczny lokalny Ewolucyjna architektura 33 Degree Conference 2012 24

Poziom strategiczny Ewolucyjna architektura 33 Degree Conference 2012 25

Poziom lokalny Ewolucyjna architektura 33 Degree Conference 2012 26

Lokalna ewolucyja architektury Ewolucyjna architektura

Ewolucyjna architektura 33 Degree Conference 2012 28

Ewolucyjna architektura 33 Degree Conference 2012 29

Ewolucyjna architektura 33 Degree Conference 2012 30

Proces rozwoju architektury Wstępny projekt 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 Ewolucyjna architektura 33 Degree Conference 2012 31

Proces rozwoju architektury Szkic technologii Ewolucyjna architektura 33 Degree Conference 2012 32

Proces rozwoju architektury Ekrany użytkownika Ewolucyjna architektura 33 Degree Conference 2012 33

Proces rozwoju architektury Model dziedziny Ewolucyjna architektura 33 Degree Conference 2012 34

Ewolucyjna architektura 33 Degree Conference 2012 35

Refaktoryzacja Wszyscy wiedzą, że to jest ważne Większość zna podstawowe techniki Mało kto to robi ze względu na brak pragmatycznego podejścia Czysty kod, wzorce projektowe Ewolucyjna architektura 33 Degree Conference 2012 36

Ewolucyjna architektura 33 Degree Conference 2012 37

Refaktoryzacja Refaktoryzacja to ciągły proces Najlepsze strategie skutecznych programistów 38

Techniki Pracy z Kodem Naturalny Porządek Refaktoryzacji Najlepsze strategie skutecznych programistów 39

Techniki pracy z kodem Naturalny Porządek Refaktoryzacji Najlepsze strategie skutecznych programistów 40

Teraz pokaż przykład! Ewolucyjna architektura 33 Degree Conference 2012 41

Ewolucyjna architektura 33 Degree Conference 2012 42

Retrospekcja architektoniczna Jakie błędy się powtarzają? Jakie dobre rozwiązania warto rozpowszechnić? Jakie zmiany powinniśmy wprowadzić do architektury? Jak wprowadzić te zmiany (najmniej boleśnie?) Czy mantra architektoniczna jest aktualna? Ewolucyjna architektura 33 Degree Conference 2012 43

Mantra architektoniczna Odpowiedzialności Presentation Layer - Entity -. Repository -. Factory -. Application Controller - Ewolucyjna architektura 33 Degree Conference 2012 44

Ewolucyjna architektura 33 Degree Conference 2012 45

Strategiczna ewolucja architektury Ewolucyjna architektura

Ewolucyjna architektura 33 Degree Conference 2012 47

Proces rozwoju architektury Założenia JIT (just in time) zajmuj się tym, co jest teraz najważniejsze Ewolucyjna architektura 33 Degree Conference 2012 48

Proces rozwoju architektury Proces ewolucji architektury Ewolucyjna architektura 33 Degree Conference 2012 49

Proces rozwoju architektury Koszyk # Luźne pomysły na zmiany w architekturze # Małe i duże zmiany (złożoność, wartość biznesowa) # Maksymalnie 50-70 Ewolucyjna architektura 33 Degree Conference 2012 50

Proces rozwoju architektury Rejestr # Uporządkowany # Elementy skonkretyzowane i podzielone # Określona złożoność i wartość biznesowa # Ocena kosztu zaniechania # Maksymalnie 20-25 elementów # Przegląd raz na wydanie Ewolucyjna architektura 33 Degree Conference 2012 51

Proces rozwoju architektury Analiza # Wybrane elementy wąskie gardła # Raz na wydanie lub na wniosek lidera architektury # Może być pracochłonna # Cel: Stworzenie uzasadnienia biznesowego Ewolucyjna architektura 33 Degree Conference 2012 52

Proces rozwoju architektury Analiza # Wybrane 5-7 elementów # Interesariusze i sponsorzy Kto odczuje korzyść 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? Ewolucyjna architektura 33 Degree Conference 2012 53

Ewolucyjna architektura 33 Degree Conference 2012 54

Jak to wdrożyć? Ewolucyjna architektura

Ewolucyjna architektura 33 Degree Conference 2012 56

Trzeba odpowiedzieć na kilka pytań Ewolucyjna architektura 33 Degree Conference 2012 57

Alokacja czasu na prace architektoniczne Strategie W ramach przydzielania zasobów część czasu prac przewiduje się na rozwój architektury (10-15% OD) Część punktów jest przeznaczana na rozwój architektury Obniżana jest prędkość Ewolucyjna architektura 33 Degree Conference 2012 58

Lider architektury Tryb konsultacyjny Angażuje wszystkich Motywuje i rozpowszechnia wiedzę Siła napędowa Ewolucyjna architektura 33 Degree Conference 2012 59

Podsumowanie Ewolucyjna architektura Ewolucyjna architektura 33 Degree Conference 2012 60

Poziom strategiczny Ewolucyjna architektura 33 Degree Conference 2012 61

Poziom lokalny Ewolucyjna architektura 33 Degree Conference 2012 62

Lider architektury Ewolucyjna architektura 33 Degree Conference 2012 63

Czy masz jakieś pytania? Ewolucyjna architektura 33 Degree Conference 2012 64

Dziękuję za Wasz czas! Ewolucyjna architektura 33 Degree Conference 2012 65