rola architektury it w oprogramowaniu w metodach zwinnych - krzysztof gwardys @ agile management...

24
Rola architektury IT i oprogramowania w metodykach zwinnych Warszawa, 18 września 2014 roku

Upload: fundacja-governica

Post on 25-Jan-2015

69 views

Category:

Education


0 download

DESCRIPTION

Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

TRANSCRIPT

Page 1: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

Rola

architektury IT i oprogramowania

w metodykach zwinnych

Warszawa, 18 września 2014 roku

Page 2: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 3: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(C) Promity 2014 3

Architektura oprogramowania

i Architektura IT

Page 4: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 5: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(C) Promity 2014

Rola architektury IT

5

Architektura IT

Page 6: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 7: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(C) Promity 2014 7

Jak architektura oprogramowania

radzi sobie z Agile?

Page 8: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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®)

Page 9: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 10: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 11: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 12: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 13: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 14: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 15: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(C) Promity 2014 15

Jak architektura korporacyjna / IT

radzi sobie z Agile?

Page 16: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(C) Promity 2014

Zwinność w architekturze korporacyjnej / IT

16

Czy ktokolwiek widział, ktokolwiek wie o

istnieniu zwinnych ram architektury

korporacyjnej / IT?

Page 17: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 18: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 19: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 20: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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”

Page 21: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 22: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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)

Page 23: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

Page 24: Rola architektury IT w oprogramowaniu w metodach zwinnych - Krzysztof Gwardys @ Agile Management 2014 Poland

(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

[email protected]

+48 510 002 568