Development

Software-ontwikkeling

Programmeur de maat genomen

22 juni 2012

Onduidelijkheid over het niveau van externe softwareontwikkelaars maakt het inhuren lastig. Vaak is het beoordelen van het vakmanschap van externe programmeurs pas mogelijk als ze enkele weken in huis aan het werk zijn. Als de kwaliteit van de ingehuurde persoon dan onvoldoende blijkt, kan de inhurende partij opnieuw beginnen mensen aan te trekken, wat altijd tijdverlies geeft. Mansour Jouhri, CIO van de Kamer van Koophandel (KvK), heeft er iets op gevonden. Hij wil ingehuurde ontwikkelaars op kwaliteit toetsen door gebruik te maken van de methode van de Software Improvement Group (SIG) voor het meten van de kwaliteit van software.

Een ingehuurde programmeur wiens werk na een maand niet voldoet aan de kwaliteitsnorm voor software, kan weer vertrekken. Zonder voor die maand betaald te krijgen: no cure, no pay. Java-programmeurs moeten minimaal code leveren die door SIG met 3,5 sterren wordt gewaardeerd, op een schaal van 5. Ontwikkelaars die aan kernsystemen van KvK werken, moeten code van 4 sterren genereren. Wie bij het intakegesprek met KvK zegt dat hij een senior Java-ontwikkelaar is, wordt daar ook op beoordeeld. Blijkt uit de meting van de code door SIG dat hij geen senior maar een medior is, dan moet hij vertrekken, of er volgt een gesprek met de accountmanager over het tarief dat voor hem wordt betaald. KvK is best bereid om externe medewerkers te coachen of op te leiden, maar het tarief dat voor een medewerker wordt betaald, moet ermee in overeenstemming zijn.

Voor de beoordeling van interne ontwikkelaars gebruikt de KvK de SIG-norm al. Ook voor softwareprojecten die de KvK door derden uit laat voeren, geldt de SIG-norm. Door de code in de SIG-monitor te laden en te analyseren, kunnen programmeurs per dag bekijken wat het niveau van hun werk is. “De SIG-meting is een soort ‘second opinion’ waarmee we welles-nietes verhalen over de kwaliteit van de code willen voorkomen", zegt Jouhri.

Waar moet het toe leiden?
“Softwareontwikkeling wordt langzamerhand volwassen. Maar in de IT-industrie gebruiken we geen meeteenheden zoals andere industrieën dat doen. Een tegelzetter die een bepaald oppervlak met tegels van een vaste afmeting moet beplakken, weet vooraf hoe lang hij met die wand bezig is. Die kan een scherpe schatting maken. Dergelijke parameters gebruiken we in de automatiseringswereld nog niet, maar daar moeten we wel naar toe met z’n allen. Als KvK proberen we op een innovatieve manier instrumenten die in de markt zijn te gebruiken om verder te komen, volwassener te worden.

Een ander belangrijk punt is de performance van medewerkers. Wat moet een ontwikkelaar in een bepaalde taal in 8 uur kunnen doen. Daar hebben we op dit moment geen meeteenheden voor. We kunnen wel op basis van onze ervaring een inschatting maken op basis van prestaties in het verleden, maar een scherpe meeteenheid ontbreekt.”

Wat zal het effect van deze aanpak zijn op detacheringsbedrijven en brokers die zzp’ers leveren?
“Ik ga ervan uit dat de partijen die ons mensen leveren zich afvragen wat voor mensen ze eigenlijk hebben en daarop gaan toetsen. Als wij een aanvraag voor een senior programmeur de deur uit doen en we krijgen een junior op intakegesprek, is er aan beide kanten sprake van tijdverspilling. Zelfs als we er al tijdens het intakegesprek achter komen dat hij of zij ongeschikt is. Omdat het tijdens intakegesprekken niet altijd lukt een goede schatting van iemands niveau te maken, zou de persoon ook aan de slag kunnen gaan. Dan komen we er pas gaandeweg achter dat hij ongeschikt is. Dat geeft nog meer tijdverspilling, vertraging en teleurstelling. Die bewustwording moet er komen. Ook in de relatie met de tarieven die de detacheringsbedrijven voor hun mensen vragen. Daar zal iedereen beter van worden.”

Is er veel teleurstelling geweest over mensen die onder het niveau presteerden waarop ze werden aangeboden?
“Ja. Als je voor een functie vier cv’s binnen krijgt, moet je blij zijn als er één tussen zit. Als je hem kiest en een maand later blijkt hij niet de goede te zijn, dan heb je niet alleen vertraging in je project, maar ook de teleurstelling aan beide kanten dat je iemand moet wegsturen. Ook moeten we opnieuw een intake doen. Door te innoveren willen we dat voorkomen.”

