Ga tijdelijk aan de slag bij Wetterskip Fryslân en duik in de uitdagende wereld van het waterbeheer. Je maakt altijd een verschil in de wereld om je heen en draagt bij aan een veilige en leefbare provincie. Voor mens en natuur. Voor huidige en volgende generaties. En wat doe jij morgen met water?Bij Wetterskip Fryslân werken wij aan de implementatie van een Onderhoudsmanagementsysteem (OMS), inclusief de ontwikkeling van een nieuwe assetdecompositie. Voor deze opdracht is het van belang dat de assetdecompositie wordt afgerond en geoperationaliseerd. Daarnaast moeten de assetstructuur en het datamodel binnen het OMS worden ingericht en geborgd, inclusief de voorbereiding, coördinatie en begeleiding van de migratie van assetdata.De opdracht wordt uitgevoerd in nauwe samenwerking met de gebruikersorganisatie, functioneel beheer, gegevensbeheer, architectuur en de leverancier van het OMS.Voor deze opdracht zoeken wij een senior specialist Assetinformatie & OMS. In deze rol fungeer je als verbindende schakel tussen assetmanagement, de gebruikersorganisatie, data- en informatiemanagement, functioneel beheer en de leverancier. Je draagt bij aan een toekomstbestendige inrichting van assetinformatie en onderhoudsprocessen binnen de organisatie.VerantwoordelijkhedenDe senior specialist Assetinformatie & OMS is verantwoordelijk voor het afronden van de assetdecompositie, het operationaliseren van de assetstructuur binnen het Onderhoudsmanagementsysteem (OMS) en de voorbereiding en begeleiding van de migratie van assetdata.AssetdecompositieUitwerken van de resterende beheerobjecten, attributen en registratieregels.Afstemmen van de assetdecompositie met relevante stakeholders binnen de organisatie.Vastleggen, beheren en actualiseren van definities, richtlijnen en afspraken rondom de assetdecompositie.Verzorgen van kennisoverdracht en ondersteuning bij de toepassing van de assetdecompositie.OMS – Assetstructuur en datamodelVaststellen en valideren van de bronsystemen voor assetdata.Inhoudelijk begeleiden van de geautomatiseerde implementatie van de assetdecompositie in het OMS vanuit de OTL via het dataplatform.Inrichten en afstemmen van datastromen voor assetinformatie tussen bronsystemen, het dataplatform en het OMS.Ondersteunen van gebruikers en beheerders bij de toepassing van de assetdecompositie binnen het OMS.Analyseren en beoordelen van de kwaliteit, volledigheid en bruikbaarheid van bestaande assetdata.Voorbereiden en opschonen van assetdata ten behoeve van migratie naar de nieuwe assetstructuur.Opstellen en valideren van mappings tussen bestaande en nieuwe assetstructuren.Ondersteunen en begeleiden van de uitvoering van de assetdatamigratie.Toetsen van de gemigreerde data op kwaliteit, volledigheid en aansluiting op de nieuwe assetstructuur.
Eisen bij de opdracht:Je beschikt over een afgeronde relevante HBO of WO opleiding, bijvoorbeeld in de richting van bedrijfskunde, bedrijfskundige informatica of assetmanagement.Je hebt minimaal 4 jaar werkervaring op het gebied van assetmanagement, het structureren van assets en uitwerken van assetdecomposities bij een asset beherende organisatie, met geografisch breed verspreide assets.Je hebt ervaring met de vertaling van de assetdecomposities en het inrichten van een OTL in relatie tot een OMS.Je hebt ervaring op het verwerken van meerdere typen assets, zoals lijn- en punt assets, binnen 1 assetdecompositie.Je hebt ervaring met het uitvoeren van complexe analyses en het vertalen naar oplossingsrichtingen in relatie tot een OMS.Je hebt ervaring met het werken binnen een waterschap.Wensen bij de opdracht:Je hebt kennis van en ervaring met relevante data- en architectuurstandaarden en de kennis om deze te vertalen naar een assetdecompositie.Je hebt kennis van en ervaring met BIM.Je hebt ervaring in het opzetten en begeleiden van implementatie- en borgingstrajecten.
Referentienummer2026-05281
LocatieLeeuwarden
Startdatum6 juli 2026
Einddatum1 mei 2027
Optie op verlengingJa
Uren per week32u p/w
Intakegesprek2 juli 2026
Sluitingsdatum25 juni 2026
17:00
Begint jouw trail hier?Stuur ons je CV met een korte opdrachtgerichte motivatie.
Discover your BlueTrailOnze weg naar jouw nieuwe carrière
Nadat jij op een opdracht hebt gereageerd, nemen wij binnen 24 uur contact met jou op en behandelen we jouw reactie.
We gaan met jou in gesprek. Wij kijken niet alleen naar je kennis en werkervaring, maar vooral naar jou als persoon. Dit is voor zowel de professional als de opdrachtgever belangrijk, wij willen de juiste match maken! Als we eenmaal de juiste match hebben gevonden, dan begint jouw BlueTrail en stellen we je voor aan de opdrachtgever!
Bij een succesvolle match worden de contracten opgesteld. Door middel van innovaties en digitalisering proberen wij dit proces zo kort mogelijk te maken. Zo kun jij doen waar je goed in bent, terwijl wij zorgen voor alle administratie!
Ook tijdens jouw opdracht staan wij altijd voor je klaar. Onze fieldmanagers zorgen er persoonlijk voor dan alles succesvol verloopt!
Follow our trail
E-mailadresCAPTCHA
gform.initializeOnLoaded( function() {gformInitSpinner( 2, 'https://www.bluetrail.nl/core/modules/934d581a4a/images/spinner.svg', true );jQuery('#gform_ajax_frame_2').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_2');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_2').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_2').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_2').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_2').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_2').val();gformInitSpinner( 2, 'https://www.bluetrail.nl/core/modules/934d581a4a/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [2, current_page]);window['gf_submitting_2'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_2').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [2]);window['gf_submitting_2'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_2').text());}else{jQuery('#gform_2').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "2", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_2" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_2"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_2" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 2, current_page ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} );