O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondheim 2022

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 53 Anúncio

Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondheim 2022

Baixar para ler offline

Tradisjonelt har dataanalyse og rapportering tatt utgangspunkt i spesiallagde datamodeller opprettet på bakgrunn av konvertering og transformasjon av operasjonell data. Det er derimot applikasjonsutviklingen som ligger bak designet av operasjonell data og som regel har denne datamodellen vært lite egnet til analyse og rapportering. En av de direkte årsakene til dette skillet er tilnærmingen som de aller fleste applikasjonsutviklere tar, nemlig funksjonell dekomponering av systemer, basert på systemfunksjoner beskrevet i kravspesifikasjoner, use-case, produkt backlogg etc.

Hva om det fantes en annen måte å utvikle applikasjoner på som gjør at data spiller mye mer sentral rolle i dekomponering av systemer? Hva om denne måten å modularisere systemet på gjør at dataanalyse, rapportering og applikasjonsutvikling plutselig sitter mye nærmere hverandre?

Bli med og se hvordan komplekse systemer kan designes med bakgrunn i dataeierskap og forretningstjenester (business capabilities), noe som fører til et helt annet utgangspunkt for dataanalyse og rapportering. Presentasjonen er basert på reelle historier fra helse- og forsikringsdomenet.

Tradisjonelt har dataanalyse og rapportering tatt utgangspunkt i spesiallagde datamodeller opprettet på bakgrunn av konvertering og transformasjon av operasjonell data. Det er derimot applikasjonsutviklingen som ligger bak designet av operasjonell data og som regel har denne datamodellen vært lite egnet til analyse og rapportering. En av de direkte årsakene til dette skillet er tilnærmingen som de aller fleste applikasjonsutviklere tar, nemlig funksjonell dekomponering av systemer, basert på systemfunksjoner beskrevet i kravspesifikasjoner, use-case, produkt backlogg etc.

Hva om det fantes en annen måte å utvikle applikasjoner på som gjør at data spiller mye mer sentral rolle i dekomponering av systemer? Hva om denne måten å modularisere systemet på gjør at dataanalyse, rapportering og applikasjonsutvikling plutselig sitter mye nærmere hverandre?

Bli med og se hvordan komplekse systemer kan designes med bakgrunn i dataeierskap og forretningstjenester (business capabilities), noe som fører til et helt annet utgangspunkt for dataanalyse og rapportering. Presentasjonen er basert på reelle historier fra helse- og forsikringsdomenet.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Semelhante a Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondheim 2022 (20)

Mais de Mufrid Krilic (8)

