Wat is offshore software development?
Software laten ontwikkelen door een team in een ander werelddeel
Offshore software development is een vorm van outsourcing waarbij developers vanuit een ander werelddeel aan software werken. Het team kan een volledig project uitvoeren of aanvullende ontwikkelcapaciteit leveren. De opdrachtgever bepaalt welke functies, technische standaarden en verantwoordelijkheden binnen de samenwerking gelden.
Wat is het verschil tussen offshore, nearshore en onshore?
De locatie van het externe ontwikkelteam bepaalt de benaming
Bij onshore softwareontwikkeling werkt het externe team in hetzelfde land als de opdrachtgever. Nearshore development vindt plaats in een nabijgelegen land, vaak met een beperkte afstand of een vergelijkbare tijdzone. Bij offshore development bevindt het ontwikkelteam zich doorgaans verder weg en kan het tijdsverschil groter zijn.
Deze termen beschrijven vooral de geografische samenwerking. Ze zeggen op zichzelf niets over de gebruikte programmeertalen, kwaliteit van de code of verdeling van verantwoordelijkheden. Deze onderdelen worden bepaald door de selectie van developers, projectafspraken en technische werkwijze.
Hoe werkt offshore softwareontwikkeling in de praktijk?
Maak taken, codecontrole en overdracht onderdeel van één ontwikkelproces
Een offshore samenwerking begint met het vaststellen van de werkzaamheden. Een team kan een nieuwe applicatie bouwen, een afzonderlijke module ontwikkelen of structureel bijdragen aan bestaande software. De gewenste rol bepaalt welke toegang, documentatie en technische kennis nodig zijn.
Bij een afgebakend project worden de te ontwikkelen onderdelen vooraf beschreven. Het offshore team werkt dan aan overeengekomen functionaliteiten en oplevermomenten. Bij een dedicated team worden developers voor een langere periode ingezet en sluiten zij aan op de bestaande planning en prioriteiten.
De opdrachtgever bepaalt wie verantwoordelijk is voor productkeuzes en inhoudelijke prioriteiten. Denk aan het vaststellen van gebruikersrollen, bedrijfsregels en acceptatiecriteria. Het ontwikkelteam zet deze informatie om in programmacode en technische functies.
Taken kunnen in een gezamenlijk ticketsysteem worden vastgelegd. Ieder ticket beschrijft bijvoorbeeld de gewenste functie, relevante gebruikersroute en voorwaarden voor controle. Hiermee heeft het team een concreet uitgangspunt voor de ontwikkeling.
Code reviews kunnen door een andere developer, een technisch verantwoordelijke of een combinatie daarvan worden uitgevoerd. Welke controles verplicht zijn, wordt vooraf afgesproken. Ook automatische controles kunnen onderdeel zijn van de ontwikkelstraat.
Testen vormt een afzonderlijk onderdeel van de oplevering. De developer kan geautomatiseerde tests toevoegen en de functie in een testomgeving beschikbaar maken. De opdrachtgever of aangewezen tester beoordeelt vervolgens of het resultaat overeenkomt met de functionele afspraken.
Een tijdsverschil beïnvloedt de communicatiemomenten. Teams kunnen een dagelijks overlappend tijdvak afspreken voor vragen, demonstraties en overdracht. Werk dat buiten dit venster plaatsvindt, wordt vastgelegd in tickets, documentatie en codewijzigingen.
Communicatie hoeft niet alleen uit vergaderingen te bestaan. Schriftelijke besluiten, technische documentatie en duidelijke acceptatiecriteria maken informatie terugvindbaar. Dit is relevant voor ieder extern ontwikkelteam, ongeacht het land waar developers werken.
Een offshore developer heeft alleen toegang nodig tot de systemen en gegevens die voor de toegewezen werkzaamheden vereist zijn. De opdrachtgever bepaalt welke omgevingen, repositories en accounts beschikbaar worden gesteld. Technische rollen en toegangsrechten kunnen daarop worden ingericht.
Productiegegevens zijn niet altijd nodig om software te ontwikkelen of testen. Afhankelijk van het project kunnen testdata en afzonderlijke ontwikkelomgevingen worden gebruikt. Welke gegevens beschikbaar mogen zijn, wordt door de opdrachtgever vastgesteld.
APPelit kan offshore developers inzetten binnen een afgebakend project of dedicated team. Welke developers en vaardigheden nodig zijn, hangt af van de gebruikte technologie, bestaande software en gewenste werkzaamheden.
Case: offshore team voor uitbreiding van een SaaS-platform
Nieuwe rapportagefuncties ontwikkelen binnen een bestaande codebasis
Een SaaS-leverancier heeft een online platform voor het beheren van onderhoudscontracten. Het interne ontwikkelteam werkt aan de kernfunctionaliteiten, maar de organisatie wil daarnaast een nieuwe rapportagemodule laten bouwen.
De leverancier beschrijft welke gebruikers toegang krijgen tot de module en welke gegevens in de rapportages worden gebruikt. Ook worden de gewenste filters, exportmogelijkheden en autorisaties vastgelegd.
APPelit stelt een team samen met developers die aansluiten op de aanwezige programmeertaal en technische omgeving. Het offshore team krijgt toegang tot een afgeschermde ontwikkelomgeving, de relevante repository en de tickets voor de rapportagemodule.
De eerste werkzaamheden bestaan uit het opbouwen van de schermstructuur en de API-functies voor het ophalen van rapportagegegevens. Iedere functie wordt als afzonderlijk ticket ontwikkeld en via een pull request ter beoordeling aangeboden.
Een technisch verantwoordelijke van de SaaS-leverancier beoordeelt wijzigingen die invloed hebben op de bestaande architectuur. Code binnen de afgesproken module kan daarnaast door een developer uit het offshore team worden gereviewd.
Geautomatiseerde tests controleren onder meer de berekeningen, filters en gebruikersrechten. De gerealiseerde onderdelen worden vervolgens in een testomgeving beschikbaar gemaakt. De leverancier controleert daar of de rapportages overeenkomen met de functionele beschrijving.
Omdat de teams in verschillende tijdzones werken, is dagelijks een vast overlegmoment gepland. Vragen die buiten dit tijdvak ontstaan, worden in het ticketsysteem geplaatst. Hierdoor kan het interne team de benodigde informatie tijdens de eigen werkdag aanvullen.
De module wordt niet rechtstreeks vanuit de ontwikkelomgeving gepubliceerd. Na technische en functionele controle wordt de code volgens het bestaande releaseproces van de SaaS-leverancier verwerkt.
Documentatie over de API-functies, rapportagevelden en testscenario’s wordt aan de projectomgeving toegevoegd. Daardoor blijft de opbouw van de module beschikbaar voor toekomstige uitbreiding of onderhoud.
Deze samenwerking geeft de SaaS-leverancier aanvullende ontwikkelcapaciteit voor een duidelijk afgebakend onderdeel. De leverancier behoudt de productkeuzes en acceptatie; het offshore team voert de overeengekomen technische werkzaamheden uit.
Offshore software development via APPelit
Breid uw ontwikkelcapaciteit uit met een passend samenwerkingsmodel
APPelit kan offshore developers inzetten voor maatwerksoftware, mobiele apps, platforms en uitbreidingen van bestaande systemen. Dat kan binnen een fixed project of als dedicated team voor een langere ontwikkelperiode.
Voor uw organisatie ontstaat daarmee toegang tot developers die volgens de overeengekomen taken, technologieën en projectstructuur werken. U bepaalt de prioriteiten en acceptatiecriteria; APPelit verzorgt de afgesproken ontwikkelcapaciteit.
Wilt u offshore software development inzetten? Deel uw techstack, gewenste rollen en projectwerkwijze met APPelit. Neem contact op om de mogelijkheden te bespreken of vraag een vrijblijvende offerte aan.
Ervaar het gemak van onze service!
Wilt u dat wij contact opnemen? Vul het formulier hieronder in en we bellen u terug. U kunt ook meer informatie achterlaten via onze contactpagina of het offerteformulier
Ervaar het gemak van onze service!
Wilt u dat wij contact opnemen? Vul het formulier hieronder in en we bellen u terug. U kunt ook meer informatie achterlaten via onze contactpagina of het offerteformulier
