Softwarekwaliteit? Natuurlijk! Resultaten van 4 jaar EQuA project

Maat: px
Weergave met pagina beginnen:

Download "Softwarekwaliteit? Natuurlijk! Resultaten van 4 jaar EQuA project"

Transcriptie

1 Softwarekwaliteit? Natuurlijk! Resultaten van 4 jaar EQuA project

2

3 Softwarekwaliteit? Natuurlijk! Uitgave ter gelegenheid van de afsluiting van het RAAK-PRO EQuA project November 2014

4 Colofon Samenstelling: Jacob Brunekreef Eindredactie: Annemarie Diepenbroek Cartoons: Andrea Almering

5 Inhoud Voorwoord 5 Early Quality Assurance 7 Het belang van requirements 9 Waar zijn de requirements? 11 Neem Requirements Serieus! 15 Symbiosis en de praktijk van Beech.it 18 Een stage rond het genereren van code 21 Software voor game development 25 Talen voor Game Productie 27 De kracht van serious games 31 Agile software ontwikkelen 35 Vijf jaar agile. Hosanna of Drama? 37 Samenwerking tussen agile teams 43 Toegepast wetenschappelijk onderzoek 47 Onderzoek in opleiding 51 De EQuA deliverables 54

6

7 Voorwoord Deze uitgave is samengesteld ter gelegenheid van de afsluiting van het EQuA project. EQuA staat voor Early Quality Assurance (in software production). In het project hebben hogescholen, universiteiten en bedrijven samen gewerkt aan de centrale vraag: hoe kunnen we fouten bij het produceren van software zo vroeg mogelijk opsporen en daarbij herstelkosten op een later moment besparen? Aandacht voor kwaliteit van softwaresystemen, vanaf de start van de ontwikkeling het lijkt zo voor de hand te liggen. Toch blijkt het een weerbarstig onderwerp te zijn. Softwarekwaliteit? Natuurlijk! De titel van deze uitgave kan op twee manier worden gelezen. Natuurlijk is het zinnig en noodzakelijk om aandacht te besteden aan kwaliteit bij het ontwikkelen van software. Dat hoort bij de professionele werkwijze van de huidige generatie ontwikkelaars. Maar, wat is de natuurlijke manier om tot die kwaliteit te komen? Meer inzet van tools? Betere ontwikkelmethoden? Hoger opgeleide ontwikkelaars? Aan die vragen is binnen het EQuA project vier jaar lang gewerkt. Deze uitgave geeft u een indruk van de resultaten. Niet alle geschreven papers, handleidingen, afstudeerverslagen, zijn in z n geheel opgenomen. Dat is teveel van het goede en zou deze uitgave veel te dik maken. Achterin is een lijst opgenomen met die documenten, en waar ze te vinden zijn. In deze uitgave komen alle partijen die hebben bijgedragen aan het project aan het woord. Onderzoekers die de afgelopen jaren het grootste deel van hun werktijd (en het nodige van hun privé-tijd) aan het EQuA project hebben gewerkt vertellen waar ze aan gewerkt hebben, over hun resultaten. Medewerkers van bedrijven die bij het EQuA project betrokken zijn geweest maken duidelijk wat het project voor de praktijk van hun bedrijf heeft betekend. Drie universiteiten hebben deelgenomen aan het EQuA project. Hoe wordt in die wereld aangekeken tegen toegepast wetenschappelijk onderzoek, samenwerken met hogescholen en het bedrijfsleven? In een rondetafelgesprek laten drie universitaire medewerkers hun licht schijnen over dit onderwerp. Studenten hebben in het EQuA project een belangrijke rol gespeeld: als onderzoeker en als proefkonijn. Van beide wordt een voorbeeld beschreven. Daarnaast is een interview opgenomen met een stage-student die gewerkt heeft aan de ontwikkeling van een tool. Softwarekwaliteit? Natuurlijk! 5

8 De artikelen zijn gegroepeerd rond een viertal onderwerpen: de kwaliteit en structuur van requirements, software voor het interactief ontwikkelen van games, agile ontwikkelen en toegepast onderzoek algemeen. Tenslotte past een woord van dank. Allereerst aan de medewerkers en studenten van de betrokken partners hogescholen, universiteiten, bedrijven die met hun inzet voor de resultaten van het project hebben gezorgd. Ten tweede aan de Stichting Innovatie Alliantie (SIA), die met haar subsidie dit project mogelijk heeft gemaakt. En, last but not least, aan Fontys Hogeschool ICT die als penvoerder van het project zich keer op keer een uitstekend gastheer heeft getoond. Ik wens u veel leesplezier met deze uitgave! Jacob Brunekreef Projectleider EQuA-project Fontys Hogeschool ICT 6 Softwarekwaliteit? Natuurlijk!

9 Early Quality Assurance Jacob Brunekreef, Fontys Hogeschool ICT Van oudsher speelt kwaliteit een prominente rol in de wereld van software ontwikkelaars. Want, de gevolgen van achterblijvende kwaliteit kunnen groot zijn. Iedereen heeft wel ervaring met applicaties die plotseling dienst weigeren (net voordat je weer wilde saven ), iedereen kent verhalen van falende automatiseringsprojecten waar vaak miljoenen euro s mee zijn gemoeid. Maar, hoe voorkom je die problemen? Het antwoord op deze vraag is niet simpel, er bestaat niet zoiets als een silver bullet. Maar, er zijn wel inzichten die helpen. Zo weten we sinds onderzoek van de Amerikaanse software goeroe Barry Boehm uit begin jaren 80 van de vorige eeuw dat de kosten van foutherstel exponentieel oplopen naarmate een project in de tijd vordert. Dus loont het om al in een vroeg stadium aandacht te besteden aan het opsporen, verhelpen en vermijden van fouten. Bij de start van het EQuA project, in het najaar van 2010, hebben we bovenstaand inzicht als uitgangspunt genomen. De centrale vraag binnen het project was: Hoe kunnen wetenschappelijke kennis en inzichten op het terrein van vroegtijdige foutdetectie en herstel in software productie en in het werkveld op dit terrein toegepaste methoden en technieken samengebracht worden?. Daarbij was de veronderstelling dat zowel wetenschappers als het werkveld weten dat vroegtijdig opsporen van fouten loont maar wat doe je met die kennis? Wij hadden niet de illusie dat wij in het project het hele probleem op zouden kunnen lossen. Zoeken naar een aantal goede en bruikbare handvatten, dat was het idee. En, is er wat terecht gekomen van dat idee? Ik denk het wel! Binnen het EQuA project hebben onderzoekers zich gestort op een verscheidenheid aan onderwerpen, variërend van een kwaliteitsmodel voor requirements tot succesfactoren voor het samenwerken in een ontwikkelteam, van volwaardig gereedschap om requirements te kunnen formuleren en beheren tot een software bibliotheek om het ontwikkelen van spelgedrag in games te ondersteunen. Daarmee is nog niet alles genoemd. De volledige lijst met resultaten, verderop in deze uitgave, laat goed zien hoe omvangrijk en breed het onderzoek is geweest dat in het kader van het EQuA project is uitgevoerd. Uit de voorgaande opsomming is al wel duidelijk dat er niet alleen papier is geproduceerd. Er zijn ook producten ontwikkeld. Producten die al tijdens het project hun bruikbaarheid in de praktijk hebben bewezen. Zo wordt het Symbiosis tool voor Softwarekwaliteit? Natuurlijk! 7

10 het modelleren van requirements inmiddels actief gebruikt in enkele bedrijven, en is de Micro-Machinations 1 bibliotheek in het open source domein beschikbaar gesteld. Onderzoek en producten zijn gepresenteerd aan de buitenwereld, op congressen, symposia en andere bijeenkomsten, en in artikelen. Ondertussen dringt zich vanuit de praktijk een interessante vraag op: hoe relevant is de nadruk op vroegtijdig foutherstel in het licht van de sterke toename in de laatste jaren van de iteratieve, agile, manier van software ontwikkelen? Vandaag de dag wordt een toenemend deel van de software ontwikkeld in agile projecten, waarin opdrachtgever en opdrachtnemer samenwerken, om in kortlopende cycli (iteraties) een product iedere keer een stukje verder te ontwikkelen. Nu is er geen sprake meer van een opdrachtgever die een lijst met eisen (requirements) aanlevert en een jaar later eens komt kijken wat er van geworden is, maar van een opdrachtgever die bewust iedere kleine toevoeging aan of wijziging van het product-in-wording controleert en accepteert. De kans op het in een laat stadium van een project ontdekken van fouten is zo een stuk kleiner geworden. De trend om op een agile manier software te ontwikkelen bestond al bij de start van het EQuA project. Maar in de looptijd van het project, de afgelopen vier jaar, heeft deze manier van werken een grote vlucht genomen. Is het EQuA project daarmee achterhaald? Zeker niet! Juist hulpmiddelen als het Symbiosis tool en de Micro- Machinations Library, die in het EQuA project zijn ontwikkeld, ondersteunen de agile aanpak om snel tot een resultaat te komen dat met de opdrachtgever kan worden gedeeld. Juist het onderzoek in het EQuA project naar het belang van verschillende aspecten van teamwerk en de samenwerking tussen agile teams draagt bij aan goed functionerende ontwikkelteams. Zo omvat het EQuA project een aantal mooie voorbeelden van toegepast onderzoek waarbij onderzoekers en werkveld samen tot oplossingen van praktische problemen zijn gekomen. Early quality assurance is een stukje concreter geworden. 1 Micro-Machinations zijn elementaire spelhandelingen van waaruit het verloop van een spel kan worden samengesteld. 8 Softwarekwaliteit? Natuurlijk!

11 Het belang van requirements Softwarekwaliteit? Natuurlijk! 9

12 10 Softwarekwaliteit? Natuurlijk!

13 Waar zijn de requirements? Kwaliteit van wijzigingsverzoeken in open source en agile projecten Petra Heck, Fontys Hogeschool ICT Steeds meer bedrijven gaan agile werken (zie bijvoorbeeld xebia.nl/ebook/). Deze manier van werken houdt onder andere in dat de requirements (binnen agile ook wel in de vorm van use cases of user stories) aan het begin van een ontwikkeltraject vaag gespecificeerd worden en pas op het moment van implementeren verder in detail worden uitgewerkt. Zo wordt voorkomen dat van tevoren veel tijd besteed wordt aan het detailleren van requirements die later toch weer wijzigen. De detailuitwerking wordt bij een agile manier van werken ook niet altijd op papier vastgelegd, maar bijvoorbeeld in mondelinge conversaties met de klant of op whiteboards. Het beheren van de requirements gebeurt soms op papieren kaarten op een zogenaamd scrum board maar vaak ook in digitale varianten daarvan (tools als Excel, VersionOne, Jira, Scrumwise, Trello, zie agilescout.com/best-agile-scrum-tools/). Open source projecten kennen al langer een vergelijkbare manier van werken. Zij gebruiken issue trackers als Bugzilla en Jira om personen van binnen en buiten het project de mogelijkheid te geven online nieuwe wijzigingsverzoeken (vraag voor toevoegen, wijzigen of uitbreiden van een feature) door te geven. Op het moment dat een van de ontwikkelaars aan de feature gaat werken, kan hij real-time feedback vragen aan de aanvrager of aan andere deelnemers door commentaar toe te voegen aan het wijzigingsverzoek. Het bijzondere hieraan is dat zo dus ook de informele discussie wordt vastgelegd (bij agile werken gebeurt dit vaak niet). Dit vastleggen is bij open source projecten ook nodig omdat de ontwikkelaars vaak niet gelijktijdig en ook niet op dezelfde locatie aan het project werken. De vraag `waar zijn de requirements? kan voor agile en open source projecten dus beantwoord worden met: `niet in complete van tevoren geschreven requirementsdocumenten, maar wel als losse (initiële) requirements in digitale tools. Wij zullen dit soort requirements samenvattend Just-In-Time (JIT) noemen. Een eerste analyse van wijzigingsverzoeken in open source projecten heeft ons laten zien dat er diverse problemen rondom de kwaliteit zijn. Een belangrijk voorbeeld is het grote aantal dubbele wijzigingsverzoeken in open source projecten: meerdere aanvragers vragen onafhankelijk van elkaar eenzelfde wijziging aan. Voor sommige projecten is het aantal dubbelen wel 30%. Dit vertroebelt het zicht op de werkelijke Softwarekwaliteit? Natuurlijk! 11

