September 15th, 2009
Verandering van spijs doet eten. Sinds twee maand heb ik een ander baan, en een andere baan betekende voor mij, een verandering van:
- werkplek
- collega’s
- technologie
- en projectmanagement
Verandering van spijs doet eten. Kortom als de omgeving veranderd verander je zelf ook. En deze (positieve) verandering heeft er voor gezorgd dat ik weer meer ben gaan nadenken over het bouwen van software, kwalitatief goede software. Dit alles is een combinatie van de scrum implementatie die op dit moment gaande is bij mijn huidige job, de presentatie die ik online bekeken heb van collega Martijn Dashorst en daarop aansluitend het Manifesto for Software Craftsmanship van Robert C. Martin.
Een jaar of twee geleden kreeg ik een interessant boek aangereikt, The Seven Habits of Highly Effective People, van Stephen R. Covey. Dit boek heeft veel indruk op mij gemaakt en nog dagelijks denk ik aan bepaalde episodes uit dit boek, en probeer ik de hier genoemde principes toe te passen. Tijdens het lezen van het bovengenoemde Manifesto en een aantal artikelen over eXtreme Programming, kreeg ik het idee voor dit item. Zou het niet mogelijk zijn om een reeks van eigenschappen (basisbegrippen) op te sommen die een goede Software Developer zou moeten bezitten? In de vorm van de Seven Habits?
1. Don’t write bad code
Zo de eerste habit staat er. Het is een quote van Robert C. Martin, erg belangrijk als het om kwaliteit van code gaat. Ik kwam er zelf achter toen ik vanwege een deadline snel een aantal fixes aan het maken was. Eenmaal klaar, werkte het (zo ongeveer), maar was ik alles behalve trots op dit staaltje werk. En hoe voor kom je dan bad code?
In een volgende post meer over dit onderwerp.
Tags: code quality, java, software craftsmanship, xp
Posted in java, scrum | No Comments »
August 27th, 2009
Sinds ik wat Scrum ervaring heb opgedaan in een eerder project; en vooral nadat ik de certifitied scrum training heb gevolgd bij Xebia, gegeven door Jeff Sutherland, ben ik erg enthousiast over Scrum. Het probleem is echter dat veel mensen wel hebben gehoord van Scrum, maar niet een goed idee hebben wat het nu eigenlijk precies is. Vandaar dit ScrumNOT artikel, een variant op ScrumBut.
ScrumNOT:
!Prototyping
Bij een goede Defnition of Done, lever je na iedere sprint een aantal brokken functionaliteit op. Dit is werkende functionaliteit die productierijp is. Dit is dus geen prototype, of iets dat geprototyped is.
!Standup Meeting
Scrum? Ja, dat doen wij ook. Elke morgen houden we een scrummeeting. Scrum kent een aantal meetings waarvan de standupmeeting die elke dag plaats vindt er een is. Dit is een belangrijke meeting, maar een Scrum implementatie met alleen een standupmeeting is geen scrum.
!PO rol vervuld
Een Scrum implementatie zonder Product Owner, is geen scrum implementatie. De Product Owner heeft een dermate belangrijke rol dat deze onmisbaar is bij een goede Scrum implementatie. De Product Owner bepaald de Vision van het product, prioriteert de backlog (op business value!) en is de persoon die de opleveringen van de Sprint goedkeurd, de Sprint Reviews. Kortom het is de persoon die bepaald of jij je werk uiteindelijk goed gedaan hebt.
!Plannen op basis van story points
In het scrumteam waarin ik gewerkt heb, werden de user stories ingeschat in uren. Helaas wist ik toen nog niet alles van scrum en kende ik nog niet het principe planningpoker. Door gebruik te gaan maken van user points (het toekennen van een relatieve zwaarte aan een user story) is het later mogelijk om naar een aantal sprints te meten hoeveel user points je per sprint kunt verwerken en kun je een bepaalde velocity berekenen. Daarnaast zal je team effectiever worden, beter gaan schatten en de velocity stijgen.
Do it right!
Beginnen met een goede scrum implementatie werkt het beste volgens het boekje. Er zijn vormen bekend waarbij een implementatie gefaseerd is doorgevoerd, maar mijns inziens is een alles of niets implementatie beter. Tijdens het scrum proces is het natuurlijk mogelijk om dingen aan te passen, je proces te finetunen, en bepaalde scrum facetten te laten vallen of te veranderen. Maar voordat je weet wat je niet nodig hebt moet je het wel eerst geprobeerd hebben. Tijdens je sprint retrospective kun je dingen aanpassen, laten vallen of anders doen, maar als je begint, begin met alles.
Hoe nu beginnen?
En nu? Hieronder een aantal interessante links met goede informatie over Scrum, daarnaast nog wat twitteraars die interessant zijn om te volgen:
Twitter:
Tags: scrum, scrumnot
Posted in scrum | No Comments »
August 21st, 2009

Gisteren voor de tweede keer hard gelopen, en ditmaal met de telefoon. En dan dus de Nokia Sports Tracker applicatie in geschakeld.
Hardlopen in combinatie met een telefoon is nog niet helemaal je van het, maar de informatie die ik nu beschikbaar heb is dan wel weer interessant. Zo heb ik uitgerekend dat ik 9,90 km/u loop gemiddeld. Ook heb ik nu een Speed vs. Time grafiek beschikbaar, maar die is een beetje grillig.

Volgende stap is natuurlijk routes invoeren, betere tijden gaan lopen. En misschien nog een BlueTooth hartslag meter. Iemand nog tips?
Posted in Uncategorized | No Comments »
August 10th, 2009
Vandaag had een collega een leuk T-shirt aan met de tekst: ‘Back on track’. En daar moest ik zojuist aandenken, aangezien ik – sinds lange tijd – weer een rondje heb hard gelopen. Inderaad maar een rondje, want langer dan twintig minuten heeft het niet geduurd. Toch is het mij gelukt om niet te stoppen.
Met lood in de benen zit ik nu op de bank met de laptop op schoot. Gezien het plotselinge idee om te gaan hardlopen heb ik geen tijd – lees: zin – gehad om mijn telefoon om mijn middel te knuppen en mijn Nokia Sportstracker aan te slingeren. Op zich wel jammer, want nu weet ik niet hoe hard ik heb gelopen, hoe lang en hoeveel!
Een nadeel morgen moet ik weer de zestig+ treden op om op mijn werkplek te komen, toch maar een keer de lift nemen dan?
Posted in persoonlijk | No Comments »
July 16th, 2009
De vakantie is weer in zicht, en dat roept natuurlijk weer herinneringen op over hoe het vorig jaar ook al weer ging. Daarnaast is het ook een tijd om mijn data te backup-en. En ook dat roept herinneringen op.
Vorig jaar heb ik tijdens de vakantie – los van lekker genieten – veel het spel RushHour gespeeld. Dit ging redelijk goed, en ik heb de meeste levels uitgespeeld. Omdat ik in de vakantiemodus zat ging het mij niet om de snelheid van het oplossen of om in zo min mogelijk moves bij de oplossing te komen. Ook had ik regelmatig een goede oplossing gevonden, door gewoon maar wat te schuiven en er dan achter komen dat het rode autootje er uit kan rijden.
Dit laatste zette mij aan het denken. Hoe oplossingsgericht was ik eigenlijk bezig. En was het misschien zo dat ik ondertussen al drie keer dezelfde situatie (manier waarop de auto’s staan) heb gehad om tot een goede oplossing te komen? Met dit vraagstuk ging mijn vakantie ten einde en ging ik weer aan het werk.
Het vraagstuk bleef klagen en naar wat ge-google en wat research heb ik maar bedacht dat ik er toch maar eens wat IT aan moest wijden. Kortom een prive projectje: ‘RushHour Solver’.
Het is onderhand al weer een tijd geleden, maar tijdens het backup-en kwam ik het project weer tegen. En aangezien ik nu de beschikking heb over ‘gratis’ online java hosting, GAE, biedt dit natuurlijk weer andere perspectieven.
Ik moet nog even het een en ander afstoffen, maar dat gaat wel lukken. Daarnaast zal ik even een duidelijke opzet gaan schrijven over hoe ik een en ander bedacht heb, en (technisch) opgelost.
Zie ondertussen: RushHour Solver
Tags: gae, java, problem solving, rushhour solver
Posted in java, project | No Comments »
July 14th, 2009
Ik ben iemand die graag veel dingen zelf doet. En ook dingen zelf maakt. Dus toen ik een website begon, wou ik hier voor een eigen CMS gaan schrijven / bouwen. En omdat Java mijn ’spreektaal’ is moest het gebeuren in Java.
Ik ben een fan van Wicket en erg gecharmeerd van JackRabbit, dus zal het wel iets worden in combinatie met die twee. Ondertussen is er ook al een Brix. A la, keus ten over. Maar zoals ik al zei, ik wil het graag zelf doen…
Het grootste probleem waar ik tegen aan liep was de hosting. Ik had een URL, en een goede hostingprovider. Probleem, ik kon alleen maar PHP als ontwikkelomgeving gebruiken. Geen Java.
Plots kwam daar de Google App Engine for Java en was er opeens gratis Java hosting. En dat ook nog (d.m.v. Google Apps) beschikbaar voor elk domein, yoehoe!
Dus meteen aan de slag, applicaties bouwen. De eerste applicatie die live ging was een enquete applicatie. Voor het onderzoek dat mijn vrouw moet doen voor haar studie. Het bouwen en vooral de livegang van de applicatie had nogal wat voeten in de aarde, kortom viel wat tegen. Vooral de performance – en dat voor een cloudomgeving – was niet je van het. Ook de kleine applicatie die ik had geschreven, het teruggeven van een simpele HTML pagina (wel met Wicket), duurde erg lang voordat deze geladen was. De eerste keer oproepen kostte wel 10 seconden. Daarna was de performance goed.
Na deze ervaring heb ik gisteravond besloten om toch maar weer ‘terug’ te keren naar mijn oude vertrouwde hostingprovider, want ondertussen had ik daar alles per 1-9 opgezegd en was ik druk aan het ‘verhuizen’ naar Google Apps. Maar ja als het dan in de PHP sfeer blijft, welk CMS moet ik dan hebben. Ik had wat goede verhalen gehoord over WordPress en een leuk artikel gelezen over het zelf maken van een theme. Hetgeen er niet erg moeilijk uitzag, dus gister, toen ik nog wat uurtjes over had. Aan de slag.
En ik moet zeggen dat ik erg onder de indruk ben. De installatie is een eitje, de interface is erg gebruiksvriendelijk en intuitief. De plugin structuur werkt prima. En in een uurtje of twee had ik al mijn oude blogs + artikelen live staan. Kortom ik ben om, WordPress is going to stay.
Natuurlijk heb ik nog een aantal hobby Java projecten, die ik graag wil hosten. En bevalt mijn GMail erg goed voor mijn huidige domeinnaam, maar dat is helemaal geen probleem, want de combinatie kan prima. http://albert-jandevries.nl en http://www.albert-jandevries.nl verwijzen naar mijn hosting provider en de e-mail wordt afgehandeld door Google Apps. En los daarvan kan ik gerust op bijvoorbeeld http://project.albert-jandevries.nl mijn GAE/J applicatie draaien.
Kortom iedereen blij
Tags: gae, hosting, java, wicket, wordpress
Posted in java | No Comments »
June 20th, 2009
Tijdens de Peak @Know Night op 26 mei heb ik een presentatie gegeven over de Google App Engine (GAE) die sinds begin april ook geschikt is gemaakt voor Java.
Tijdens deze presentatie heb ik in het kort de mogelijkheden verteld, het kosten model en natuurlijk een demonstratie gegeven.
De demonstratie bestond uit het ‘genereren’ van een Grails applicatie en deze deployen op de GAE. Ook heb ik de beschikbare Eclipse plugin gedemonstreerd, waarmee het mogelijk is om vanuit Eclipse een applicatie te bouwen te unittesten en te deployen naar de GAE omgeving.
Ondertussen is ook mijn eerste applicatie live, een enquete applicatie waarover ik binnenkort meer zal schrijven!
De slides zijn hier te vinden.
Posted in java, werk | No Comments »
April 19th, 2009
Ik heb met veel plezier het boek Wicket in Action gelezen van Eelco Hillenius en Martijn Dashorst.
Voor het Java Magazine heb ik een recensie geschreven, deze is te lezen in nummer 2 van jaargang 8 (April 2009).
Bekijk de recensie hier.
Tags: java, recensie, wicket
Posted in java | No Comments »
April 1st, 2009
Ik heb een presentatie gegeven over Sonar op de J-Spring, gehouden op 15 april 2009. Het NLJUG event in het voorjaar.
Als onderwerp heb ik gekozen ‘What is your code saying?’ Hierbij gaat het over het Code Quality Measurement Platform Sonar.
Lees hier mijn ingestuurde paper.
Tags: code quality, j-spring, java, sonar
Posted in java | No Comments »