” Wij ontwikkelen maatwerk, web based,
back office- en middleware applicaties. “

 

Blog/Nieuws


Domain Driven Design: Samen met de klant dezelfde taal spreken

Gepubliceerd op: Maandag 7 November 2016
Door: Jeroen van der Gulik

Op 22 november organiseert de Amsterdam PHP Meetup-groep samen met de Nederlandse Domain Driven Design (DDD-NL) Meetup-groep een evenement over Event Storming in het hoofdkwartier van True. Wij vroegen aan Jeroen van der Gulik, lead developer bij Isset Internet Professionals en mede-initiator van de DDD-NL-groep, wat de termen Domain Driven Design en Event Storming betekenen en wat je als (PHP-)developer op deze avond kunt leren. “In 4 uur tijd een heel proces beschrijven wat normaal gesproken in een 100-pagina tellend document staat die nooit iemand leest. ”

De vraag achter de vraag stellen

“Kort gezegd” legt Jeroen van der Gulik uit “Is Domain Driven Design een methode om op een andere manier te kijken naar het maken van software.”.

Volgens Jeroen wordt er bij veel softwareprojecten niet nagedacht over het daadwerkelijke probleem van een business, maar denken developers vooral aan de techniek. “De klant maakt het niet uit dat je alle code in een file zet of dat je een of andere monolithische architecture gebruikt. Het enige wat ze willen is dat jij hun probleem oplost. Het zijn niet de technieken die het probleem oplossen.”

Domain Driven Design biedt daarop een antwoord. Wat is het probleem en hoe kunnen we dat op de meest simplistische en minimale manier oplossen?

Volgens Jeroen gaat Domain Driven Design om het stellen van de vraag achter de vraag. “De kernvraag die bij softwaretrajecten bijna nooit gesteld wordt is: ‘waarom?’. Waarom wil je dit? Heel vaak kom je erachter dat het probleem van de klant niet terugkomt in de vraag die gesteld wordt. En heel vaak is de oplossing simpeler te bedenken dan aanvankelijk wordt gedacht. Daar kom je pas achter als je de waarom-vraag stelt. De kernvraag blijft: lost dit jullie business probleem op?”

Een gezamenlijk woordenboek

Een van de manieren om samen met de klant onduidelijkheden weg te nemen is om een gezamenlijk woordenboek op te stellen. Binnen Domain Driven Design heet dit: Ubiquitous language.

Jeroen: “Vrij letterlijk betekent dit: een taal zonder onduidelijkheden. Het doel van ubiquitous language is dat de developer zich gaat inleven in de denkwijze en taal van de klant. Zo voorkom je miscommunicatie.”

Als voorbeeld noemt Jeroen het bestelproces bij Amazon. Een order van een bezoeker op de Amazon website is zijn bestelling. Voor Amazon is een order een pakketje dat is gekocht en is betaald. De postbode ziet een order als een pakket dat naar een adres toe moet. Drie keer hetzelfde woord (order), maar iedere keer heeft die het een andere betekenis en een andere context.

“Als developer is dat ontzettend lastig. Je moet constant nadenken over de context en een vertaalslag maken naar de taal van de computer. Dat terwijl je vaak de context niet eens weet.”

Gebonden aan dezelfde context

Als je eenmaal de taal van de klant spreekt, is er nog zoiets als bounded context. Jeroen haalt het eerdere voorbeeld van Amazon weer aan. “In het geval van Amazon kun je spreken van drie bounded contexten, namelijk de context van de websitebezoeker, van Amazon en van het postbedrijf. Je zou er zelfs nog een vierde bij kunnen hebben; namelijk het magazijn dat de order verwerkt.”

“Voor de meeste opdrachtgevers is deze bounded context gesneden koek.” zegt Jeroen. “Maar als zij dit soort termen gebruiken zit er veel verborgen wijsheid in, zoals bijvoorbeeld jargon. Die gaan ze niet uitleggen, omdat ze er vanuit gaan dat jij ze al weet. Zij spreken elke dag met mensen die al bekend zijn met de termen en zijn zich van geen kwaad bewust dat ze dit doen.”.