14 requirements en als men met een aantal ontwikkelaars remote probeert samen te werken is er zelfs kans op het verschillend implementeren van dezelfde requirement (doordat ieder ontwikkelaar een verschillend verzoek van het dubbele paar als uitgangspunt neemt en zo de dubbeling onopgemerkt blijft). Dit eerste onderzoek heeft ons bij de vraag gebracht: hoe moet je kwaliteit van dit soort wijzigingsverzoeken definiëren? Sommige criteria die voor traditionele requirements (het document waarin alles van te voren is gedetailleerd) gelden, hoeven niet per se te gelden voor JIT requirements. Die mogen bijvoorbeeld op papier vaag (niet SMART) zijn omdat discussies later de details gaan invullen. Maar toch wordt een deel van de JIT requirements wel degelijk vastgelegd. En het is algemeen aanvaard dat wat we vastleggen in ontwikkeltrajecten moet voldoen aan bepaalde kwaliteitscriteria. Maar welke kwaliteitscriteria gelden dan voor JIT requirements? Om die vraag te beantwoorden hebben wij een onderzoek opgezet in vier stappen: Analyseren van literatuur over traditionele requirements om te kijken welke criteria nog steeds gelden voor JIT requirements; 1. Analyseren van literatuur over JIT requirements om te kijken welke nieuwe criteria wij kunnen toevoegen; 2. De criteria samenvatten in een overzichtelijk raamwerk (zie Figuur 1); 3. Het raamwerk valideren met een aantal practitioners. Voor stap 1 en 3 hebben wij onder andere gebruik gemaakt van eerder werk op het gebied van kwaliteit van traditionele requirements. Het product-certificatie-model (zie de literatuurverwijzing aan het eind van dit artikel) bevat een indeling en een aantal criteria die zonder meer bruikbaar zijn voor JIT requirements. Zoals te zien is in Figuur 1 bestaat het raamwerk uit 3 onderdelen die wij graag willen controleren: [VC1] [VC2] [VC3] Compleetheid: Zijn alle belangrijke onderdelen of attributen van de JIT requirement ingevuld? Uniformiteit: Zijn de JIT requirements in een uniform format vastgelegd? Correctheid & Consistentie: Voldoet de inhoud van wat er beschreven staat aan de richtlijnen voor JIT requirements? Deze drie onderdelen zijn het belangrijkste van het raamwerk. Ieder project of team kan dan voor de eigen situatie nagaan welke criteria daar onder zouden moeten vallen. Zo is er voor user stories een apart template in de vorm als <rol> wil ik <functie> zodat <business value>. Als een team hiermee werkt dan kan dit onder [VC2] worden toegevoegd. In Figuur 1 staat een voorbeeldlijst van criteria voor user 12 Softwarekwaliteit? Natuurlijk!

15 stories en feature requests (wijzigingsverzoeken in open source projecten). Voor meer details over de verschillende criteria verwijzen we graag naar ons uitgebreide artikel. Figuur 1: De criteria in italic gelden alleen voor user stories, de rest geldt voor user stories en feature requests Voor het valideren van het raamwerk hebben wij de verschillende criteria vertaald in een Excel checklist en die vervolgens voorgelegd aan 8 personen uit de Nederlandse agile community. Wij hebben hun mening over kwaliteit van agile requirements in het algemeen gevraagd, maar ze ook met de checklist een aantal open source requirements laten beoordelen zodat ze hun mening over het raamwerk konden geven. Voor dat laatste doel hadden wij zelfs een scoringsalgoritme in de checklist ingebouwd om de kwaliteit van verschillende requirements te kunnen vergelijken. Ieder van de deelnemers was het erover eens dat kwaliteit van agile requirements belangrijk is. Zij vonden het raamwerk over het algemeen nuttig als hulpmiddel om de kwaliteit van agile requirements te beoordelen. Zij hadden twee soorten opmerkingen: 1) aanvullingen op de criteria en 2) over de scoringsregels. Voor wat betreft de aanvullende criteria waren dit vaak bedrijf- of projectspecifieke criteria (bijv. is er een akkoord van de product owner?) die wij niet in het algemene model hebben opgenomen. Maar zoals gezegd laat het raamwerk voldoende ruimte voor het schrappen of toevoegen van eigen criteria. Voor wat betreft de scoringsregels is de conclusie dat deze in de meeste gevallen niet nodig zullen zijn: men wil agile Softwarekwaliteit? Natuurlijk! 13

16 requirements niet scoren op een absolute schaal maar vooral kijken waar nog mogelijkheden voor verbetering zijn. Samengevat kan men het raamwerk gebruiken om eenmalig vast te leggen wat de organisatie of het team acceptabel vindt voor JIT requirements, maar ook bijvoorbeeld opnemen in de Definition of Ready (een agile term die een quality gate voor requirements aangeeft) zodat iedere keer snel gecheckt wordt of er nog kwaliteitsproblemen met een agile requirement zijn. De criteria en requirements hoeven dan niet gescoord te worden op een schaal van 1 tot 10, maar veel meer wordt er dan gezocht naar mogelijke schendingen van één van de criteria. Als er schendingen zijn dan is het nog altijd aan de beoordelaar om te bepalen of dat in dit geval wel of niet acceptabel is. Bijvoorbeeld een hele duidelijke of standaard requirement hoeft niet per se een beschreven rationale te hebben. In de toekomst willen wij dit raamwerk graag toepassen in bestaande open source en agile projecten om meer praktijkervaring op te doen met de verschillende criteria. Maar u kunt ook alvast uw voordeel doen met dit raamwerk als checklist van wat belangrijk is bij kwaliteit van JIT requirements of om de discussie hierover in uw team of organisatie op gang te brengen. Succes met de requirements! Wie meer wil lezen: Project deliverables [6], [7] en [8] Ernst N., Murphy G., Case studies in just-in-time requirements analysis. Int l Workshop on Empirical Requirements Engineering (EmpiRE), IEEE, 2012 Heck P., Klabbers M., and Eekelen, M. C. J. D. van., A software product certification model, Software Quality Journal, vol. 18, no. 1, pp , 2010 Leffingwell, D., Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise, 1st ed. Addison-Wesley Professional, Softwarekwaliteit? Natuurlijk!

17 Neem Requirements Serieus! Frank Peeters, Fontys Hogeschool ICT Te ontwikkelen software zou moeten beantwoorden aan de behoefte van zijn toekomstige gebruikers. Het is bovendien wel zo professioneel als er bij de oplevering kan worden vastgesteld of dat doel inderdaad is bereikt. Als de softwareontwikkeling doelgericht is ingericht, zal deze behoefte op de een of andere manier in kaart moeten worden gebracht. Dit leidt tot een verzameling (user) requirements, in welke vorm dan ook. Acceptatietesten geven meestal aan dat er een mismatch bestaat tussen de opgeleverde software en de requirements. Er ontbreekt te vaak voldoende zorg voor de realisatie van alle requirements. Hoe verder men in het ontwikkelingstraject op stoom raakt, des te meer dreigen de requirements uit beeld te geraken. Ze worden dan niet in voldoende mate serieus genomen. Softwareontwikkeling is vergelijkbaar met het bouwen van een huis of een brug of het fabriceren van een printplaat. Toch zijn er een aantal aspecten die het doelgericht bouwen van software, in vergelijking tot andere engineering disciplines, nogal compliceren. De toekomstige gebruikers staan meestal aan de zijlijn. Zij worden normaliter vertegenwoordigd door een of meer personen; wij noemen hen de producteigenaren. Het proces van afstemmen tussen ontwikkelaars en gebruikers lijkt hierdoor eenvoudiger te worden. Doch, al te vaak blijkt dat een producteigenaar niet in voldoende mate rekening kan houden met de, verschillende, behoeften van zijn of haar toekomstige gebruikers. Requirements zijn bij de aanvang bovendien niet volledig duidelijk. Mede naar aanleiding van tussentijdse validaties zullen requirements regelmatig worden aangepast. De extra handicap waarmee software engineers, in vergelijking tot de meeste andere engineers, dus opgescheept worden, zijn de wijzigingen in de requirements die er gedurende de bouw optreden. Een softwareontwikkelmethode moet hierop voorbereid zijn. Ons onderzoek was gericht op het doelgericht realiseren van de software die de domeinklassen 2 omvat. Niet-functionele requirements, zoals gebruiksvriendelijkheid, betrouwbaarheid, beveiliging en snelheid lagen buiten het bereik van ons onderzoek. Onze kernvraag was: Hoe kun je ervoor zorgen dat de domeinklassen blijven matchen met de, aan verandering onderhevige, user requirements? 2 Ofwel de klassen die de business logic vastleggen. Softwarekwaliteit? Natuurlijk! 15

