Maatwerksoftware & portalen

Nieuwe software opleveren: regel code, accounts, gegevens en doorontwikkeling

Maak een nieuwe softwareoplevering overdraagbaar met concrete afspraken over toegang, bouw, beheer, gegevens, documentatie en toekomstige wijzigingen.

Op deze pagina

Na een nieuwe softwareoplevering moet duidelijk zijn hoe de organisatie de applicatie kan gebruiken, beheren en verder laten ontwikkelen. De woorden “de software is van jou” beantwoorden niet vanzelf wie een account beheert, waar de code staat of hoe een andere ontwikkelaar een wijziging kan uitvoeren. Technische toegang, dagelijkse verantwoordelijkheid en commerciële of juridische afspraken zijn verschillende onderwerpen die naast elkaar moeten worden uitgewerkt.

Deze gids richt zich op de afspraken bij een nieuwe ontwikkeling en de daaropvolgende doorontwikkeling. Zij gaat niet over het onderzoeken van een onbekend geërfd systeem. Het fictieve voorbeeld betreft een bureau dat een nieuw klantportaal laat bouwen. De voorbeelden verduidelijken een gewenste oplevering; ze beschrijven geen klantcontract, geleverde OXIAE-oplossing of automatisch geldende rechten.

Beschrijf de oplevering als een bruikbaar geheel

Maak vooraf een lijst van de onderdelen die nodig zijn om de eerste versie te gebruiken en te beheren. Denk aan applicatiecode, gegevensstructuur, omgevingen, gebruikte diensten, instructies en relevante proefgevallen. Beschrijf voor ieder onderdeel waar het beschikbaar wordt, wie toegang krijgt en welke verantwoordelijkheid erbij hoort. Een map met bestanden zonder uitleg is niet hetzelfde als een beheerbare toepassing.

Neem het fictieve klantportaal als uitgangspunt. Het bureau wil klanten uitnodigen, documenten ontvangen en voortgang bespreken. Naast de werkende schermen heeft het iemand nodig die accounts kan aanpassen, fouten kan opvolgen en een volgende versie kan laten maken. Die taken helpen bepalen welke opleverinformatie werkelijk belangrijk is. Zo wordt documentatie geen abstract extra product maar een hulpmiddel bij concreet afgesproken werk.

Maak code en versiegeschiedenis toegankelijk

Leg vast in welke repository de code wordt onderhouden en wie het account of de organisatie beheert. Benoem wie toegang nodig heeft voor beoordeling, ontwikkeling en dagelijks beheer. Houd rollen proportioneel; iemand die een rapport leest, hoeft niet automatisch productie te kunnen wijzigen. Beschrijf ook hoe toegang van een vertrekkende medewerker of ontwikkelaar wordt aangepast zonder de continuïteit van het project afhankelijk te maken van één persoon.

GitHub beschrijft repositoryoverdracht als een platformhandeling met eigen voorwaarden. Dat is een bruikbaar voorbeeld van het verschil tussen een technische overdracht en bredere afspraken over software. Een repository kunnen administreren betekent niet vanzelf dat alle gebruikte externe diensten, gegevens of contractuele rechten mee zijn geregeld. Vraag daarom om de afzonderlijke onderdelen van de beoogde oplevering te benoemen en aantoonbaar beschikbaar te maken.

GitHub Docs: Transferring a repository ↗

Spreek af wie hosting en externe diensten beheert

Maak een overzicht van hosting, database, domeinnaam, e-mailvoorziening en andere diensten die de applicatie nodig heeft. Leg per dienst vast wie verantwoordelijk is voor het account, de betaling, technische inrichting en wijzigingen. Deze verantwoordelijkheden kunnen bij verschillende partijen liggen, maar moeten begrijpelijk blijven voor degene die bij een storing of contractwijziging het eerste besluit moet nemen.

Onderzoek een praktisch geval: de betalingscontactpersoon van een externe dienst verandert. Wie kan dat regelen en wie kan beoordelen of de wijziging invloed heeft op de applicatie? Deel geen toegangssleutels in algemene projectdocumenten. Spreek een passende overdrachts- en beheerwijze voor geheimen af. Het overzicht moet duidelijk maken welke toegang nodig is, zonder gevoelige gegevens onnodig te verspreiden onder iedereen die de projectinformatie kan lezen.