Omdat je dezelfde taal gebruikt kan de klant ook snel reageren op de dingen die je bedenkt. Hij zal vanzelf acteren op de dingen die je gebruikt. Als jij hun taal begrijpt en naspreekt, gaan ze vanzelf zeggen: “Dat is niet hoe wij dit doen”. Dan kun je doorvragen; “Hoe doen jullie het dan wel?”

Visualiseren van het business probleem

Een van de manieren om Domain Driven Design naar de praktijk te brengen is via de modelleringstechniek ‘Event Storming’.

“Event Storming begint met een lege muur. Zie het als een leeg canvas. Iedereen die met de workshop meedoet begint stickies op te plakken. ‘Events’ noemen we dit: iets wat er gebeurt is in het systeem. Denk aan ‘UserRegistered’, ‘UserReceivedValidationEmail’, ‘UserValidatedEmail’.”.

Volgens Jeroen wordt het er een hoop duidelijk als je deze stickies op het lege canvas plakt. “Er ontstaat een process flow. Je ziet in een oogopslag hoe bijvoorbeeld een registratieproces werkt. Doordat het visueel is, ontstaan er gelijk vragen. Wat gebeurt er als de validatiemail niet aankomt? Wat gebeurt er als iemand twee keer met hetzelfde mailadres registreert?.”.

Omdat je Event Storming doet met mensen waar je het voor bouwt, krijg je direct antwoord op die vragen, vertelt Jeroen. “Hier zit een enorm krachtig mechanisme: de klant weet welke trade-offs er gemaakt zijn. Een developer hoeft niet meer zelf te bepalen wat belangrijk en onbelangrijk is. Door de techniek ontstaat duidelijkheid.”

Het is dus iets waar je alleen achter kunt komen als je dezelfde taal spreekt en het binnen dezelfde context van de klant bespreekt en/of plaatst. “De Domain Driven Design methodologie helpt daarbij. En het mooie is dat je het al binnen 4 uur kan realiseren.”

Event Storming gebruiken voor een ticketing systeem

Dat Domain Driven Design in de praktijk kan werken is iets wat Marc, developer bij True en tevens lid van de AmsterdamPHP- en DDNL Meetup-groep, kan bevestigen.

“Voor ons zusterbedrijf Multrix hebben we Event Storming ingezet om de ticketing tool te ontwikkelen.” Deze tool wordt gebruikt om de helpdesk van Multrix te helpen met het effectief afronden van supportaanvragen van klanten.

Marc geeft aan dat veel van de kennis van het True ticketingsysteem gebruikt kon worden voor de ontwikkeling van de software, maar dat er ook veel verschillen waren. “Er zat een hoop overlap in, maar ook afwijkingen”. De verschillen werden in kaart gebracht en op basis daarvan kon de tool verder worden ontwikkeld.

“Er kwamen heel veel duidelijkheden uit. Als die zonder uitleg bij ons terecht waren gekomen hadden we dat verkeerd geïnterpreteerd. Maar doordat je met z’n allen ernaar kijkt, krijg je een veel beter beeld van wat iemand daadwerkelijk bedoelt.”

Marc geeft dan ook blij te zijn dat de workshop op het True hoofdkantoor wordt gegeven. “Ik ga samen met collega’s naar de workshop. We kijken er naar uit om weer veel nieuwe dingen te leren die we in ons vakgebied toe kunnen passen.”.

22 november staat het True hoofdkantoor een avond in het teken van Domain Driven Design. Wil je erbij zijn? Meld je dan snel aan via Meetup.com. Er zijn nog maar een paar plekken beschikbaar.

Auteur originele artikel: Kilian Drewel


Vaughn Vernon @ DomCode

Gepubliceerd op: Dinsdag 24 Februari 2015
Door: Jeroen van der Gulik

Op 24 februari werd opnieuw DomCode georganiseerd, de maandelijkse cross-language user group voor web developers in Utrecht. Deze maand was redelijk bijzonder dankzij de speciale gast, Vaughn Vernon, auteur van “Implementing Domain-Driven Design”, in de wandelgangen “The Red Book” genoemd. Dit boek is één van de meest invloedrijke boeken binnen de DDD gemeenschap en Vaughn Vernon word gezien als een icoon binnen de DDD wereld.