18 Omdat rechtstreekse vertaling van user requirements naar domeinklassen ons onmogelijk lijkt, zal de brug tussen requirements en software, in de vorm van een of ander design (zie figuur 1), ook moeten blijven matchen. Figuur 1: Design als brug tussen User Requiremenst en Domain Software Wij hebben een model driven methode en ondersteunend tool, met de naam Symbiosis, ontwikkeld, die afdwingt dat elk requirement expliciet is verankerd in een element van het design. Vanuit het design worden de domeinklassen automatisch gegenereerd. Als de requirements veranderen, dan zal het design veranderen en de domein software zal zich hierin slaafs schikken. Als een ontwikkelaar het design autonoom aanpast, worden er extra requirements gegenereerd. Elk, handmatig ingevoerde of automatisch gegenereerde, requirement moet uiteindelijk door een producteigenaar worden gevalideerd. Om ervoor te zorgen dat het validatieproces op een nauwkeurige manier verloopt, is er voor gekozen om alle requirements in de natuurlijke taal van de producteigenaar uit te drukken. De requirements zijn opgedeeld in vier categorieën: actie, regel, feit en kwaliteitsattribuut. Een actie beschrijft een handeling die een gebruiker met de software moet kunnen uitvoeren. Een actie kan worden beschouwd als een voorbereidende stap op een use case. Een regel beschrijft een beperking op de toestand of de toestandsovergang van domeinobjecten, of er wordt door middel van een regel een automatische toestandsovergang gedefinieerd. Acties en regels zijn gebaseerd op vereiste informatie. Elk vereist informatie-element wordt in de vorm van een feit requirement vastgelegd. Ten slotte, een kwaliteitsattribuut is niets anders dan een niet-functionele eis. Gedurende de ontwerpfase worden de relaties tussen objecten volledig gebaseerd op de aanwezige fact requirements. Tijdens de transformatie van fact requirements naar een design worden default rule en action requirements gegenereerd. De ontwikkelaar configureert vervolgens het design met extra constraints en permissies voor het toevoegen, veranderen en verwijderen van objecteigenschappen. Elke configuratiestap leidt tot een synchronisatie met de actuele requirements. De handmatig ingevoerde rule requirements die nog niet binnen het design zijn gerealiseerd, vereisen wel nog een algoritmische specificatie die binnen het design 16 Softwarekwaliteit? Natuurlijk!

19 zelf wordt verankerd. Nadat het design de check op een aantal meta-regels heeft doorstaan, kan de volledige broncode van alle domeinklassen worden gegenereerd. De feit en de regel requirements zitten dan inmiddels in de domeinklassen opgesloten; resteert nog de realisatie van de actie requirements. Een substantieel deel van deze acties is gegenereerd naar aanleiding van het configureren van het design. Elke gegenereerde actie kan automatisch worden getransformeerd in een zogenaamde action case, hetgeen een gecompileerde class realisatie van de normale flow in een atomaire use case omvat. De overblijvende, handmatig ingevoerde, acties worden vervolgens gerealiseerd op basis van een assemblage van de tool box met action cases, hierbij kan dan en passant rekening worden gehouden met de nietfunctionele eisen. Tijdens het ontwikkelen van software worden de requirements regelmatig toegevoegd, aangepast of verwijderd. Elke wijziging moet worden gekeurd door de verantwoordelijke producteigenaar. Na de goedkeuring wordt het design op orde gebracht en kunnen de domeinklassen en action cases weer worden gegenereerd. Onze werkwijze maakt het mogelijk dat een design exclusief op zijn requirements is gebaseerd. Zodra alle requirements goedgekeurd zijn, heb je ook de zekerheid dat het design en daarmee alle gegenereerde domeinklassen en action cases compleet zijn. De niet-functionele eisen kunnen vervolgens op een elegante manier worden meegenomen zodra men toekomt aan de verfijning van de samengestelde action requirements. Ons devies luidt: Neem requirements serieus! Wie meer wil lezen: Project deliverables [13], [16], [18], [21] Softwarekwaliteit? Natuurlijk! 17

20 Symbiosis en de praktijk van Beech.it Interview met Bram Verhaegh, directeur Beech.it Vooraf In het EQuA project is de Symbiosis tool ontwikkeld, zie het voorafgaande artikel van Frank Peeters. De tool is, tijdens de ontwikkeling, in pilots uitgetest door Beech. it uit Venlo. Beech.it is een bedrijf dat zich vooral richt op het verzorgen van de techniek van technisch complexe websites en applicaties. Het bedrijf werkt voor diverse klanten in diverse sectoren. Sinds het begin van 2013 neemt Beech.it deel aan het EQuA project. In dit interview legt directeur Bram Verhaegh uit wat de beweegredenen waren om in het project te stappen en kijkt hij terug op het project. Beech.it Beech.it maakt gebruik van open source software, met als kern TYPO3 producten. TYPO3 is een open source enterprise CMS. Het bedrijf is actief lid van de TYPO3 community (alles bij elkaar zo n 75,000 ontwikkelaars wereldwijd) en is active contributer aan de core. Daarnaast is Beech.it al 2 jaar mede organisator van een succesvol internationaal barcamp voor de community. De kwaliteit van software staat bij Beech.it hoog aangeschreven. Code reviews, coding guidelines, automatische tests op code kwaliteit en security issues Beech.it maakt er gebruik van. In de TYPO3 community is er veel aandacht voor de kwaliteit van ontwikkelde code. Bram: Het kritisch vermogen van de community is groot: bijvoorbeeld van alle uitbreidingen wordt de kwaliteit gemeten met Sonar. Een ontwikkelaar is verplicht om belangrijke issues te verhelpen. Code wordt door veel mensen kritisch beken en meerdere malen gerefactord voordat ze geaccepteerd wordt en in productie gaat. Dat gaat niet altijd vanzelf. Soms zie je stevige discussies, als iemand lang heeft zitten werken aan code die vervolgens niet direct geaccepteerd wordt. Maar, ontwikkelaars kennen ook veel passie om kwaliteit te leveren en zijn voortdurend bezig om zichzelf te verbeteren en te leren van elkaar. Bij een bedrijf moet de mindset er zijn om kwaliteit van software vanaf de eerste ontwikkelfase centraal te stellen. Je moet daar vanaf het begin aandacht aan schenken. Dit halverwege het project inbrengen gaat niet lukken. Tijdsdruk leidt soms tot sub-optimale code, ook bij Beech.it. Het bedrijf gaat daar zo zorgvuldig 18 Softwarekwaliteit? Natuurlijk!

21 mogelijk mee om: de code wordt gemarkeerd om later alsnog verbeterd te worden. Zoals bij veel bedrijven is ook bij Beech.it de ervaring dat klanten daar niet altijd voor willen betalen. Dit blijft een grote uitdaging en vraagt ook bewustwording bij de klant. Aandacht voor requirements In juni 2012 was Bram één van de bezoekers van het EQuA symposium in Eindhoven. Tijdens dat symposium vertelde onderzoeker Frank Peeters over zijn onderzoek naar het omgaan met requirements en de Symbiosis tooling die hij daarvoor aan het ontwikkelen was. Het scherp neerzetten van requirements en het automatisch genereren van code vanuit de requirements sprak aan. De afspraak voor samenwerking was snel gemaakt. Zakelijk werd de samenwerking vormgegeven door het opnemen van Beech.it in het EQuA consortium. Inhoudelijk werd gestart met het gezamenlijk uitwerken in Symbiosis van een aantal use cases voor een applicatie die Beech.it aan het bouwen was. Dat ging niet vanzelf, het was wel nodig om de ontwikkelaars van Beech.it te trainen in de zienswijze achter de tool en de werkwijze van de tool. Daarnaast was inspanning nodig om de tooling stabiel te krijgen. Beech.it fungeerde min of meer als bèta-tester. Bram vond dat geen probleem. Ik ben heel goed in het om zeep helpen van de tooling! Bram kan het niet laten om een opmerking in de zijlijn te plaatsen: als ook in dit project bij de ontwikkeling van de tool de kwaliteitsrichtlijnen voor het ontwikkelen van software zouden zijn gehanteerd, bijvoorbeeld op het vlak van automatische tests en versiebeheer, dan zouden de stabiliteitsproblemen wellicht minder geweest zijn. Toch pleit Bram niet voor een redesign op dit moment. De tool kan beter eerst conceptueel verder ontwikkeld worden. Bram beschouwt de tool als een veelbelovende ontwikkeling op het vlak van samenspel tussen requirements en code. De tool kan je helpen bij het dichten van de gap tussen die twee. De mogelijkheden voor het genereren van code en het bijwerken van deze gegenereerde code vanuit wijzigende requirements spreekt Bram bijzonder aan. Nu wordt bij Beech.it een deel van de code al gegenereerd door het TYPO3 framework. Dat gaat vooral om de simpele basis als models, standaard acties binnen controllers en views, het type werk waar je je medewerkers niet mee wil belasten. Symbiosis voegt daar echt iets aan toe. Het maakt de software niet alleen goedkoper en beter beheerbaar, maar ook beter van kwaliteit. In de toekomst, als de tool stabieler is, dan is het naar verwachting een prima hulpmiddel bij het ontwikkelen van goede Softwarekwaliteit? Natuurlijk! 19

22 software. In een waterval project zou de tool volgens Bram onmisbaar zijn het geeft een goed beeld van de overall architectuur van de software. In een agile project (met kleine iteraties) kan het verwerken van de specificaties soms veel werk zijn. Contacten met het HBO Beech.it werkt al langer samen met het HBO, onder andere met de ICT opleiding van Fontys in Venlo en Eindhoven. Binnen projecten van het onderwijs, en via het verzorgen van een gastcollege. Daarnaast biedt Beech.it stageplaatsen aan. Bram ervaart wel een kloof tussen bedrijfsleven en onderwijs. In zijn ogen loopt het onderwijs soms achter ontwikkelingen zoals het gebruik van modern versie beheer, continuous intregration, automatische test frameworks e.d. Daarnaast is er in het onderwijs (te) weinig aandacht voor de kwaliteit van software, er wordt veel gesproken over kwaliteit terwijl dit concreet gemaakt kan worden en meetbaar. Bram staat dan ook positief tegenover de plannen van Fontys Hogeschool ICT voor het ontwikkelen van een minor rond het thema softwarekwaliteit. In de ogen van Bram zouden docenten vaker in contact moeten komen met het bedrijfsleven zij zouden bij voorkeur enkele dagen per week samen op moeten trekken met bedrijven. Bram staat open voor de samenwerking met het HBO, zeker met docenten. Zij kunnen die praktijkervaring vervolgens overbrengen op studenten. Het EQuA project Bram heeft een genuanceerde mening over het verloop en de resultaten van het EQuA project. De deelnemers vormden met elkaar een zeer gemêleerd gezelschap. De verschillende onderzoeken die in het project zijn uitgevoerd kenden te weinig verbinding, de schotten tussen de onderzoeken waren wel erg hoog. Daardoor ontstond te weinig binding met andere partijen, iedereen werkte te veel op een eigen eilandje. We hadden meer van elkaar kunnen leren dan nu is gebeurd. Bram vindt het jammer dat er niet een concrete toolkit voor softwarekwaliteit uit het project gekomen is. Het bedrijfsleven wil graag iets dat direct toepasbaar is. Toch kijkt Bram positief terug op het project. Het contact met Frank Peeters zal naar verwachting blijven bestaan. We willen samen een doel bereiken, met zijn tool! Zeker als we de testfase hebben afgerond is het een prima hulpmiddel. En, het enthousiasme en de gedrevenheid van Frank werken zeer aanstekelijk. 20 Softwarekwaliteit? Natuurlijk!

