De Software Implementatie – Let’s Go Live!


Software implementatie

Een goede software implementatie herken je pas aan het einde van een project. Voordat we zo ver zijn is er heel wat aan vooraf gegaan. We begonnen met een business case, het verzamelen van de requirements, het ontwerp en tenslotte het programmeren en testen van de software. Heb je SaaS of andere standaard software geselecteerd dan heeft dat project ook geleid tot het testen van de software. Het blijkt goed te werken en nu kunnen we de software invoeren.

Definitie van software implementatie

De woorden implementatie en invoering hoor je vaak in dezelfde context. Het klinkt echter niet helemaal hetzelfde. Invoering klinkt procesmatig, als een aantal acties vlak voor de overdracht. Implementatie geeft meer het gevoel van inbedding in de bestaande organisatie. Feitelijk begint de software implementatie al eerder in het project. Opzoek naar een definitie voor het begrip implementatie kwam ik veel omschrijvingen tegen. Onderstaande definitie heeft betrekking op processen in de geneeskunde maar spreekt mij het meeste aan:

Een procesmatige en planmatige invoering van vernieuwingen en-of verandering van bewezen waarde met als doel dat deze een structurele plaats krijgen in het (beroepsmatig) handelen, het functioneren van de organisatie.

Met name het feit dat de organisatie structureel verandert bij een implementatie van software geeft aan dat we te maken hebben met een belangrijk proces met veel impact.

Inventarisatie van de software en de organisatie

Voor we een implementatieplan maken moeten we eerst weten wat de status van de software en de omgeving is. Pas als we alle elementen in beeld hebben kunnen we de vervolgstappen bepalen. De te inventariseren elementen zijn:

1. Inventarisatie complexiteit van de software

De complexiteit van de software implementatie kunnen op meerdere aspecten bepalen: 

  1. Het aantal afdelingen en eindgebruikers dat de software gaat gebruiken.
  2. De effecten die de implementatie heeft op wijzigingen in taken en verantwoordelijkheden van de gebruikers.
  3. De cultuur en de integriteit van de organisatie die de software gaat gebruiken en de verschillen daarin per afdeling.
  4. De requirements en de omvang van de software.
  5. Koppelingen met andere systemen.

Over het algemeen identificeren we de verschillen op een schaal van grootte (groter of kleiner /  meer of minder). Een voorbeeld van “kleinere” business-software is de implementatie van een kantoorpakket. Er kunnen echter veel eindgebruikers bij betrokken zijn, terwijl de impact op de taken en verantwoordelijkheden van de gebruikers niet groot is. De dagelijkse workflow van de eindgebruiker verandert immers ook niet veel. Een voorbeeld van “grotere” business-software is de implementatie van een ERP-systeem.

Als er koppelingen met andere systemen nodig zijn kan dit impact hebben op die systemen. We moeten er rekening mee houden dat deze systemen ook aangepast moeten zijn voor we de implementatie succesvol kunnen afronden.

De inventarisatie voor de software implementatie moet leiden tot diepgaande inzichten over de software, maar ook over de architectuur en de organisatie. Het gebruik van een grote software toepassing brengt veel meer toewijding van de eindgebruikers met zich mee. De impact van de verandering is groot vanwege de creatie van nieuwe taken en verantwoordelijkheden.

2. Inventarisatie van bestaande situatie

Voordat de nieuwe software tot stand kwam hadden de gebruikers al een werkwijze. Het is mogelijk dat we te maken hebben met een geheel nieuwe organisatie, dat scheelt veel werk. Het is echter onwaarschijnlijk dat de gebruikers nog gebruik maken van een kaartenbak en een rekenmachine. Van welke andere software maken ze dan wel gebruik? Waarom komt er vervangende software? Hebben ze een complete oplossing direct nodig, of kunnen ze tijdelijk met een gedeeltelijke oplossing werken? Welke impact hebben dergelijke keuzes op de bedrijfsprocessen?

Lopen er nog contracten met betrekking tot de oude software en hoe gaan we daar mee om?

3. Inventarisatie van gebruikte ontwikkelmethode

Globaal gezien zijn er twee verschillende ontwikkelmethodes, waterval en Agile. Daarnaast kunnen we te maken hebben met de implementatie van standaard software of een SaaS oplossing. Belangrijkste gevolg van een ontwikkelmethode voor de implementatie is of de software als een geheel of in brokken wordt opgeleverd. En als het dan in brokken wordt opgeleverd kunnen we het dan ook broksgewijs implementeren of komt er een Big bang?

Met de komst van DevOps als ontwikkelmethode is er sprake van continue testen en releasen. De implementatie van de software is vrijwel impliciet en vereist een kanteling binnen het implementatieplan.

4. Inventarisatie IT infrastructuur

Niet iedere omgeving is hetzelfde. Sinds de komst van Cloud computing is het echter vrij eenvoudig om een omgeving op te zetten zonder dat we de bedrijfsprocessen verstoren. Dit opent de weg naar een Living Lab waarbij we de gebruikers grote invloed op de implementatie kunnen geven.

5. Inventarisatie van de status van de software

Voor we met de implementatie beginnen is het belangrijk om te weten wat de status van de software is. Als de ontwikkeling van de software nog gaande is kunnen we mogelijk nog in belangrijke mate invloed uitoefenen op de werking er van. Is de software al opgeleverd of is er sprake van COTS software dan hebben we alleen nog maar invloed op de configuratie. Is er rekening gehouden met een fall back scenario of is er geen weg terug?

6. Inventarisatie van datasets / conversie

De meeste software werkt niet zonder data. Een juiste werking van de software hangt juist in belangrijke mate af van de kwaliteit van de data. Waar komt deze data vandaan? Beginnen we met een blanco systeem? Kopen we datasets? Of koppelen we met andere systemen? Welke contracten moeten we daarvoor opstellen?

Converteren we de data uit het oude systeem en moeten we deze dan nog verrijken? Bedenk dat als de conversie en de datasets eenmaal geplaatst zijn we weer opnieuw moeten testen. Grote kans dat deze data net niet goed te verwerken is en ook nog een extra bewerking behoeft.

7. Inventarisatie van gebruikerskennis

In een ideale organisatie weet iedere gebruiker hoe de bedrijfsprocessen werken en welke wetten en regels er van toepassing zijn. Deze materiedeskundigen zijn bij uitstek geschikt om het systeem te vullen en te testen. Helaas geldt dit echter slechts voor enkele gebruikers. Voor de software implementatie is het van belang te weten waar de sterke gebruikers zitten en waar de organisatie nog te kort schiet.

8. Inventarisatie beheerprocessen en onderhoudsteam

Iedere organisatie geeft een eigen invulling aan het service management, d.w.z. het beheer van IT systemen. ITIL, ASL en BiSL zijn bekende frameworks, maar soms is er slecht één gebruiker die alles doet. Het hangt erg af van de omvang en het type organisatie. Systeembeheer en applicatiebeheer kennen al beheerprocessen. We hebben een servicedesk voor onze vragen evenals een ticketsysteem om alles te volgen. Nu komt er nieuwe software bij. Die gaan we straks implementeren in de bestaande beheer processen. Daarom moeten we weten welke processen er al zijn en hoe die zijn ingericht.

Hetzelfde geldt voor het onderhoud van de software. Na de implementatie treden er storingen op en is er sprake van backlog. Dat wil zeggen, nog niet aan alle requirements is voldaan. Maar waar zijn de ontwikkelaars gebleven? Is er nu een onderhoudsteam? En zijn zij voldoende bekend met de software?

Als de software door een externe partij is ontwikkeld, hoe ziet het contract met deze partij er dan uit? Nemen zij ook het applicatiebeheer op zich?

Het software implementatie plan beschrijft alle stappen die nodig zijn om de implementatie te realiseren. Soms zijn ze afhankelijk van elkaar en soms kunnen ze tegelijkertijd plaatsvinden. De invulling van de implementatie stappen komt tot stand binnen het projectteam. De inhoud is mede afhankelijk van hetgeen we tijdens de inventarisatie hebben gevonden.

1. Maak planning voor de volgorde van afdelingen en gebruikers

Binnen een bedrijfsproces kunnen we altijd meerdere subprocessen herkennen. Als het primaire proces bijvoorbeeld verkoop is, zijn er een aantal ondersteunende processen. Dit zijn bijvoorbeeld “beheren artikelen” en “beheren klanten”. Aangezien we artikelen aan klanten verkopen moeten we van beide iets weten voor we een deal kunnen sluiten. In dit voorbeeld kunnen we dus het beste eerst de artikelen-processen en daarna de relatiebeheer-processen implementeren. Als die goed werken volgt de implementatie van het verkoopproces.

Om deze activiteit te kunnen beschrijven hebben we informatie nodig uit de inventarisaties van:

  • De complexiteit van de software.
  • Wanneer de software beschikbaar komt volgens de ontwikkelmethode.
  • De benodigde datasets.
  • Status van de software.

2. Converteer data en zorg voor toegang tot externe datasets

Er is maar weinig software die werkt zonder data. Deze data moeten we converteren uit legacy systemen of via koppelingen uit andere systemen. Deze activiteit kan een groot project op zichzelf zijn. Tijdens de ontwikkeling en het testen is al data nodig om de werking van de software te controleren. We maken daar proefconversies voor en zorgen dat er geen mutaties plaatsvinden in andere systemen via de koppelingen. De gegevens voor deze activiteit vinden we in de volgende inventarisaties:

  • Complexiteit van de software.
  • Bestaande situatie.
  • IT infrastructuur.
  • Datasets / data conversie.

3. Configureer de software

In de eerste plaats voeren we de gebruikers en hun rollen binnen de software in. Om hun autorisatie af te ronden geven we ze een wachtwoord zodat ze kunnen inloggen. Verder kent ieder type software zijn specifieke instellingen. Denk daarbij aan prijsstaffels, artikel kenmerken, formules, bedrijfsregels, enzovoort. Dit vormt de kern van het implementeren van de software, het afstemmen op de organisatie. Informatie voor het plannen van deze activiteit vinden we in inventarisaties betreffende:

  • Complexiteit van de software.
  • Bestaande situatie.
  • Gebruikte ontwikkelmethode.
  • IT infrastructuur.
  • Status van de software.

4. Richt het Service Management in

Als de software eenmaal in gebruik is moet de gebruiker kunnen rekenen op de service van IT. In de eerste plaats moet er een Service Level Agreement (SLA) komen. Daarin staan alle afspraken over het service niveau waarop de gebruiker aanspraak kan maken. Met behulp van Key Performance Indicatoren (KPI) stellen we met elkaar vast hoe ver dat gaat. Denk aan beschikbaarheid van het systeem, reactie snelheid bij storingen enzovoort. Om de SLA waar te kunnen maken zijn processen en een service organisatie nodig. Denk aan:

Als er al een service management organisatie is kunnen we de nieuwe software daarin onderbrengen. Dat vergt natuurlijk de nodige aanpassingen. Input uit de inventarisaties over:

5. Train gebruikers en ondersteuners

Nieuwe software vergt ook nieuwe kennis. De meeste gebruikers zijn bekend met de oude software en zijn tevens materiedeskundige. Zij zullen dus snel de functies van de nieuwe software herkennen. Hen moeten we wel duidelijk maken waar ze de functies kunnen vinden en hoe ze in de nieuwe software geïmplementeerd zijn. Hiervoor maakt het implementatieteam een gebruikershandleiding.

Naast eindgebruikers zijn er ook IT-ers die we voor de nieuwe software moeten trainen. Misschien is er sprake van een geheel nieuw platform of een andere programmeertaal. Dit geldt ook voor de servicedesk. Omdat de IT de gebruikers moet ondersteunen in het gebruik van de software moeten ze ook een veel diepgaandere kennis hebben van het systeem. Zodoende kunnen ze straks problemen oplossen die de gebruiker niet kan oplossen. Informatie voor deze activiteit is te vinden in de volgende inventarisaties:

  • Complexiteit van de software.
  • Gebruikte ontwikkelmethode.
  • IT infrastructuur.
  • Gebruikerskennis.
  • Beheerprocessen en onderhoudsteam.

6. Voer de overgang uit

Tijd om met het overgangsproces van het ene systeem naar het nieuwe te beginnen. De organisatie moet een overschakelingsplan hebben zodat we het voortdurende risico van overgang van het ene systeem naar het andere kunnen minimaliseren.

Zorg ervoor dat er tijdens de overgang controlepunten zijn. Communiceer met elkaar over uitslag van deze controles zodat iedereen weet wat de voortgang is.

Activiteiten tijdens de overgang zijn:

  • Het overzetten van de software. De meeste organisaties kennen een zogenaamde OTAP omgeving. Deze afkorting staat voor Ontwikkeling, Test, Acceptatie en Productie. Deze activiteit start met de migreren van code van de acceptatie- naar de productie-omgeving.
  • Borgen van de laatste transactie in het oude systeem.
  • Afsluiten van het laatste periode-einde in het oude systeem.
  • Het draaien van controle overzichten in het oude systeem.
  • Het maken van een backup van het oude systeem.
  • De finale data conversies.
  • Activeren van de koppelingen met naburige systemen.
  • Het draaien van de controle overzichten in het nieuwe systeem.
  • Matchen van de oude en nieuwe controle overzichten.
  • Vaststellen van de juiste werking van de nieuwe software.
  • Uitvoeren fall-back scenario als de overgang mislukt.

We identificeren alle sleutelactiviteiten en wijzen ze toe aan sleutelfiguren binnen het project. Doe dit ruim van tevoren zodat we met elkaar overeenstemming kunnen bereiken over de taken en onze aanwezigheid op de bewuste dag.

Om deze activiteit goed in het software implementatie plan op te kunnen nemen hebben we informatie nodig uit de volgende inventarisaties:

  • Complexiteit van de software.
  • Bestaande situatie.
  • Gebruikte ontwikkelmethode.
  • IT infrastructuur.
  • Status van de software.
  • Datasets / data conversie.
  • Beheerprocessen en onderhoudsteam.

7. Go-live, is de software implementatie geslaagd?

Het is zo ver. Het is tijd om de nieuwe software in te schakelen en gebruikers in staat te stellen transacties te doen.

Zorg er voor dat de gebruikershandleiding en de inlogcodes voor iedere gebruiker aanwezig zijn.

Een aantal gebruikers kennen de software al omdat ze in het project hebben meegedraaid. Als lid van de stuurgroep, materiedeskundige of als tester. Dit is slechte een klein deel van de organisatie en de andere gebruikers zien de software voor het eerst.

Daarom is het belangrijk dat er de eerste week een ondersteuningsteam klaar staat om de gebruikers te begeleiden. De gebruikers die al in het project meedraaien zijn belangrijke ambassadeurs, zo niet evangelisten van de software. Zij vormen een belangrijke groep. Daarnaast is het goed dat ook de ontwikkelaars en helpdeskmedewerkers op de afdeling rond lopen. Zij kunnen de gebruikers direct helpen. Dit bevordert de acceptatie van de software enorm.

Deze eerste ondersteuning kunnen we langzaam afbouwen tot het punt dat de gebruiker zelfstandig met de software om kan gaan. Alleen de servicedesk zal dan in stand blijven.

De nieuwe gebruikers komen met nieuwe vragen. Misschien komen ze met nieuwe wensen waar niet eerder aan was gedacht. De het onderhoudsteam moet hier de backlog voor openstellen. Alle bevinden kunnen we vastleggen en later bepalen of we ze ook gaan implementeren.

Informatie voor deze activiteit is afkomstig uit:

  • Bestaande situatie.
  • Status van de software.
  • Gebruikerskennis.
  • Beheerprocessen en onderhoudsteam.

Communicatie tijdens de software implementatie

Communicatie is de smeerolie van een project. Tijdens een software implementatie geldt dit nog veel sterker. Alle betrokkenen hebben namelijk het gevoel dat het er nu op aankomt! Iedereen wil weten hoe het loopt en of hij of zij zelf nog iets moet doen om het soepel te laten lopen.

Goede communicatie is ook een issue voor de gebruikers. Zij moeten zich niet alleen betrokken voelen bij de software maar ook bij het project. Dat zal de acceptatie van de software bevorderen.

De volgende communicatiemiddelen staan beschikbaar voor het projectteam.

  • Uitgave van een e-mail – nieuwsbrief met nieuwtjes over het project.
  • Een weblog waar verschillende projectleden over hun bijdrage vertellen.
  • Het organiseren van workshops waarin toekomstige gebruikers hun visie op de software en het project kunnen uiten.
  • Regelmatig face-to-face contact met de teamleiders en de stakeholders.

In het implementatieplan kunnen we opnemen op welke manier we met de gebruikers willen communiceren. We zijn nog niet klaar met dit onderwerp. In volgende artikelen zal ik nader ingaan op verschillende “Implementatie kaders” en de “Best Practices voor implementatie”.

LinkedIn GroupDiscussieer mee op LinkedIn.
Samenvatting
De Software Implementatie – Let’s Go Live!
Artikel
De Software Implementatie – Let’s Go Live!
Beschrijving
Een goede software implementatie herken je pas aan het einde van een project. In de kern is implementeren het afstemmen van de software op de organisatie. We onderscheiden de volgende activiteiten: 1. Maak planning voor de volgorde van afdelingen en gebruikers. 2. Converteer data en zorg voor toegang tot externe datasets. 3. Configureer de software. 4. Richt het Service Management in. 5. Train gebruikers en ondersteuners. 6. Voer de overgang uit. 7. Go-live. Lees een verdere uitwerking van deze activiteiten in dit artikel.
Auteur
Publisher Naam
ITpedia
Publisher Logo
Sidebar