Blog

Hoe bouw je het ultieme Mendix development team

07 feb '19 by Rogier de Graaf
Business development manager Rogier de Graaf
Development team werkt planning uit

Een van de voordelen van Mendix is ​​dat business georiënteerde mensen kunnen leren een applicatie te maken. Je hoeft geen verstand van code te zijn om met Mendix te werken. Dit maakt de pool van potentiële Mendix-ontwikkelaars veel groter dan bij traditionele developers.

Er zijn echter gemeenschappelijke kenmerken tussen een traditioneel ontwikkelteam en een Mendix-ontwikkelingteam die niet over het hoofd mogen worden gezien. In dit artikel bespreekt Menno de Haas, director bij Webflight, een aantal aspecten die essentieel zijn voor een hoogwaardige output van een Mendix ontwikkelteam.

Recruitment

Het klinkt onbenullig, maar het begint allemaal met een zoektocht naar de juiste mensen. Hoewel Mendix geen code ervaring vereist, werk je nog steeds met data, relaties en processen. Dit vereist dat mensen een bepaald abstract denkniveau hebben, wat meestal tot uiting komt in studies en activiteiten die mensen leuk vinden. Beta-georiënteerde mensen die graag met datastructuren en modellen werken, hebben meer plezier in hun werk en blinken uit als een goede Mendix-ontwikkelaar.

Standaarden en processen

In elk ontwikkelteam is het belangrijk de juiste standaarden en processen te hebben voor kwaliteitsborging en onderhoudbaarheid van de (low)code. Dit betekent dat je een soort DoD (Definition of Done) nodig hebt die het ontwikkelingsproces beschrijft vanaf het begin van een nieuw user-story tot de release voor productie van datzelfde verhaal.

Bovendien moet het team zich houden aan dezelfde conventies met betrekking tot de technische implementatie. Ondanks het feit dat er commerciële tools beschikbaar zijn om de kwaliteit van een Mendix-model te controleren, komt Mendix niet met zo'n tool 'out-of-the-box'. Dit maakt het belangrijker (en goedkoper) om het eens te worden over een gedeelde lijst met conventies (naamgeving, mapstructuur, setup en configuratie).

Hierdoor kunnen teamleden van elkaar leren, wat een open cultuur van feedback ontvangen en kennis delen stimuleert. Hierdoor neemt de kwaliteit van het werk en de mensen aanzienlijk toe.

Mijn ervaring is dat peer review het belangrijkste onderdeel van de DoD is!

Testen

Hoe kan een team ervoor zorgen dat een product werkt en blijft werken zoals verwacht? Softwaretests zijn een verzameling methoden en tools die ontwikkelingsteams gebruiken om de kwaliteit van de software te meten. De testpiramide onderscheidt drie niveaus van geautomatiseerd testen: unit testing, integratietesten en UI (functioneel) testen. De volgorde van de niveaus in de piramide benadrukt de hoeveelheid inspanning die nodig is om de tests te maken. Afhankelijk van de risico's die aan verschillende onderdelen van de applicatie zijn verbonden, kunt u eraan denken om deze tests in uw applicatie op te nemen.

Unit testing piramide

Unit-tests zijn de gemakkelijkste vorm van geautomatiseerde tests die je in je applicatie kunt opnemen. Naar mijn mening zou elke developer unit-tests moeten maken. Het maken van unit-tests dwingt de hem om twee keer na te denken over de logica die hij heeft gemaakt, waardoor het waarschijnlijker is dat hij nu en in de toekomst bugs vindt.

Mendix wordt geleverd met een gratis unit-testsuite in de App Store, die de basisfunctionaliteit biedt om unit-testsuites te maken en uit te voeren. Object mocking en advanced assertions (bijv. Het aantal keren dat een methode-object aan de database is toegewezen) zijn echter niet mogelijk. CI-integratie is mogelijk (niet met standaard Sprintr-implementatie), maar redelijk complex om te realiseren. Om de functionaliteit van kritieke blootgestelde API's te bewaken, zijn API-documentatie en testtools (bijvoorbeeld Stoplight.io) essentieel.

Persoonlijke ontwikkeling

Om het meeste uit je team te halen, reserveer je tijd voor mensen om onderwerpen te ontdekken die buiten het bereik van hun dagelijkse werk vallen. Dit kan de kennis in het team over zowel soft als hard skills aanzienlijk verbreden of verdiepen. Gewoonlijk waarderen mensen het hebben van tijd om te leren! Voor basistoepassingen van Mendix zijn hardcore IT-vaardigheden niet vereist, maar wanneer projecten afwijken van de basis, bevind je je gemakkelijk op onbekend terrein. Als mensen in het team gewend zijn om onderwerpen te verkennen waarmee ze niet vertrouwd zijn, is het gemakkelijker om met het onbekende terrein om te gaan. Zorg er dus voor dat er een aantal mensen in je team zitten die niet bang zijn voor hardcore IT-onderwerpen (ops, codering Java / JS, infra)!

Ben je geïnteresseerd om meer te weten te komen over onze aanpak om het ultieme Mendix ontwikkelteam samen te stellen, of ben je benieuwd naar onze nieuwste projecten?