Rola
architektury IT i oprogramowania
w metodykach zwinnych
Warszawa, 18 września 2014 roku
(C) Promity 2014
Agenda
Architektura oprogramowania i Architektura IT
Architektura oprogramowania vs. Agile
Architektura oprogramowania przed i w Agile
Przykład Disciplined Agile Delivery
Architektura korporacyjna / IT vs. Agile
Rozumienie zwinności w architekturze korporacyjnej / IT
Gdzie można być zwinnym, a gdzie wstrzemięźliwym?
2
(C) Promity 2014 3
Architektura oprogramowania
i Architektura IT
(C) Promity 2014
Rodzaje architektur
4
Architektura
Korporacyjna
Architektura IT
Arc
hit
ektu
ra r
ozw
iązania
Arc
hit
ektu
ra
Opro
gra
mow
ania
Arc
hit
ektu
ra r
ozw
iązania
Arc
hit
ektu
ra
Opro
gra
mow
ania
Arc
hit
ektu
ra r
ozw
iązania
Arc
hit
ektu
ra
Opro
gra
mow
ania
(C) Promity 2014
Rola architektury IT
5
Architektura IT
(C) Promity 2014
Poziomy szczegółowości opisu
architektury korporacyjnej
Kaskada architektoniczna Poziom architektury strategicznej
Poziom architektury segmentu
Poziom architektury systemu
6
Na 1 obiekt z poziomu strategicznego przypada
około 10 obiektów z poziomu segmentu
Na poziomie potencjału ArchiMate nie jest zalecany
do stosowania
Architektura strategiczna
Architektura
segmentu A
Architektura
segmentu … Architektura
segmentu Z
Architektura
systemu 1
Architektura
systemu 2
Architektura
systemu 3
Architektura
systemu 4
Architektura
systemu 5
Architektura korporacyjna
(C) Promity 2014 7
Jak architektura oprogramowania
radzi sobie z Agile?
(C) Promity 2014
Architektura oprogramowania przed Agile
Tworzona we wstępnej fazie projektu
Odpowiedzialna za zdefiniowanie zakresu prac
Narzucająca standardy, zasady czy ograniczenia
Zawiera zdefiniowanie widoki np. logiczny, fizyczny, przypadków użycia, danych
Formalnie udokumentowana i stanowiąca podstawę dla projektów szczegółowych
8
1. Introduction
2. Architectural
Representation
3. Architectural Goals and
Constraints
4. Use-Case View
5. Logical View
6. Process View
7. Deployment View
8. Implementation View
9. Data View
10. Size and Performance
11. Quality
Cechy architektury Opis architektury
(RUP®)
(C) Promity 2014
Architektura oprogramowania w Agile
9
Pełni rolę wspierającą zespół
Adaptacyjna bądź wyłaniająca się
Zasada 11 „Agile Manifesto”: „Najlepsze architektury, wymagania i projekty powstają w samoorganizujących się zespołach”
Pełni rolę komunikacyjną
Nie spowalnia projektu
Jest testowalna
Decyzje podejmujemy możliwie późno, a zaczynamy od rozwiązań możliwie prostych
Cechy architektury
(C) Promity 2014
Architekt oprogramowania w Agile
10
Komunikacja
Wzorce projektowe
Główne wymagania
Zasadnicze wytyczne
konstrukcyjne
Dążenia
architekta
1 Backlog
Backlog architektury
2 Sprint 0
Inicjalna architektura
3 Planowanie Sprintu
Spike (PoC), Scenariusze
testowe architektury, aktualizacja
architektury
4 Przegląd
Przegląd architektoniczny (m.in.
kod, biblioteki, testy)
Właściciel
produktu Zespół
Wytyczne
EA/IT
(C) Promity 2014
Podejścia do budowy architektury
oprogramowania w Agile
11
Sprint 0
Nie jest tworzony
„sprzedawalny”
produkt
Przygotowane jest
środowisko pracy
Opracowana jest
inicjalna architektura
oraz wykonywane są
ewaluacje
Sprint
W ramach typowego
sprintu wykonywane są
prace architektoniczne
Zespół musi mieć
kwalifikacje do prac
architektonicznych
Istnieje ryzyko,
iż prace nad
funkcjonalnością
zdominują architekturę
Wydzielony
zespół
Wydzielony zespół,
składający się często
z członków innych
zespołów, opracowuje
architekturę
Ewaluacja architektury
następuje po wydaniu
oprogramowania
1 2 3
(C) Promity 2014
Disciplined Agile Delivery i EA/IT
12
“The Disciplined Agile Delivery (DAD) process decision framework is a
people-first, learning-oriented hybrid agile approach to IT solution
delivery. It has a risk-value delivery lifecycle, is goal-driven, is
enterprise aware, and is scalable.”
Inception Construction Transition
Envision
and Plan
Incrementally build
a consumable solution
Release
solution
Next release
(C) Promity 2014
Disciplined Agile Delivery i architektura
13
Wejście z
portfela
projektów
Wejście z
Architektury
korporacyjnej
Wizja
inicjalnej
architektury
Źródło: http://disciplinedagiledelivery.wordpress.com Architektura
(C) Promity 2014
DAD i „Enterprise aware”
14
Work closely with enterprise professionals, such as enterprise architects and portfolio managers.
Adopt and follow enterprise guidance.
Leverage enterprise assets, including existing systems and data sources.
Enhance your organizational ecosystem via refactoring enterprise assets.
Adopt a DevOps Culture.
Share learnings with other teams.
Adopt appropriate governance strategies, such as the ones described here, including open and honest monitoring.”
„Disciplined Agile Teams are Enterprise Aware”:
Reduce overall delivery
time and cost by
leveraging existing assets
Spend less time
reinventing the wheel
and more time producing
real value
Going in the right
direction easily
To optimize the
organizational whole,
and not just the
”solution part”
Benefits
(C) Promity 2014 15
Jak architektura korporacyjna / IT
radzi sobie z Agile?
(C) Promity 2014
Zwinność w architekturze korporacyjnej / IT
16
Czy ktokolwiek widział, ktokolwiek wie o
istnieniu zwinnych ram architektury
korporacyjnej / IT?
(C) Promity 2014 17
Dlaczego oczekuje się zwinności od architektury?
Dynamiczny rynek
Biznes
„Lean & Agile & …”
Projekt
Agile
development
Projekt
Agile
development
Projekt
Agile
development
Projekt
Klasyczny
(C) Promity 2014 18
Dlaczego oczekuje się zwinności od architektury?
Biznes
„Lean & Agile & …”
Projekt Projekt Projekt Projekt
Strategia i Portfel
projektów
Komunikacja
Architektura – Portfel
Architektura
korporacyjna / IT
Projekt Projekt Projekt
Projekt
(C) Promity 2014
Zwinność w architekturze korporacyjnej / IT
19
Zwinność w architekturze korporacyjnej może być rozumiana jako
łatwość wsparcia zmian w organizacji
1. Zwinność w architekturze korporacyjnej / IT wyraża się poprzez:
1. Zachowanie możliwej prostoty zarówno w opisie, jak i architekturze per se
2. Dobre decyzje architektoniczne (np. wybór stylu architektonicznego)
3. Łatwość wsparcia zmiany poprzez opis architektury
2. Architektura korporacyjna / IT w celu zachowania zwinności będzie czasami walczyć
ze zwinnymi projektami i ich zwinnymi, najprostszymi możliwymi rozwiązaniami
3. Architektura korporacyjna / IT może czerpać z dobrych praktyk Agile w zakresie
zasad i procesów jej budowy
Wybrane konsekwencje
Zwinny proces budowy
Cechy architektury
Wsparcie zmiany Prostota
(C) Promity 2014 20
Prostota w opisie architektury – podejście
utylitarne
Troska
Punkt
widzenia
Widok
1001 widoków
Prostota 1
Interesariusz
Podejście klasyczne Podejście
„utylitarne”
(C) Promity 2014 21
Wsparcie zarządzania zmianą
Wsparcie zmiany 2
Zmiany strategiczne / organizacyjne
Powiązanie modelu architektury z portfelem projektów
Zmiana „lokalna” i analiza wpływu
(C) Promity 2014 22
Praktyki Agile w architekturze korporacyjnej / IT
Zwinny proces budowy 3
Proces budowy architektury np. Scrum - SCRUM4EA
Zasady
Komunikacja i Ludzie
„Działająca architektura ponad obszerną dokumentację.”
„Współpraca z udziałowcami ponad formalne ustalenia”
Modelowanie
80% zasad zgodnych z Agilemodeling.com
Uwaga na metamodel (obligatoryjny w architekturze korporacyjnej / IT)
(C) Promity 2014
Podsumowanie Praktyki Agile w architekturze korporacyjnej / IT
23
Procesy wytwórcze
architektury
korporacyjnej
Procesy zarządcze
architektury
korporacyjnej
Produkty
architektoniczne (np.
modele EA)
Struktura organizacyjna
architektury
korporacyjnej
Repozytorium architektoniczne
Ludzie, techniki, narzędzia
Pryncypia i standardy architektoniczne
Praktyki Agile
Wskazane
Częściowo
Niekoniecznie
(C) Promity 2014
Promity Sp. z o.o.
Ul. Wiejska 14/25
00-490 Warszawa
Telefon/Faks: (22) 354 63 13
E-mail: [email protected]
www.promity.pl
Dziękuję
24
Krzysztof Gwardys
+48 510 002 568
Top Related