DYA Software

Download Report

Transcript DYA Software

1
DYA|Software
Architectuuraanpak voor bedrijfskritische applicaties
Overzicht
Robert Deckers
NGI 20110524 v2
Speerpunten DYA|Software
• Uitgaan van “goede architectuur”
• Van organisatiebreed tot applicatie
• Één passend consistent geheel
• Afstemmen op specifieke situatie
3
De DYA fundering
DYA
|Infrastructuur
|Governance
|Principes
|Software
|Business
4
Wat te doen?
5
Goede architectuur is… niet altijd
Snelle systemen
Kostenbewust
Simpel
Toekomst
bestendig
Homogeen
applicatielandschap
Technologieonafhankelijk
situatieafhankelijk
Voorspelbare
projecten
Flexibel
Herbruikbaar
Gebruiksvriendelijke
systemen
Onderhoudbare
systemen
Modulair
opgebouwd
Betrouwbare
systemen
Service
georiënteerd
Vergroot
de winst
6
Correct, Consistent, geCommuniceerd
Correct : het past in de omgeving
ROI
Art. 4.11
Eindgebruiker
Business
manager
Overheid
t
Goede Architectuur zorgt voor:
Consistent : het zit Project
goed in elkaar
 Sturing vanSysteem
architectuuractiviteiten
Architectuur
HRM
Functioneel

Toetsbare
architectuur
beheer
functionaliteit
 Goed systeem
