Kennisportal
Kennisportal is een kennisplatform met een focus op de brede doelgroep Business en IT.

Werken voor een outsourcingbedrijf geeft je een schat aan ervaring

Ervaringsdeskundige aan het woord: waarom ik werken bij een outsourcebedrijf een verrijking vind

Iedereen weet inmiddels wel wat een outsourcingbedrijf doet, maar hoe is het om voor zo’n bedrijf te werken? Hoe gaan developers bij zo’n outsourcingbedrijf om met klanten uit verschillende branches en tijdzones? Hoe zorg je voor een goede samenwerking als je elkaar fysiek zelden ziet? In deze whitepaper vertel ik je waarom werken als outsource-expert een geweldige ervaring is, ik deel enkele uitdagingen met je en laat je zien hoe je teams beter laat samenwerken. Ik weet zeker dat mijn tips ook jouw in-house team helpen, want wie wil er nou niet efficiënter samenwerken?

Ik vergelijk werken bij een outsourcingbedrijf wel eens met paardrijden. Zit je voor het eerst op een paard, dan is alles nog wat onwennig en ongemakkelijk. Maar je ziet de dingen wel opeens vanuit een ander perspectief. Kortom, het is iets wat iedereen toch minstens één keertje in zijn of haar leven moet proberen. Zo ook met werken bij een outsourcingbedrijf. De voor- en nadelen van werken in outsourcing zijn natuurlijk heel subjectief en hangen nauw samen met jouw persoonlijkheid en je levensfase, maar ik vertel je graag wat het mij bracht.

Voordelen van werken in een outsourcingbedrijf

Voor mij is het grootste voordeel de mogelijkheid om ervaring op te doen met verschillende bedrijven en teams; je ervaart en vergelijkt verschillende werkculturen. Om op die manier jouw kennis uit te breiden is echt een verrijking. Bovendien krijg je door de samenwerking met verschillende klanten meer inzicht in de verschillende benaderingen die bedrijven hanteren binnen projecten. Het begint al bij de voorbereiding op een nieuwe samenwerking. Je verdiept je in nieuwe technologie, ontdekt innovatieve nieuwe werkwijzen en je leert de industrie en technologie van internationale klanten kennen.

Vrijheid, blijheid?

Outsourcingbedrijven leveren uiteraard veel diensten buiten de landsgrenzen. Soms vallen jouw werkuren dus samen met die van je klant, maar dat is zeker niet altijd het geval. Om tot een internationaal, productief en harmonieus team te komen zullen veel bedrijven daarom hun processen en werkstructuur hierop aanpassen.

De samenwerking met bepaalde klanten maakt thuiswerken mogelijk. Veel bedrijven werken met een flexibel tijdschema: je werkt acht uur per dag en bent beschikbaar tussen de vastgestelde uren, maar je begin- en eindtijd bepaal je zelf. Zorg dus voor een goede planning en schema voor jezelf, anders kom je in de problemen bij het tijdig opleveren van kwalitatieve software.

Flexibel en divers

Outsourcing trekt verschillende types mensen en persoonlijkheden aan. Diversiteit is alomtegenwoordig en wordt aangemoedigd in plaats van afgekeurd. Wie kiest voor een baan bij een outsourcingbedrijf heeft in het algemeen weinig moeite met het omarmen van verschillende werkstijlen en ziet de internationale ervaring als een echte aanwinst voor toekomstige projecten.

Maar ondanks deze voordelen is het soms intimiderend om opeens op een andere manier te gaan werken. Daarom wil ik mijn jarenlange ervaring met je delen en je enkele tips en tricks geven die de overgang eenvoudiger maken. Sommige tips lijken misschien voor de hand liggend en simpel, maar in de praktijk zijn ze uiterst belangrijk.

Deze tips zijn niet alleen handig voor developers in een outsourcingbedrijf, maar ook voor in-house developers en IT-teams die uitgedaagd worden om anders te gaan werken.

Tip 1: Groepsvorming – geen naambadges vereist