23 Een stage rond het genereren van code Interview met Joery van den Hoff, student Software Engineering, Fontys Hogeschool ICT Vooraf Joery van den Hoff is nu (najaar 2014) vierdejaars student bij Fontys Hogeschool ICT. In het voorjaar van 2014 heeft hij stage gelopen bij het bedrijf ISAAC in Eindhoven. Het onderwerp van zijn stage: codegeneratie voor het Symbiosis tool van EQuA onderzoeker Frank Peeters (zie het artikel eerder in deze uitgave). In dit interview kijken wij naar wat Joery gedaan heeft, horen wat zijn ideeën zijn over het Symbiosis tool en praten met hem door over de relaties tussen werkveld en opleiding. Het stagebedrijf ISAAC is specialist op het terrein van web- en middleware oplossingen, gebaseerd op betrouwbare en veilige (open source) software. Het bedrijf is gastheer geweest voor een aantal stages en afstudeerprojecten in het kader van het EQuA project, zowel van Fontys Hogeschool ICT als van de Technische Universiteit Eindhoven. ISAAC gelooft sterk in de noodzaak van het vroegtijdig opsporen van fouten en omarmt het gedachtengoed van het EQuA project. Codegeneratie De oorspronkelijke stageopdracht luidde: Voeg aan de codegeneratie in Symbiosis de mogelijkheid van JPA notatie toe. JPA (Java Persistence API) is een persistentie framework uit de Java wereld. Maar, aan die opdracht is Joery niet toegekomen, om de simpele reden dat er nog helemaal geen sprake was van codegeneratie in Symbiosis. Dus is Joery daar aan gaan bouwen. Concreet houdt dat in dat vanuit het objectmodel code wordt gegenereerd, met name voor de domeinlaag: klassedefinities met onder andere getters en setters. Aan het genereren van code voor het dynamische deel van een applicatie, vanuit het requirements model, is Joery niet toegekomen. Dat was ook niet zijn opdracht. Hij is er wel in geslaagd om een werkend geheel op te leveren. Codegeneratie werkt nu voor twee tot drie kleine casussen. De code die gegenereerd wordt is nog niet erg complex. Hieronder staat een voorbeeld, voor een internet boekwinkel. Softwarekwaliteit? Natuurlijk! 21

24 Figuur 1: Voorbeeld van gegenereerde code Joery is er nog niet van overtuigd dat de door hem gebouwde codegenerator in alle gevallen succesvol zal zijn. Bij toevoegen van meer casussen verwacht hij nieuwe problemen tegen te komen. Op de vraag wat hij van Symbiosis vindt volgt na enig nadenken een genuanceerd antwoord. De methode is interessant. Het is een leuke, nieuwe aanpak van het werken met requirements. Maar, het ontbreekt wel aan schaalbaarheid. Bij kleine casussen is het aantal requirements te overzien en lukt het wel om ze op te stellen in het formaat dat Symbiosis vereist. Maar bij grote projecten met heel veel requirements gaat dat naar verwachting niet meer lukken. Het oordeel van Joery over de kwaliteit van de tool is minder positief. Het gebruikersinterface is in zijn ogen zwak, de tool bevat een aantal bugs. Er is zo te zien onvoldoende nagedacht over de opzet, de architectuur. Blijkbaar was zorgvuldig ontwerpen en coderen niet het hoofddoel van het deelproject rond Symbiosis. Ervaringen in een bedrijf 22 Softwarekwaliteit? Natuurlijk!

25 Tijdens het grootste deel van zijn stage heeft Joery in z n eentje aan het Symbiosis tool gewerkt. Ongeveer een kwart van de tijd heeft hij meegedraaid in een projectteam van ISAAC. Dat was eigenlijk wel erg leuk. Daar zag hij van dichtbij hoe in de praktijk door een team software wordt ontwikkeld. Opmerkelijk: het heeft Joery ook tot het inzicht gebracht dat hij later niet software ontwikkelaar wil worden. Dag in dag uit code schrijven en testen, dat is me te beperkt. Bij voorkeur houdt hij zich ook bezig met ontwerpen en klantcontacten. Maar ja, zo begin je niet als software engineer. Opleiding en werkveld Hoe kijk je als student naar het bedrijfsleven? Lopen ze voorop bij nieuwe ontwikkelingen, of kunnen ze nog wat leren van de opleidingen? Joery heeft nog niet veel bedrijven van binnen gezien. Toch ervaart hij soms al wel een verschil, bij voorbeeld het gebruik in de opleiding van Svn voor versiebeheer, terwijl het werkveld al massaal is overgestapt op Git. Daar blijft de opleiding duidelijk achter bij nieuwe ontwikkelingen. Een ander verschil is het gebruik van een ontwikkelomgeving (IDE). Bij Fontys wordt, zoals bij veel opleidingen, gewerkt met NetBeans, terwijl je in de praktijk meer Eclipse tegenkomt. Maar, in het algemeen heeft Joery niet het idee dat de opleiding erg wereldvreemd is. Via de Partners in Education (bedrijven die actief een bijdrage leveren aan het onderwijs) komt veel informatie uit de praktijk bij de opleiding binnen. Joery vindt bedrijfscontacten tijdens de opleiding belangrijk. In die contacten zie je welke methoden en technieken in het bedrijfsleven gebruikt worden. En zie je hoe het werk van afgestudeerden er uit ziet. Softwarekwaliteit? Natuurlijk! 23

26 24 Softwarekwaliteit? Natuurlijk!

27 Software voor game development Softwarekwaliteit? Natuurlijk! 25

28 26 Softwarekwaliteit? Natuurlijk!

29 Talen voor Game Productie Riemer van Rozen, CREATE-IT, Hogeschool van Amsterdam Een focus op games Binnen het project is Riemer van Rozen docent-onderzoeker bij de Hogeschool van Amsterdam (HvA), en promovendus bij de Software Analyse en Transformatie (SWAT) groep van Centrum Wiskunde en Informatica (CWI). Met zijn begeleiders van CWI, Paul Klint en Tijs van der Storm, heeft hij ervoor gekozen om zijn onderzoek te richten op de creatieve industrie, een speerpunt voor de HvA, en op Domein- Specifieke Talen (Domain Specific Languages, DSLs), een onderzoekslijn van SWAT. DSLs worden gebruikt om met behulp van software problemen op te oplossen in een bepaald domein, bijvoorbeeld het beschrijven van financiële producten, het uitvoeren van digitaal forensisch onderzoek of het ontwikkelen van game spelregels. DSLs leveren experts formalismen en notaties die dichter bij hun belevingswereld liggen dan algemene programmeertalen, zodat een taak als het creëren en onderhouden van applicaties of het analyseren ervan geautomatiseerd kan worden. De onderzoeksvraag waar Riemer aan gewerkt heeft luidt: Hoe kan met DSLs voor game development een verbetering in productiviteit en kwaliteit behaald worden? Zoeken naar synergie tussen onderwijs, onderzoek en de beroepspraktijk is een hoofddoel van RAAK projecten. De kloof tussen software prototypes die worden geconstrueerd voor publish-or-perish onderzoek en de time-to-market realiteit van de beroepspraktijk is groot. Voor het begaanbaar maken van nieuwe paden zoals het beschrijven en uitproberen van nieuwe methoden en technieken is in de beroepspraktijk weinig tijd beschikbaar. Mislukte experimenten kunnen een faillissement betekenen. Binnen het onderwijs bestaat er een gebrek aan tijd en expertise om onderzoek naar talen voor game ontwikkeling effectief vorm te geven. Daarnaast gaan technisch complexe onderzoeksresultaten al snel zo ver de diepte in dat ze voor onderwijsdoeleinden op hogescholen onbruikbaar zijn. Riemer ziet het als de uitdaging van docent-onderzoekers om in onderzoek, onderwijs en de beroepspraktijk gezamenlijke doelen te vinden en bruggen te bouwen, zodat problemen vanuit verschillende perspectieven kunnen worden opgelost. Die perspectieven geven een soort van ingrediënten die onderdeel zijn van de oplossing, en die kunnen worden gebruikt om een praktisch kader voor het onderzoek te bouwen. Dit kan door theorie en praktijkkennis toe te passen, nieuwe werkwijzen te formuleren, uit te voeren en hanteerbaar te maken voor de beroepspraktijk en voor het onderwijs. Wenselijke resultaten zijn begrijpelijk en Softwarekwaliteit? Natuurlijk! 27

30 toepasbaar, publicaties werpen licht op de onderzoeksvraag, afgeleid lesmateriaal is leerbaar, studeerbaar en toetsbaar, en opgeleverde tool prototypes zijn praktisch toepasbaar, simpel, flexibel, onderhoudbaar, robuust en snel. Het is de taak van de industrie om software prototypes verder te ontwikkelen. Aanpak: ontwikkelen, toepassen, valideren Softwarekwaliteit en game development zien wij inmiddels als een voor de hand liggende combinatie. Omdat de toenmalige consortiumpartners te kennen gaven niet over game development expertise te beschikken, hebben Riemer en CWI een partner gezocht om hun onderzoek mee te kunnen valideren. In november 2011 kwamen ze via tussenpersonen o.a. van Syntens in contact met Loren Roosendaal van IC3D Media. Samen delen ze een interesse in het verbeteren van de kwaliteit van game software en het automatiseren van onderdelen van productieprocessen. De samenwerking geeft gronding en praktische situaties om conceptuele problemen en vraagstukken te valideren. Ze hebben eerst enige tijd samengewerkt aan de analyse van de scripttaal Lua, een veelgebruikte taal in game development om delen van de software aanpasbaar te maken terwijl de software draait. Een nadeel van dynamische talen is dat vroegtijdig fouten vinden lastig is omdat fouten zich pas run-time manifesteren. Ze hebben met behulp van Rascal 3 enkele bestaande technieken voor statische analyse op Lua toegepast. Rascal is een meta-programmeertaal en een language workbench waarmee je talen en tools kunt bouwen, analyseren en onderhouden. Rascal wordt ontwikkeld bij de SWAT groep van CWI. Het praktisch toepassen van Rascal laat zien dat dit onderzoek waardevol is voor ander onderzoek. Het levert prototypes op die kunnen worden doorontwikkeld in de beroepspraktijk. Collega docent-onderzoeker Joris Dormans heeft bij de Hogeschool van Amsterdam de taal Machinations ontwikkeld. Dat is een visuele taal die dient als conceptueel gereedschap, informeel hulpmiddel en communicatiemiddel voor game designs. Het probleem is dat, hoewel het game designers zijn die spelregels formuleren en begrijpen hoe deze spelregels spelerservaringen beïnvloeden, het veelal software engineers zijn die ze in software implementeren. Riemer: Joris en ik onderzoeken hoe met Micro-Machinations (MM), een uitgebreide geformaliseerde subset van Machinations, game software verbeterd kan worden. Game designers kunnen ook schetsen met MM maar het grote verschil is dat de analyses ervan iets zeggen over hoe de game werkt, omdat de diagrammen functioneren als geïntegreerd onderdeel van een spel Softwarekwaliteit? Natuurlijk!

