Blog

Het inkopen van teams voor softwareontwikkeling

InkopenTeamsBlog-1-1

Veel inhuurcontracten voor softwareontwikkeling zijn niet flexibel genoeg en sluiten daardoor niet volledig aan bij de ontwikkelbehoeftes die moderne organisaties hebben. Hoogste tijd om op een nieuwe manier tegen inhuurcontracten voor softwareontwikkeling aan te kijken en te zien waar en hoe flexibilisering mogelijk is.

De uitdaging bij inhuur

Om software te ontwikkelen worden vaak meerdere specialisten ingehuurd. Dit kunnen zelfstandigen zijn of medewerkers van verschillende bedrijven, of een mix. Het is dan aan de opdrachtgever om van deze groep mensen een team te smeden. Tijdens de inhuur fase moet de opdrachtgever goed letten op de capabilities van de individuele persoon. Hoe meer personen, hoe lastiger de puzzel is om alle benodigde capabilities goed af te dekken. Tijdens de softwareontwikkeling fase heeft opdrachtgever vervolgens de uitdaging om de groepsdynamiek te managen en de capabilities op peil te houden. Inhuren van individuele personen is een mooie oplossing die voor een tijdje goed kan werken, want er komt relatief snel capaciteit beschikbaar, alsook de benodigde kennis voor het produceren van functionaliteit. Echter, naarmate de softwareontwikkeling complexer wordt, langer gaat duren of dat behoeftes aan de functionaliteit wijzigen, is meer flexibiliteit gewenst. In een inhuur situatie kan alleen worden overgegaan tot vervanging van personen. Dat is vaak lastig omdat specifieke capabilities schaars zijn en integratie in het team de nodige tijd vraagt.

Naar een flexibel team contract

Een meer passende oplossing is het inhuren van complete teams bij één leverancier. De verantwoordelijkheid voor de performance en ontwikkeling van het team komt in die situatie bij de leverancier te liggen. En als de wereld om het team verandert, bijvoorbeeld als de vraag verandert, dan verandert het team mee om aansluiting te houden. De dienstverlening die nodig is om teams in te huren, vraagt een andere soort contract. Dat contract moet voorzien in mogelijkheden om teams te laten groeien (of krimpen) en teams te ontwikkelen. Hoe meer een contract gericht is op de inzet van een statisch team (een team met vaste rollen en bezetting), hoe lastiger het is om flexibel te zijn en hoe lastiger het is om in te spelen op veranderende omstandigheden. De inhuur van een statisch team lijkt sterk op de inhuur van meerdere personen tegelijkertijd. Het doel is echter om flexibiliteit te verkrijgen en dat vraagt dus om flexibele team contracten. Flexibele team contracten scheppen de mogelijkheid om beheerst aanpassingen in het team door te kunnen voeren.

Denk in teamgerichte diensten

Door te denken in diensten die zich richten op teams in plaats van op de individu, is het mogelijk om softwareontwikkeling voorspelbaar en flexibel te maken. De teamgerichte dienst kan geformuleerd worden in termen van de kwaliteit van een team. Kwaliteit wordt enerzijds bepaald door de mate waarin een team op elkaar is ingespeeld en anderzijds door de senioriteit van dat team. Uiteraard gaat het ook om de kennis van dat team met de software(ontwikkel)omgeving van de opdrachtgever, daar is de dienstverlener op geselecteerd. Waar de dienstverlener ook op is geselecteerd is hoe het team wordt gemanaged, wat de mogelijkheden van het team zijn en hoe het team wordt begeleid in de ontwikkeling.

Maak een teamgerichte ‘menukaart’

Een softwareontwikkelteam (dat praktisch uit 5 tot 9 teamleden bestaat) kent een historische samenwerktijd en een gemiddeld ervaringsniveau. De teamgerichte menukaart is gevuld met maandtarieven voor de inzet van een compleet team in een gewenste combinatie van historische samenwerktijd en gemiddeld ervaringsniveau. Van een team dat uit gemiddeld junioren bestaat is de verwachting dat het maandtarief lager ligt dan van een team dat uit gemiddeld senioren bestaat. Een team dat nog kort op elkaar is ingespeeld kent een lager maandtarief dan een team dat al een aantal jaren samenwerkt. Overigens zijn niet alle combinaties reëel. Wellicht is team dat nog nooit heeft samengewerkt en uit gemiddeld junioren bestaat niet gewenst vanuit ervaringsoptiek. Een team dat meer dan 5 jaar heeft samengewerkt en uit gemiddeld senioren bestaat kan erg kostbaar zijn. Als duidelijk is welke functionaliteit gewenst is, dan is vaak ook te bepalen welk budget daarmee gemoeid is. Door een menukaart te hanteren, kan een passende teamconfiguratie worden gekozen. In onderstaande menukaart is voorgaande teamgerichte zienswijze op hoofdlijnen weergegeven. Uiteraard kan de menukaart naar behoefte specifieker worden gemaakt.

 

 

Samenwerktijd

Ervaringsniveau
Gemiddeld Junior Gemiddeld Medior Gemiddeld Senior
0 – 1 jaar      
1 – 3 jaar      
3 – 5 jaar      
> 5 jaar      

 