Niet geheel onverwachts was dit gelijk de best bezochte meetup, met nog enkele mensen op de wachtrij. De talk van Vernon ging over het Actor Model waarbij Vernon eerst uitgebreid inging op wat het Actor Model is, wat de voordelen zijn, en liet hij 2 implementaties zien: zowel in Scala als in .Net. Aan de vele vragen en discussies naderhand was duidelijk te merken dat dit een hot topic is.

Isset was erbij en heeft de talk opgenomen. Met speciale dank aan de organisatie van DomCode en Vaughn Vernon zelf hier het resultaat:


video-transcoder.com beta beschikbaar

Gepubliceerd op: Maandag 16 Februari 2015
Door: Michael Woering

Video-transcoder.com is een on-line dienst voor het eenvoudig, betrouwbaar maar vooral snel transcoderen van videomateriaal. Om voor een concurrerend tarief een enorme hoeveelheid video te kunnen converteren hadden we echter een andere aanpak nodig dan de grote namen in de industrie. Het afgelopen jaar hebben we getest met vele verschillende soorten software en hardware om een optimaal resultaat te behalen. Wij zijn erg tevreden over de kwaliteit en snelheid maar we laten u graag zelf oordelen. De inschrijving voor beta accounts staat open en kan door iedereen vrijblijvend worden getest.

Heeft het een API?

Ja iedere dienst heeft tegenwoordig een API. De volledig RESTfull API van video-transcoder.com is eenvoudig te integreren in ieder systeem. Wil je liever niet integreren of testen met de mogelijkheden van video-transcoder.com dan is er ook een gebruiksvriendelijke web interface

Hier hebben we natuurlijk documentatie over. Deze kun je hier vinden.

Transcoden ingewikkeld?

Wil je graag video transcoden maar niet hoeven studeren op alle mogelijke instellingen? Wij bieden een standaard set aan presets welke door ons optimaal zijn opgezet. Toch liever alle touwtjes in eigen handen? Bouw naar hartelust je eigen presets, alles is mogelijk.

Direct publiceren

Je kunt bij video-transcoder.com kiezen voor diverse bron- en doelopties. Een file downloaden uit jouw DropBox en met FTP publiceren naar je website? Dat kan! Op dit moment ondersteunen we: HTTP, FTP, DropBox, Amazon S3 en Google Drive. Heb je een voorkeur voor een externe opslagdienst waar we mee kunnen koppelen? Laat het ons weten we voegen hem graag toe aan onze roadmap.

Demo site

Alvast eens proberen zonder een account aan te maken? Probeer dan eens onze demo op de video-transcoder.com website. Wil je graag een persoonlijk demo? of een beta account? Neem dan contact met ons op.

Roadmap

De komende maanden zullen we met klanten testen en nemen we de tijd om sommige functies te polijsten. Wat hebben we op de planning? We gaan een hele berg output formaten toevoegen alsmede diverse streaming opties. Ook andere zaken als watermarking, ondertiteling en videomontage zullen snel worden toegevoegd.

video-transcoder.com is een product van Isset BV.


Talk @ AmersfoortPHP

Gepubliceerd op: Dinsdag 10 Februari 2015
Door: Jeroen van der Gulik

Op 10 februari 2015 gaf ik mijn talk over “Object Invariants, Immutability & You: Making Objects Do Your Bidding” voor de user group van Amersfoort. Het idee achter deze talk is om te laten zien hoe met redelijk simpele methodieken, een veel duidelijkere codebase kan worden gebouwd. Deze talk is opgenomen en de slides kun je hier vinden.


Bezoek PHP Benelux 2015

Gepubliceerd op: Zondag 25 Januari 2015
Door: Jeroen van der Gulik

Zoals elk jaar werd er ook dit jaar weer een PHP Benelux georganiseerd in Antwerpen. Hoewel ik van plan was te gaan, waren de kaarten al uitverkocht voordat ik er erg in had. Helaas pindakaas. Echter, dankzij een gulle gift van Yoast kreeg ik alsnog een kaartje en kon ik er dit jaar ook bij zijn!

Aankomst
Na een wat hectische dag van veel geregel (het kaartje kwam letterlijk last minute) ben ik ‘s avond laat aangekomen in Antwerpen. In het hotel zaten al wat bekenden en de eerste avond werd goed ingeluid met spelletjesavond met @shawnmccool, @mitchellw, @rosstuck, @stillian, @aisha en @rdohms.