Ik ben geen fan van de verplichte ‘leer elkaar persoonlijk kennen’ sessies. Ten eerste is het lastig om die één-op-één meetings of teamgesprekken in te plannen zonder dat een teamlid buiten de boot valt. Zeker wanneer je in een team werkt waar leden in verschillende tijdzones wonen of flexibele werktijden hanteren. Ten tweede vinden we het lastig om collega’s van het werk te houden met een gesprek over koetjes en kalfjes en onze hobby’s. Er kruipt ook veel tijd in het kennismaken met alle teamleden, maar tijd is kostbaar. Veel teamleden zullen elkaar waarschijnlijk daarna nooit meer spreken, dus ik zie dit niet als een heel goed gebruik van kostbare tijd.

Duidelijke lijnen en verantwoordelijkheden

Wat voor mij het beste werkt is een document opstellen met daarin een lijst van alle werknemers binnen het project en hun verantwoordelijkheidsgebieden. Is het een internationaal team? Dan voeg je ook de werkuren van elke werknemer toe. Bij de start van een project, en zelfs na enkele weken, is het altijd lastig onthouden welke bedrijfsanalist of welke designer nu verantwoordelijk was voor wat. Zo’n document lost deze problemen op.

Tip 2: Team-gesprekken

Start met een overeenstemming over het gebruikte communicatiemiddel. Sommige teams werken graag met Slack, andere zweren bij e-mail en sommige teams verkiezen telefonisch contact. Bespreek deze voorkeuren met elkaar en kies een communicatiemiddel dat hierbij past. Zo leg je de basis voor een prettige en productieve samenwerking.

Voorkom eindeloos wachten op een antwoord

Wanneer je een vraag stelt aan een collega, wil je graag weten of jouw vraag wordt opgepakt. Werkt je collega aan een antwoord? Wordt het probleem opgepakt? Je wil graag duidelijkheid. Om onduidelijkheid te voorkomen, vind ik het daarom belangrijk om binnen mijn teams overeenstemming te bereiken over een ‘verplicht antwoorden’-model. Krijg je een vraag maar kan je niet onmiddellijk reageren of moet je eerst wat uitzoeken? Laat dat dan in ieder geval even weten. Je collega blijft dan niet wachten op jouw antwoord en kan zich focussen op iets anders. Zo voorkom je een hoop irritatie tussen collega’s.

Tip 3: Regelmatige gesprekken en vergaderingen

Heb je regelmatig projectoverleg of vergaderingen in je agenda? Zorg er dan voor dat ze niet al te veel tijd in beslag nemen. Bij Scrum-teams sluiten in sommige gevallen wel 20 mensen aan voor de dagelijkse online vergadering, die dan al snel meer dan een half uur duurt. Na verloop van tijd gaan mensen dan maar stiekem verder werken in plaats van actief de vergadering te volgen. Er zijn allerlei manieren te verzinnen om het tempo erin te houden en ervoor te zorgen dat vergaderingen niet eindeloos aanslepen, denk maar aan een daily stand-up in plaats van een vergadering.

Tip 4: Projectmatig werk: enkele handige hulpmiddelen

Iedere groep heeft zo zijn eigen projectaanpak. Zo is bij sommige bedrijven code review vereist en bij andere bedrijven kan je de master branche bijwerken. Waarschijnlijk zijn er al vastgelegde processen om dit in goede banen te leiden en jou te helpen je werk zo goed mogelijk uit te voeren. Maar dat is niet altijd zo, ik heb genoeg teams gezien waar dit niet van toepassing was.

Kies voor uniformiteit

Het is altijd goed om de projectcode zo snel mogelijk te definiëren. Er zijn verschillende manieren om dat te doen, afhankelijk van de taal en het platform. Maar één enkele stijl vereenvoudigt jouw code review enorm. Zo vermijd je dus conflicten omdat iemand in de code twee spaties gebruikte, terwijl iemand anders er altijd vier gebruikt.

Better safe than sorry

Jouw repository-branches beschermen tegen wijzigingen en het instellen van machtigingen zijn goede fail-safes. Sommige mensen vinden dit geen noodzaak, maar ik heb het al meermaals gezien dat een automatische branch pull de volledige dev of master branch wiste.

Het configureren van CI/CD met behulp van git hooks – inclusief verplichte tests – voordat de hoofdtak wordt gewijzigd, is zeer handig. Zo weet je zeker dat je altijd een geldige code hebt én je verkleint de kans dat iemand de code kapotmaakt. Deze aanpak vertraagt inderdaad ​​het toevoegen van wijzigingen aan de code. Maar geloof me, het kan je veel tijd besparen in de toekomst.

