Workshop Goede Architectuur ProRail 20101011 DYA_Software

Document Sample
Workshop Goede Architectuur ProRail 20101011 DYA_Software Powered By Docstoc
					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
                              Homogeen
                                                           Technologie-
                          applicatielandschap
     Toekomst                                              onafhankelijk
     bestendig

         situatieafhankelijk
     Herbruikbaar
                             Voorspelbare
                               projecten                   Flexibel

                                             Modulair
                                            opgebouwd
  Gebruiksvriendelijke
      systemen                 Service                     Betrouwbare
                             georiënteerd                   systemen

       Onderhoudbare                            Vergroot
         systemen                               de winst
                                                             6
Correct, Consistent, geCommuniceerd

 Correct : het past in de omgeving                            ROI
      Art. 4.11
                                Eindgebruiker
                                                                        t
                                                      Business
            Overheid                                  manager
           Goede Architectuur zorgt voor:
                                                             goed
                                        Consistent : het zit Project in elkaar
                   Sturing van architectuuractiviteiten
                                  Systeem                    Software
                Functioneel     Architectuur  HRM
                  
                                                             engineer

                beheer Toetsbare architectuur                Tester
functionaliteit
                   Goed systeem
                  Componenten                        Programma
                  bouwer                             manager
                                 Netwerkbeheer
              geCommuniceerd : iedereen weet wat hij moet weten
                                                              7
Checklist

Correctheid    Bewuste        Voldoende       Validatie van
               afweging van   omgevings-      omgevings-
               belangen       analyse         informatie




Consistentie   Bewust         Aantoonbaar     Verificatie op
               vastgelegd     realiseerbaar   tegenstrijdig-
                                              heden



Communicatie   Bewust         Verankerd in   Vertaald naar
               uitgevoerd     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?
                      die het
     Meerdere afdelingen – disciplines - systemen

     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

                                                                                Toepassing
                                    Informatie analist,
                                    Business architect,
                                  Requirements engineer


                                     Business behoefte,
constructie                         Rol in bedrijfsproces,
                                       Functionaliteit,
                                           Kwaliteit


                                                                                        realisatie
                  Component,            Software                Planning,
                    Interface                                Ontwikkelproces,
                Ontwerppatroon,
                                        architect                Risico,
                 Infrastructuur                              Benodigde kennis




                Software engineer,                  Programmamanager,
                Ontwerper, Tester,                      Projectleider,
              Infrastructuur architect               Ontwikkelmanager
                                                                                   13
Integratie met enterprise-architectuur

                               Businessdoelen
                 Business-   Informatie-                          Technische
                architectuur architectuur                         architectuur

         Om- Prod/ Proces Orga-        Gege-        Appli-       Middle- Plat-   Net-
        geving dienst     nisatie      vens         catie         ware form      werk
         • Bedrijfsbrede oplossingen
 Algemene                       DYA|
         •
 principes Pad van strategie naar applicatieSoftware

                                         App 2                 App 3

                               App 1                App 4                App 5

                                                 Component 5

                               Comp 1      Comp 2           Comp 3     Comp 4
                                                                        14
Deelarchitecturen binnen enterprisearchitectuur

                                                                       Netwerk Computer Dataopslag
 Product/
  dienst          Business-
                  architectuur
     Levert                                                                                       Infrastructuur-
                                                                                                  architectuur
                Doorloopt
 Proces                     Organisatie                                          Infrastructuur


                                  Organiseert              Draait op
                                                                                        Bewaart

                                                                                                  Applicatie-
                            Medewerker              Applicatie
                                                                       Bewerkt
                                                                                  Dataobject      architectuur
     Bestuurt
                                  Voert uit
                                                                                        Representeert
                                                   Voert uit


                             Bedrijfs-                 Bewerkt
                                                                                 Bedrijfsobject
                             functie

                                              Informatiearchitectuur
                                                                                          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 3



                             App 1           App 4                  App 5

         • Homogeen  beheerbaar
 Gebruik centrale component
         • Hergebruik  snellerComponent 5
                                en beter


                             App 6     App 7         App 8        App 9