Venue
De venue voor PHP Benelux is ronduit geweldig. Een enorme gezamenlijke ruimte voor de sponsors met diverse activiteiten zoals tafelvoetbal, pool en diverse sponsor stands waar creatieve manieren werden gevonden om potentieel talent naar hun stand te lokken, maar op een niet opdringerige manier. Het blijft een raar fenomeen dat in de ICT industry, werknemers proberen te lokken, in plaats van andersom. Noemenswaardig is de Digital Ocean stand met compleet surfboard.


Eerste dag
De ochtend begon met wat kleine problemen aangezien mijn gratis ticket niet op mijn naam stond, maar het team van PHP Benelux had het binnen no time geregeld.

Het hielp natuurlijk niet dat diverse van mijn “vrienden” vanaf de zijkant riepen dat ik naar binnen probeerde te komen zonder te betalen. Bedankt @Richard_Tuin voor het geduld. Aangezien de ochtend bedoeld was voor workshops en ik deze niet had, had ik een ochtend om wat te socializen in de beruchte hallway track. @stelian en ik deden mee met de @continuousphp challenge waarbij we een olifant van Lego moesten bouwen:

Opening Keynote
De opening keynote door Yitzchok Willroth beter bekend als @coderabbi is een hele mond vol: “Talmudic Maxims to Maximize Your Growth as a Software Developer”. In zijn talk benadrukt hij het belang van community, blijven leren en onderwijzen. Ik moet zeggen dat hij een erg welbespraakte, bekwame en overtuigende spreker is en zijn opening keynote was erg indrukwekkend.

Task based UI’s
[slides]
De talk van Stijn Vannieuwenhuyse @stijnvnh ging eigenlijk niet over Task based UI’s, maar meer over algemene DDD concepten, een kennisgebied waar ik de laatste tijd erg in geïnteresseerd ben. Hij gaf zelf aan bezig te zijn met een Command Bus implementatie, maar mijns inziens zijn er al een aantal erg goede implementaties op het moment.

Break
Tijdens de break werd aan @stillian en mij gevraagd om de PHP Women booth te bezetten. Hierdoor misten wij lunch en daardoor de eerstvolgende talk, maar we hebben natuurlijk alles over voor het goede doel…

PHP Anti Patterns
[slides]
De talk van Josh Butts (@jimbojsb) was erg interessant. Hij ging in op overbodige abstracties, of juist te weinig abstracties. Een paar open deuren, een paar controversiele deuren. Al met al veel stof tot discussie, dus interessant.

A Series of Fortunate Events
Matthias Noback @matthiasnoback is een bekende spreker in Nederland dus ik zag erg uit naar zijn talk. De talk ging over events en hoe je een heleboel code kan decouplen door ze via events aan elkaar te chainen middels een dispatcher. Hoewel de meeste voorbeelden mij welbekend waren, is het toch goed om de basis kennis op te frissen.

Eerste Social
Niet onbelangrijk bij conferenties zijn natuurlijk de socials. Laten we het er op houden dat ook dit uitstekend geregeld was, met dank aan gratis bier en een uitermate gezellige sfeer. Het thema was ‘casino’ en er was zowaar een roulette tafel en fiches om mee te spelen. Verder was er bij de stand van @Coolblue_NL een Playstation 4 te winnen en ondanks mijn enorme bijdrage aan het aantal bezoekers bij hun stand, kon ik ze niet overtuigen dat ik recht had om de PS4 te winnen.

De avond ging verder met een langdurig gesprek met meerdere mensen over grote oeps momenten die we hebben gehad in onze carriere met als hoogtepunt Michelangelo van Dam @DragonBe die werkelijk alles over heeft voor zijn sponsors. Uiteindelijk werd het dan toch tijd om naar huis te gaan en dat is wonder boven wonder gelukt…

Tweede dag
Na een welverdiende nachtrust tijd voor dag 2!

Small Uncontrolled Experiments
[slides]
Mathias Verraes @mathiasverraes behoeft weinig introductie in Nederland als het gaat om DDD. Zijn talk ging echter niet over DDD, maar meer over team effort tot verbetering gebasseerd op dit blogitem. De bottom line: probeer kleine aanpassingen te doen als Team en evalueer binnen 2 weken of dit een positieve of negatieve invloed heeft.