31 Wellicht is game design niet het eerste gebied waar je aan denkt bij het toepassen van formele methoden een collectie van wiskundige formalismen, algoritmen, methodes en tools om software mee te analyseren. Riemer: middels Rascal hebben we een vertaling gemaakt van MM naar PROMELA, de proces specificatie taal voor een model-checker. Het checken van systeem eigenschappen tegen alle mogelijkheden die het systeem kan aannemen stelt designers in staat om rigoureus spelregels te testen zonder de game te spelen. Het mooie eraan is dat designers feedback krijgen op het conceptuele niveau van MM omdat tegenvoorbeelden in tegenspraak met systeemeigenschappen het model in beweging zetten waardoor dit gedrag begrepen en gerepareerd kan worden. Hergebruik van software is ook in game development belangrijk. De MM Library 4 is een herbruikbare software bibliotheek voor het integreren van spelregels. MM is live, dat wil zeggen dat designers spelregels kunnen aanpassen terwijl het spel draait, tijdens het testen. Riemer werkt aan het valideren van de aanname dat meer kansen op het verbeteren van spelregels leidt tot betere game software en betere spelerservaringen. Vooruitblik De uitdaging in de laatste fase van een project is om de uitkomsten te borgen en voor langere tijd beschikbaar te maken zodat deze ook in de toekomst gebruikt kunnen worden. Riemer stipt enkele stappen aan die hij noodzakelijk acht. - Onderwijs. We hebben workshops georganiseerd voor derdejaars game development studenten over Micro-Machinations. Het dient als voorbeeld voor ontwikkelen van tools en talen. Rond dit topic zijn tal van afstudeeropdrachten denkbaar. - Publicaties. Om te garanderen dat onze publicaties te vinden zijn hebben we een website gehost op GitHub waar al het materiaal te vinden is. Dit is ook een uitstekende plek om slides te delen. - Onderzoek. In het SIA RAAK project Automated Game Design zetten we Micro- Machinations opnieuw in. Het biedt een platform voor toekomstig onderzoek, o.a. op het gebied van procedurele content generatie. - Disseminatie. We hebben de code van de Micro-Machinations taal beschikbaar gemaakt onder de 3-clause BSD open source license op GitHub, een open source repository. We pogen een levende community rond Micro-Machinations te bouwen zodat deze niet in de vergetelheid raakt nadat het project eindigt. - Valorisatie. We werken met IC3D Media aan het aanpasbaar maken van de game mechanics van de game Johnny Jetstream middels MM. We pogen een 4 Softwarekwaliteit? Natuurlijk! 29

32 overtuigend voorbeeld te geven dat gebruikt kan worden om game mechanics mee te leren modelleren. Afsluitend Samen met CWI heeft Riemer in het EQuA project uniek onderzoek gedaan en verrassende resultaten behaald met een bruikbare domein-specifieke taal voor game design en game development. Natuurlijk kan er met meer tijd, energie en financiering meer onderzoek gedaan worden. Van alle mogelijke ongebaande paden hebben ze er maar één bewandeld en begaanbaar gepoogd te maken. De hoop is dat die aanpak navolging zal vinden zodat er meer kennis ontstaat over het toepassen van taal georiënteerde oplossingen voor game productie. Wie meer wil lezen: Project deliverables [9], [10], [11] Over Rascal: Klint, P., van der Storm, T., & Vinju, J., EASY Meta-Programming with Rascal. Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III, Springer-Verlag, 2011, Over game mechanics: Adams, E., & Dormans, J., Game Mechanics: Advanced Game Design New Riders Publishing, Softwarekwaliteit? Natuurlijk!

33 De kracht van serious games Een interview met Loren Roosendaal, IC3D Media IC3D Media IC3D Media uit Breda is een belangrijke speler op de internationale markt van serious games. Sinds begin 2013 nemen ze deel aan het EQuA project. Samen met onderzoekers van de Hogeschool van Amsterdam en Centrum Wiskunde & Informatica (CWI) heeft het bedrijf gewerkt aan software om het ontwerpen van games te vereenvoudigen. In een interview met Loren Roosendaal, oprichter en CEO, passeren veel onderwerpen de revue: het belang van serious games, het specifieke karakter van game software, de aandacht voor kwaliteit, de relatie met opleidingen en onderzoeksinstituten. Loren is op 11-jarige leeftijd begonnen met het programmeren van games. Via internet werkte hij samen met mede-ontwikkelaars over de hele wereld. Samen hebben ze een WO II variant van een bestaand spel ontwikkeld. Die variant werd in korte tijd 2,5 miljoen maal gedownload. Dat gaf wel een kick. IC3D Media is van het begin af aan een internationaal bedrijf. Na de start groeide IC3D Media tot 12 mensen. Daarvan zaten er twee (Loren en zijn broer) in Nederland, de rest zat over de hele wereld. Dat waren (deels) de jeugdcontacten van Loren. Serious games IC3D Media maakt trainingssoftware voor bedrijven en organisaties. Bijvoorbeeld: het trainen van reddingwerkers bij aardbevingen in Indonesië. Die kunnen met behulp van de trainingssoftware oefenen hoe te handelen in levensechte situaties: wat doe je als een gebouw ingestort is, welke hulpmiddelen heb je tot je beschikking, hoe kan je die het beste inzetten? Dit soort trainingssoftware heeft in de ogen van Loren een grote toekomst: mensen die vroeger in klaslokalen of uit dikke boeken leerden kunnen nu in 10 minuten per dag op hun tablet, laptop of pc interactief kennis en vaardigheden opdoen. Bovendien loont het trainen van hulpverleners. Er gaat veel mis omdat die mensen slecht getraind zijn. Loren geeft een voorbeeld: een groot deel van de dwarslaesies die ontstaan na een ongeluk is te voorkomen als mensen de apparatuur die ze gebruiken om iemand te bevrijden beter zouden gebruiken. Dat kun je trainen, aanleren, met serious games! Dit soort opbrengsten toont het maatschappelijk belang van serious games aan. Serious games dragen direct bij aan de kwaliteit van leven! Softwarekwaliteit? Natuurlijk! 31

34 Leerstrategieën spelen een belangrijke rol bij het ontwikkelen van serious games. Je moet op het juiste moment de juiste uitdagingen en beloningen aanbieden. Doe je dat niet dan haken mensen af omdat het spel te moeilijk of te makkelijk is. IC3D Media heeft op basis van eigen praktijkervaring hier veel inzicht in gekregen, grote stappen in gemaakt. Naast een goede leerstrategie is realisme in trainingen erg belangrijk. Er bestaat wetenschappelijk onderzoek dat zegt aan te tonen dat het niet zo belangrijk is hoe een poppetje er uit ziet. Loren is, op basis van eigen ervaring, overtuigd dat in een aantal gevallen het tegendeel geldt. IC3D Media is op dit vlak veel verder dan de meeste ontwikkelaars/bedrijven. Wij zijn in staat om veel meer details in onze games op te nemen. En daarmee maken we echt een verschil. Early quality assurance Hoe benadert IC3D Media early quality assurance? Dat begint met goed nadenken over de inhoud en de opbouw van een game: je moet van meet af aan de complexiteit en daarmee de omvang goed beheersen. Bij games ontstaat heel snel een zeer grote toestandsruimte. Die moet je vanaf het begin inperken. Ook besteedt IC3D Media veel aandacht aan code kwaliteit. Onderlinge code reviews houden de ontwikkelaars scherp. Daarbij is er ook expliciet aandacht voor de performance. Loren houdt een gloedvol betoog waarom het noodzakelijk is om bij het schrijven van performance-gevoelige code nauwkeurig te weten hoe de code door de hardware wordt verwerkt. De manier waarop een processor bijvoorbeeld gegevens in zijn cache zet, is zeer bepalend voor de performance, code (met name ook de gebruikte datastructuur) moet daarop afgestemd zijn. IC3D Media stelt hoge eisen aan de kwaliteit van haar medewerkers. De game design opleiding bij de NHTV (Breda) is in de ogen van Loren de beste in Nederland. Stagiairs van die opleiding zijn regelmatig te vinden bij IC3D Media. Maar ook de kwaliteit van afgestudeerden bij die opleiding is nog niet voldoende om bij IC3D Media als zelfstandig ontwikkelaar aan het werk te gaan. Het testen van games is een verhaal apart. Door het grote aantal mogelijkheden in een spel is test-driven development geen optie het is niet een kwestie van de juiste output leveren bij bepaalde inputwaarden. Uiteraard wordt er ook bij IC3D Media veel getest. Unit-tests worden gebruikt als het om meer technische zaken gaat, acceptatietests met opdrachtgevers en gebruikers als het meer om de gameplay elementen gaat. Probleem daarbij is wel dat opdrachtgevers soms van tevoren niet concreet weten wat ze willen. Pas tijdens de ontwikkeling van een game wordt een opdrachtgever zich bewust van wat de mogelijkheden zijn en van hoe die aan te passen zijn aan zijn wensen. 32 Softwarekwaliteit? Natuurlijk!

Wat drijft het werkveld?

Wat drijft het werkveld? Wat drijft het werkveld? Presentatie uitkomsten survey Jacob Brunekreef, Fontys ICT Jacob Brunekreef Meer dan 25 jaar werkzaam in de IT Nu: Projectleider EQuA project, Fontys ICT Adviseur / trainer bij

Nadere informatie

Connect Social Business

Connect Social Business Connect Social Business Joey Kaan September 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren.................. 5 2.2 Facebook API leren door

Nadere informatie

Zest Application Professionals Training &Workshops

Zest Application Professionals Training &Workshops De requirements trainingen van Zest Application Professionals geven u de handvatten die nodig zijn om uw requirementsproces te verbeteren. U doet hands-on ervaring op en leert omgaan met lastige praktijksituaties.

Nadere informatie

Webdesign voor ondernemers

Webdesign voor ondernemers e-boek Webdesign voor ondernemers Veelgestelde vragen over het laten maken van een website Bart van den Bosch Inhoud 1. Zelf doen of uitbesteden? 4 2. Webdesigners 7 3. Wat is Wordpress 10 4. Maken van

Nadere informatie

Plan van Aanpak Afstuderen

Plan van Aanpak Afstuderen Plan van Aanpak Afstuderen Michiel Graat 27-09-2005 Inhoudsopgave 1 Inleiding 3 1.1 Terminologie............................. 3 1.2 Opdracht............................... 4 1.3 JavaCard...............................

Nadere informatie

Adding value to test tooling Hoe en waarom DevOps de wereld van performance testen verandert

Adding value to test tooling Hoe en waarom DevOps de wereld van performance testen verandert Hoe en waarom DevOps de wereld van performance testen verandert Najaarsevenement 14 oktober 2015 Inleiding Wie zijn we Marc Koper: Specialist in performancetesten / testautomatisering HenkJaap van den

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 28, 2014 Inhoudsopgave 1 Achtergronden 1 2 Probleemstelling & Doelstelling 2 2.1 Leren Professioneel Functioneren..................

Nadere informatie

BDD/Gherkin. Een introductie

BDD/Gherkin. Een introductie BDD/Gherkin Een introductie Organisatie SYSQA B.V. Pagina 2 van 10 Inhoudsopgave 1. Inleiding... 3 2. BDD... 4 3. Gherkin... 5 4. BDD-Tools... 6 5. Voordelen... 7 6. Benodigde kennis en vaardigheden...

Nadere informatie

Reflectie Verslag. 25 januari. Game Developement Informatica Hogeschool v. Amsterdam

Reflectie Verslag. 25 januari. Game Developement Informatica Hogeschool v. Amsterdam Reflectie Verslag 25 januari 2013 Het reflectie verslag met nabeschouwing en beoordelingen over de stage van Simon Karman bij het bedrijf Sticky Studios. Game Developement Informatica Hogeschool v. Amsterdam