Maak overdraagbaarheid concreet met toegang, een reproduceerbare bouw en geoefend beheer: Beheer van bestaande software overdragen: laat een tweede persoon het uitvoeren.

Maak bouwen en publiceren herhaalbaar

Een nieuwe ontwikkelaar moet kunnen begrijpen hoe de applicatie uit de beschikbare broncode ontstaat. Leg gebruikte versies, afhankelijkheden, configuratiecategorieën en de publicatieroute vast. Beschrijf welke onderdelen automatisch worden uitgevoerd en waar een bevoegde persoon moet beslissen. Een geslaagde eerste publicatie op de laptop van de oorspronkelijke maker zegt weinig over de mogelijkheid om diezelfde versie later opnieuw samen te stellen.

Laat bij oplevering een passende herhaalproef uitvoeren in een afgesproken omgeving. Die kan aantonen dat de documentatie voldoende is om een herkenbare versie te bouwen en te controleren. Gebruik daarbij de juiste toegang en geen kopie van productiegeheimen in gewone bronbestanden. Het bewijs betreft de gekozen omgeving en versie; veranderingen aan leveranciers of afhankelijkheden kunnen later opnieuw beoordeling en onderhoud vragen.

Maak gegevens en exports begrijpelijk

Bepaal hoe de organisatie haar gegevens kan terugvinden, exporteren en beoordelen. Een export moet niet alleen technisch bestaan, maar voldoende betekenis en referenties bewaren voor het beoogde vervolggebruik. Beschrijf bijvoorbeeld hoe klant, aanvraag, documentversie en status met elkaar samenhangen. Een bestand zonder die uitleg kan bij doorontwikkeling of een volgende overdracht veel extra reconstructie vragen.

Kies een kleine representatieve export en laat een inhoudelijk verantwoordelijke de records herkennen. Bespreek wat buiten de export blijft en welke aanvullende stap nodig is voor bijlagen of historie. Dit gaat over de afgesproken technische beschikbaarheid van gegevens. Bepaalde bewaartermijnen, verwijderafspraken en rechten moeten binnen de werkelijke bedrijfscontext worden vastgesteld; de applicatie kan die keuzes ondersteunen wanneer duidelijk is wat ermee wordt bedoeld.

Behandel documentatie als kennis bij een taak

Niet ieder project heeft dezelfde hoeveelheid documentatie nodig. Een kleine toepassing kan met een compacte systeemkaart, enkele beslisnotities en concrete beheerinstructies goed overdraagbaar zijn. Een complexer portaal kan meer uitleg vragen over rollen, gegevensstromen en afhankelijkheden. Richt de informatie op mensen die een taak moeten uitvoeren, in plaats van vooral op het vullen van een uitgebreid maar ongebruikt document.

Vraag de beoogde beheerder een foutmelding te onderzoeken of een nieuwe gebruiker correct toe te voegen. Kijk welke uitleg daarvoor ontbreekt. Laat een ontwikkelaar daarnaast een kleine wijziging voorbereiden met de beschikbare proefgevallen. Zulke oefeningen geven gerichter inzicht in kennishiaten dan alleen het tellen van pagina’s. Bewaar ook belangrijke redenen voor ontwerpkeuzes, zodat een latere wijziging niet per ongeluk een bewust ingestelde grens verwijdert.

Scheid beheer, herstel en uitbreiding

Na oplevering kunnen verschillende soorten werk ontstaan. Een account moet worden aangepast, een afhankelijkheid krijgt een update, een defect moet worden onderzocht of de organisatie vraagt een nieuwe functie. Leg uit hoe deze werkzaamheden worden aangevraagd en beoordeeld. Spreek daadwerkelijk aangeboden voorwaarden af; een woord als onderhoud zegt zonder nadere omschrijving weinig over inbegrepen taken, respons en beschikbare ondersteuning.

Gebruik een concrete toekomstige wens om het gesprek te toetsen. Het bureau wil misschien een tweede klantorganisatie toevoegen met andere beoordelaars. Dat kan effect hebben op toegang, selectie, meldingen en proefgegevens. Een nieuw scherm kan maar een klein deel van het werk vormen. Een bruikbare wijzigingsroute maakt die gevolgen zichtbaar voordat het verzoek als eenvoudige aanpassing of onbeperkt inbegrepen doorontwikkeling wordt behandeld.

Bespreek rechten en beperkingen afzonderlijk

Zet in een voorstel duidelijk uiteen welke softwareonderdelen worden geleverd en welke bestaande producten, bibliotheken of externe diensten worden gebruikt. Vraag hoe de gekozen licenties en commerciële afspraken passen bij het gewenste gebruik en toekomstige beheer. Technische toegang alleen beantwoordt niet iedere vraag over toegestane aanpassing, verspreiding of verdere levering van onderdelen. Laat onduidelijkheden inhoudelijk beoordelen voordat zij een vaste projectaanname worden.

Vermijd ook de omgekeerde vereenvoudiging: een contractuele formulering maakt niet automatisch alle accounts en kennis praktisch beschikbaar. Combineer de beoogde afspraken met concrete toegang, instructies en gegevensmogelijkheden. De gekozen constructie kan per project verschillen. Het belangrijke is dat opdrachtgever en leverancier hetzelfde verstaan onder gebruiken, wijzigen, beheren en een andere partij laten aansluiten bij een volgende fase van de ontwikkeling.

Sluit af met een aantoonbare overdrachtsproef

Maak bij de eerste oplevering een klein overzicht van wat beschikbaar is en welke beperkingen bekend zijn. Laat de relevante personen een representatieve taak uitvoeren: een versie herkennen, een gebruiker beheren, een melding terugvinden of een wijziging voorbereiden. Beoordeel het resultaat tegen de afgesproken verantwoordelijkheden. Een proef door een bevoegde tweede persoon kan belangrijke ontbrekende uitleg zichtbaar maken.

Leg het besluit vast met open punten en een eigenaar voor het vervolg. Bepaal wanneer documentatie en toegang opnieuw worden gecontroleerd, bijvoorbeeld bij een wijziging van team of leverancier. Zo blijft overdraagbaarheid verbonden met werkelijk gebruik. Zij is geen eenmalige belofte bij de verkoop, maar een verzameling begrijpelijke en aantoonbare afspraken waarmee de organisatie haar nieuwe software kan blijven gebruiken en gericht verder ontwikkelen.

Van uitleg naar een concrete projectkeuze

Leg je aannames, open vragen en oplevercriteria vast in de bijbehorende tool. Gebruik de dienstengidsen om uitvoering en afbakening te bespreken.

Open de voorbereidingstool ↗

Vragen over dit onderwerp

Betekent toegang tot de broncode dat alles geregeld is?

Nee. Onderzoek ook accounts, gebruikte diensten, gegevens, bouwinstructies en afspraken over beheer en rechten. De broncode is een belangrijk onderdeel, maar een andere ontwikkelaar moet de toepassing ook kunnen begrijpen en in de afgesproken omgeving kunnen controleren of aanpassen.

Moeten alle accounts altijd op naam van de opdrachtgever staan?

Dat hangt af van de werkelijk afgesproken dienstverlening en techniek. Maak per account duidelijk wie beheert, betaalt en toegang kan verlenen of intrekken. Onderzoek hoe de organisatie verder kan wanneer een medewerker of leverancier verandert, in plaats van één algemene regel als volledige oplossing te behandelen.

Hoe voorkom ik afhankelijkheid van één ontwikkelaar?

Maak belangrijke kennis, proefgevallen en toegang bruikbaar voor de afgesproken tweede persoon. Laat een kleine concrete taak uitvoeren met de opleverinformatie. Bespreek daarnaast hoe veranderingen en ondersteuning worden geregeld. Dat geeft meer inzicht dan alleen een grote hoeveelheid code of documentatie ontvangen.

Verder met een aansluitende vraag

Bronnen en technische achtergrond

Bespreek je project met Ricardo ↗