High Performance PHP
[slides]
Anthony Ferrara @ircmaxell is ook een welbekende naam in de PHP wereld. Zijn talk over performance in PHP is samen te vatten in deze tweets:

The Art of Programming (Uncon)
[slides]
Erika Heidi @erikaheidi is nog zo’n bekende spreekster die ik al meerdere keren heb mogen aanschouwen. Ook deze Uncon weet ze het doel te raken: haar soft skill talk over programmeren als een artistieke uiting is duidelijk, leuk, grappig en geweldig gepresenteerd. Deze dame verdient het om keynote speaker te worden. En ze heeft de beste slide van heel de conference.

Say What? Ubiquitous Language and You!
[slides]
Nog een DDD georiënteerde talk, deze keer door Beau Simensen @beausimensen. Deze talk focussed meer op de “soft skill” versie van DDD, namelijk het overeenkomen van een gezamelijke definitie lijst met de klant. Duidelijke talk met heldere praktische voorbeelden.

Raffles & Closing Remarks
Als laatste was het tijd voor de afsluitende woorden van de PHP Benelux organisatie en de vrijwilligers die allemaal geholpen hadden. Ook werden diverse prijzen uitgedeeld. @stillian en ik hadden uiteraard gewonnen met onze Lego olifant. Hierna werden we getrakteerd op een magic show door een goochelaar. Enige nadeel hieraan, je treedt op voor een zaal mensen wiens dagtaak het is om magie te ontrafelen…

Tweede Social
De tweede social was duidelijk minder druk dan de avond ervoor. Velen zijn na de conferentie rechtstreeks naar huis gegaan, wat begrijpelijk is. Desalniettemin was de groep die nog aanwezig super gezellig. Er werd Cards Against Humanity gespeeld, PHP Jeopardy en voornamelijk veel gelachen.

Closing Words
PHP Benelux was een geweldige conferentie. Ik zou het aan iedereen aanraden die ook maar enigszins geïnteresseerd is in community en PHP. Ik heb een heleboel geweldige mensen ontmoet en er is veel gelachen. Ik zie jullie allemaal volgend jaar!

#phpbnl15 after movie (final version) from PHPBenelux on Vimeo.


Maatschappelijk verantwoord ondernemen

Gepubliceerd op: Woensdag 9 Juli 2014
Door: Tamara van de Beek

Bij Isset Internet Professionals dragen wij maatschappelijk verantwoord ondernemen (mvo) een warm hart toe en proberen wij hier waar mogelijk invulling aan te geven. Een mooi voorbeeld hiervan is dat wij onze oude computers, monitoren en netwerkapparatuur beschikbaar hebben gesteld aan Stichting Kwasa. Zij werken samen met een partner die de oude ICT middelen (veelal naar het buitenland) verkoopt. De opbrengst hiervan komt volledig ten goede van de projecten van de stichting, voornamelijk het verstrekken van microkredieten aan de Afrikaanse bevolking. Overigens wordt er bewust voor gekozen de PC’s etc. niet naar Afrika te vervoeren om de interne markt in het land van bestemming niet te verstoren.

Twee weken geleden was JINC bij ons te gast. JINC helpt jongeren van 8 tot en met 16 jaar op weg naar een goede start op de arbeidsmarkt; door beroepsoriëntatie op de werkvloer, het aanleren van (sociale) vaardigheden en workshops over ondernemerschap. Het is een non-profit organisatie die grotendeels wordt gefinancierd door het bedrijfsleven. Zo’n 800 bedrijven dragen (financieel) bij om de organisatie van de projecten mogelijk te maken en stellen hun medewerkers beschikbaar als vrijwilliger, bijvoorbeeld als trainer of als coach. Voor een mediatraining voor de medewerkers van JINC, stelden wij graag onze vergaderruimte en faciliteiten beschikbaar en konden zodoende een bijdrage leveren aan hun activiteiten.