Software
engineer
Tester
Componenten
bouwer
Programma
manager
Netwerkbeheer
geCommuniceerd : iedereen weet wat hij moet weten
7
Checklist
Correctheid
Bewuste
afweging van
belangen
Voldoende
omgevingsanalyse
Validatie van
omgevingsinformatie
Consistentie
Bewust
vastgelegd
Aantoonbaar
realiseerbaar
Verificatie op
tegenstrijdigheden
Communicatie Bewust
uitgevoerd
Verankerd in
Vertaald naar
de organisatie acties
8
Correctheid
Validatie (voorbeeld)
1. Hoe (h)erkennen de stakeholders de
beschreven belangen?
2. Hoe zijn de andere uitgangspunten over de
omgeving gecontroleerd op geldigheid?
3. Hoe wordt de prioritering van belangen
gevalideerd? Met name door de
systeemeigenaar.
9
10 vragen van de manager aan de architect
1. Wie zijn de stakeholders en wat is het belangrijkste concern van elke stakeholder?
2. Wat zijn de vijf belangrijkste concerns waar de architectuur invulling aan moet geven?
3. Wat zijn de vijf moeilijkste kwesties waar de architectuur een oplossing voor biedt? Welke
stakeholderconcerns zijn daarmee gediend?
4. Wat is de belangrijkste rol die elke stakeholder speelt bij de totstandkoming van de architectuur?
5. Wat is de afbakening van de architectuur? In het bijzonder met betrekking tot:
Toepassingsgebied, Technologie, Ontwikkel- en beheerproces, Levensduur
6. Wat zijn de vijf belangrijkste afwegingen in de architectuur en hoe zijn deze vastgelegd,
uitgedragen en bewaakt?
7. Op welke manier is de consistentie van de vijf belangrijkste eisen en hun oplossing aangetoond?
8. Welke architectuurviews zijn er om te redeneren, uit te leggen, uit te rollen, te beschrijven, etc.?
Aan welke stakeholders zijn deze gericht?
9. Op welke manier zijn de stakeholders op de hoogte gebracht van de manier waarop de
architectuur hun eisen (niet) inwilligt en wat er van hen verwacht wordt / welke acties zij
moeten ondernemen?
10.Wat is er zo geweldig aan de architectuur wat ik niet mag vergeten? Wat moet ik echt weten van
de architectuur dat ik niet gehoord heb in de antwoorden op de vorige vragen?
10
Wat doet softwarearchitectuur?
Hoofdontwerp : functioneel, technisch, aanpak
Bieden van
Architectuurprincipes
oplossingsrichting
voor
Business doelen - Uniek - Juiste kwaliteit
belangrijkste eigenschappen
Niet standaard , Wat ging er vorige keer fout?
Meerdere afdelingen
– disciplines
- systemen
die
het
moeilijkste te realiseren
zijn
11
Speerpunten DYA|Software
• Uitgaan van “goede architectuur”
• Van organisatiebreed tot applicatie
• Één passend consistent geheel
• Afstemmen op specifieke situatie
12
De softwarearchitect en de anderen
Informatie analist,
Business architect,
Requirements engineer
Toepassing
Business behoefte,
Rol in bedrijfsproces,
Functionaliteit,
Kwaliteit
constructie
Component,
Interface
Ontwerppatroon,
Infrastructuur
Software
architect
Software engineer,
Ontwerper, Tester,
Infrastructuur architect
realisatie
Planning,
Ontwikkelproces,
Risico,
Benodigde kennis
Programmamanager,
Projectleider,
Ontwikkelmanager
13
Integratie met enterprise-architectuur
Businessdoelen
Business- Informatiearchitectuur architectuur
Om- Prod/ Proces Orgageving dienst
nisatie
Gegevens
Applicatie
Technische
architectuur
Middle- Platware form
• Bedrijfsbrede oplossingen
Algemene
DYA|
• Pad van strategie naar
applicatie
principes
Software
App 2
App 3
App 1
App 4
App 5
Component 5
Comp 1
Comp 2
Comp 3
Comp 4
14
Netwerk
Deelarchitecturen binnen enterprisearchitectuur
Product/
dienst
Netwerk Computer Dataopslag
Businessarchitectuur
Levert
Proces
Infrastructuurarchitectuur
Doorloopt
Organisatie
Infrastructuur
Organiseert
Medewerker
Draait op
Applicatie
Bewaart
Bewerkt
Dataobject
Applicatiearchitectuur
Bestuurt
Voert uit
Voert uit
Bedrijfsfunctie
Bewerkt
Informatiearchitectuur
Representeert
Bedrijfsobject
15
Architecten in alle soorten en maten
IT-architect, Lead architect, Enterprise architect,
Applicatiearchitect, Informatiearchitect, Business architect,
Infrastructuurarchitect, Softwarearchitect, Systeemarchitect,
Solution architect, Productarchitect, Projectarchitect,
Security architect, Modelling architect, …, Blablarchitect
Welke architect ben jij?
1. Waarvan ben je de architect?
2. In welke discipline ben je architect?
3. Binnen welk organisatiebereik ben je architect?
16
Familie: applicaties met dezelfde genen
Familieleden
App 2
App 1
App 3
App 4
App 5
• Homogeen  beheerbaar
Gebruik centrale component
• Hergebruik  snellerComponent
en beter
5
Ontwerp/realisatiepatronen
App 6
App 7
App 8
App 9
17
Speerpunten DYA|Software
• Uitgaan van “goede architectuur”
• Van organisatiebreed tot applicatie
• Één passend consistent geheel
• Afstemmen op specifieke situatie
18
Architectuurredeneermodel
informatieanalist
gebruiker
businessarchitect / -manager
Klantbehoefte
requirements
engineer
Omgeving
Omgeving
Grens
Systeem
Toepassing
Grens
Functie
• consistente
architectuur
Systeem
• afgewogen
Tbeslissingen
• stakeholders op een lijn
programmeur
infrastructuurarchitect
ontwerper
tester
projectleider
programmamanager
ontwikkelmanager
19
Speerpunten DYA|Software
• Uitgaan van “goede architectuur”
• Van organisatiebreed tot applicatie
• Één passend consistent geheel
• Afstemmen op specifieke situatie
20
Verschillende belangen
Green image
Snel nieuwe producten
Klantbehoefte
Voldoet aan standaard X
Leveren via telefoon,
post, loket en internet
Toepassing
Betrouwbaar
Specifiek en Prioriteer 
Software
Eerder zijn dan de
T
• Focus
bij afwegingen
concurrent
Componenten
moeten
systeem
herbruikbaar zijn
• Neuzen richten
Gebaseerd op
open source
Draait ook op een
mobieltje
In India maken
Iteratief
ontwikkelen
Oude systeem
geleidelijk uitfaseren
personeel delen
met project X
21
Verschillende representaties
Stem communicatie af op doelgroep 
• Draagvlak
• Vertaling naar acties van doelgroep
22
Verschillende oplossingen
Bewuste afgewogen keuzes 
• Architectuur realiseerbaar
• Later traceerbaar
buy – make – outsource – cloud - open source
agile – waterfall - …
23
Belangrijke taken en concepten
omgeving
analyseren
systeem
opstellen
architect
view
uitdragen
architectuur
adresseert
stakeholder
aspect
gaat over uitspraak
concern
afgeleid van
beïnvloedt
stakeholder
beslissing
neemt
verwerkt in
24
model
Inhoud
DYA|Software
Visie
Organisatiebrede
softwarearchitectuur
Architectuurredeneermodel
Familiearchitecturen
softwarearchitectuur
en softwarearchitect
Taken van de architect
Goede Architectuur
Beheren en
beheersen
Software realiseren is mensenwerk
desktop interface
voortgangsrapportage
web interface
Klantbehoefte
williekeurige
view
Realisatieinformatiesysteem
requirementsspecificatie
functioneel
ontwerp
ontwerppatroon
Klant
Customer
Cliënt
Relatie
Koper
projectplan
architectuur
principe
testplan
Architectuur
code
Domein specifieke talen
Aspect oriëntatie
Model driven development
26
voor architecten:
Klantbehoefte
T
Verbreding voor de techneut:
Architectuur in de context
Verdieping voor de raamwerk/proces fan:
Architectuur voor hier en nu
•Systematiek
•Integraal
•Situatiespecifiek
27
staat voor resultaat
28
Hierna backup slides
Definitie softwarearchitectuur
De softwarearchitectuur van een systeem
is een geheel van uitspraken dat richting
geeft aan ontwerp, realisatie en evolutie
van software in zijn omgeving
Architectuuruitspraken betreffen:
• Elementen
• Structuur
• Richtlijnen voor creëren van structuur en elementen
30
De weg naar goede architectuur
• Architectuur beheren en beheersen
Proces
Organisatie
Infrastructuur
Klantbehoefte
• Afgewogen
beslissingen
Toepassing
Software
T
systeem
• Borgen van
gemeenschappelijkheid
en variatie
Medewerker
Applicatie
Correct
App
comp 1
App
comp 4
• Doen!
App
comp 5
Centrale component
omgeving
BedrijfsBedrijfsobject
analyseren
functie
Consistent
Comp 1
Comp 2
Comp 3
Comp 4
systeem
opstellen
architect
Dataobject
geCommuniceerd
architectuur
uitdragen
stakeholder
31
De software-architect en DYA|Software
Overzien
Samenhang
Verkennen
Communiceren
Prioriteiten
Actie
Afwegen
Keuze
32
Signalen voor DYA|Software
De gebruikers accepteren
Klantbehoefte
het systeem niet
We weten niet of het aan
de norm/standaard voldoet
Toepassing
De onderdelen passen
niet goed op elkaar
Past niet in de
standaard infrastructuur
Wat betekent die nieuwe
technologie voor ons?
Welke impact heeft de
fusie op onze IT?
Verkeerde
kwaliteit
Software
T
systeem
Waarom duren die
wijzigingen zo lang?
Verkeerde mensen in
het (verkeerde) project
Waarom hebben we
het niet gekocht?
Het huidige
architectuurraamwerk
biedt geen houvast
33
34
The Winchester Mystery House
In 38 jaar gebouwd:
147 bouwers
0 architecten
géén bouwtekening aanwezig
In het huis:
160 kamers
40 slaapkamers
6 keukens
2 kelders
950 deuren
Waarbij:
65 blinde deuren
13 trappen in het plafond
24 dakramen in de vloer
gasleiding langs plafond
elke kamer anders
35
Correctheid
Bewuste afweging van belangen
1. Wat is de prioritering van de verschillende
belangen?
2. Welke afwegingen zijn gemaakt in de
architectuur?
3. Hoe zijn de afwegingen terug te traceren naar
de stakeholderbelangen en de prioritering?
4. Op welke andere omgevingsinformatie zijn de
afwegingen gebaseerd?
5. Waaruit blijkt of de stakeholders de afweging
begrijpen?
36
Correctheid
Voldoende omgevingsanalyse
• Wat is de afbakening van het systeem?
− Denk aan afbakening in klantbehoefte, kwaliteit, functionaliteit, technologie, realisatie en
levensduur.
• Welke elementen uit de omgeving worden beschouwd?
Wat neem je wel/niet mee?
− Concurrenten, marktontwikkelingen, technologische ontwikkelingen, mogelijke partners,
aangrenzende systemen, gerelateerde projecten.
• Wie zijn de stakeholders? Wat zijn hun belangen?
• Wat is belangrijke omgevingsinformatie? Denk hierbij aan
inputdocumenten, marktinformatie, wetgeving,…
• Hoe wordt de omgevingsinformatie (per item) gebruikt als
input voor de architectuur?
37
Correctheid
Validatie
1. Hoe (h)erkennen de stakeholders de
beschreven belangen?
2. Hoe zijn de andere uitgangspunten over de
omgeving gecontroleerd op geldigheid?
3. Hoe wordt de prioritering van belangen
gevalideerd? Met name door de
systeemeigenaar.
38
Consistentie
Bewuste vastlegging
1. Wat hoort wel en niet tot de
architectuurbeschrijving?
2. Hoe is de architectuur vastgelegd?
3. Hoe wordt de architectuur beheerd?
39
Consistentie
Voldoende aantoonbaar realiseerbaar
1. Hoe wordt ervoor gezorgd dat de architectuur
toegepast wordt tijdens realisatie?
2. Hoe wordt aangetoond of het systeem volgens
de architectuur te bouwen is?
3. Hoe wordt aangetoond of het systeem volgens
de architectuur gebouwd is?
40
Consistentie
Verificatie op tegenstrijdigheden
1. Welke terminologie wordt gebruikt in de
architectuurbeschrijving?
2. Hoe wordt ervoor gezorgd dat de
terminologie begrepen wordt?
3. Hoe wordt de architectuur geanalyseerd op
tegenstrijdigheden?
4. Hoe is duidelijk dat elke
architectuuruitspraak aansluit op een
omgevinguitspraak?
◦
Passen ze op een stakeholderbelang of uitgangspunt over de
omgeving?
5. Hoe is duidelijk dat de belangrijkste
architectuuruitspraken dezelfde belangen
dienen?
41
Communicatie
Bewust uitgevoerd
1. Hoe wordt de communicatie gecoördineerd?
2. Hoe wordt de communicatievorm en inhoud
gepland/vastgelegd?
3. Hoe is bekend wie waarvan op de hoogte is?
(zou moeten zijn)
42
Communicatie
Voldoende verankering
1. Hoe is duidelijk of de
belangrijkste/invloedrijkste stakeholders
betrokken zijn in de communicatie?
2. Wie erkent de architectuur en wie niet?
3. Wat wordt gecommuniceerd over:
1. architectuurvisie,
2. voorspelde gevolgen,
3. behaalde successen
4. Hoe wordt de architectuur ingebed in
ontwikkelproces/-straat?
43
Communicatie:
Vertaalbaar naar acties
1. Welke rol speelt de architectuur in de
activiteiten van de stakeholders? Wat moet
elke stakeholder met de architectuur doen?
2. Hoe is duidelijk of de stakeholders informatie
van voldoende diepgang hebben? (om de juiste
acties te kunnen ondernemen)
3. Hoe weet je of de architectuur goed vertaald
is? Wat gebeurt er als dat niet zo is?
44