Ontwerp/realisatiepatronen



                                                             17
Speerpunten DYA|Software

• Uitgaan van “goede architectuur”


• Van organisatiebreed tot applicatie


• Één passend consistent geheel


• Afstemmen op specifieke situatie


                                        18
 Architectuurredeneermodel
                                  informatieanalist
Omgeving                              gebruiker
 Grens                      businessarchitect / -manager
                                 Klantbehoefte
                                 Omgeving
                               requirements engineer
Systeem


                                  Toepassing
                                    Grens
                   • consistente architectuur
                              Functie

                   • afgewogen T
                            Systeem
                                 beslissingen
                   • stakeholders op een lijn


       programmeur                                             projectleider
  infrastructuurarchitect                                  programmamanager
        ontwerper                                           ontwikkelmanager
           tester
                                                                 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

                                Toepassing
      Leveren via telefoon,          Betrouwbaar
      post, loket en internet
           Specifiek en Prioriteer 
                            Software Eerder zijn dan de
           • Focus bij systeem
        Componenten moeten afwegingen concurrent
                                T
           • Neuzen richten
          herbruikbaar zijn
                                                               In India maken
    Gebaseerd op                           Iteratief
    open source                          ontwikkelen
                                                              personeel delen
     Draait ook op een                                         met project X
                                   Oude systeem
         mobieltje
                                geleidelijk uitfaseren


                                                                       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
                                       architectuur
                   uitdragen

stakeholder                                                             adresseert
                  gaat over    uitspraak                 concern
         aspect
                                                                            afgeleid van

                                            beïnvloedt

                                                         stakeholder

                                                 neemt
                              beslissing                                          model
                                                         verwerkt in   24
Inhoud
                                      Visie
DYA|Software
                                       Organisatiebrede
                                       softwarearchitectuur
  Architectuurredeneermodel


                                                 Familie-
                                                 architecturen




               softwarearchitectuur           Goede Architectuur
               en softwarearchitect

                                                  Beheren en
         Taken van de architect                   beheersen
Software realiseren is mensenwerk

              desktop interface
                                   web interface         williekeurige
                                                                                     Klantbehoefte
                                                              view
voortgangs-
rapportage
                                   Realisatie-
                                                                    requirements-
                                  informatie-                         specificatie

functioneel
                                    systeem                                          Architectuur
 ontwerp
              ontwerp-                                   test-           code
              patroon      project-       architectuur   plan
                             plan           principe




 Klant
 Domein specifieke talen
 Customer
 Cliënt
 Aspect oriëntatie
 Relatie
 Model driven development
 Koper
                                                                                          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                    Toepassing
  beslissingen                          Medewerker          Applicatie          Dataobject
                               Software
                                   T
                               systeem
                                                  Correct
                                                App               App
                                                                comp 4
                                                                                      App
                                               comp 1                                comp 5

• Borgen van                                               Centrale component
  gemeenschappelijkheid                      Consistent
                                            Bedrijfs-
                                              analyseren
                                            functie
                                                                       omgeving
                                                                               Bedrijfsobject

  en variatie                                  Comp 1      Comp 2         Comp 3     Comp 4
                                                                          systeem
                                               opstellen


• Doen!
                     architect    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
                                                   Welke impact heeft de
                                                    fusie op onze IT?
     We weten niet of het aan   Toepassing
                                      Verkeerde
    de norm/standaard voldoet
                                       kwaliteit

                                  Software            Waarom duren die
          De onderdelen passen        T               wijzigingen zo lang?
           niet goed op elkaar
                                  systeem
                                               Verkeerde mensen in
       Past niet in de                        het (verkeerde) project
   standaard infrastructuur
                                                                    Het huidige
   Wat betekent die nieuwe                                    architectuurraamwerk
                                 Waarom hebben we              biedt geen houvast
    technologie voor ons?
                                  het niet gekocht?


                                                                     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              41

   dienen?
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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:5/9/2013
language:Dutch
pages:44