
Horizontale of verticale PBI's?
Een risico van horizontaal ontwikkelen is dat je veel tijd besteedt aan de back-end, om er vervolgens bij de implementatie van de front-end achter te komen dat je iets over het hoofd hebt gezien. Met als gevolg dat je alsnog verticaal aan het ontwikkelen slaat. Dat is niet alleen irritant, het is ook ontzettend inefficiënt!
Evolutionaire datamigratie met FluentMigrator
In het kort komt evolutionair databasedesign hier op neer. Stel, een ontwikkelaar maakt een wijziging in de code die een databasewijziging impliceert. In dat geval is het aan dezelfde ontwikkelaar om een migratiescript te schrijven die de codewijziging mogelijk maakt, en deze bij de codewijziging in te checken. De databasewijziging is onderdeel van de codewijziging, als het ware. En terecht, want zonder de databasewijziging is het niet mogelijk om de gewijzigde code te runnen.
Toevallige productieve ontmoetingen
Een collega van me omschreef de huidige, moderne functie van een kantoor als volgt: het faciliteren van toevallige productieve ontmoetingen. Ik viel bijna van mijn stoel toen ik dat hoorde (het was tijdens een borrel), zo’n mooie formulering vind ik het. Tegelijkertijd werpt het een licht op een gebeurtenis die voorheen zo alledaags en vanzelfsprekend was dat hij al die jaren aan mijn aandacht is ontsnapt: een collega tegen het lijf lopen bij de koffieautomaat.
Writer's block en programmer's block
Mensen zeggen nou nooit tegen me: “Karl, ik zou graag willen bloggen, maar ik weet niet waar ik moet beginnen.” Maar als ze dat zouden doen, dan zou ik zeggen: “Begin eens met wat je vandaag hebt gedaan.” Wat daarna volgt, zo stel ik me voor, is een stroom aan tegenwerpingen die iedereen bekend voor zou moeten komen die ooit meer dan één letter op papier heeft gezet. Die tegenwerpingen zijn uitdrukking van writer’s block.
Iteratieve verfijning
Dat software ontwikkelen - vandaag de dag in elk geval - een iteratief proces is, is een plattitude. Dat ook de voorbereidingswerkzaamheden van programmeren iteratief kunnen (of moeten?) worden vormgegeven, is iets wat ik misschien wel wist, maar me nooit helemaal beseft heb. Het interessante van Scrum (en van softwareontwikkeling in het algemeen) is dat je het jarenlang kunt doen, en toch steeds opnieuw best en better practices kunt ontdekken - of herontdekken.
Tien regels voor online vergaderingen
Schenk jezelf geen nieuwe kop thee in aan het begin van een vergadering die langer dan een uur duurt. Je zal jezelf halverwege de vergadering moeten verexcuseren. Of, erger nog, ondraaglijk lang toeleven naar het volgende pauzemoment, in plaats van actief bij te kunnen dragen aan de discussie.
Low code: een nieuw paradigma?
Een deel van de teams in het bedrijf waar ik voor werk is overgestapt op dat wat low code development wordt genoemd. In plaats van applicaties regel voor regel met de hand te schrijven, klikken ze deze in elkaar met behulp van een tool. Hoe verhoudt deze ontwikkelmethode zich tot “ouderwets” programmeren? Luidt low code een nieuw ontwikkelparadigma in?
Waarom we Developer Meet-ups organiseren
Sinds kort organiseren enkele enthousiaste collega’s en ik iets wat we een Developer Meet-up hebben genoemd. Dat is een informele bijeenkomst van geïnteresseerde softwareontwikkelaars binnen het bedrijf, die op een laagdrempelige manier ervaringen uitwisselen over een aan softwareonwtikkeling gerelateerd onderwerp. Waarom organiseren we Developer Meet-ups? In de intropraatjes dat ik als initiatiefnemer verzorg, onderscheid ik drie redenen.
Stap voor stap software testen
Software testen is een vak apart. Veel ontwikkelaars hebben wel een schetsmatige notie van hoe een goede test eruit dient te zien, maar ontberen een gedegen theoretisch fundament. Zulke ontwikkelaars zouden er goed aan doen om Essentials of Software Testing van Ralf Bierig, Stephen Brown, Edgar Galván en Joe Timoney te lezen.
Vijf+1 haiku's over software ontwikkelen
er is maar één ding / dat mijn code kan breken: / een eindgebruiker