Nadere informatie

Opleidingsplan. Studenten. MDL- referentie. Clermond de Hullu Wiebren Wolthuis Simon Wels Maik Gosenshuis D04

Opleidingsplan. Studenten. MDL- referentie. Clermond de Hullu Wiebren Wolthuis Simon Wels Maik Gosenshuis D04 Opleidingsplan Studenten Clermond de Hullu Wiebren Wolthuis Simon Wels Maik Gosenshuis MDL- referentie D04 Versiebeheer Versie Datum Wijzigingen Door wie 0.1 20-09- 2009 Eerste opzet voor het document.

Nadere informatie

Stichting NIOC en de NIOC kennisbank

Stichting NIOC en de NIOC kennisbank Stichting NIOC Stichting NIOC en de NIOC kennisbank Stichting NIOC (www.nioc.nl) stelt zich conform zijn statuten tot doel: het realiseren van congressen over informatica onderwijs en voorts al hetgeen

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 21, 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren..................

Nadere informatie

Van concept naar een klikbaar prototype

Van concept naar een klikbaar prototype UXkids case study: Van concept naar een klikbaar prototype Keywords: Koninklijke Bibliotheek, Website, Prototype, User tests, Usability, UX, Kinderen 9-12 jaar. Als onderdeel van het netwerk van openbare

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

Software Test Documentation

Software Test Documentation FACULTEIT INGENIEURSWETENSCHAPPEN & WE- TENSCHAPPEN DEPARTMENT OF COMPUTER SCIENCE AND APPLIED COMPUTER SCIENCE Software Test Documentation Software Engineering Nicolas Carraggi, Youri Coppens, Christophe

Nadere informatie

Stappenplan. De ontwikkeling van een interface doorloopt bij Studio Wolf vier stappen. Deze stappen verduidelijken de weg naar het eindresultaat.

Stappenplan. De ontwikkeling van een interface doorloopt bij Studio Wolf vier stappen. Deze stappen verduidelijken de weg naar het eindresultaat. Stappenplan Een interface is in principe alles wat de communicatie tussen de gebruiker en de computer bepaalt of vorm geeft. Het is het deel van de website of webapplicatie dat de interactie met de gebruiker

Nadere informatie

SmartScrum: Agile én duurzaam

SmartScrum: Agile én duurzaam SmartScrum: Agile én duurzaam SmartScrum: slimmer, sneller, goedkoper! 20% tot 30% snellere time-to-market 20% tot 30% kostenbesparing 100% voorspelbaar 100% duurzaam 100% begrijpelijk PNA Group lanceert

Nadere informatie

Ervaringen met het opzetten van een MDD omgeving

Ervaringen met het opzetten van een MDD omgeving Ervaringen met het opzetten van een MDD omgeving Introductie (1/3) Eric Jan Malotaux Software architect Mod4j Software architect Ordina Johan Vogelzang Developer Mod4j Projectleider Java ontwikkelstraat

Nadere informatie

Opleidingsprogramma DoenDenken

Opleidingsprogramma DoenDenken 15-10-2015 Opleidingsprogramma DoenDenken Inleiding Het opleidingsprogramma DoenDenken is gericht op medewerkers die leren en innoveren in hun organisatie belangrijk vinden en zich daar zelf actief voor

Nadere informatie

ADVANCED KNOWLEDGE SERVICES (AKS )

ADVANCED KNOWLEDGE SERVICES (AKS ) ADVANCED KNOWLEDGE SERVICES (AKS ) EEN KRACHTIG NIEUW BUSINESS IMPROVEMENT PARADIGMA OM COMPLEXITEIT TE BEHEERSEN DEMO AKS BUSINESS BENEFITS: VAKANTIEDAGEN SOP EEN KRACHTIG NIEUW BUSINESS IMPROVEMENT PARADIGMA

Nadere informatie

Automated Engineering White Paper Bouw & Infra

Automated Engineering White Paper Bouw & Infra Automated Engineering White Paper Bouw & Infra Inhoudsopgave 1. Introductie 2 2. Wat is automated engineering? 3 3. Wanneer is Automated Engineering zinvol? 3 4. Wat zijn de stappen om een ontwerpproces

Nadere informatie

Scaled agile in de praktijk: welke modellen zijn er en wat werkt het beste in jouw situatie?

Scaled agile in de praktijk: welke modellen zijn er en wat werkt het beste in jouw situatie? Scaled agile in de praktijk: welke modellen zijn er en wat werkt het beste in jouw situatie? Nothing beats an agile team! Lang leve het agile team dat zich tijdens elke sprint verder verbetert. Maar wat

Nadere informatie

Inhoud. Subject: Taak 1.2.16 Wat is een portfolio? Paul van der Linden MT1a Periode 2 School Docoments, user 9994 Year 2007-2008

Inhoud. Subject: Taak 1.2.16 Wat is een portfolio? Paul van der Linden MT1a Periode 2 School Docoments, user 9994 Year 2007-2008 Inhoud Taak 1.2.16 Inhoud... 1 Voorwoord... 2... 3 Wat is de inhoud van een portfolio?... 3 Persoonlijk CV... 3 Persoonlijke Competenties... 4 Dossier... 4 Persoonlijk Ontwikkelingsplan... 4 Hoe kan ik

Nadere informatie

Kickstart-aanpak. Een start maken met architectuur op basis van best practices.

Kickstart-aanpak. Een start maken met architectuur op basis van best practices. Kickstart-aanpak Een start maken met architectuur op basis van best practices. www.theunitcompany.com Kickstart-aanpak Soms is net dat extra duwtje in de rug nodig om te komen waar je wilt zijn. In onze

Nadere informatie

Factsheet CONTINUOUS VALUE DELIVERY Mirabeau

Factsheet CONTINUOUS VALUE DELIVERY Mirabeau Factsheet CONTINUOUS VALUE DELIVERY Mirabeau CONTINUOUS VALUE DELIVERY We zorgen ervoor dat u in elke volwassenheidsfase van uw digitale platform snel en continu waarde kunt toevoegen voor eindgebruikers.

Nadere informatie

COMPETENTIE- ONTWIKKELPLAN. Tim Veerman. Klas: IG_203 Studentnummer: Periode: Loopbaanadviseur: Alexander Mulder

COMPETENTIE- ONTWIKKELPLAN. Tim Veerman. Klas: IG_203 Studentnummer: Periode: Loopbaanadviseur: Alexander Mulder COMPETENTIE- ONTWIKKELPLAN Tim Veerman Klas: IG_203 Studentnummer: 500676694 Periode: 2015-2016 Loopbaanadviseur: Alexander Mulder Inhoudsopgave Visie op Studie en beroep... 2 Studievoortgang... 3 SWOT

Nadere informatie

Model Driven Development. Kosten, baten, organisatie

Model Driven Development. Kosten, baten, organisatie Model Driven Development Kosten, baten, organisatie Model Based versus Model Driven 2 MODEL BASED VERSUS MODEL DRIVEN 3 Model Based Development Modellen gebruikt bij ontwerp Handmatig coderen aan op basis

Nadere informatie

Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo

Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo Henrik Rexed & Joerek van Gaalen Voorstellen Joerek van Gaalen Performancetest specialist sinds 2005 Sinds 2014 CTO Computest Voorstellen

Nadere informatie

Social Media Marketing strategie

Social Media Marketing strategie Social Media Marketing strategie --= werkboek =-- 1. Bepaal je doelstelling Vaak zal SMM een onderdeel zijn van bestaande marketingcommunicatieplannen. Een extra kanaal om je doelgroep te bereiken. Soms

Nadere informatie

CURRICULUM PLANNING SCENARIO S TON PEETERS, DICK KAMPMAN

CURRICULUM PLANNING SCENARIO S TON PEETERS, DICK KAMPMAN CURRICULUM PLANNING SCENARIO S TON PEETERS, DICK KAMPMAN INTRODUCTIE Er komen steeds meer studenten op de opleiding Biologie af. Dit heeft als gevolg dat de zaalreserveringen en planning van docenten en

Nadere informatie

Reshaping the way you think and act to deal with the complex issues of today s world

Reshaping the way you think and act to deal with the complex issues of today s world Reshaping the way you think and act to deal with the complex issues of today s world HOE GAAT HET NU? We zetten allemaal verschillende methoden in om vraagstukken op te lossen, oplossingen te ontwerpen

Nadere informatie

De beheerrisico s van architectuur

De beheerrisico s van architectuur De beheerrisico s van architectuur Een overzicht van de ArChimate Risico Extensie versie 0.2 Bert Dingemans Inleiding Het implementeren van een (enterprise) architectuur brengt altijd risico s met zich

Nadere informatie

Aanspreekpunt voor studenten Informatica van Avans Hogeschool voor stage en afstuderen.

Aanspreekpunt voor studenten Informatica van Avans Hogeschool voor stage en afstuderen. Aanspreekpunt voor studenten Informatica van Avans Hogeschool voor stage en afstuderen. Innovatie & inspiratieprogramma + werkplek @ Jamfabriek (code A02) Heeft u een idee, project of opdracht, neem dan

Nadere informatie

Testomgevingen beheer

Testomgevingen beheer Testomgevingen beheer Testen brengt het verwachte resultaat en de huidige toestand bij elkaar. Het geeft aanknopingspunten om de planning te maken, het product te verbeteren en om zorgen bij belanghebbenden

Nadere informatie

MINOR SOFTWARE KWALITEIT EN TESTEN. 15 mei 2019 Maurice van Haperen

MINOR SOFTWARE KWALITEIT EN TESTEN. 15 mei 2019 Maurice van Haperen MINOR SOFTWARE KWALITEIT EN TESTEN 15 mei 2019 Maurice van Haperen Agenda Introductie Aanleiding, ontwikkeltraject Programma en toetsing Ervaringen Hoe verder Discussie / vragen en (eventueel) een bijdrage

Nadere informatie

Was, is of komt er aandacht voor

Was, is of komt er aandacht voor Was, is of komt er aandacht voor SoftwareKwaliteit in het onderwijs? Voorjaarsevenement TestNet 2012 Leo van der Aalst Lector Software Quality and Testing at Fontys University of Applied Sciences Locaties

Nadere informatie

VOICE OF THE CUSTOMER

VOICE OF THE CUSTOMER 4/20/ E-BOOK VOICE OF THE CUSTOMER Gratis e-book leansixsigmatools.nl Introductie Bij Six Sigma staat het denken vanuit de behoeften van de klant centraal. Juist de vertaling van de stem(men) van de klant(en)

Nadere informatie

Releasen met een druk op de knop: Met behulp van Continuous Delivery sneller uw doel bereiken

Releasen met een druk op de knop: Met behulp van Continuous Delivery sneller uw doel bereiken Releasen met een druk op de knop: Met behulp van Continuous Delivery sneller uw doel bereiken De business organisatie heeft altijd stijgende verwachtingen van uw IT organisatie. Meer dan ooit is het van

Nadere informatie

Voorwoord. Nienke Meijer College van Bestuur Fontys Hogescholen

