Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Software Ontwikkeling Tijdens een Pandemie

Ivo Jansch
October 18, 2021

Software Ontwikkeling Tijdens een Pandemie

Ik was als architect betrokken bij de ontwikkeling van een aantal corona apps. Tijdens een bijeenkomst voor informatica docenten presenteerde ik mijn ervaringen. (De presentatie bevatte een aantal video's, deze werken helaas niet in deze online versie van de slides).

Ivo Jansch

October 18, 2021
Tweet

More Decks by Ivo Jansch

Other Decks in Technology

Transcript

  1. CORONAMELDER TIJDLIJN 28-2-2020 1e covid19 
 geval in NL 18-4-2020

    Appathon Advies OMT 6-4-2020 Beslissing Zel f bouw 22-4-2020 7-5-2020 Start ‘dreamteam’ 
 overheid + experts Ux test 
 Twente 17-8-2020 1-9-2020 Praktijktest 5 ggd regio’s Wet 
 aangenomen 6-10-2020 10-10-2020 Launch Koppeling 
 EU 11-2020
  2. CORONAMELDER TIJDLIJN 28-2-2020 1e covid19 
 geval in NL 18-4-2020

    Appathon Advies OMT 6-4-2020 Beslissing Zel f bouw 22-4-2020 7-5-2020 Start ‘dreamteam’ 
 overheid + experts Ux test 
 Twente 17-8-2020 1-9-2020 Praktijktest 5 ggd regio’s Wet 
 aangenomen 6-10-2020 10-10-2020 Launch GGD CONTACT 1-10-2020 Start 
 ggd contact Launch App 12-2020 2-2021 Uitbouw app-portaal tot volwaardig BCO portaal Vervanging hpzone Door ggd contact ingezet 20-4-2021 Koppeling 
 EU 11-2020
  3. CORONAMELDER 28-2-2020 1e covid19 
 geval in NL 18-4-2020 Appathon

    Advies OMT 6-4-2020 Beslissing Zel f bouw 22-4-2020 7-5-2020 Start ‘dreamteam’ 
 overheid + experts Ux test 
 Twente 17-8-2020 1-9-2020 Praktijktest 5 ggd regio’s Wet 
 aangenomen 6-10-2020 10-10-2020 Launch GGD CONTACT 1-10-2020 Start 
 ggd contact Launch App 12-2020 2-2021 Uitbouw app-portaal tot volwaardig BCO portaal Vervanging hpzone Door ggd contact ingezet 20-4-2021 CORONACHECK Start ‘Coronatester’ 12-2020 13-4-2021 Fieldlabs met Coronacheck Wet Aangenomen 1-6-2021 EU 
 DCC 1-7-2021 25-9-2021 Coronacheck Horeca etc. Einde 1.5m 25-9-2021 ? TIJDLIJN Koppeling 
 EU 11-2020 23-6-2021 Vacc. Bewijzen
  4. AANPAK: BOUW EEN SKELET ALS JE GEEN TIJD HEBT VOOR

    WATERVAL MODEL EN TE VEEL RISICO VOOR AGILE
  5. •Technisch proof of concept •Stakeholder approval •Visualisatie concept •Wegwerp of

    doorbouwen? •Challenge assumptions •“Lean startup” achtige aanpak END 2 END DEMO DE HELE APP, GECOMPRIMEERD IN EEN PAAR DAGEN
  6. • De f inieer eerst de belangrijkste ‘journey’ • Zet

    de hoofdlijn uit / stip op de horizon • Bouw een end to end demo ervan • Daarna pas ‘vlees op de botten’ • Ontwikkel parallel de ‘skin’ • UX design • UX research SKELET AANPAK STAPPENPLAN
  7. CORONAMELDER WAT KOMT ER NOG MEER BIJ KIJKEN • Portaal

    doormeldingen • Landelijke uitrol portaal • Authenticatie via SSO GGDs • Uitrol / aansluiting 26 GGD regio’s • Trainingen, communicatie • HSM • Koppeling Europa • Apple en Google • DP-3T GGD CONTACT CORONACHECK • BCO Portaal • Koppelingen CoronIT / HPZone • Landelijke uitrol portaal • Authenticatie via SSO GGDs • Secure mail portaal • Digid koppeling • Uitrol / aansluiting 26 GGD regio’s • HSM • Trainingen, communicatie • Koppelingen GGD, RIVM • Koppelingen testaanbieders • Digid koppeling • HKVI - Portaal zorgmedewerkers • CKVP - Aanvragen per telefoon • Standaardisatie Europa • Koppeling Europa • Koppelingen andere landen • HSM • PKI-O
  8. • Denk in componenten / microservices • Bouw f lexibiliteit

    in in de basis • Continu toetsen en challengen van aannames • Microservices laten heterogeen technologie landschap toe • Bijv. Coronacheck: Swift, Kotlin, Go, PHP, Python, dotNET, JavaScript • Defense in depth • Soms is de beste koppeling: geen koppeling • Geen ‘wegwerp software’ maar ook geen 20 jaar onderhoudbaarheid LEARNINGS
  9. write ONCE read MANY • Miljoenen gebruikers • Interessante doelwitten

    voor DDOS • Zoveel mogelijk statisch en waar mogelijk o ff line beschikbaar
  10. Veel gehoorde misvatting: “Hoe kun je nu ontmoetingen detecteren zonder

    locatie te tracken? Die app moet wel je locatie bijhouden” CORONAMELDER
  11. Received RPIs Infected TEKs Daily TEKs Received RPIs Daily TEKs

    Infected TEKs Risk Weight Factors Alice Bob Server GGD Overview Advertised RPIs Advertised RPIs Advertised RPIs Advertised RPIs Advertised RPIs Advertised RPIs Advertised RPIs Advertised RPIs Derived RPIs Match Risk Assessment Exposure Risk Level (1-8) RPI Date Local notification RPI Duration Date TEK Date Transmission risk params Attenuation (1-63 dBm) != afstand TEK Date Transmission risk params Confirmation Transmission risk params
  12. Veilig informatie over je ontmoetingen delen met de GGD Hoe

    werkt het: • Decentraal (op je telefoon) verzamelen gegevens • End to end encryptie vergelijkbaar met Signal • User kan alleen gegevens uploaden maar nooit opvragen • Alleen GGD kan de gegevens lezen GGD CONTACT
  13. Veel gehoorde misvatting: “Je wordt overal gevolgd, elk restaurant dat

    je bezoekt word je gescand.” Maar hoe werkt het echt: • Bewijs bestaat op je telefoon • Is voorzien van een digitale handtekening • Kan volledig o ff line worden gevalideerd • User app en scanner app kunnen beide volledig o ff line werken • Geen enkel digitaal spoor van wie, waar, door wie, voor wat gescand wordt CORONACHECK
  14. • Unlinkability • Camenish-Lysyanskaya randomizable signatures • Initialen • Balans

    security en privacy • Data van het Meertens Instituut CORONACHECK
  15. WAAROM HEEFT CORONACHECK 2 QR CODES? NL VS EU •

    Heeft geen info over wel/niet gevaccineerd / genezen / getest • Alleen initialen / geboortedag • Geen andere gegevens • Unlinkability • Bevat vaccinatie, herstel of testbewijs • Volledige naam / geboortedatum • Veel details (hoeveelste prik, wanneer geprikt, welk vaccin, etc) • Statisch
  16. WAT JE NIET OPSLAAT KUN JE OOK NIET KWIJTRAKEN dus

    vermijd centrale databases waar mogelijk
  17. • Teamleden aan de deur om te scannen • Regelmatig

    zelf door de teststraat om ‘end to end’ te testen • Hoe ervaren we het zelf? EAT YOUR OWN DOGFOOD ZELF ERVARING OPDOEN IN REALISTISCHE SCENARIOS
  18. DE PERS MOEST NOG EVEN WENNEN AAN EEN OPEN OVERHEIDSPROJECT

    THE BAD 27-5-2020, EERSTE DESIGN CORONAMELDER ONLINE
  19. ELKE BUG KAN TOT MEDIA AANDACHT LEIDEN! THE BAD 24-6-2021,

    BROWSER ISSUE CORONACHECK GEMELD OP GITHUB
  20. EN SOMS WEET DE PERS HET BETER.. MAAR TOP DAT

    JE DE OPEN DIALOOG KUNT AANGAAN! THE BAD 9-2021, MEDIA BESLUIT TERM ‘CORONAPAS’ TE HANTEREN
  21. KEY SUCCES FACTORS WAT JE OOK VAN (DE TOEPASSING VAN)

    DE CORONA APPS VIND; DE MANIER WAAROP ZE ZIJN GEBOUWD WAS UNIEK EN VOOR HERHALING VATBAAR. WAT ZIJN DAARIN DE FACTOREN?
  22. KEY SUCCESS FACTORS • Volledig open ontwikkeltraject • Ontwikkelen in

    eigen beheer/regie vs volledig uitbesteden aan een leverancier • Transparantie en platheid organisatie (developers t/m CIO - iedereen toegankelijk) • Mix durven maken tussen mensen uit totaal verschillende werelden
  23. WAAR HEBBEN TOEKOMSTIGE IT-ERS IETS AAN BIJ EEN VOLGENDE PANDEMIE?

    THEMAS IN DE INFORMATICA • Modulariteit • Compositie • Microservices • Refactoring • Software Engineering • Taal/tool agnostisch • Architectuur
  24. CREDITS - Cover foto copyright rijksoverheid - ‘SoHo Skeleton’ by

    Nick Harris, Flickr, used under CC BY-ND 2.0 - ‘Buildings The Hague’ by Mar10os, Flickr, used under CC BY 2.0 - ‘Iceberg in Newfoundland Canada’ by Natalie Lucier, Flickr, used under CC BY 2.0 - ‘Surveillance’ by Jonathan McIntosh, Flickr, used under CC BY-SA 2.0 - ‘Dice’ by Patty Loof, Flickr, used under CC BY-SA 2.0 - ‘Spreekgestoelte’ by Risastla, Flickr, under CC BY-SA 2.0 - ‘EPP Summit, 20 June 2019 Brussels’ by European People’s Party, Flickr, under CC BY 2.0 - ‘A sign of the times’ by Garry Knight, Flickr, under CC BY 2.0 - Leger helpt bij test coronamelder foto copyright rijksoverheid CC BY-ND 2.0: https://creativecommons.org/licenses/by-nd/2.0/ CC BY-SA 2.0 https://creativecommons.org/licenses/by-sa/2.0/ CC BY 2.0 https://creativecommons.org/licenses/by/2.0/