Voor het nieuwe kantoor hebben we de koffiekopjes laten voorzien van ons logo. Uiteraard kan dat bij iedere leverancier van promo-artikelen, maar Isset heeft deze opdracht uitbesteed aan het keramiekatelier ‚Kermosa’ van Abrona - Huis ter Heide. Onder begeleiding maken cliënten met een verstandelijke beperking diverse producten in opdracht of voor hun winkel. Op deze manier wordt hun creatieve ontwikkeling gestimuleerd en hebben wij een prachtig koffiekopje. Komt u gauw eens proeven? Dan geven wij daarna graag een exemplaar mee!


Verbouwing kantoor en nieuwe collega’s.

Gepubliceerd op: Donderdag 24 April 2014
Door: Tamara van de Beek

Ons huidige jasje zit wat krap, dus zullen we gaan uitbreiden. Deze uitbreiding grijpen we direct aan om een nieuwe, frisse uitstraling aan onze kantoren te geven. Tussen alle lopende projecten door zijn we dan ook druk bezig om deze interne verbouwing voor te bereiden.
Tijdens de verbouwing verhuizen we tijdelijk naar de andere kant van onze vleugel op de 4de etage van het Mediacentrum. Dit doen we het eerste weekend van mei. Uiteraard blijven we bereikbaar en operationeel. Vanaf juni bent u van harte welkom om ons nieuwe kantoor te komen bewonderen!

Het team hebben we afgelopen week met twee nieuwe collega’s versterkt.
Tim Fennis is 22 april begonnen als PHP Developer en zal zijn vaardigheden inzetten bij het ontwikkelen van webapplicaties en API’s.
Tamara van de Beek is van start gegaan als Office Assistant. Ze is verantwoordelijk voor het office management en zal het MT ontzorgen bij allerhande zaken op het gebied van algemene administratie, marketing en sales. Tamara zal dan ook een belangrijke rol spelen bij de verdere groei en professionalisering van Isset. Van harte welkom allebei!

Uiteraard blijven we continu op zoek naar getalenteerde developers. Dus wil je ook deel uitmaken van dit groeiende team van professionals? Kijk snel bij onze vacatures en reageer!


Isset Internet Professionals viert feest!

Gepubliceerd op: Maandag 3 Maart 2014
Door: Tamara van de Beek

Vanmiddag ontkurken wij de Champagne en vieren we een bescheiden feestje om ons eerste lustrum te vieren. In vijf jaar tijd hebben we Isset uitgebouwd tot een autoriteit op het gebied van maatwerk, web based, back office- en middleware applicaties waarbij een sterke expertise op het gebied van VOD- en VOIP platforms is ontstaan. Dit doen we voor leuke klanten en met een enthousiast team waarbinnen we vandaag nog onze nieuwe collega Wouter van Ouwerkerk hebben mogen verwelkomen. Wouter zal voor een groot deel van onze projecten het management op zich nemen, zodat het huidige MT zich meer kan toeleggen op de dagelijkse bedrijfsvoering en het aanboren en benutten van nieuwe kansen en mogelijkheden.

Voor de verdere professionalisering zijn we bovendien nog opzoek naar een “office assistant” en diverse developers!

Ons lustrum hebben we ook aangegrepen om deze nieuwe website te lanceren. De vorige website is vijf jaar geleden uit de grond gestampt en eigenlijk nooit meer naar omgekeken. Omdat we heel druk zijn voor onze klanten, en onder het mom van “een schoenmaker loopt ook op versleten schoenen” hebben we dit heel lang volgehouden. Echter was de oude website niet representatief voor wat wij kunnen en willen uitstralen. Daarom is langs de zijlijn gewerkt aan een nieuwe versie.

Deze website is nog lang niet af en zal dat waarschijnlijk ook nooit zijn, maar we gaan ons best doen hier wat meer aandacht aan te schenken. De projecten-, producten- en profiel pagina’s zullen één dezer dagen worden gevuld. Op het blog zullen onze medewerkers u op de hoogte houden van het laatste nieuws rond Isset, maar ook van onze interesses op het gebied van development, gadgets en andere zaken met een technische- en internet gerelateerde achtergrond.

Het Isset team gaat binnenkort nog een keer goed de bloemetjes buitenzetten, dus sluit je snel bij ons aan als je nog van de festiviteiten wil kunnen meegenieten!


«
<
>
»