Voorwoord. Nienke Meijer College van Bestuur Fontys Hogescholen 3 Voorwoord Goed onderwijs is een belangrijke voorwaarde voor jonge mensen om uiteindelijk een betekenisvolle en passende plek in de maatschappij te krijgen. Voor studenten met een autismespectrumstoornis

Nadere informatie

WHITEPAPER IN 5 MINUTEN. 11. Scrum

WHITEPAPER IN 5 MINUTEN. 11. Scrum WHITEPAPER IN 5 MINUTEN A U G U S T U S 2 0 1 4 11. Scrum Deze whitepaper gaat over Scrum. Kort en bondig: Scrum is een software-ontwikkelmethode met vaste sprints van enkele weken waarin steeds een verbeterde

Nadere informatie

TMA 360º feedback Flexibel en online. TMA 360º feedback werkboek. Dank u voor het gebruiken van de TMA 360º feedback competentie-analyse

TMA 360º feedback Flexibel en online. TMA 360º feedback werkboek. Dank u voor het gebruiken van de TMA 360º feedback competentie-analyse Haal het maximale uit de TMA 360º fb competentieanalyse Dank u voor het gebruiken van de TMA 360º feedback competentie-analyse 360º feedback is een krachtig instrument, maar dient op de juiste wijze gebruikt

Nadere informatie

APPENDIX 3. Visueel voetmodel ter simulatie van voetkinematica aan de hand van planetaire drukdata (Friso Hagman)

APPENDIX 3. Visueel voetmodel ter simulatie van voetkinematica aan de hand van planetaire drukdata (Friso Hagman) APPENDIX 3. Visueel voetmodel ter simulatie van voetkinematica aan de hand van planetaire drukdata (Friso Hagman) 1. Introductie De doelstelling van het SIMKINPRES-project is het ontwikkelen van een klinisch

Nadere informatie

Plan van aanpak Toogle

Plan van aanpak Toogle Plan van aanpak Toogle Gemaakt door, Kevin Donkers Paul v.d. Linden Paul Eijsermans en Geert Tapperwijn 1 Inhoudsopgave 1 Inhoudsopgave...2 2 Inleiding...3 3 Projectopdracht...4 4 Projectactiviteiten...5

Nadere informatie

Adverteren op one2xs

Adverteren op one2xs Adverteren op one2xs GPT advertenties die wél rendabel zijn. Laat u overtuigen door de vele mogelijkheden die one2xs u biedt. www.one2xs.com 28-11-2008 Adverteren op one2xs. Waarom? Enorm brede doelgroep

Nadere informatie

E-resultaat aanpak. Meer aanvragen en verkopen door uw online klant centraal te stellen

E-resultaat aanpak. Meer aanvragen en verkopen door uw online klant centraal te stellen E-resultaat aanpak Meer aanvragen en verkopen door uw online klant centraal te stellen 2010 ContentForces Niets uit deze uitgave mag worden verveelvoudigd en/of openbaar gemaakt door middel van druk, fotokopie,

Nadere informatie

Titel, samenvatting en biografie

Titel, samenvatting en biografie Titel, samenvatting en biografie \ Peter Wanders De Black Box Dialog methode Voorjaarsevent Testnet: 22 juni 2009 Samenvatting Nog nooit heb ik heb een klant horen zeggen: Enorm vervelend dat het IT project

Nadere informatie

NDERE KIJK OP ICT CONSULTANCY

NDERE KIJK OP ICT CONSULTANCY DE a NDERE KIJK OP ICT CONSULTANCY Innervate is al ruim 13 jaar succesvol in het adviseren van vele organisaties op het gebied van ICT vraagstukken. Naast onze dienstverlening op het gebied van ICT Beleid

Nadere informatie

Verzamelde vragen en antwoorden Agile Applicatie ontwikkeling. Agile Methodiek en Technologie. Zest Application Professionals

Verzamelde vragen en antwoorden Agile Applicatie ontwikkeling. Agile Methodiek en Technologie. Zest Application Professionals Verzamelde vragen en antwoorden Agile Applicatie ontwikkeling Agile Methodiek en Technologie Zest Application Professionals Hoe is de aansluiting op ontwikkelmethoden voor Legacy-systemen? Out of the Box

Nadere informatie

SMART requirements schrijven

SMART requirements schrijven SMART requirements schrijven Reverse Engineering als aanpak voor leren Requirements Kenniscentrum 27 maart 2012, 18:50 19:30 uur Hossein Chamani, docent en trainer bij Hogeschool Rotterdam 1 Introductie

Nadere informatie

Chris de Kok 223548 TDI 3. Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren

Chris de Kok 223548 TDI 3. Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren Chris de Kok 223548 TDI 3 Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren Inhoud Inleiding... 3 Black box / White box... 3 XP... 3 SimpleTest... 3 Eclipse plugin... 4 GroupTest...

Nadere informatie

Keuzedeel mbo. Veilig programmeren. gekoppeld aan één of meerdere kwalificaties mbo. Code

Keuzedeel mbo. Veilig programmeren. gekoppeld aan één of meerdere kwalificaties mbo. Code Keuzedeel mbo Veilig programmeren gekoppeld aan één of meerdere kwalificaties mbo Code Penvoerder: Sectorkamer ICT en creatieve industrie Gevalideerd door: Sectorkamer ICT en creatieve industrie Op: 12-04-2016

Nadere informatie

Scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum agileagileagileagileagileagileagileagil

Scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum agileagileagileagileagileagileagileagil Scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum agileagileagileagileagileagileagileagil eagileagileagileagileagileagileagileagi leagileagileagileagileagileagileagileag

Nadere informatie

DATAMODELLERING BASIS UML KLASSEMODEL

DATAMODELLERING BASIS UML KLASSEMODEL DATAMODELLERING BASIS UML KLASSEMODEL Inleiding In dit whitepaper wordt de datamodelleervorm basis UML klassemodel beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.

Nadere informatie

4 Testen en optimaliseren

4 Testen en optimaliseren Alle wegwijzers in de fase: 4 Testen en optimaliseren 4.1 Je ontwerp testen bij de doelgroep (74) 4.2 Je ontwerp voorleggen aan een expert (75) 4.3 Je ontwerp voorleggen aan de opdrachtgever (76) 4.4 Je

Nadere informatie

Wim Ottenhoff, Jan Verbeek, 4 december 2012. PLM in de keten Overzicht en status project

Wim Ottenhoff, Jan Verbeek, 4 december 2012. PLM in de keten Overzicht en status project Wim Ottenhoff, Jan Verbeek, 4 december 2012 PLM in de keten Overzicht en status project Agenda 1. Achtergrond 2. Problematiek 3. Het project 4. Aanpak 5. De pilots 6. Conclusies 7. Actuele status 8. Vragen

Nadere informatie

#C #Exlipse #C++ #Linux #UML. Rotterdam Den Haag Zoetermeer

#C #Exlipse #C++ #Linux #UML. Rotterdam Den Haag Zoetermeer Jeffrey #C #Exlipse #C++ #Linux #UML Rotterdam Den Haag Zoetermeer Jeffrey is een slim en nauwkeurige software engineer die graag een moeilijke uitdaging aangaat. Hij komt graag met goed uitgewerkte oplossingen

Nadere informatie

Business Lounge: uw klant aan de bestuurstafel!

Business Lounge: uw klant aan de bestuurstafel! Gaby Remmers: senior onderzoeker Blauw Research Drijfveer: organisaties helpen inzicht te krijgen in de kansen op een nog klantgerichtere dienstverlening Andre Heeling: onderzoeker Blauw Research Drijfveer:

Nadere informatie

SmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker

SmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker SmartTestAssistant Het slimme testhulpmiddel door Frank Stolker Inhoud Waarom wéér een ander tool? Omdat dit is wat we willen Wat is SmartTestAssistant dan? Hoe zit het in elkaar? Hoe werkt het? Schematische

Nadere informatie

ORGANISATORISCHE IMPLENTATIE BEST VALUE

ORGANISATORISCHE IMPLENTATIE BEST VALUE ORGANISATORISCHE IMPLENTATIE BEST VALUE EEN ONDERZOEK NAAR DE IMPLEMENTATIE VAN BEST VALUE BINNEN EEN SYSTEMS ENGINEERING OMGEVING STEPHANIE SAMSON BEST VALUE KENNIS SESSIE WESTRAVEN 17 JUNI 09.00 12.00

Nadere informatie

DATAMODELLERING SIPOC

DATAMODELLERING SIPOC DATAMODELLERING SIPOC Inleiding In dit whitepaper wordt de datamodelleervorm Sipoc beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen. Wil je een beeld krijgen van

Nadere informatie

Management. Analyse Sourcing Management

Management. Analyse Sourcing Management Management Analyse Sourcing Management Management Business Driven Management Informatie- en communicatietoepassingen zijn onmisbaar geworden in de dagelijkse praktijk van uw organisatie. Steeds meer

Nadere informatie

MDA in de praktijk. Freek Bosch, Business Unit Manager Amsterdam, 4 juni 2009

MDA in de praktijk. Freek Bosch, Business Unit Manager Amsterdam, 4 juni 2009 Functional Model Driven Development MDA in de praktijk Freek Bosch, Business Unit Manager Amsterdam, 4 juni 2009 FMDD agenda FMDD Waarom FMMD De praktijk Wat is FMDD Ervaringen en lessons learned Ervaringen

Nadere informatie

Werken met Lean. Peter Matthijssen Consultant BiZZdesign. Almar Jong Consultant BiZZdesign

Werken met Lean. Peter Matthijssen Consultant BiZZdesign. Almar Jong Consultant BiZZdesign Werken met Lean Peter Matthijssen Consultant BiZZdesign Almar Jong Consultant BiZZdesign BiZZdesign Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd

Nadere informatie

Individueel procesverslag

Individueel procesverslag Individueel procesverslag Een weergave van mijn werkzaamheden binnen het G-Blok. Afdeling : Academie voor ICT & Media, Informatica Schooljaar : 2009 Blok : G Datum : 30 10-2009 Plaats : Honselersdijk Naam:

Nadere informatie

Factsheet Crowd Testen

Factsheet Crowd Testen Factsheet Crowd Testen www.testbats.com Uw klanten eisen tegenwoordig hoge kwaliteit van uw desktop applicatie, webapplicatie of mobile app. Onder alle omstandigheden en op elk apparaat. Daarom eist u

Nadere informatie

Connect Social Business

Connect Social Business Connect Social Business Plan van Aanpak Joey Kaan September 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren.................. 5 2.2 Facebook

Nadere informatie

Conclusie: voor elke organisatie die dit nastreeft is het goed besturen en beheersen van de bedrijfsprocessen

Conclusie: voor elke organisatie die dit nastreeft is het goed besturen en beheersen van de bedrijfsprocessen 1 Waarom? : Succesvol zijn is een keuze! Organisaties worden door haar omgeving meer en meer gedwongen om beter te presteren. Voornamelijk wordt dit ingegeven door de klant die haar eisen en wensen m.b.t.

Nadere informatie

Clean code improves test quality

