Save 37% off PRO during our Black Friday Sale! »

Software Ontwikkeling Tijdens een Pandemie

B272216b76be8aacbfd11fad48196558?s=47 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).

B272216b76be8aacbfd11fad48196558?s=128

Ivo Jansch

October 18, 2021
Tweet

Transcript

  1. SOFTWARE ONTWIKKELING TIJDENS EEN PANDEMIE IVO JANSCH INSTRUCT INFORMATICA INSPIRATIEDAG,

    13-10-2021
  2. Oprichter / CEO Solution architect Ondernemer Organisator WIE IS IVO?

    @ijansch
  3. TERUGBLIK KORTE HISTORIE CORONA APPS

  4. WELKE APPS WAREN ER OOK ALWEER? CORONAMELDER GGD CONTACT CORONACHECK

  5. 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
  6. 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
  7. 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
  8. AANPAK: BOUW EEN SKELET ALS JE GEEN TIJD HEBT VOOR

    WATERVAL MODEL EN TE VEEL RISICO VOOR AGILE
  9. DEFINIEER EERST DE ‘HOOFD JOURNEY’ HELDER DOEL

  10. •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
  11. None
  12. • 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
  13. MAAR UITZOEKEN, UITWERKEN EN BOUWEN BOUWEN ONDERBOUWEN, VERBOUWEN EN SOMS

    HERBOUWEN NIET
  14. ARCHITECTUUR TIME TO MARKET / SCHAALBAARHEID / ONDERHOUDBAARHEID

  15. APPS ZIJN ZICHTBAAR TOPJE VAN EEN IJSBERG BOUW VAN ‘ECOSYSTEMEN’

  16. 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
  17. • 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
  18. write ONCE read MANY • Miljoenen gebruikers • Interessante doelwitten

    voor DDOS • Zoveel mogelijk statisch en waar mogelijk o ff line beschikbaar
  19. None
  20. Meer LEAN STARTUP dan ENTERPRISE

  21. PRIVACY BY DESIGN PRIVACY ALS BELANGRIJKSTE NON-FUNCTIONAL REQUIREMENT

  22. Veel gehoorde misvatting: “Hoe kun je nu ontmoetingen detecteren zonder

    locatie te tracken? Die app moet wel je locatie bijhouden” CORONAMELDER
  23. 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
  24. 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
  25. 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
  26. • Unlinkability • Camenish-Lysyanskaya randomizable signatures • Initialen • Balans

    security en privacy • Data van het Meertens Instituut CORONACHECK
  27. 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
  28. WAT JE NIET OPSLAAT KUN JE OOK NIET KWIJTRAKEN dus

    vermijd centrale databases waar mogelijk
  29. TESTEN, TESTEN, TESTEN BORGEN KWALITEIT CORONA APPS

  30. FIELDTEST LETTERLIJK

  31. NIET ELKE APP HEEFT DE LUXE HET LEGER IN TE

    KUNNEN ZETTEN (WIJ WEL)
  32. TOEGANKELIJKHEID IS BELANGRIJK OM EEN INCLUSIEVE APP TE REALISEREN ACCESSIBILITY

    TESTING
  33. CORONAMELDER GEFASEERD LANCEREN OM BOUW EN TESTEN TE KUNNEN PARALLELLISEREN

    LAB -> VELD -> PRAKTIJK -> REGIO -> LAUNCH
  34. None
  35. • 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
  36. OPEN ONTWIKKELING ALS PUBLIEK, PERS & POLITIEK OP JE VINGERS

    KIJKEN
  37. TRANSPARANTIE TEGEN FAKE NEWS THE GOOD

  38. BETROKKENHEID POLITIEK THE GOOD

  39. DANKZIJ CORONAMELDER COMMUNITY: VERIFIED BUILDS THE GOOD

  40. DE PERS MOEST NOG EVEN WENNEN AAN EEN OPEN OVERHEIDSPROJECT

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

    BROWSER ISSUE CORONACHECK GEMELD OP GITHUB
  42. 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
  43. STERKE POLARISATIE RICHT ZICH OOK OP CORONACHECK TEAM THE UGLY

  44. 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?
  45. 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
  46. 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
  47. THANK YOU! Vragen? • Vanmiddag ‘meet & greet’ • ivo@egeniq.com

    / @ijansch
  48. 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/