Share
Embed
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
Transcript
48 slides
-
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 -
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 -
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 -
AANPAK: BOUW EEN SKELET ALS JE GEEN TIJD HEBT VOOR
WATERVAL MODEL EN TE VEEL RISICO VOOR AGILE -
•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 -
• 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 -
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 -
• 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 -
write ONCE read MANY • Miljoenen gebruikers • Interessante doelwitten
voor DDOS • Zoveel mogelijk statisch en waar mogelijk o ff line beschikbaar -
Veel gehoorde misvatting: “Hoe kun je nu ontmoetingen detecteren zonder
locatie te tracken? Die app moet wel je locatie bijhouden” CORONAMELDER -
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 -
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 -
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 -
• Unlinkability • Camenish-Lysyanskaya randomizable signatures • Initialen • Balans
security en privacy • Data van het Meertens Instituut CORONACHECK -
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 -
WAT JE NIET OPSLAAT KUN JE OOK NIET KWIJTRAKEN dus
vermijd centrale databases waar mogelijk -
NIET ELKE APP HEEFT DE LUXE HET LEGER IN TE
KUNNEN ZETTEN (WIJ WEL) -
CORONAMELDER GEFASEERD LANCEREN OM BOUW EN TESTEN TE KUNNEN PARALLELLISEREN
LAB -> VELD -> PRAKTIJK -> REGIO -> LAUNCH -
• 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 -
DE PERS MOEST NOG EVEN WENNEN AAN EEN OPEN OVERHEIDSPROJECT
THE BAD 27-5-2020, EERSTE DESIGN CORONAMELDER ONLINE -
ELKE BUG KAN TOT MEDIA AANDACHT LEIDEN! THE BAD 24-6-2021,
BROWSER ISSUE CORONACHECK GEMELD OP GITHUB -
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 -
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? -
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 -
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 -
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/