Heb jij vaak te maken met situaties waarin men zo snel mogelijk hotfixes moet maken? Dan helpen flexibele pijplijnen, bijvoorbeeld door het toevoegen van comments om tests te negeren. Zijn deze situaties geen uitzondering meer maar een constante, dan is het misschien goed om het ontwikkelingsproces aan te passen.

Duidelijke afspraken

Heb je code reviews, bepaal dan hoe vaak ze moeten plaatsvinden. Idealiter laat je ze zo vroeg mogelijk plaatsvinden zodat het de ontwikkeling niet vertraagt. Maar omdat ieder teamlid altijd druk is, is het goed om specifieke tijden af te spreken. Bijvoorbeeld ’s ochtends, na de lunch of een uur voor je werkdag erop zit. Zo vermijd je dat werknemers een halve dag zitten te niksen omdat hun werk klaar is en ze wachten tot de code wordt beoordeeld.

Houd documentatie up-to-date

Documenteer het project, zeker als er meer dan twee mensen aan werken. Dit is zowel in het voordeel van de ontwikkelaars en testers als de klant. Up-to-date documentatie bijhouden is inderdaad tijdrovend, maar bij grote projecten loont het zeker. Het is erg handig om een goede versie van de documentatie bij de hand te hebben en inzicht te hebben in opmerkingen over alle wijzigingen, gekoppeld aan de versie (of datum) van het project.

Soms gebeurt het dat een product volgens andere documentatie getest wordt dan het werd ontwikkeld, bijvoorbeeld omdat de documentatie al werd aangepast of aanpassingen werden alleen in de taken bijgehouden. In dat geval zal het heel wat tijd kosten om alle vereisten te verduidelijken en bij te werken, maar ga er wel mee aan de slag!

Adem in… en adem uit

Ten slotte, er is altijd een kans dat je aan de slag moet met de code van een andere developer of outsourcingaanbieder. Slechte code zal je stress bezorgen, maar vrees niet! Door het aantal code reviews en kwaliteitschecks te verhogen, til je het product naar het vereiste niveau en zorg je ervoor dat het makkelijker te onderhouden is. Niemand is perfect; ook klanten begrijpen dat in het verleden gemaakte fouten vaak een eenvoudige en verklaarbare oorsprong hebben. De sleutel is om kalm te blijven en duidelijk te communiceren.

Een laatste mythe ontkracht

Tot slot geef ik je nog een laatste advies: soms is het handig om de dingen eens vanaf de andere kant te bekijken.

Sceptici van outsourcing beweren dat een outsource-overeenkomst gelijk staat aan het ontbreken van goed en constant managen en vinger aan de pols houden. En als dat zo is, dan is dat is inderdaad een belangrijke reden waarom outsource-projecten mislukken. Maar met een bekwame manager die goed en nauw contact heeft met de opdrachtgever, die hun wensen en vereisten begrijpt en vertaalt naar het development-team, kan jij met jouw ervaring een belangrijke rol spelen in het voorkomen dat het project uit de hand loopt. Met alles wat jij leerde in eerdere teams, voeg je altijd veel waarde toe aan elk nieuw project.

Over Sergey en E-ngineers

Sergey is een senior softwareontwikkelaar en technische teamlead met meer dan 14 jaar ervaring. Hij voert bepaalde projecten zelfstandig uit maar heeft ook veel betrokkenheid bij projecten met grote gedistribueerde Agile-teams.

Sergey werkt voor E-ngineers, een dienstverlenend bedrijf met uiteenlopende expertise op het gebied van informatietechnologie. Ons team brengt de juiste mix van toegewijde IT-specialisten, bekwame senior architecten, analisten en ontwerpers. Zij zijn in staat om slimme en innovatieve oplossingen te leveren die jouw bedrijf een voorsprong te geven in de alsmaar stijgende markt.

E-ngineers ontwerpt en bouwt groot- en kleinschalige softwaretoepassingen voor opdrachtgevers uit Rusland, Nederland, Zweden en Denemarken. Benieuwd of ze jou ook kunnen helpen met softwareontwikkeling, of vragen over deze blog? Neem dan contact met ons op!

Sales director: Hans Peeters.

E-mail: hanspeeters@e-ngineers.com
Mobiel: 06-51245088