Tag Archives: Practice

Evolutionary Design: Normalize Growth

Evolutionary Design: Normalize Growth

The Definitions

Evolutionary Design is the practice of creating the components and interactions of a system while it is evolving, on the basis of the client requirements and user needs.

Normalization refers to a process that makes something more normal or regular

Normalization may refer to more sophisticated adjustments where the intention is to bring the entire probability distributions of adjusted values into alignment from Wikipedia

Growth refers to a positive change in size, and/or maturation, often over a period of time from Wikipedia

 

The Moment

I am a big fan of gardening. Whenever I can, I take care of my plants and think about subjects like Evolutionary Design. One moment I was taking care of my young tomato plants: I needed to rip the small leaves that grow and just take the food away from the flowers and fruits. And it struck me: any gardener is doing Evolutionary Design.

pruning

Read More →

Programming by Wishful Thinking

Coderetreat: Programming by Wishful Thinking

Blog post series

This blog post is part of a series about coderetreat sessions.

Purpose

This session introduces the concept of top-down approach of Test Driven Development for a new feature.
By following the steps you will be able to understand how to add thin top-down features that you can show very fast to your customers. Many of the features will work, even though you will not have a fully functional system, just because you have used stubs or fakes for the parts of the system that are not yet implemented.

Programming by Wishful Thinking

Read More →

Coding Games – video at xALEc

Coding games

This is a video from xALEc where I am part of a conversation about how one could teach programmers to be better by using games and pair-programming.

Legacy Coderetreat: Part 1 – Introduction

Legacy Coderetreat

Blog post series

This blog post is part of a series about legacy coderetreat and legacy code techniques you can apply during your work. Please click to see more sessions about legacy code.

A bit of history

On 26 November 2011 I had the honour of being an attendee at the second ever Legacy Coderetreat, which was supposed to be the first one in the world. But my friend Johan Martinsson from Grenoble beat Erik and me to it. Anyway I was part of the second ever Legacy Coderetreat in the world, facilitated by JB Rainsberger. JB had come with this concept of using the Coderetreat format, but for legacy code.

At the beginning of the day he presented us the problem, like in any other coderetreat. The problem was an ugly trivia game and you can find the sources here. At that time the code base was translated, from Java, only in a couple of other languages. Now you can find almost any language you want, thanks to the worldwide community of passionate developers who translated the code base.

JB facilitated the event like you could find in here, with a lot of details. But in short we would start with a free session, then follow with Golden Masters, continue with Subclass to Test, Replace Inheritance with Delegation and then Pure Functions. After each iteration we deleted the code like in any other coderetreat and swapped the pairs.

I liked a lot the fact that JB started this idea, because I am a big lover of working with legacy code. And this Legacy Coderetreat is such a good way to practice. But I had some other ideas on how to make it different.

legacy-coderetreat

Legacy Coderetreat

Read More →

Architectural Kata – Budapest

Architectural Kata Budapest

Following the invitation of Zsolt Bodo I facilitated an Architectural Kata in the Budapest Agile community. The purpose of the session was to let the attendees speak about architecture and I was merely a facilitator. My other role was the customer, clarifying the requirements whenever the audience requested.

The concept remains the same as for the first Architectural Kata I facilitated: you cannot be a good architect if you do not have the experience. An architect creates 10-15 architectures during the whole career, so we need to practice to become better architects. This session is exactly a repetitive exercise of creating architectures for given, unclear, requirements.

Architectural Kata Budapest

Architectural Kata Budapest

Read More →

Architectural Kata

Architectural Kata

I first got into contact with this notion at the SoCraTes conference in 2012 when Benjamin facilitated not one, but two sessions. Unfortunately then I could not have attended as I was too tired from the sessions I had facilitated.
Last year I met again Benjamin at the XP Germany conference. Then I really attended his session. You can read more about that here.

We (mostly my brother Alex) decided to bring this Architectural Kata to the Bucharest community. And last week we had the first one.

The main idea behind this concept is that you cannot be a good architect if you do not have the experience. If you are an architect you create maybe 10-15 systems in your life, so that is surely not enough to be a good one. So with this session we do a repetitive exercise of creating architectures for some requirements.

Architectural Kata

Architectural Kata

Read More →

Kudos for the Global Day of Coderetreat 2012

Global Day of Coderetreat 2012

As last year I helped the coderetreat first-time facilitators to jump-in and organize their first coderetreat. I had some training sessions on Google Hangout during which I talked with a lot of passionate professionals from all over the world. Together with me Jim Hurne had done the same effort to spread his knowledge about the way he facilitates a coderetreat.

Jim has done a lot of work for the Global Day, he added the sessions on the coderetreat.org website created, the hangouts for all the registered attendees for each session, and a lot of other very useful things. He was full of energy and I want to thank him for all that effort, I don’t think the Global Day would have been that successful without his sustained effort.

I chose to go to Cluj-Napoca to facilitate the coderetreat on the Global Day. I had talked with the Cloud Troopers company about hosting a community event, and this was the time. They were kind enough to sponsor also the lunch. Out host was Georgiana Gligor, and she was very keen to see what a coderetreat is all about.

Read More →