Veelgestelde vragen
Antwoorden op de vragen die we het vaakst krijgen, gebundeld per onderwerp. Staat je vraag er niet tussen? Neem gerust contact op.
Algemeen
CodeSprinter werkt voor organisaties met een onderzoeks- of maatschappelijke doelstelling. Dat kunnen bijvoorbeeld onderzoeksorganisaties, kennisinstellingen, stichtingen, maatschappelijke organisaties of commerciële bedrijven zijn. De rechtsvorm is voor ons minder belangrijk dan het doel waarvoor de software wordt ontwikkeld.
Nee. Het is voldoende als je kunt uitleggen welk probleem je wilt oplossen of wat je wilt bereiken. Tijdens de eerste gesprekken brengen we samen in kaart welke oplossing daarbij past en welke functionaliteiten daarvoor nodig zijn.
Nee. We werken zowel voor profit- als non-profitorganisaties. Het belangrijkste is dat onderzoek of maatschappelijke impact een wezenlijk onderdeel is van het project of de organisatie.
Ja. Je hoeft nog geen technisch plan, ontwerp of complete lijst met functionaliteiten te hebben. Juist in een vroeg stadium kunnen we meedenken over wat er nodig is en welke aanpak logisch is.
Softwareontwikkeling
Maatwerksoftware is vooral interessant wanneer bestaande oplossingen onvoldoende aansluiten op je processen, gebruikers of doelstellingen. Dat kan bijvoorbeeld het geval zijn wanneer je specifieke functionaliteit nodig hebt, meerdere systemen wilt koppelen of een proces wilt ondersteunen waarvoor geen passende standaardoplossing bestaat.
Nee. We kunnen ook onderdelen ontwikkelen, koppelingen realiseren of bestaande software uitbreiden, afhankelijk van de technische situatie en het vraagstuk.
Dat hangt af van de gebruikte technologie, de kwaliteit van de bestaande code en de beschikbare documentatie. We bekijken eerst hoe de software is opgebouwd en of verder ontwikkelen technisch en praktisch verstandig is.
In veel gevallen wel. Als een ander systeem een geschikte API of andere technische koppelmogelijkheid beschikbaar heeft, kunnen we onderzoeken hoe beide systemen met elkaar kunnen communiceren.
Dat verschilt per project. De doorlooptijd hangt onder andere af van de omvang, complexiteit, het aantal functionaliteiten en eventuele externe afhankelijkheden. Voordat de ontwikkeling start, brengen we de scope in kaart zodat duidelijk is wat er gebouwd gaat worden en welke planning daarbij past.
Daar is geen vast bedrag voor, omdat ieder project anders is. Na de kennismaking en het plan van aanpak maken we een offerte op basis van de afgesproken functionaliteiten en scope. Als het beschikbare budget daarom vraagt, kunnen we samen kijken welke onderdelen prioriteit hebben en waar eventueel kan worden bijgestuurd.
Afspraken over eigenaarschap worden vooraf duidelijk vastgelegd. Het uitgangspunt is dat je niet onnodig afhankelijk wordt van CodeSprinter en dat helder is welke software en gegevens van jouw organisatie zijn.
AI-gedreven software
Ja. AI-modellen kunnen informatie verkeerd interpreteren, onjuiste conclusies trekken of overtuigend een antwoord geven dat niet klopt. Daarom kijken we bij AI-gedreven software niet alleen naar de werking van het model, maar ook naar de gevolgen wanneer het model een fout maakt. Afhankelijk van de toepassing kunnen bijvoorbeeld menselijke controle, validatiestappen of beperkingen worden ingebouwd.
Dat hangt af van de rol die AI binnen de software krijgt. Bij sommige toepassingen kan AI zelfstandig een eenvoudige taak uitvoeren. Bij andere toepassingen is het belangrijk dat een gebruiker resultaten eerst beoordeelt, aanpast of goedkeurt. Vanuit Human-Centered AI kijken we bewust naar die verdeling tussen mens en technologie.
Dat hangt onder andere af van welke gegevens worden verwerkt en welke AI-technologie wordt gebruikt. We kijken bijvoorbeeld naar welke informatie een model daadwerkelijk nodig heeft, waar gegevens worden verwerkt en welke externe partijen eventueel bij de verwerking betrokken zijn. Bij gevoelige gegevens kunnen aanvullende technische en organisatorische maatregelen nodig zijn.
Niet noodzakelijk. Sommige AI-oplossingen maken gebruik van modellen van externe leveranciers, terwijl andere modellen binnen een meer afgeschermde omgeving kunnen draaien. Welke aanpak passend is, hangt af van het project, de gewenste functionaliteit, de gevoeligheid van de gegevens en eventuele eisen vanuit je organisatie.
Dat hoeft niet. Wanneer dat voor een project relevant is, kunnen we de software zo ontwerpen dat de AI-laag niet onnodig verweven raakt met één specifieke leverancier. Dat kan het eenvoudiger maken om later een ander model of andere leverancier te gebruiken. Volledige uitwisselbaarheid is echter niet altijd mogelijk, omdat modellen verschillende mogelijkheden en interfaces hebben.
AI-software vraagt om een andere manier van testen dan traditionele software. Naast technische tests kijken we naar realistische situaties, de kwaliteit van de uitkomsten, uitzonderingen en situaties waarin het model fouten maakt of onzeker is. Bij toepassingen waarin mensen met de AI samenwerken, is ook belangrijk of de uitkomsten in de praktijk begrijpelijk en bruikbaar zijn.
Niet ieder probleem heeft AI nodig. Als hetzelfde doel betrouwbaar kan worden bereikt met traditionele software, kan dat eenvoudiger, voorspelbaarder en goedkoper zijn. Daarom bepalen we eerst wat je wilt bereiken en onderzoeken we daarna of AI daadwerkelijk waarde toevoegt.
Technologie
Dat hangt af van het project. We werken onder andere met Python, Django, React en TypeScript, maar kiezen technologie niet alleen omdat we ermee bekend zijn. We kijken eerst naar wat de software nodig heeft en bepalen vervolgens welke technische aanpak daarbij past.
Omdat verschillende toepassingen verschillende eisen hebben. Een eenvoudige interne applicatie heeft bijvoorbeeld andere behoeften dan software die grote hoeveelheden gegevens verwerkt, complexe koppelingen bevat of op verschillende apparaten gebruikt wordt. Een vaste technische blauwdruk zou daarom onnodige beperkingen kunnen opleveren.
Dat hangt af van het type gegevens en de manier waarop de applicatie ermee werkt. Voor veel projecten gebruiken we relationele databases zoals PostgreSQL. In andere situaties kan een andere oplossing beter passen. Bij die keuze kijken we onder andere naar betrouwbaarheid, structuur, prestaties en onderhoudbaarheid.
In veel gevallen wel. Als een ander systeem een geschikte API of andere technische interface beschikbaar heeft, kunnen we onderzoeken hoe informatie tussen beide systemen kan worden uitgewisseld. Daarbij kijken we ook naar beveiliging, betrouwbaarheid en de afhankelijkheid van de externe partij.
Nee. Containertechnologie kan veel voordelen bieden voor consistente deployments en beheer, maar niet iedere applicatie heeft dezelfde infrastructuur nodig. Kubernetes gebruiken we alleen wanneer de schaal of complexiteit van de omgeving daar aanleiding toe geeft.
Waar passend automatiseren we het proces waarmee software wordt getest en uitgerold. Dit helpt om wijzigingen gecontroleerd naar een test- of productieomgeving te brengen en verkleint de kans op handmatige fouten. De exacte inrichting hangt af van het project en de hostingomgeving.
Wanneer dat passend is bij de applicatie en de beheerafspraken, richten we monitoring en logging in. Monitoring geeft inzicht in de technische gezondheid en prestaties van een systeem. Logging helpt bij het onderzoeken van fouten en onverwacht gedrag.
We proberen software duidelijk en onderhoudbaar op te bouwen. Dat betekent onder andere dat we aandacht besteden aan structuur, technische afhankelijkheden en het voorkomen van onnodige complexiteit. Geen enkele technische keuze maakt software onbeperkt toekomstbestendig, maar een goede basis maakt toekomstige wijzigingen aanzienlijk eenvoudiger.
Dat is het uitgangspunt. We proberen software zo op te bouwen dat deze niet alleen door de oorspronkelijke ontwikkelaar te begrijpen is. Hoe eenvoudig een overdracht is, hangt natuurlijk ook af van de omvang van het project, documentatie en de gebruikte technologieën.
Werkwijze
We starten met een kennismakingsgesprek. Daarin bespreken we jouw organisatie, het vraagstuk, de doelstellingen en de eerste ideeën. Daarna werken we toe naar een plan van aanpak waarin duidelijk wordt wat er ontwikkeld moet worden.
Ja. We werken graag in stappen en laten regelmatig zien wat er is gebouwd. Zodra dat mogelijk is, stellen we een stagingomgeving beschikbaar waarin je zelf functionaliteiten kunt testen en feedback kunt geven.
Ja, maar wijzigingen kunnen gevolgen hebben voor planning, scope en budget. We bespreken daarom altijd eerst wat de wijziging betekent en of deze binnen de bestaande afspraken past.
Dan kijken we samen naar de prioriteiten. Met behulp van de eerder gemaakte prioritering kunnen we bepalen welke functionaliteiten essentieel zijn en welke eventueel kunnen worden uitgesteld, aangepast of weggelaten.
Managed hosting
Managed hosting betekent dat CodeSprinter niet alleen de technische omgeving beschikbaar stelt, maar deze ook actief beheert. Daaronder kunnen onder andere infrastructuur, monitoring, back-ups, certificaten en technische updates vallen.
Nee. Managed hosting is een aparte dienst en wordt los van de ontwikkeling aangeboden.
Nee. Je kunt zelf bepalen hoe je de hosting organiseert. Als je wilt dat CodeSprinter de technische omgeving beheert, kunnen we daarvoor een managed hosting-oplossing aanbieden.
Managed hosting gaat over de infrastructuur waarin de applicatie draait. Managed softwarebeheer gaat over de applicatie zelf. Je kunt beide diensten combineren.
Ja, wanneer dit onderdeel is van de hostingafspraken. De exacte frequentie, bewaartermijnen en herstelmogelijkheden hangen af van de applicatie, de gegevens en de eisen van het project.
Dat hangt af van de gekozen hostingomgeving en de eisen van het project. Als er specifieke eisen zijn rond gegevenslocatie, privacy of beveiliging, nemen we die mee bij het inrichten van de omgeving.
We onderhouden de technische onderdelen van de hostingomgeving en beoordelen relevante beveiligingsupdates. Welke updates nodig zijn en wanneer deze worden uitgevoerd, hangt af van de gebruikte infrastructuur en de impact op de omgeving.
We gebruiken monitoring om technische problemen in de hostingomgeving zichtbaar te maken. Wanneer er een incident ontstaat, onderzoeken we de oorzaak en bepalen we welke actie nodig is. Responstijden en bereikbaarheid hangen af van de serviceafspraken die voor de omgeving gelden.
Niet standaard. De mate van bereikbaarheid en incidentrespons hangt af van de afspraken die voor de omgeving zijn gemaakt. Als 24/7 beschikbaarheid of specifieke responstijden nodig zijn, moet dat vooraf expliciet worden afgestemd.
Een Autonomous System Number, of ASN, wordt gebruikt om zelfstandig netwerkverkeer op internet te beheren. Doordat CodeSprinter eigen IP-ruimte en een eigen ASN beheert, hebben we meer controle over bepaalde netwerkonderdelen en zijn we minder afhankelijk van één specifieke hostingprovider. Voor klanten is het vooral relevant dat dit ons meer technische flexibiliteit en controle geeft.
Waar dat passend is, kunnen we containertechnologie en Kubernetes gebruiken voor het beheren van applicaties en infrastructuur. Niet iedere applicatie heeft zo’n omgeving nodig. We kiezen de infrastructuur op basis van wat het project vraagt.
Ja. Als gebruik, capaciteit of technische eisen veranderen, kunnen we onderzoeken welke aanpassingen aan de omgeving nodig zijn. De exacte mogelijkheden hangen af van de architectuur en hostinginrichting.
Managed softwarebeheer
Managed softwarebeheer richt zich op het technisch onderhouden van je applicatie nadat deze is opgeleverd. Denk aan technische updates, het onderzoeken van problemen en werkzaamheden die nodig zijn om de bestaande software goed te blijven onderhouden.
Nee. Managed hosting gaat over de technische omgeving waarin de applicatie draait, zoals infrastructuur, netwerk, monitoring en back-ups. Managed softwarebeheer gaat over de applicatie zelf. Je kunt beide diensten combineren.
Nee. Softwareontwikkeling en managed softwarebeheer zijn aparte diensten. Na oplevering kun je ervoor kiezen dat CodeSprinter betrokken blijft bij het technische onderhoud van de applicatie.
Nee. Nieuwe functionaliteiten en grotere functionele wijzigingen vallen onder doorontwikkeling. Als je nieuwe wensen hebt, bespreken we wat daarvoor nodig is en maken we daar aparte afspraken over.
Dat hangt af van de oorzaak en de afspraken die voor het project gelden. Een technisch probleem dat ontstaat tijdens het gebruik van de software kan binnen het beheer vallen. Problemen die bijvoorbeeld veroorzaakt worden door een nieuwe externe koppeling of een gewenste functionele wijziging kunnen apart werk vereisen. We maken vooraf duidelijk welke werkzaamheden onder de beheerafspraken vallen.
Ja, wanneer dit onderdeel is van de beheerafspraken. We beoordelen relevante updates en kijken daarbij ook naar mogelijke gevolgen voor de bestaande applicatie. Niet iedere nieuwe versie hoeft direct te worden geïnstalleerd. Het belangrijkste is dat de software technisch gezond en beheersbaar blijft.
Soms. We bekijken dan eerst de technische staat van de applicatie, de gebruikte technologieën en de beschikbare documentatie. Op basis daarvan bepalen we of we het beheer verantwoord kunnen overnemen.
We onderzoeken de oorzaak en bepalen welke oplossing nodig is. Hoe incidenten worden opgepakt en welke responstijden gelden, hangt af van de gemaakte beheerafspraken.
Ja. Beheer zorgt voor de technische continuïteit van de bestaande software. Daarnaast kunnen we nieuwe wensen en functionaliteiten als aparte doorontwikkeling oppakken.
Privacy en beveiliging
Ja. Privacy en beveiliging worden vanaf het begin meegenomen in het ontwerp en de ontwikkeling van de software. Welke maatregelen nodig zijn, hangt af van het type gegevens, de gebruikers en de context van het project.
De AVG is geen algemene technische checklist waarmee een softwareleverancier of applicatie automatisch compliant is. We ontwikkelen met aandacht voor privacy en gegevensbescherming en helpen bij het technisch vertalen van relevante eisen. De uiteindelijke juridische verantwoordelijkheden hangen af van de organisatie, de gegevensverwerking en de rolverdeling binnen het project.
Ja, mits duidelijk is welke eisen daarbij horen. Tijdens het project bespreken we welke technische en organisatorische maatregelen relevant zijn voor het type gegevens dat wordt verwerkt.
We kijken naar het doel van de applicatie en proberen alleen gegevens te verwerken die daar daadwerkelijk voor nodig zijn. Welke gegevens wel of niet nodig zijn, wordt samen met de klant bepaald.
Dat hangt af van de gebruikers en rollen binnen de applicatie. We kunnen werken met verschillende rechten en toegangsniveaus, zodat gebruikers alleen toegang krijgen tot informatie en functionaliteit die voor hen relevant is.
Waar dat passend is, gebruiken we versleutelde verbindingen en technische maatregelen om gegevens te beschermen tijdens transport en opslag. Welke maatregelen nodig zijn, hangt af van de gevoeligheid van de gegevens en de hostingomgeving.
Dat hangt af van de gekozen hostingomgeving en de eisen van het project. Als er specifieke eisen zijn rond gegevenslocatie, privacy of beveiliging, nemen we die mee in de technische inrichting.
Bewaartermijnen worden bepaald door het doel van de verwerking, de afspraken binnen het project en eventuele wet- of regelgeving. CodeSprinter kan helpen om deze keuzes technisch te ondersteunen, maar de inhoudelijke en juridische verantwoordelijkheid ligt bij de organisatie die de gegevens verwerkt.
We bouwen software zo dat technisch onderhoud en updates later mogelijk blijven. Wanneer CodeSprinter het softwarebeheer of de hosting verzorgt, kunnen relevante beveiligingsupdates onderdeel zijn van die dienstverlening.
Bij AI-toepassingen kijken we onder andere naar welke gegevens met modellen worden verwerkt, waar die verwerking plaatsvindt en welke externe partijen eventueel betrokken zijn. Ook menselijke controle en de gevolgen van onjuiste AI-uitkomsten kunnen onderdeel zijn van het ontwerp.
We kunnen helpen met de technische informatie die nodig is om privacyrisico’s en gegevensstromen inzichtelijk te maken. Voor juridisch advies of formele privacybeoordelingen is meestal aanvullende expertise nodig.
Nee. Geen enkel softwaresysteem kan absolute veiligheid garanderen. Het doel is om risico’s te beperken met passende technische en organisatorische maatregelen en software zo te ontwerpen dat deze goed onderhouden en beveiligd kan blijven.
Samenwerking en contact
Nee. Jij hoeft niet te weten welke programmeertaal, database of infrastructuur nodig is. We leggen technische keuzes begrijpelijk uit en adviseren over de aanpak.
Ja. We houden de lijnen kort, zodat vragen, keuzes en feedback rechtstreeks besproken kunnen worden.
Ja. Na oplevering kun je kiezen voor managed hosting, managed softwarebeheer en eventuele verdere doorontwikkeling.
Neem contact met ons op en vertel kort waar je aan werkt of wat je wilt bereiken. Je hoeft nog geen compleet uitgewerkt plan te hebben. We bespreken eerst het vraagstuk en kijken daarna samen welke vervolgstap logisch is.
Staat je vraag er niet tussen?
Neem gerust contact op en vertel kort waar je aan werkt. We denken graag met je mee.