Clean code improves test quality Clean code improves test quality Michel Kroon, Senior Consultant, SIG TestNet Voorjaarsevenement 30 juni 2008 Arent Janszoon Ernststraat 595-H NL-1082 LD Amsterdam info@sig.nl www.sig.nl De Software Improvement

Nadere informatie

KIM. Slimme acties ondernemen

KIM. Slimme acties ondernemen KIM Slimme acties ondernemen CONTROLE KWIJT? Herkent u dit soort ervaringen ook? Uw organisatie heeft allerlei systemen in huis, maar Niemand weet echt meer hoe het systeem exact werkt Voor kleine wijzigingen

Nadere informatie

Oplossingsvrij specificeren

Oplossingsvrij specificeren Oplossingsvrij specificeren ir. J.P. Eelants, projectmanager Infrabouwproces CROW Samenvatting De methodiek van oplossingsvrij specificeren richt zich niet alleen op het formuleren van functionele eisen.

Nadere informatie

9 redenen waarom jouw website geen klanten oplevert.

9 redenen waarom jouw website geen klanten oplevert. 9 redenen waarom jouw website geen klanten oplevert. Introductie Een goed ingerichte website met een goed uitgevoerde marketingstrategie is het ideale marketing tool voor ondernemers. Een goede website

Nadere informatie

Zelfreflectie meetinstrument Ondernemende houding studenten Z&W

Zelfreflectie meetinstrument Ondernemende houding studenten Z&W Zelfreflectie meetinstrument Ondernemende houding studenten Z&W 1 Naam student: Studentnummer: Datum: Naam leercoach: Inleiding Voor jou ligt het meetinstrument ondernemende houding. Met dit meetinstrument

Nadere informatie

CREATIEF VERMOGEN. Andrea Jetten, Hester Stubbé

CREATIEF VERMOGEN. Andrea Jetten, Hester Stubbé CREATIEF VERMOGEN Andrea Jetten, Hester Stubbé OPDRACHT Creativitief vermogen meetbaar maken zodat de ontwikkeling ervan gestimuleerd kan worden bij leerlingen. 21st century skills Het uitgangspunt is

Nadere informatie

Kwaliteit. 1. Introductie. Deel 1. Algemene Kennis

Kwaliteit. 1. Introductie. Deel 1. Algemene Kennis 1. Introductie Kwaliteit In deze module gaan we iets verder in op het begrip "kwaliteit". Het is de bedoeling om wat achtergrondinformatie te geven die van pas kan komen bij de andere modules. Kwaliteit

Nadere informatie

Reflectieverslag mondeling presenteren

Reflectieverslag mondeling presenteren Reflectieverslag mondeling presenteren Naam: Registratienummer: 900723514080 Opleiding: BBN Groepsdocente: Marjan Wink Periode: 2 Jaar: 2008 Inleiding In dit reflectieverslag zal ik evalueren wat ik tijdens

Nadere informatie

Museumbezoek onder Studenten

Museumbezoek onder Studenten Museumbezoek onder Studenten Ontwerprapport CMD-Project Jelle Clignet CMD2B 1108174 Inhoudsopgave Inleiding 2 Concept 3 Beschrijving van het concept 3 Applicatie 3 Ondersteunende middelen 3 Middelen 4

Nadere informatie

Applicatieontwikkelaar

Applicatieontwikkelaar Applicatieontwikkelaar Leeswijzer voor bedrijven Kenniscentrum beroepsonderwijs bedrijfsleven ECABO houdt ontwikkelingen in de economisch-administratieve, ICT- en veiligheidsberoepen bij. Deze ontwikkelingen

Nadere informatie

Cover Page. The handle holds various files of this Leiden University dissertation.

Cover Page. The handle  holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/41339 holds various files of this Leiden University dissertation. Author: Karasneh, B.H.A. Title: An online corpus of UML Design Models : construction and

Nadere informatie

Scrum. Een introductie

Scrum. Een introductie Organisatie SYSQA B.V. Pagina 1 van 10 Scrum Een introductie Almere 1999 Proud of it Pagina 1 van 10 Organisatie SYSQA B.V. Pagina 2 van 10 Inhoudsopgave 1 Inleiding... 3 2 Scrum... 4 3 Scrum rollen...

Nadere informatie

tern Handboek Mañuel Handboek plan van aanpak v0.1 Een plan van aanpak v0.9 Tim Logemann, junior developer

tern Handboek Mañuel Handboek plan van aanpak v0.1 Een plan van aanpak v0.9 Tim Logemann, junior developer Mañuel Handboek tern Handboek Een plan van aanpak v0.9 plan van aanpak v0.1 Tim Logemann, junior developer gemann, tim@mass.im junior developer ass.im 68048, W4Ax, 68048@glr.nl 4Ax, 68048@glr.nl mass.im,

Nadere informatie

TestNet Voorjaarsevenement 2010 Jurian van de Laar 12 mei 2010 info@improveqs.nl

TestNet Voorjaarsevenement 2010 Jurian van de Laar 12 mei 2010 info@improveqs.nl Testers helpen ontwikkelaars of andersom? TestNet Voorjaarsevenement 2010 Jurian van de Laar 12 mei 2010 info@improveqs.nl Improve Quality Services B.V. 2 Agenda Hoe veilig is een muur? Past Scrum ook

Nadere informatie

Rapport over de functie van Dirk Demo

Rapport over de functie van Dirk Demo Rapport over de functie van Dirk Demo Publicatiedatum: 14 februari 2014 Leeswijzer Dit rapport omschrijft de functie van 'Dirk Demo' zoals die door The PeopleFactory - Demo omgeving is vastgesteld en geeft

Nadere informatie

Richtlijnen voor het ontwerpen een Intranetportal Door Bas Fockens

Richtlijnen voor het ontwerpen een Intranetportal Door Bas Fockens Richtlijnen voor het ontwerpen een Intranetportal Door Bas Fockens Copyright Datacon www.datacon.nl Wat is een intranetportal? Een intranet is een online gepersonaliseerde en geïntegreerde toegang tot

Nadere informatie

Training en workshops

Training en workshops Mirabeau Academy HACKING OWASP TOP 10 Training en workshops MIRABEAU ACADEMY AHEAD IN A DIGITAL WORLD Digitaal denken zit in onze code. We weten exact wat er online speelt. Sinds 2001 ontwikkelen we platformen

Nadere informatie

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat: Training Trainingscode Duur Gepubliceerd Taal Type Leermethode Kosten SF2015V8 4 dagen 02/02/2015 Nederlands & Engels Developer, basis Invidueel & klassikaal Op aanvraag Deze training richt zich op het

Nadere informatie

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT Slimmer samenwerken met SharePoint Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT Workflows, forms, reports en data WAAROM KIEZEN VOOR K2? Of u nu workflows moet maken voor items in SharePoint

Nadere informatie

Plan van Aanpak. Christophe Deloo, Roy Straver & Machiel Visser. Versie 4 (26-06-2010)

Plan van Aanpak. Christophe Deloo, Roy Straver & Machiel Visser. Versie 4 (26-06-2010) Plan van Aanpak Christophe Deloo, Roy Straver & Machiel Visser Versie 4 (26-06-2010) Inhoudsopgave Voorwoord... 2 1 Inleiding... 3 1.1 Aanleiding... 3 1.2 Accordering en bijstelling... 3 1.3 Toelichting

Nadere informatie

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces Software Processen Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Het software proces Een gestructureerd set van activiteiten nodig om een software systeem te ontwikkelen Specificatie;

Nadere informatie

Ralph van Roosmalen Automatisch testen Theorie en de praktijk

Ralph van Roosmalen Automatisch testen Theorie en de praktijk Titel, samenvatting en biografie Ralph van Roosmalen Automatisch testen Theorie en de praktijk Samenvatting: Theorie en de praktijk kunnen soms ver uit elkaar liggen ook bij test automatisering. Waarom

Nadere informatie

Technologie en Interactie 3.2: software architectuur

Technologie en Interactie 3.2: software architectuur Technologie en Interactie 3.2: software architectuur Manual IAM-TDI-V2-Technologie en Interactie. Jaar 0809 blok 2 Oktober 2008 Fons van Kesteren 1/8 Inhoud Technologie en Interactie 3.2: software architectuur...

Nadere informatie

Rapport over het werkprofiel van Software engineer (sr)

Rapport over het werkprofiel van Software engineer (sr) Rapport over het werkprofiel van Software engineer (sr) Identificatienummer: Publicatiedatum: 19 november 2015 Leeswijzer Dit rapport omschrijft het werkprofiel van 'Software engineer (sr)' zoals die door

Nadere informatie

Unified Process. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Unified Process. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V. Unified Process Een introductie Algemene informatie voor medewerkers van SYSQA B.V. Organisatie SYSQA B.V. Pagina 2 van 10 Inhoudsopgave 1. Inleiding... 3 2. Unified Process... 4 3. Fasering... 5 3.1.

Nadere informatie

Keuzeverslag. Mijn keuze is [IT Management]

Keuzeverslag. Mijn keuze is [IT Management] Keuzeverslag Mijn keuze is [IT Management] Studentnaam : Onno van Gijssel Studentnummer : 500664958 Klas : IP110 Emailadres : onno.van.gijssel@hva.nl Datum : 01-11-2012 Inhoudsopgave Inhoudsopgave... 1

Nadere informatie

ATLANTIS GAMES BV. Frank Zijlmans, Managing Director. Innovatie en cross sectorale samenwerking door City of Imagineers

ATLANTIS GAMES BV. Frank Zijlmans, Managing Director. Innovatie en cross sectorale samenwerking door City of Imagineers ATLANTIS GAMES BV Frank Zijlmans, Managing Director Innovatie en cross sectorale samenwerking door City of Imagineers ATLANTIS GAMES BV Spin off van de NHTV op het gebied van game development, onderdeel

Nadere informatie

Succesvolle toepassing van 360 graden feedback: De keuze van het 360 instrument en de voorbereiding op het 360 traject

Succesvolle toepassing van 360 graden feedback: De keuze van het 360 instrument en de voorbereiding op het 360 traject Succesvolle toepassing van 360 graden feedback: De keuze van het 360 instrument en de voorbereiding op het 360 traject Augustus 2011 Waar werknemers onderdeel zijn van een organisatie, wordt beoordeeld.

Nadere informatie

2.4 Tekstopbouw In deze paragraaf oefen je in het schrijven van een tekst met een indeling in inleiding, kern en slot.

2.4 Tekstopbouw In deze paragraaf oefen je in het schrijven van een tekst met een indeling in inleiding, kern en slot. Fase.4 Tekstopbouw In deze paragraaf oefen je in het schrijven van een tekst met een indeling in inleiding, kern en slot. 1 1 Lees onderstaande tekst. Daarna ga je zelf een soortgelijke tekst schrijven.

Nadere informatie

WHITE PAPER. Agile/Scrum

WHITE PAPER. Agile/Scrum WHITE PAPER Agile/Scrum Belangrijkste kenmerk van Scrum is de ontwikkeling via een serie van korte - iteraties, in Scrum terminologie sprints genoemd. Introductie Heel in het kort gezegd is Scrum een Agile

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie