On 2008-11-20

  • doing smalltalk #
  • @adnans for profit, going to work in seaside for nationaal spaarfonds #

Scrum avond

Deze week nog even op een Scrum avond geweest van NCIM. Cees de Groot vertelde over zijn ervaringen bij Marktplaats. Bij software ontwikkeling kan de gekozen technologie een rol spelen in het wel of niet agile werken. Volgens Cees is Smalltalk ideaal voor agile werken en is het met de volledige J2EE stack niet te doen. Maar Smalltalk invoeren bij Marktplaats was niet haalbaar en Scrum gaat over haalbare doelen. Naast PHP legacy doen ze dus wel Java, maar neem ik aan geen J2EE. Ook PHP is niet ideaal, deze zorgt voor wat moeilijk onderhoudbare code, waardoor zwaardere processen nodig zijn om te voorkomen dat er fouten insluipen.

Bij Albumprinter was weer interessant hoe Scrum wordt toegepast over meerdere disciplines. We hebben het dan niet alleen over marketing, creatie, IT, etc., maar ook over manufacturing. Uiteindelijk moet een product er ook in de printstraat goed uit rollen. Er zijn dan meerdere Scrum teams en met Scrum of Scrums vindt overleg tussen de teams plaats. Klaas Waslander, de CTO, laat de teams zichzelf samenstellen, binnen wat kaders. Teamleden bepalen zelf welke taken ze oppakken. De Scrum master zorgt ervoor dat obstakels die tijdens de standup meeting naar boven komen, uit de weg geruimd worden. Het totale resultaat is dat het team niet kan wijzen op externe factoren als ze het resultaat niet halen. Dit is ook essentieel, het team moet commitment tonen en de doelen die gesteld zijn, zijn niet vrijblijvend.

Ook bij Albumprinter speelt legacy code een rol. Sprints werden niet gehaald omdat de bestaande architectuur in de weg zat. Dit werd aangepakt door ook het technisch verbeteren van de codebase in de Sprint op te nemen.

Tijdens het panel waren er nog leuke discussie's en het was uiteraard wachten op de vraag: hoe overtuig ik mijn organisatie/klant/etc? In 2001 de vraag voor het eerst gehoord m.b.t. extreme programming en anno 2008 nog steeds relevant, is agile werken dan nog steeds zo exotisch? Ik merk wel dat nu steeds vaker de Toyota way wordt aangehaald als analogie en dat spreekt misschien beter tot de verbeelding bij klanten en andere besluitvormers. Je bent dan minder een hippie met wilde ideeen, want het succes van Toyota is toch algemeen bekend.

Op de borrel kon ik, als sinds deze week officiele mede-smalltalker, nog even handjes schudden met Cees. Hij is immers ook verantwoordelijk voor een deel van de legacy code waar ik nu mee ga werken. Daar hadden we het ook nog even over. De kleine omvang van de Smalltalk wereld heeft ook weer zijn charme. Een gegeven moment kent iedereen elkaar.

Bij het weggaan kregen we ook nog een print versie van het Scrum and XP from the Trenches mee. Klaas heeft dit als "bijbel" gebruikt bij Albumprinter.

I Don’t Care (vervolg)

Vandaag dan bezig geweest om me Visual Age Smalltalk wat eigen te maken. Er zijn wat handleidingen te vinden met wat tutorials erin. Ik heb geprobeerd ze te volgen, maar heb ze nu even laten liggen omdat ik niet weet hoe relevant ze zijn. Het begint met schermpjes bouwen en ik heb daar niet zo een goed gevoel bij.

Het is weer een tijdje geleden dat ik documentatie geschreven door een software producent lees. In de open source wereld moet je het voornamelijk van google en blogposts hebben. De kwaliteit hiervan kan verschillen, maar het voordeel is wel dat je het vanuit verschillende perspectieven kunt zien. Een blogpost zal het ook hebben over de mindere kanten van een technologie of tool. Dit mis je in de officiele documentatie.

Watvoor documentatie ook, net als Squeak toen is Visual Age ook wel even wennen. Ik probeer ook weer het hele pakket te snappen en moet misschien beter een van Alan Knight's adviezen opvolgen:

One of the great leaps in OO is to be able to answer the question "How does this work?" with "I don't care".

Eerst even kijken wat ik moet weten van de tools en van daaruit verder gaan. In tegenstelling tot Java kun je in Smalltalk volgens mij al behoorlijk productief zijn zonder al de ins en outs van je IDE te kennen.

I Don’t Care

Ik was even bezig met wat javascript en een collega maakte weer een negatieve opmerking over dynamische talen. Ik heb niet zoveel zin in weer een discussie over static vs dynamic.

Ik heb de afgelopen maanden behoorlijk wat static typed Java code geschreven en ga de komende maanden heel veel dynamic typed Smalltalk code schrijven. Ik doe gewoon beide, punt.
Het is ook een zinloze discussie. De een voelt zich beter bij een bepaald paradigma, de ander weer bij een ander. Het is niet belangrijk welke technologie beter is of welke wint.

Er was een tijd dat het wel belangrijk was, omdat de kans dat je met de "winnende" technologie zou moeten werken vrij groot is. De markt blijk echter groot genoeg voor meerdere "winnaars". En als ontwikkelaar kan ik kiezen waar ik mijn brood mee wil verdienen. En ik kies nu voor het obscure en dood gewaande Smalltalk.