Hoe ver zijn jullie met de invoering?
“We zijn ermee begonnen voor onze interne ontwikkelaars. Aanvankelijk was er natuurlijk een gevoel van: ‘je kijkt over mijn schouder mee’ en ‘je controleert me’. Daarna zijn de ontwikkelaars de toegevoegde waarde gaan zien. De zelfverzekerdheid waarmee ze programmeren is alleen maar toegenomen. Ze juichen het op dit moment toe. In het begin was er wel scepsis, maar gaandeweg zagen ze het gelijk van de bevindingen van SIG. ‘Dit is inderdaad dode code.’ Of: ‘Dit is te ingewikkeld geprogrammeerd en kan anders.’ We vertellen het nu aan onze leveranciers. Bij het vernieuwen van de mantelovereenkomsten zijn we van plan dit als eis te gaan stellen.”

De interne programmeurs waarderen de onafhankelijke maatstaf van SIG?
“Ik zie dat de mensen beter gaan presteren. Ze overleggen met collega’s over hoe ze dit probleem zouden oplossen op een viersterrenmanier. De monitor van SIG helpt ze zichzelf te ontwikkelen, te leren van fouten. Uit de rapportages van SIG blijkt ook waar de fouten zitten. Daar kunnen we vervolgens over praten.”

Zal het een drempel opwerpen voor mensen die programmeurs naar binnen proberen te krijgen waarvan ze weten dat ze van onvoldoende niveau zijn?
“Het is niet dat we een drempel willen opwerpen, we willen de kwalitatieve kant goed gaan borgen. Een paar jaar geleden, toen er nog geen crisis was, kwamen er veel nauwelijks geschoolde mensen in de IT. De kwaliteit van die mensen kon je niet meten, daar moest je achter komen in regressietesten van applicaties. Als de code achteraf niet deugde moest je een complete rework van code gaan doen.”

Mensen van onvoldoende niveau moeten weg en zijn een maand tijd kwijt?
“Dat is het vertrouwen dat je geeft aan een persoon. Aan de andere kant proberen we de persoon zelf verantwoordelijk te maken. Als jij tegen mij zegt: ‘Ik kan dat heel goed’ en je doet het niet, dan ligt het niet aan mij. Als ik er zes maanden later achter kom dat de code slecht is en het programma niet goed performt, dan is mijn schade het grootst, dat loopt in de tonnen. Dát probeer ik te voorkomen. Dat kan teleurstelling geven in het begin, maar je voorkomt dat het hele project op zijn gat komt te liggen. Dat is mijn verantwoordelijkheid.

We kijken naar de persoon. No cure, no pay klinkt heel hard, maar we proberen het niveau van de persoon uit te vinden. Op welk niveau acteer je en wat is het prijskaartje dat aan je hangt? We proberen er een zakelijke discussie over te voeren.

Op dit moment doen we het vanuit de ontwikkelaars, maar we willen het graag uitbreiden naar projectmanagement en architectuur. Dat is een discussie op zich: wanneer is een architect echt een architect? Wanneer is een projectmanager een goede projectmanager? Als hij de scope haalt binnen de tijd en binnen het geld, of levert hij ook de kwaliteit en is ook de klant ermee tevreden met wat hij opgeleverd heeft. Dat zijn allemaal instrumenten die we in de IT proberen te vinden. We willen best coachen en mensen opleiden, intern of extern, maar het moet wel transparant en eerlijk zijn. En dat het bedrag dat we betalen moet daarmee in overeenstemming zijn.”

Wat is de volgende stap?
“We zijn de proefmaand nu aan het uitproberen bij leveranciers. We hebben het nog niet juridisch afgekaart, maar we gaan het in nieuwe aanbestedingen meenemen. Het zou mooi zijn als we ook voor andere disciplines meetlatten kunnen vinden. Eigenlijk moeten er ook meer bedrijven als SIG opstaan, die dit soort onafhankelijke metingen kunnen doen, bijvoorbeeld zonder commercieel doel. Dan neemt onze afhankelijkheid van de instituten af.

Verder moet de werkwijze liefst door de markt worden overgenomen. Wij als KvK zijn maar een kleine speler in de ontwikkelwereld. Als alleen wij het doen, zet het geen zoden aan de dijk. Er is een grotere schaal voor nodig. Ik ben blij met elke partij die mee wil doen.”

 
Lees het hele artikel
Je kunt dit artikel lezen nadat je bent ingelogd. Ben je nieuw bij AG Connect, registreer je dan gratis!

Registreren

  • Direct toegang tot AGConnect.nl
  • Dagelijks een AGConnect nieuwsbrief
  • 30 dagen onbeperkte toegang tot AGConnect.nl

Ben je abonnee, maar heb je nog geen account? Neem contact met ons op!