Anúncio

Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondheim 2022

  1. 1. Dataeierskap som grunnlag for applikasjonsutvikling Make Data Smart Trondheim 2022 Mufrid Krilic Domain-Driven Design Coach, CoWork
  2. 2. @mufridk CoWork – Ingen ledere men fullt av ledelse • Tight Loose Tight – TLT • Strategisk og smidig ledelse • Domain-Driven Design • Taktisk og operativ produkt- og teknologiledelse
  3. 3. Bok anbefaling #1
  4. 4. @mufridk Læringsmål for neste ~30 min • Ulike perspektiver for applikasjonsutvikling og data analyse • Domain Storytelling • metodikk for å forstå domene og forretning • Etablere dataeierskap med Domain-Driven Design
  5. 5. Om ulike perspektiver Applikasjonsutvikling og data analyse
  6. 6. Ulike perspektiver • Applikasjonsutvikling • Data analyse • Operasjonelle data • Analytiske data
  7. 7. @mufridk Ulik organisering • Team for data analyse og rapportering • Atskilt fra applikasjonsutviklingen • Forankret i ekte behov for egen datamodell for analytiske data • Datamodellen lagd for applikasjonsbehov er ofte ikke tilstrekkelig
  8. 8. Kan vi redusere gapet? • Kan vi ha et annet utgangspunkt? • Modellering av applikasjonsdata
  9. 9. Bok anbefaling #2
  10. 10. Etablerte domenegrenser! • Forutsetning for Data Mesh! • «domain-oriented decentralized data ownership and architecture»
  11. 11. Use Case Gruppebehandling - Oppmøteregistrering
  12. 12. @mufridk  For pasienter med identiske diagnoser kan felles behandling i grupper gi en god effekt  Eksempler • Psykiatri • Samtalegrupper • Somatikk • Bassengtrening Domene: Gruppebehandling i sykehus
  13. 13. @mufridk
  14. 14. @mufridk
  15. 15. @mufridk
  16. 16. @mufridk
  17. 17. @mufridk Tegnet med egon.io
  18. 18. Bok anbefaling #3
  19. 19. Dataeierskap og modellering Om ulike tilnærminger til applikasjonsutvikling
  20. 20. @mufridk Dataeierskap • Et domenebegrep er definert som et sett med data-egenskaper
  21. 21. @mufridk Funksjonell dekomponering • Avgrensninger i systemet etter funksjonene som en bruker trenger for å gjøre jobben sin • Klassisk tilnærming • Subdomene = Funksjon
  22. 22. @mufridk Gruppebehandling i sykehus
  23. 23. @mufridk Domenemodell
  24. 24. Dataeierskap – funksjonell dekomponering • «Gruppe» for ulike funksjoner • Behandlere • Pasienter som deltar i behandlingen • Oppmøtetidspunkter • Lokasjon • Hvem som (ikke) møtte opp • Hvem som kansellerte • Hvem har frikort • Hvordan motta faktura • Hva er egenandel ut fra diagnosegruppe
  25. 25. @mufridk Rollebasert dekomponering • Avgrensninger i systemet ut fra hvilke roller som utfører ulike funksjoner • Tillater for mer oppgaveorientert applikasjon • Subdomene = Rollebasert funksjon
  26. 26. @mufridk
  27. 27. @mufridk Domenemodell
  28. 28. @mufridk Dataeierskap - rollebasert dekomponering «Gruppe» planleggingskontekst • Behandlere • Pasienter som deltar i behandlingen • Oppmøtetidspunkter • Lokasjon «Gruppe» oppmøtekontekst • Hvem som (ikke) møtte opp • Hvem som kansellerte • Hvem har frikort • Hvordan motta faktura • Hva er egenandel ut fra diagnosegruppe
  29. 29. @mufridk Tids- og rollebasert dekomponering • Avgrensninger i systemet ut fra hvilke roller utfører ulike funksjoner på ulike tidspunkter • Tillater for brukerkontekst-orientert applikasjon • Subdomene = Rollebasert funksjon i en tidskontekst
  30. 30. @mufridk
  31. 31. @mufridk Domenemodell
  32. 32. @mufridk Dataeierskap - tids- og rollebasert dekomponering «Gruppe» planleggingskontekst • Behandlere • Pasienter som deltar i behandlingen • Oppmøtetidspunkter • Lokasjon «Gruppe» økonomikontekst • Hvem har frikort • Hvordan motta faktura • Hva er egenandel ut fra diagnosegruppe «Gruppe» oppmøtekontekst • Hvem som (ikke) møtte opp • Hvem som kansellerte
  33. 33. @mufridk Dekomponering etter forretningstjenester • Avgrensninger i systemet etter tjenester som forretningen tilbyr sine kunder • Subdomene = Forretningstjeneste • Subdomene ≠ Funksjon • Utgangspunkt for produktarkitektur Forretningstjeneste aka Business Capability
  34. 34. @mufridk
  35. 35. @mufridk Domenemodell
  36. 36. @mufridk Dataeierskap - forretningstjenester dekomponering «Gruppe» psykiatri tjeneste • Psykolog og/eller psykiater som behandlere • Diagnose • Psykiatrivedtak • Pasienter • Oppmøtetidspunkter «Gruppe» somatikk tjeneste • Lege som behandler • Diagnose • Oppmøtelokasjon utenfor sykehuset • Pasienter • Oppmøtetidspunkter
  37. 37. @mufridk Flere eksempler på forretningstjenester Helsedomenet: • Nevrokirurgi • Føden • Blodbanken
  38. 38. @mufridk Flere eksempler på forretningstjenester Forsikringsdomenet: • Husforsikring • Bilforsikring • Personforsikring Forretningstjenester istedenfor funksjoner
  39. 39. Om funksjonell dekomponering • Brukerbehovene blir gjemt bak funksjoner! • Svært lite bærekraftig modell !!
  40. 40. @mufridk Språk som verktøy • Ett og samme domenebegrep i ulike subdomener er definert med ulik, evt. delvis overlappende sett med egenskaper • Bruk domenespråket til å finne passende nivå for dekomponering
  41. 41. Bok anbefaling #4
  42. 42. Domain-Driven Design Om prinsippene for strategisk DDD
  43. 43. Kjernedomenet • Det som skiller deg fra dine konkurrenter • “Ikke alle deler av et system vil bli designet på en like god måte” • Generiske subdomener • Støtte-subdomener • Supporting Subdomain
  44. 44. Problemrommet og løsningsrommet Problemrommet • Domeneanalyse for å oppdage naturlige Subdomener Løsningsrommet • Modellere applikasjon på en tilsvarende måte for å etablere Avgrensede Kontekster • Bounded Contexts
  45. 45. Språklige grenser Ubiquitous Language • Omforent språk • Det samme språket overalt • Samtaler • Dokumentasjon • Kode
  46. 46. De to pilarene av DDD 1. Omforent språk 2. Avgrensede kontekster • Avgrensede kontekster (Bounded Contexts) i applikasjonen defineres av språklige grenser • Kontekst er en del av applikasjonen der et domenebegrep er entydig
  47. 47. Tverrfaglig samarbeid • Lage programvare som er så nært som mulig til det domeneeksperter hadde lagd om de hadde vært utviklere • En utforskningsprosess der alle , inkl. domeneeksperter faktisk kan lære enda mer om domene
  48. 48. Strategisk DDD • Fokusere på kjernedomenet • Problem- og løsningsrommet • Subdomener og Bounded Contexts • Språklige grensene • Omforent språk • Tverrfaglig samarbeid mellom domeneeksperter og produktteam
  49. 49. Oppsummering og takeaways  Respektere og forene ulike behovene for applikasjonsutvikling og data analyse – Data Mesh  Ulike tilnærminger til modellering i applikasjonsutviklingen – Unngå funksjonell dekomponering  Etablere dataeierskap med Domain-Driven Design Ella Fitzegerald – «They Cant’t Take That Away From Me»
  50. 50. Takk for meg! • https://www.linkedin.com/in/mufrid/
  51. 51. @mufridk Bilder • https://unsplash.com/@x_vinicius • https://unsplash.com/@mpho_mojapelo • https://unsplash.com/@fazurrehman • https://unsplash.com/@freegraphictoday • https://unsplash.com/@dancristianp • https://unsplash.com/@patrickperkins • https://unsplash.com/@nadineshaabana • https://unsplash.com/@chuttersnap • https://unsplash.com/@ceebeesnap • https://unsplash.com/@renemolenkamp • https://unsplash.com/@rosiekerr • https://unsplash.com/@janilson123 • https://unsplash.com/@profwicks

