To do:
- uniform woordgebruik
- controleren overeenkomen tabellen en afbeeldingen
- zins- en taalgebruik
Koppelingen
Wijzigingsverzoek
Gekoppelde onderwerpen
- MO-6, Versionering van het afsprakenstelsel
- MO-17, Change Request, Aanpassing stelsel versienummer op basis van hybride epoch label plus SemVer
Inleiding
Huidige situatie:
Twee keer per jaar (op 30 april en 30 oktober) vindt een release voor afsprakenstelsel van MedMij plaats, hier wordt gewerkt met het dakpanmodel. Het dakpanmodel houdt in dat op het releasemoment altijd twee releases van het afsprakenstelsel worden gepubliceerd, namelijk één optionele en één verplichte versie. Bij het volgende release moment wordt:
- de verplichte versie ingetrokken,
- de optionele release wordt verplicht en
- de nieuwe optionele versie wordt gepubliceerd.
Op dit moment zijn dat de versies 1.5.1 en 1.6.0 , waarbij versie 1.5.1 verplicht is voor alle deelnemers en 1.6.0. de optionele versie.
Voorafgaand aan het release moment wordt bepaald welke onderwerpen in de volgende release moeten worden verwerkt.
Probleem:
In de huidige situatie vindt twee keer per jaar een nieuwe release plaats, namelijk op 30 oktober en 30 april. Zijn de onderwerpen niet volledig uitgewerkt voor het eerst volgende release moment, dan kunnen de onderwerpen pas een halfjaar later gepubliceerd worden en pas een jaar later verplicht gesteld. Nu bepaalt het release moment dus de ontwikkel planning, en dit werkt niet ideaal aangezien de onderstaande problemen optreden:
- Vaste releasemomenten, waarin zoveel mogelijk onderwerpen doorgevoerd moeten worden.
- Kleine correcties op het afsprakenstelsel worden zonder ophoging van het versienummer doorgevoerd, ook minors en majors worden niet op de voorgeschreven manier toegepast.
- Als er geen onderwerpen zijn om te releasen dan kunnen we alleen óf de optionele versie verplicht maken en geen wijzigingen doorvoeren voor de nieuwe optionele versie óf de release kan worden uitgesteld.
- Bij versiewijzigingen moet veel administratief werk verricht worden omdat er een volledige koppeling is met de code van de R&A en de in de R&A vastgelegde endpoints.
Bovenstaande problemen kunnen niet los van elkaar worden opgepakt, omdat de oplossing voor het eerste probleem en de uitwerking van versioning impact hebben op het tweede probleem.
Probleemstelling
Doordat we foutief gebruik van oplopende versienummers combineren met twee gepubliceerde versies van het afsprakenstelsel, kunnen wij major en minor wijzigingen niet zomaar doorvoeren.
Doel:
We willen meer flexibiliteit introduceren bij het releasen van minors en patches en meer rekening houden met de implementatietijd van deelnemers voor majors.
Daarnaast willen we de deelnemers meer gestructureerd meenemen in de analyses en uitwerkingen van onderwerpen.
Aannames
De gekozen nieuwe release cycle wordt ondersteunt door de (nieuwe manier van) versioning die nu wordt uitgewerkt.
- Op de verplichte stelselversie publicatie worden geen major aanpassingen doorgevoerd tenzij... (bijvoorbeeld o.b.v. security, regelgeving of major bug-fix)
- Op de verplichte stelselversiepublicatie wordt een minimum aan minor aanpassingen met functionele impact doorgevoerd. De scope van de verplichte functionaliteit blijft zover mogelijk gelijk (geeft wel de optie om bv extensie aan te passen).
- Op de verplichte stelselversiepublicatie kunnen patches met procedurele en tekst aanpassingen worden doorgevoerd. De scope van de functionaliteit blijft gelijk.
Gewenste situatie
Door meer releasemomenten per jaar mogelijk te maken willen we de flexibiliteit omtrent de releases van minors en patches verhogen. Wij stellen voor om op regelmatige basis een stakeholder overleg in te plannen waar stakeholders inspraak hebben over de planning voor uitwerkingen van onderwerpen en de planning van releases.
Het proces zou als volgt in zijn werk gaan, wanneer een onderwerp is afgerond dan wordt binnen MedMij bepaald wat de impact van dit onderwerp is en op wat voor termijn volgens ons het onderwerp gereleased moet worden. Vervolgens wordt de uitwerking van het onderwerp gepubliceerd als een pre-release stuk. Stakeholders kunnen deze stukken lezen en bepalen of ze willen aansluiten bij het stakeholder overleg.
Tijdens het stakeholder overleg worden de volgende punten besproken:
- er wordt een update gegeven betreffende de onderwerpen waaraan gewerkt is;
- een verwachting wordt uitgesproken van grote onderwerpen waaraan de aankomende maand gewerkt wordt;
- toelichting welke onderwerpen tijdens de volgende release (indien van toepassing) worden opgenomen in de optionele versie en/of verplicht worden gesteld
- met stakeholders wordt per onderwerp bepaald op welke termijn de uitgewerkte onderwerpen worden opgenomen in de optionele versie (mits de optionele versie nog bestaat) en/of verplicht worden;
- of de verplichtstelling kan plaatsvinden met de geplande onderwerpen.
De stakeholders krijgen dus inspraak in wanneer onderwerpen gereleased worden, hier zit wel een grens aan. De inspraak van de stakeholders is wel dusdanig beperkt dat ze releases niet oneindig uit kunnen stellen.
Deelname aan het stakeholder overleg is facultatief. Stakeholders hebben vooraf inzicht in de agenda en de pre-release stukken, waardoor ze zelf kunnen bepalen of ze wel of niet aanwezig willen zijn bij het overleg. Om te worden meegenomen in het stakeholder overleg moeten de stukken minimaal 1 week van tevoren gepubliceerd zijn.
Ter verduidelijking, het feit dat pre-release momenten en verplichtstellingsmomenten beschikbaar zijn betekend niet vanzelfsprekend dat deze ook gebruikt moeten worden.
Als er niets te publiceren is of binnen het stakeholderoverleg wordt bepaald dat we bij het volgende verplichtstellingsmoment geen onderwerpen verplicht willen stellen dan hoeft dit ook niet.
Toegepaste variaties
Voor de verschillende oplossingsrichtingen hebben we bepaalde onderdelen gevarieerd. Deze onderdelen zijn:
- Publicatie moment: seizoen, weeknummer of 4e dinsdag van de maand
- Publicatiefrequentie voor patches, minors en majors: in combinaties of gesplitst
- Publicatiefrequentie: maandelijks, tweemaandelijks, per kwartaal of per halfjaar
- Voorbespreking: ja/nee, per maand of per kwartaal
- Behoud optionele versie: ja/nee
- Verplichtstellingsmoment: per patch/minor/major of combinaties hiervan
- Aantal verplichtstellingsmoment per jaar: 12x, 4x, 2x of 1x
- Hantering minimale duur tussen publicatie en verplichtstelling: Ja/Nee
- Indien minimale duur tussen publicatie en verplichtstelling wordt gehanteerd variatie in: 1 maand, 3, 4 en/of 6 maanden
Oplossingsrichting 1
Het verplichtingsmoment wordt bepaald in overleg met stakeholders, wel moet deze eens per seizoen plaatsvinden.
Vraagstuk | Keuze | Voordeel | Nadeel |
Frequentie pre-release moment | Maandelijks |
|
|
Voorbespreking | Nee, wanneer nodig |
|
|
Verplichtstellingsmoment | Eén keer per seizoen, in overleg met stakeholder wordt de precieze datum gekozen. |
| Nu geven deelnemers al aan dat 2x per jaar verplicht stellen te veel vinden, waardoor 4x per jaar een nieuwe versie publiceren mogelijk een probleem gaat zijn. |
Behoud optionele versie | Ja, tijdens het stakeholder overleg wordt bepaald of de patch, minor of major wordt opgenomen in de volgende optionele - en/of verplichte versie. | Het gebruiken van een optionele versie maakt het voor deelnemers duidelijk welke van de onderwerpen die in de pre-release staan zijn ook verplicht gaan worden bij het volgende verplichtingsmoment. | Het is verwarrend als er 3 verschillende versies in omloop zijn, namelijk de pre-release, optionele en verplichte versie. |
Minimum tijd tussen het stakeholder overleg en het verplicht worden | 3 maanden | De mogelijkheid om belangrijke veranderingen op korte termijn door te voeren blijft behouden. | Deelnemer heeft mogelijk te weinig tijd om de major wijzigingen te implementeren. |
Oplossingsrichting 2
Overweging | Keuze | Voordeel | Nadeel |
Frequentie pre-release moment | Twee maandelijks |
|
|
Voorbespreking | Ja, 2 weken voor de pre-release |
|
|
Verplichtstellingsmoment | Eén keer per jaar | Deelnemers geven aan dat twee keer per jaar een nieuwe versie verplicht maken te veel is. Door slechts eenmaal per jaar een nieuwe versie verplicht te maken voldoen wij aan hun wens. |
|
Behoud optionele versie | Nee | In de pre-release staan al de stukken weergegeven welke tijdens de tweemaandelijkse pre-release momenten gepubliceerd zijn en wanneer deze onderwerpen verplicht worden. | Aangezien de gepubliceerde majors tussen mei en oktober en van minors/patches tussen augustus en oktober pas bij de release van het volgende jaar worden meegenomen kan het onduidelijkheid veroorzaken welke van de gepubliceerde onderwerpen uit de pre-release verplicht worden tijdens het komende verplichtstellingsmoment. |
Minimum tijd tussen stakeholder overleg en verplicht worden a. Patches en Minors b. Majors | a. 3 maanden b. 6 maanden |
|
|
Oplossingsrichting 3
Voor de derde oplossingsrichting is gespeeld met het idee om verschillende publicatie frequenties te gebruiken voor patches, minors en majors.
Ook voor de minimum tijd tussen het stakeholder overleg en het verplicht worden van patches, minors en majors worden verschillende duren gehanteerd afhankelijk van de soort wijziging.
Vraagstuk | Keuze | Voordeel | Nadeel |
Pre-release frequentie a. Patches b. Minors c. Majors | a. Maandelijks b. Per Kwartaal c. Per Halfjaar Telkens op de 4e dinsdag van de desbetreffende maand. |
|
|
Voorbespreking | Per Kwartaal |
|
|
Verplichtstellingsmoment | Tweemaal per jaar |
| Deelnemers geven nu al aan dat ze twee keer per jaar een nieuwe versie verplicht stellen teveel vinden. De vraag is of de voordelen - zoals meer inspraak in het release schema - voor hen dusdanig positieve effecten hebben dat ze het twee keer per jaar een verplichtstellingsmoment niet langer een probleem vinden. |
Behoud optionele versie | Ja, term veranderen | Door de optionele versie te behouden blijft het voor de deelnemers wel inzichtelijk welke versie verplicht gaat worden. Aangezien ze dan in de optionele versie kunnen terugzien wat er verplicht gaat worden tijdens het volgende verplichtingsmoment. | Mogelijkerwijs wordt het verwarrend voor stakeholders wat het verschil is tussen de optionele en de pre release versie. |
Minimum tijd tussen stakeholder overleg en verplicht worden |
| Door de verplichte minimum duur tussen het stakeholder overleg en de verplichtstelling van patches/minors/majors te variëren is het mogelijk op korte termijn wijzigingen door te voeren zonder te veel druk op deelnemers te leggen. |
|
Oplossingsrichting 4
Loslaten dakpan model
Bij deze oplossingsrichting is het dakpan model losgelaten, hiervoor is gekozen omdat:
- het dakpanmodel niet in uitwerking van deze oplossingsrichting past,
- deelnemers in de huidige situatie geen gebruik maken van de optionele versie, omdat twee versies van hun systeem in de lucht houden teveel geld kost en
- ook binnen de rest van VZVZ geen gebruik wordt gemaakt van het dakpanmodel
Als het dakpan model geen waarde toevoegt, afwijkt van de rest van de organisatie en niet past binnen deze uitwerking waarom zouden we deze dan behouden.
Het zou als volgt in zijn werk gaan, wanneer onderwerpen zijn afgerond en het is een:
- Patch, dan is het pre-release moment tegelijkertijd het verplichtstellingsmoment.
- Minor, dan wordt het onderwerp aangedragen bij de voorbespreking en stakeholderoverleg om te bepalen op welke termijn deze verplicht wordt. Stel we kiezen het eerst volgende verplichtingsmoment, dan zou het onderwerp een maand later tegelijkertijd met de pre-release verplicht gesteld worden.
- Major, dan wordt deze besproken tijdens voorbespreking, stakeholderoverleg en deelnemersoverleg. Gezamenlijk bepaald wanneer deze verplicht wordt gesteld (deelnemers mogen niet oneindig majors uitstellen). In principe is de eerste optie tot verplichtstelling het eerst volgende verplichtstellingsmoment. De major kan ook eerder verplicht gesteld worden mits er of een gedegen reden is om hiervan af te wijken (bijv. i.v.m. security redenen of een wijziging in wetgeving) of als minimaal 70% van alle aanwezige stakeholders en deelnemers hiermee instemmen.
De voorbespreking
Bij de voorbespreking zijn aanwezig:
- Productmanager
- MM ontwikkeling
- MM Acceptatie
- MM Ketenregie
- MM Loket
- ? Stichting MM?
De voorbespreking is alleen intern en hier wordt besproken:
- Het belang van het onderwerp
- De impact van het onderwerp (Binnen MM o.a. ketenregie, acceptatie en loket- en de impact van de aanpassing voor deelnemers)
- In hoeverre het onderwerp samenhangt met andere onderwerpen die gereleased moeten worden of waar nu aan gewerkt wordt
- Op welke termijn we het onderwerp willen doorvoeren
- Hoe vast we willen houden aan deze deadline in de overleggen met stakeholders/deelnemers
Als over de bovenstaande punten duidelijkheid bestaat en willen we het onderwerp pre-releasen op het eerst volgende moment dan wordt één week later het onderwerp gepubliceerd.
Eén week daarna wordt in het stakeholderoverleg gezamenlijk bepaald wanneer we dit onderwerp verplicht willen laten worden. In deze oplossingsrichting heeft het stakeholderoverleg een iets andere vorm dan in de voorgaande oplossingsrichtingen.
Betreft het een major, dan vindt er ook een deelnemersoverleg plaats waar de deelnemers invloed kunnen uitoefenen op de release planning.
Stakeholderoverleg
Bij het maandelijkse stakeholder overleg zijn in deze oplossingsrichting aanwezig:
- ZN
- VWS
- ?NICTIZ?
- MM beheer ( productmanager, MM ontwikkeling)
- Stichting MM
Deelnemers overleg
Bij het deelnemersoverleg mogen naast de stakeholders ook de deelnemers aanwezig mogen zijn. Eventueel zou deze gecombineerd kunnen worden of met de stakeholder overleggen of met de expertsessies om de overlegdruk op deelnemers te verminderen.
In deze uitwerking is gekozen voor de 3e donderdag, omdat het deelnemersoverleg na het stakeholderoverleg plaats dient te vinden en het plannen van het overleg op de 4e dinsdag van de maand is onwenselijk wegens de vakantieperiodes in december en juni.
De 3e donderdag van de maand is een tijdelijke keuze en deze wordt nog gewijzigd door of in deze maanden de stakeholder en deelnemer overleggen te combineren, de deelnemers overleg frequentie omlaag te brengen of een andere dag te kiezen. Bij de Deelnemers overleggen zijn aanwezig :
- Productmanager & MM ontwikkeling
- DVA's
- DVP's
- Wie wil van de bovenstaande stakeholders
Oplossingsrichting 4 in beeld
Vraagstuk | Keuze | Voordeel | Nadeel |
Publicatie frequentie pre-release Patches & Minors & Majors | Maandelijks | Bij deze oplossingsrichting is er geen optionele versie meer en wordt in overleg met de stakeholders bepaald wanneer een onderwerp verplicht wordt. Hierdoor maakt het minder uit wanneer een stuk gepubliceerd wordt aangezien in samenwerking met stakeholders bepaald wordt wanneer een onderwerp verplicht wordt. Door te pre-releasen wanneer het onderwerp is afgerond kunnen deelnemers eerder zien welke onderwerpen eraan komen en een betere afweging maken wanneer ze welke onderwerpen verplicht willen stellen. |
|
Voorbespreking | Maandelijks | In de publicatie overleggen wordt in overleg met de stakeholders bepaalt op welk moment minor en majors verplicht worden. Om duidelijk te hebben op welke momenten wijzelf deze minors en majors willen verplicht stellen (en hoe stevig wij hieraan vasthouden) is het vereist de publicatie overleggen voor te bespreken. Doen wij dit niet dan is er het risico dat we onderwerpen te laat verplicht stellen terwijl dat niet wenselijk zou zijn of dat we te stevig gaan staan voor relatieve kleine aanpassingen. | Het vergt tijd van de deelnemers van VZVZ en er zijn al veel standaard overleggen. |
Verplichtstellingsmoment a. Minors en patches b. Major | a. Patches maandelijks, voor minors ook maandelijks mits overlegt met stakeholders. b. Tweemaal per jaar, tenzij 70% van de stakeholders bij het verplichtingsoverleg het eens is dat er tussentijds een major verplicht wordt gesteld of het wegens een wetswijziging of security risico het vereist is om buiten de verplichtingsmomenten de Major verplicht te stellen. |
|
|
Behoud optionele versie | Nee | Door geen optionele versie te hanteren is het mogelijk op korte termijn aanpassingen door te voeren voor de verplichte versie. | Het kan onduidelijk zijn voor deelnemers welke minors en majors wanneer verplicht worden. |
Minimum tijd tussen stakeholder overleg en verplicht worden | Geen | Door geen minimum duur tussen het verplichtingsoverleg en het verplicht worden van het onderwerp te garanderen is er meer vrijheid om te bepalen welke onderwerpen wanneer verplicht worden. Hierdoor kunnen majors die weinig impact hebben voor deelnemers maar wel essentieel zijn voor een betere uitwisseling makkelijker doorgevoerd worden | Het kan zijn dat wijzigingen op te korte termijn worden verplicht gesteld wat een risico bij implementatie kan zijn. |
Openstaande vragen en overdenkingen
Vragen
Een paar vragen is geen duidelijk antwoord op, daarom zijn er verschillende oplossingsrichtingen uitgewerkt. Deze vragen zijn:
- Hoeveel publicatiemomenten per jaar willen we inplannen?
- Willen we de optionele versie bewaren?
- Wanneer worden gereleasde versies verplicht en hoe vaak per jaar willen we dit doen?
- Hoeveel tijd moet er minimum zitten tussen de release en de verplichtstelling hiervan?
- Willen we een voorbespreking voor het publicatie overleg?
- Zo ja is deze op een vast moment of wanneer nodig?
- Wie moeten erbij aanwezig zijn naast de schrijver van het stuk en de productmanager?
Nog nadenken over
- De link met de planning voor het uitwerken van onderwerpen
- Of we de planning uitwerking en planning release momenten willen splitsen
- Hoe bepalen we of iets een major of minor is?
- Wat doen we als iets vanuit ons een minor of patch is maar voor de deelnemer veel werk is.
- Wat gaat het effect van de gekozen oplossingsrichting op de R&A zijn
Risico's
- Dat niet genoeg stakeholders (m.n. deelnemers) deelnemen aan de overleggen, waardoor we wijzigingen door gaan voeren op korte termijn maar vervolgens blijkt dat het niet mogelijk is en dit voorkomen had kunnen worden als de juiste stakeholders aan tafel hadden gezeten.
- In hoeverre zijn wij en de stakeholders goed in staat om te bepalen wat de impact van bepaalde wijzigingen en/of onderwerpen voor deelnemers gaat zijn.