Archive for the ‘scrum’ Category

Habits of a good developer

Tuesday, 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.

ScrumNOT

Thursday, 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: