Kennisbank · 9 vragen beantwoord

Bestaande software overnemen of moderniseren

Overnemen, verbeteren, moderniseren of vervangen: welke route past bij jouw software? Met de migratie van WinkelcentrumPromotie als concreet voorbeeld.

Dit artikel is voor bedrijven met software die al draait, maar waar iets mee moet: de vorige ontwikkelaar is uit beeld, het systeem is verouderd, er zitten bugs in of het past niet meer bij hoe je werkt. Het korte antwoord: ja, bestaande software kan worden overgenomen, verbeterd, gemoderniseerd of vervangen. Welke route verstandig is, hangt af van de staat van de code en van wat je ermee wilt.

Niet elk oud systeem hoeft opnieuw gebouwd te worden. Hieronder lees je welke opties er zijn, hoe een migratie in de praktijk verloopt en wat er met je gegevens gebeurt.

Kunnen jullie bestaande software overnemen?

Ja. Een overname begint altijd met een inventarisatie: wat is er, waar staat het en wie heeft er toegang toe. Om software over te nemen hebben we nodig:

  • de broncode, bij voorkeur in een repository met de volledige geschiedenis;
  • toegang tot de server of hosting waar de software draait;
  • toegang tot de database;
  • beheer over het domein en de DNS-instellingen;
  • de gegevens van externe diensten, zoals API-sleutels, e-mailverzending en betaalproviders;
  • eventuele documentatie, hoe beperkt ook.

Controleer ook of de code echt van jou is. Dat staat meestal in de afspraken met de vorige ontwikkelaar. Is die niet meer bereikbaar, dan kunnen we vaak toch verder zolang je toegang hebt tot de server en de database.

Wees erop voorbereid dat de kwaliteit van de bestaande code bepaalt hoe soepel een overname gaat. Code zonder documentatie of tests vraagt meer onderzoek voordat je er veilig aan kunt werken.

Kunnen jullie bestaande software verbeteren?

Ja. Verbeteren kan gaan over snelheid, gebruiksgemak, beveiliging, nieuwe functies of het bijwerken van onderliggende software die verouderd is.

De volgorde is belangrijk. Eerst zorgen we dat de basis stabiel en veilig is:

  1. werkende back-ups, en getest of je ze ook kunt terugzetten;
  2. monitoring, zodat je weet wanneer er iets misgaat;
  3. beveiligingsupdates voor de gebruikte software en pakketten.

Pas daarna komen nieuwe functies. Anders bouw je verder op een fundament waarvan je niet weet of het houdt. Verbeteringen doen we in korte rondes met tussentijds werkende versies, zodat je steeds ziet wat er veranderd is en er niet in één keer veel tegelijk wijzigt.

Kunnen jullie oude software moderniseren?

Ja, en dat hoeft niet in één grote stap. Moderniseren kan stapsgewijs, terwijl de software gewoon blijft draaien. Mogelijke stappen zijn:

  • de programmeertaal en het framework bijwerken naar een ondersteunde versie;
  • verouderde onderdelen één voor één herschrijven;
  • een nieuwe, gebruiksvriendelijke interface bouwen op de bestaande basis;
  • een API toevoegen, zodat de software met andere systemen kan praten;
  • de software naar een modernere hosting brengen.

Werkt je software in de kern goed en is ze veilig te onderhouden, dan is stap voor stap moderniseren vaak verstandiger dan alles opnieuw bouwen. Je behoudt wat werkt, spreidt het risico en je gebruikers hoeven niet in één keer aan een compleet nieuw systeem te wennen.

Kunnen jullie legacy software vervangen?

Ja, maar alleen als dat de verstandige keuze is. Vervangen is een grotere ingreep dan moderniseren, dus het moet ook iets opleveren.

Vervangen ligt voor de hand als:

  • de gebruikte technologie niet meer wordt ondersteund en er geen beveiligingsupdates meer komen;
  • niemand de code nog goed kan onderhouden;
  • elke kleine wijziging iets anders laat breken;
  • de software niet meer past bij hoe je bedrijf nu werkt.

Vervangen is meestal niet nodig als het systeem stabiel is, veilig kan worden bijgehouden en doet wat het moet doen. Oud is op zich geen reden.

Bij vervanging kijken we ook of maatwerk wel nodig is, of dat een standaardpakket volstaat. Die afweging lees je in maatwerk of standaard software. Kies je voor maatwerk, dan bouwen we het nieuwe systeem als maatwerk software naast het oude, zetten we de gegevens over en stap je pas over als alles getest is.

Kunnen jullie een bestaand systeem migreren?

Ja. Een concreet voorbeeld is WinkelcentrumPromotie. Die website draaide op een verouderd, zelfgebouwd PHP-CMS en is overgezet naar Smoothie, ons eigen CMS op Laravel. Het resultaat:

  • 13 pagina's overgezet;
  • 38 nieuwsberichten meegenomen;
  • 388 afbeeldingen gemigreerd;
  • 0 pagina's verloren.

De nieuwe site draait op wcp.smoothweb.nl. Je leest het hele verhaal in de case WinkelcentrumPromotie.

Een migratie verloopt in grote lijnen zo:

  1. Inventariseren: welke pagina's, gegevens, bestanden en functies zijn er?
  2. Vertalen: bepalen waar elk onderdeel in het nieuwe systeem terechtkomt.
  3. Testmigratie op een kopie, nooit direct op live gegevens.
  4. Controleren: aantallen vergelijken en steekproeven doen.
  5. Overstappen op een afgesproken moment, na testen op telefoon, tablet en desktop.
  6. Nazorg: monitoring en het oplossen van wat er na livegang nog opduikt.

Kunnen jullie bugs oplossen in bestaande software?

Ja. Een bug oplossen gaat in vaste stappen: het probleem nabootsen, de oorzaak vinden, het oplossen, testen en zorgen dat het niet terugkomt.

Het helpt als je aanlevert:

  • wat er gebeurt en wat je had verwacht;
  • wanneer het gebeurt, en bij wie of op welk apparaat;
  • schermafbeeldingen of foutmeldingen;
  • toegang tot de logbestanden van de server.

Wees realistisch over de eerste keer: in code die we nog niet kennen, kost het onderzoek naar de oorzaak meer tijd dan de oplossing zelf. Soms blijkt een bug een symptoom van een dieper probleem, zoals verouderde pakketten of een database die niet klopt. Dan is een code-audit een logische volgende stap.

Kunnen jullie een code-audit uitvoeren?

Ja. Een code-audit is een grondige doorlichting van je software, zodat je weet waar je staat voordat je verder investeert. We kijken onder meer naar:

  • Structuur en leesbaarheid: kan een andere ontwikkelaar hier goed mee verder?
  • Beveiliging: verouderde pakketten, bekende kwetsbaarheden, wachtwoorden of sleutels die in de code staan.
  • Prestaties: waar wordt de software traag, en waarom?
  • Database: structuur, indexen en de kwaliteit van de gegevens.
  • Afhankelijkheden: welke versies worden gebruikt en worden die nog ondersteund?
  • Hosting en back-ups: is er een herstelplan als het misgaat?

Je krijgt een overzicht met bevindingen, prioriteiten en een advies: laten zoals het is, gericht verbeteren of vervangen. Een audit is vooral nuttig vóór een overname, voordat je een grote uitbreiding laat bouwen of wanneer de samenwerking met je huidige ontwikkelaar stopt.

Wat gebeurt er met mijn bestaande data?

Je data blijft van jou en gaat mee. Bij elke overname, modernisering of migratie is het uitgangspunt dat er niets verloren gaat. Bij WinkelcentrumPromotie betekende dat: 0 pagina's verloren.

Zo pak je dat zorgvuldig aan:

  • eerst een volledige back-up, voordat er iets wordt aangeraakt;
  • migreren op een kopie, nooit rechtstreeks op de live gegevens;
  • na de migratie controleren: aantallen tellen en steekproeven vergelijken met het origineel;
  • samen beslissen wat er mee moet, want een migratie is ook een goed moment om oude of dubbele gegevens op te ruimen;
  • het oude systeem niet direct weggooien, maar een tijd bewaren als naslag.

Staan er persoonsgegevens in je systeem, dan hoort daar extra zorg bij: wie heeft er tijdens de migratie toegang toe, en waar staan de kopieën?

Kunnen jullie mijn database migreren?

Ja. Een databasemigratie kan verschillende dingen betekenen:

  • dezelfde database naar een nieuwe server of hosting verhuizen;
  • de database bijwerken naar een nieuwere versie;
  • gegevens omzetten naar de structuur van een nieuw systeem;
  • overstappen naar een ander type database.

De aanpak is steeds vergelijkbaar: back-up maken, de huidige structuur analyseren, scripts schrijven die de gegevens omzetten, een testmigratie draaien, de uitkomst controleren en daarna een moment kiezen voor de echte overstap, zodat je er zo min mogelijk last van hebt.

Houd er rekening mee dat oude databases vaak verrassingen bevatten, zoals lege verplichte velden, dubbele records of tekens die verkeerd zijn opgeslagen. Die komen meestal bij de testmigratie boven en worden dan opgelost, voordat de live overstap plaatsvindt.

Persoonlijk advies over jouw situatie

Heb je software die overgenomen, verbeterd of vervangen moet worden, of een website op een verouderd systeem? Plan een kennismaking. Je krijgt binnen 24 uur een reactie, één vast aanspreekpunt en na het gesprek een vaste prijs vooraf.

Reactie binnen 24 uur

Liever persoonlijk advies?

Vertel ons wat je wilt bereiken. Binnen 24 uur weet je waar je aan toe bent, met een vaste prijs vooraf.

  • Gratis kennismaking
  • Vaste prijs vooraf
  • Persoonlijk contact
s
smoothware Assistant
Online · reageert direct
Hoi! 👋 Benieuwd wat we voor jouw bedrijf kunnen bouwen? Stel gerust je vraag, je krijgt meteen antwoord.