Notas do Editor

  • Grunnleggende parametere som gjør at vi snakker om to ulike typer data
    Operasjonell data er transaksjonsbasert og holder rede på tilstand om forretningsentiteter til enhver tid
    Analytisk data representerer aggregert perspektiv over forretningshendelser over tid, er ment å tilby retrospektiv eller fremtidig innsikt
  • Referere til sesjon senere på dagen: Eivind Halmøy Wolden - Moderne dataarkitekturer

  • En av de 4 prinsippene i DataMesh tilnærmingen
  • Ulike data-egenskaper definerer ulike domenebegreper
  • Ulike data-egenskaper definerer ulike domenebegreper
  • Ulike data-egenskaper definerer ulike domenebegreper
  • En av årsakene til den store avstanden mellom datamodellen i applikasjonen og behovet for analytisk-tilpasset datamodell
  • For systemer med kompleksitet i forretningsdomenet og/eller for organisatorisk kompleksitet
  • Kjernedomene er den delen av forretningsdomene som er den viktigste for at en organisasjon skal oppnå suksess
    Høyest prioritert
    Essensielt å få tak i domeneeksperter
    Hindringene som er i veien for å lykkes med kjernedomenet fjernes først
    Støttedomene (Supporting subdomain) – et aspekt som er essensielt å få til men utenfor kjernedomene
    Generisk subdomene – ikke en atskilt del av forretningsdomenet, men er påkrevd allikevel. Eksempel 3.parts verktøy og systemer

    Eksempel: Flyreiser
    Kjernedomenet - Billettprising
    Generisk subdomene – Nettside autentisering
    Støtte subdomene – Innsjekk, flyflåten
  • Forsøke å oppnå overensstemmelse mellom subdomener og avgrensede kontekster uten å insistere på det! Heller lær av det og forsøk på nytt
  • Språket eksisterer alltid innen en kontekst - dialekter

    En betydning av et domenebegrep er ulik i ulike kontekster

    Utnytt dette – oppsplitting av applikasjonen ut fra språklige grenser
  • Fordi det er ulike perspektiver som møtes. Modellere mental modell til en domeneekspert

    Sentralisere kunnskap om domene for å unngå at det er kun noen få utviklere som kjenner til domene

    Hvem er domeneeksperter?

×