From f10518621fef12f48f854d6c34fb73cd49c2b2e4 Mon Sep 17 00:00:00 2001 From: Ruth Koole <71120805+ruthkoole@users.noreply.github.com> Date: Tue, 24 Sep 2024 14:06:12 +0200 Subject: [PATCH] Release v1.5/levenscyclus (#270) Co-authored-by: Ruth Koole --- docs/levenscyclus/index.md | 94 ++++++++++++++++--- docs/levenscyclus/monitoren.md | 1 + .../organisatieverantwoordelijkheden.md | 20 ++++ .../benodigde_expertise_en_capaciteit.md | 4 +- .../informatiebeveiligingsincidenten.md | 7 +- ...stgestelde_beleidskaders_zijn_nageleefd.md | 8 +- .../periodieke_evaluatie_kwaliteit.md | 8 +- .../politiek-bestuurlijk_besluit.md | 6 +- docs/maatregelen/richt_gebruikersbeheer_in.md | 7 +- docs/maatregelen/richt_wachtwoordbeheer_in.md | 5 +- docs/maatregelen/toepassen_risicobeheer.md | 9 +- ...stellen_rollen_en_verantwoordelijkheden.md | 8 +- mkdocs.yml | 3 + 13 files changed, 112 insertions(+), 68 deletions(-) create mode 100644 docs/levenscyclus/organisatieverantwoordelijkheden.md diff --git a/docs/levenscyclus/index.md b/docs/levenscyclus/index.md index 7c3bef1435..c36ba7ea60 100644 --- a/docs/levenscyclus/index.md +++ b/docs/levenscyclus/index.md @@ -1,33 +1,96 @@ ---- +--- title: Levenscyclus summary: Hulp per fase van de levenscyclus van algoritmes en AI, zoals probleemanalyse, ontwerpen, ontwikkelen, implementeren en ermee stoppen. icon: material/reload hide: - toc ---- +--- # Levenscyclus algoritmes en AI -Bij verantwoord gebruik van algoritmes en AI voldoe je tijdens elke fase van de levenscyclus aan de vereisten. -Van het ontwikkelen van een oplossing, tot het in gebruik nemen van die oplossing en er uiteindelijk weer mee stoppen. -De levenscyclus helpt je om te bepalen in welke fase jouw product zit en welke beslissingen hierbij horen. + +Om algoritmes op een verantwoorde manier te gebruiken, zul je op de juiste momenten aandacht moeten hebben voor de juiste onderwerpen en risico's. +Van het ontwikkelen van een oplossing, tot het in gebruik nemen van die oplossing en er uiteindelijk weer mee stoppen. +Door al in een vroeg stadium aandacht besteden aan bijvoorbeeld een eventuele inbreuk op mensenrechten kan je hier gedurende het hele proces al rekening mee houden. + +De levenscyclus helpt je om te bepalen wat je wanneer moet doen. + + +/// html | div[style='float: left; width: 50%;'] ## Fases van de levenscyclus -1. [Probleemanalyse](probleemanalyse.md) -2. [Ontwerpen](ontwerp.md) -3. [Dataverkenning en datapreparatie](dataverkenning-en-datapreparatie.md) -4. [Ontwikkelen](ontwikkelen.md) -5. [Verficatie en validatie](verificatie-en-validatie.md) -6. [Implementeren](implementatie.md) -7. [Monitoring en beheer](monitoring-en-beheer.md) -8. [Uitfaseren](uitfaseren.md) +0. [Organisatieverantwoordelijkheden](organisatieverantwoordelijkheden.md) +1. [Probleemanalyse](probleemanalyse.md) +2. [Ontwerpen](ontwerp.md) +3. [Dataverkenning en datapreparatie](dataverkenning-en-datapreparatie.md) +4. [Ontwikkelen](ontwikkelen.md) +5. [Verficatie en validatie](verificatie-en-validatie.md) +6. [Implementeren](implementatie.md) +7. [Monitoring en beheer](monitoring-en-beheer.md) +8. [Uitfaseren](uitfaseren.md) + +## Systeemniveau en organisatieniveau +De levenscyclus kent twee verschillende niveau's: + +- **organisatieniveau**: Sommige vereisten zijn algemeen en vragen om een organisatiebrede aanpak. Dit gaat bijvoorbeeld om passende processen en risicomanagment in je organisatie. Of het creĆ«eren van bewustzijn en kennis binnen je organisatie. In het ideale geval besteed je hier al aandacht aan voordat je begint met de ontwikkeling of het gebruik van algoritmes. Bij deze fase horen maatregelen die je niet voor ieder systeem opnieuw zal hoeven te bekijken. +- **systeemniveau**: Sommige vereisten voor verantwoorde inzet van algoritmes zul je bij ieder algoritme weer opnieuw aandacht moeten geven. Dat geldt bijvoorbeeld voor het beschermen van grondrechten. + +/// + +/// html | div[style='float: right;width: 50%;'] + +```mermaid + + flowchart TD + subgraph organisatieniveau [organisatieniveau                                                                           ] + 0(0. Organisatieverantwoordelijkheden) --> 1(1. Probleemanalyse); + subgraph systeemniveau [systeemniveau                                                                     ] + 7(7. Monitoring en beheer) --> 1(1. Probleemanalyse); + 1(1. Probleemanalyse) --> 2(2. Ontwerp); + 2(2. Ontwerp) --> 3(3. Dataverkenning en datapreparatie); + 3(3. Dataverkenning en datapreparatie) --> 4(4. Ontwikkelen); + 4(4. Ontwikkelen) --> 5(5. Verficatie en validatie); + 5(5. Verficatie en validatie) --> 6(6. Implementatie); + 6(6. Implementatie) --> 7(7. Monitoring en beheer); + 7(7. Monitoring en beheer) -.-> 8(8. Uitfaseren); + end + end + + click 0 href "organisatieverantwoordelijkheden" + click 1 href "probleemanalyse" + click 2 href "ontwerp" + click 3 href "dataverkenning-en-datapreparatie" + click 4 href "ontwikkelen" + click 5 href "verificatie-en-validatie" + click 6 href "implementatie" + click 7 href "monitoring-en-beheer" + click 8 href "uitfaseren" + + style 0 color:#fff, fill:#1975d2, stroke:#1975d2, text-decoration:underline; + style 1 color:#fff, fill:#1975d2, stroke:#1975d2, text-decoration:underline; + style 2 color:#fff, fill:#1975d2, stroke:#1975d2, text-decoration:underline; + style 3 color:#fff, fill:#1975d2, stroke:#1975d2, text-decoration:underline; + style 4 color:#fff, fill:#1975d2, stroke:#1975d2, text-decoration:underline; + style 5 color:#fff, fill:#1975d2, stroke:#1975d2, text-decoration:underline; + style 6 color:#fff, fill:#1975d2, stroke:#1975d2, text-decoration:underline; + style 7 color:#fff, fill:#1975d2, stroke:#1975d2, text-decoration:underline; + style 8 color:#fff, fill:#1975d2, stroke:#1975d2, text-decoration:underline; + + style organisatieniveau fill:transparant + +``` +/// + +/// html | div[style='clear: both;'] +/// !!! tip "Tip" In de praktijk herhaal je soms fases of ga je terug naar een eerdere fase. Mislukt bijvoorbeeld het valideren (fase 5), dan moet je terug naar de ontwerpfase (fase 2) omdat het product nog niet voldoet aan de wensen of vereisten. ## Andere levenscyclusmodellen -De 8 fasen van de levenscyclus zijn gebaseerd op 10 belangrijke levenscyclusmodellen voor het ontwikkelen van AI, zoals: + +De 9 fasen van de levenscyclus zijn gebaseerd op 10 belangrijke levenscyclusmodellen voor het ontwikkelen van AI, zoals: - CRISP-DM (cross-industry standard process for data mining) - ASUM-DM (analytics solutions unified method) @@ -37,8 +100,9 @@ De 8 fasen van de levenscyclus zijn gebaseerd op 10 belangrijke levenscyclusmode - NIST (National Institute of Standards and Technology) - ISO/IEC 22989 -Deze 8 fasen passen zo goed mogelijk bij de manier van werken van overheden. +Deze 9 fasen passen zo goed mogelijk bij de manier van werken van overheden. Het is geen verplicht model. Mogelijk past een ander levenscyclusmodel beter bij jouw organisatie. ## Help ons deze pagina te verbeteren + Deel je idee, suggestie of opmerking via [GitHub](https://github.com/MinBZK/Algoritmekader/edit/main/docs/levenscyclus/index.md) of mail ons via [algoritmes@minbzk.nl](mailto::algoritmes@minbzk.nl). diff --git a/docs/levenscyclus/monitoren.md b/docs/levenscyclus/monitoren.md index 5f6b78355d..3c262d5665 100644 --- a/docs/levenscyclus/monitoren.md +++ b/docs/levenscyclus/monitoren.md @@ -20,3 +20,4 @@ Het algoritme of AI-model wordt voortdurend gemonitord om ervoor te zorgen dat h Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). + diff --git a/docs/levenscyclus/organisatieverantwoordelijkheden.md b/docs/levenscyclus/organisatieverantwoordelijkheden.md new file mode 100644 index 0000000000..24fc011dbc --- /dev/null +++ b/docs/levenscyclus/organisatieverantwoordelijkheden.md @@ -0,0 +1,20 @@ +--- +title: Organisatieverantwoordelijkheden +--- + +Voordat je start met de ontwikkeling of het gebruik van een algoritme, zul je moeten zorgen dat je organisatie voldoende ingericht is om algoritmes te gebruiken of te ontwikkelen. +In deze fase beschrijven we de randvoorwaarden die je als organisatie moet hebben om aan de slag te gaan. Dit zijn aspecten die je in het ideale geval al regelt voordat je begint aan het gebruik van algoritmes. +Het zijn ook taken die je voortdurend aandacht zal moeten geven, maar die je niet voor ieder algorite opnieuw hoeft te organiseren. + +## Vereisten + + + +## Maatregelen + + + + +!!! info "Disclaimer" + + Het Algoritmekader is nog volop in ontwikkeling. Op deze plek willen we vooral aan de slag gaan op een open en transparante wijze. Het is dus niet definitief. Dat betekent dat er dingen opstaan die niet af zijn en soms zelfs fout. Mocht er iets niet kloppen, laat het ons weten via [GitHub](https://github.com/MinBZK/Algoritmekader). diff --git a/docs/maatregelen/benodigde_expertise_en_capaciteit.md b/docs/maatregelen/benodigde_expertise_en_capaciteit.md index b8926c0b19..273e8645b2 100644 --- a/docs/maatregelen/benodigde_expertise_en_capaciteit.md +++ b/docs/maatregelen/benodigde_expertise_en_capaciteit.md @@ -4,9 +4,7 @@ toelichting: De capaciteit en deskundigheid bij de ontwikkeling, het inkopen en vereiste: - zorgvuldigheidsbeginsel levenscyclus: -- probleemanalyse -- ontwerp -- ontwikkelen +- organisatieverantwoordelijkheden onderwerp: - governance rollen: diff --git a/docs/maatregelen/informatiebeveiligingsincidenten.md b/docs/maatregelen/informatiebeveiligingsincidenten.md index 6e3499f122..044c8a2fcb 100644 --- a/docs/maatregelen/informatiebeveiligingsincidenten.md +++ b/docs/maatregelen/informatiebeveiligingsincidenten.md @@ -6,12 +6,7 @@ vereiste: - ontwerp_voor_nauwkeurigheid_robuustheid_en_cyberbeveiliging - beveiliging_van_verwerking levenscyclus: -- ontwerp -- dataverkenning-en-datapreparatie -- ontwikkelen -- verificatie-en-validatie -- implementatie -- monitoring-en-beheer +- organisatieverantwoordelijkheden onderwerp: - technische-robuustheid-en-veiligheid - governance diff --git a/docs/maatregelen/pas_vastgestelde_beleidskaders_zijn_nageleefd.md b/docs/maatregelen/pas_vastgestelde_beleidskaders_zijn_nageleefd.md index b82b21dd52..bfa3f80004 100644 --- a/docs/maatregelen/pas_vastgestelde_beleidskaders_zijn_nageleefd.md +++ b/docs/maatregelen/pas_vastgestelde_beleidskaders_zijn_nageleefd.md @@ -20,13 +20,7 @@ vereiste: - verstrekking_van_informatie_op_verzoek levenscyclus: -- ontwerp -- dataverkenning-en-datapreparatie -- ontwikkelen -- verificatie-en-validatie -- implementatie -- monitoring-en-beheer -- uitfaseren +- organisatieverantwoordelijkheden onderwerp: - governance diff --git a/docs/maatregelen/periodieke_evaluatie_kwaliteit.md b/docs/maatregelen/periodieke_evaluatie_kwaliteit.md index 5329b04bd8..2210b82403 100644 --- a/docs/maatregelen/periodieke_evaluatie_kwaliteit.md +++ b/docs/maatregelen/periodieke_evaluatie_kwaliteit.md @@ -19,13 +19,7 @@ vereiste: - toegankelijkheidseisen_hoog_risico levenscyclus: -- ontwerp -- dataverkenning-en-datapreparatie -- ontwikkelen -- verificatie-en-validatie -- implementatie -- monitoring-en-beheer -- uitfaseren +- organisatieverantwoordelijkheden onderwerp: - governance rollen: diff --git a/docs/maatregelen/politiek-bestuurlijk_besluit.md b/docs/maatregelen/politiek-bestuurlijk_besluit.md index 1e7879fa0d..698ede2a0e 100644 --- a/docs/maatregelen/politiek-bestuurlijk_besluit.md +++ b/docs/maatregelen/politiek-bestuurlijk_besluit.md @@ -7,12 +7,8 @@ vereiste: - motiveringsbeginsel levenscyclus: -- ontwerp -- ontwikkelen +- organisatieverantwoordelijkheden - verificatie-en-validatie -- implementatie -- monitoring-en-beheer -- uitfaseren onderwerp: - governance diff --git a/docs/maatregelen/richt_gebruikersbeheer_in.md b/docs/maatregelen/richt_gebruikersbeheer_in.md index 3f74a1fa34..0aa22a2e37 100644 --- a/docs/maatregelen/richt_gebruikersbeheer_in.md +++ b/docs/maatregelen/richt_gebruikersbeheer_in.md @@ -4,12 +4,7 @@ toelichting: Richt gebruikersbeheer in, waarmee bepaald wordt wie toegang heeft vereiste: - beveiliging_informatie_en_informatiesystemen levenscyclus: -- ontwerp -- dataverkenning-en-datapreparatie -- dataverkenning-en-datapreparatie -- ontwikkelen -- implementatie -- monitoring-en-beheer +- organisatieverantwoordelijkheden onderwerp: - technische-robuustheid-en-veiligheid - governance diff --git a/docs/maatregelen/richt_wachtwoordbeheer_in.md b/docs/maatregelen/richt_wachtwoordbeheer_in.md index 471cb46da1..0931511f44 100644 --- a/docs/maatregelen/richt_wachtwoordbeheer_in.md +++ b/docs/maatregelen/richt_wachtwoordbeheer_in.md @@ -4,10 +4,7 @@ toelichting: Richt wachtwoordbeheer in, waarmee bepaald wordt hoe wachtwoorden w vereiste: - beveiliging_informatie_en_informatiesystemen levenscyclus: -- ontwerp -- ontwikkelen -- implementatie -- monitoring-en-beheer +- organisatieverantwoordelijkheden onderwerp: - technische-robuustheid-en-veiligheid - governance diff --git a/docs/maatregelen/toepassen_risicobeheer.md b/docs/maatregelen/toepassen_risicobeheer.md index b373bf9a18..84f5a97fe3 100644 --- a/docs/maatregelen/toepassen_risicobeheer.md +++ b/docs/maatregelen/toepassen_risicobeheer.md @@ -47,14 +47,7 @@ vereiste: - verstrekking_van_informatie_op_verzoek - wettelijke_verwerking_van_gevoelige_gegevens levenscyclus: -- probleemanalyse -- ontwerp -- dataverkenning-en-datapreparatie -- ontwikkelen -- verificatie-en-validatie -- implementatie -- monitoring-en-beheer -- uitfaseren +- organisatieverantwoordelijkheden onderwerp: - governance rollen: diff --git a/docs/maatregelen/vaststellen_rollen_en_verantwoordelijkheden.md b/docs/maatregelen/vaststellen_rollen_en_verantwoordelijkheden.md index cbd26f4fb3..e659e5e99c 100644 --- a/docs/maatregelen/vaststellen_rollen_en_verantwoordelijkheden.md +++ b/docs/maatregelen/vaststellen_rollen_en_verantwoordelijkheden.md @@ -4,13 +4,7 @@ toelichting: Nadat de rollen en verantwoordelijkheden zijn beschreven, zullen de vereiste: - zorgvuldigheidsbeginsel levenscyclus: -- probleemanalyse -- ontwerp -- dataverkenning-en-datapreparatie -- ontwikkelen -- implementatie -- monitoring-en-beheer -- verificatie-en-validatie +- organisatieverantwoordelijkheden onderwerp: - governance - privacy-en-gegevensbescherming diff --git a/mkdocs.yml b/mkdocs.yml index 12cb32b6ff..41cac94192 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -45,6 +45,7 @@ nav: - governance/type_algoritme.md - Levenscyclus: - levenscyclus/index.md + - levenscyclus/organisatieverantwoordelijkheden.md - levenscyclus/probleemanalyse.md - levenscyclus/ontwerp.md - levenscyclus/dataverkenning-en-datapreparatie.md @@ -92,6 +93,7 @@ markdown_extensions: - pymdownx.snippets: auto_append: - includes/begrippenlijst.md + - pymdownx.blocks.html # Extra opties voor footer extra: @@ -111,6 +113,7 @@ extra_javascript: - https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js - javascripts/tablesort.js - javascripts/filtering.js + - https://unpkg.com/mermaid@10.9.1/dist/mermaid.min.js plugins: - glightbox