Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.5/levenscyclus #270

Merged
merged 25 commits into from
Sep 24, 2024
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions docs/levenscyclus/archiveren.md

This file was deleted.

94 changes: 79 additions & 15 deletions docs/levenscyclus/index.md
Original file line number Diff line number Diff line change
@@ -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 &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp]
0(0. Organisatieverantwoordelijkheden) --> 1(1. Probleemanalyse);
subgraph systeemniveau [systeemniveau &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp]
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)
Expand All @@ -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 [[email protected]](mailto::[email protected]).
19 changes: 0 additions & 19 deletions docs/levenscyclus/monitoren.md

This file was deleted.

20 changes: 20 additions & 0 deletions docs/levenscyclus/organisatieverantwoordelijkheden.md
Original file line number Diff line number Diff line change
@@ -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

<!-- list_vereisten levenscyclus/organisatieverantwoordelijkheden -->

## Maatregelen

<!-- list_maatregelen levenscyclus/organisatieverantwoordelijkheden -->


!!! 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).
4 changes: 1 addition & 3 deletions docs/maatregelen/benodigde_expertise_en_capaciteit.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
7 changes: 1 addition & 6 deletions docs/maatregelen/informatiebeveiligingsincidenten.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 1 addition & 7 deletions docs/maatregelen/periodieke_evaluatie_kwaliteit.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
6 changes: 1 addition & 5 deletions docs/maatregelen/politiek-bestuurlijk_besluit.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,8 @@ vereiste:
- motiveringsbeginsel

levenscyclus:
- ontwerp
- ontwikkelen
- organisatieverantwoordelijkheden
- verificatie-en-validatie
- implementatie
- monitoring-en-beheer
- uitfaseren

onderwerp:
- governance
Expand Down
7 changes: 1 addition & 6 deletions docs/maatregelen/richt_gebruikersbeheer_in.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 1 addition & 4 deletions docs/maatregelen/richt_wachtwoordbeheer_in.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 1 addition & 8 deletions docs/maatregelen/toepassen_risicobeheer.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion docs/stylesheets/extra.css
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
/* Algemene layout van de header */
.header-container {
display: flex;
flex-direction: row;
Expand Down
6 changes: 6 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ nav:
- governance/type_algoritme.md
- Levenscyclus:
- levenscyclus/index.md
- levenscyclus/organisatieverantwoordelijkheden.md
- levenscyclus/probleemanalyse.md
- levenscyclus/ontwerp.md
- levenscyclus/dataverkenning-en-datapreparatie.md
Expand Down Expand Up @@ -95,19 +96,24 @@ markdown_extensions:
- pymdownx.snippets:
auto_append:
- includes/begrippenlijst.md
- pymdownx.blocks.html

# Extra opties voor footer
extra:
social:
- icon: fontawesome/brands/github
link: https://github.com/MinBZK/Algoritmekader




extra_css:
- stylesheets/extra.css

extra_javascript:
- https://unpkg.com/[email protected]/dist/tablesort.min.js
- javascripts/tablesort.js
- https://unpkg.com/[email protected]/dist/mermaid.min.js

plugins:
- glightbox
Expand Down