Bepaal welke flexibiliteit nodig is

Inkoop is er vaak op gericht om het beste aanbod te verkrijgen voor op de markt verkrijgbare middelen. Inkoop lijkt complex wanneer dynamiek aan de orde is. Zowel capaciteit als functionaliteit kunnen namelijk sterk wijzigen gedurende de looptijd van een contract. Nu reeds een uitspraak kunnen doen over toekomstige behoefte aan capaciteit en functionaliteit is lastig. Want, wie heeft een glazen bol op tafel staan die zicht geeft op de toekomst? Contracten bevatten bindende afspraken en zijn bepaald gemaakt. Zowel het voorwerp van de inkoop alsook de omvang van de inkoop worden in een contract begrensd. Om te voorkomen dat dagelijks nieuwe contracten moeten worden gesloten, worden raamovereenkomsten toegepast.

Stel een raamovereenkomst op

Voor het inkopen van teamgerichte diensten is een raamovereenkomst een passende contractvorm. Raamovereenkomsten voorzien in een contractueel kader, waarbij enige afwijking ten opzichte van het voorwerp alsook de omvang wordt getolereerd. Natuurlijk zijn hier grenzen aan. Ten eerste, de aard van de raamovereenkomst mag niet worden gewijzigd. Ten tweede, de omvang kent ook zijn (financiële) bovengrens. En, ten derde, het werkingsgebied van de raamovereenkomst is beschreven, meestal in termen wie de opdrachtgevers kunnen zijn. Middels een raamovereenkomst kan het ‘recht tot koop’ worden ingekocht. Het sluiten van een nadere overeenkomst, onder verwijzing naar de raamovereenkomst, oefent dit recht uit. De frequentie waarmee een raamovereenkomst wordt ‘ingekocht’ wordt verlaagd tot elke vier jaren. Een langere looptijd is mogelijk, mits deugdelijk gemotiveerd, een kortere looptijd ook, maar in deze flexibele context minder wenselijk.

Sluit naar behoefte nadere overeenkomsten

Het afnemen van een team kan dan worden beschouwd als het sluiten van een nadere overeenkomst onder de raamovereenkomst. Door in de raamovereenkomst de mogelijkheid op te nemen om de parameters van de dienstverlening naar behoefte aan te kunnen passen, alsmede de mogelijkheid om te up- en downgraden, wordt in de benodigde flexibiliteit voorzien. Het is dan aan zowel de opdrachtgever als aan de dienstverlener om de gezamenlijk de dienstdefinitie op peil te houden en indien nodig aan te passen. De dienstverlener kan zich hierdoor beter focussen op de kwaliteit van het team, de bemensing, opleiding en tooling, zonder dat de opdrachtgever daar inhoudelijk mee bezig hoeft te zijn.

Verricht gezamenlijk capacity- en capabilitymanagement

Gezamenlijk bepalen opdrachtgever en dienstverlener of het gewenst is om een additioneel team in te zetten, of een teaminzet te beëindigen. Het uitgangspunt bij de inzet van teams is namelijk dat inzet in beginsel fulltime is en voor een lange periode. Deeltijdinzet is niet gewenst. Een team kan moeilijk weer bij elkaar worden gebracht nadat de teaminzet is beëindigd. Een ‘stoplicht relatie’ met het team dient voorkomen te worden. Capacitymangement – op teamniveau, niet op individueel niveau – blijft dus nodig. Naast capacitymanagement is capabilitymanagement aan de orde. De ontwikkeling van het team om bij te blijven bij de context van de opdrachtgever zal een regelmatig terugkerend agendapunt in het overleg tussen opdrachtgever en dienstverlener moeten zijn. Het kost namelijk tijd om een team te ontwikkelen. Een teamgericht ontwikkelplan is gewenst en wordt opgesteld door de dienstverlener. Een langere contractduur bevordert de ontwikkeling van het team, omdat investeringen meer tijd krijgen om te renderen.

Maak op termijn de contracten dunner

Door te denken (en handelen) in diensten, worden de verantwoordelijkheid voor de ‘wat’-vraag en ‘hoe’-vraag van elkaar gescheiden. Samenwerking tussen opdrachtgever en dienstverlener wordt bevorderd. Wellicht is het dan zelfs mogelijk om een toekomstige raamovereenkomst te vereenvoudigen, omdat een dergelijke samenwerking leidt tot een toename in vertrouwen. En een toename in vertrouwen leidt tot dunnere contracten en nog meer flexibiliteit.

Ontvang updates via mail

Recent Blogs

Hoe je als Agile Coach succesvol kunt gedijen in organisatorisch complexe organisaties | De Agility Podcast

Hoe je als Agile Coach succesvol kunt gedijen in organisatorisch complexe organisaties | De Agility Podcast

di 7 mei 2024 1 min read
Shadow board bindt jonge professionals en biedt directie waardevolle inzichten

Shadow board bindt jonge professionals en biedt directie waardevolle inzichten

di 30 apr 2024 3 min read
Persbericht: Strict benoemt Tonny Verbraak tot Programmamanager FinOps

Persbericht: Strict benoemt Tonny Verbraak tot Programmamanager FinOps

vr 26 apr 2024 2 min read