Clean code and the Scrum roots


Christoph Mathis , Fri, 09.10.2009 - 16:41

The recent discussion in the Scrum alliance about developer qualifications guided also my focus to the root goal of Scrum:

Consistently and reliably convert requirements into potentially shippable product increments.

In the last weeks I followed some of the discussions in the Scrum Alliance and elsewhere, namely in http://groups.google.com/group/agile-developer-skills and others - I will write more about this topic in the next time.

I chose deliberately not to focus on my opinion to the quarrel aspect - as you may know, Ken Schwaber founded a new firm (scrum.org) in which he plans to offer assessments and you can read a lucid and very personal comment on this of Tobias Mayer: http://agileanarchy.wordpress.com/2009/10/06/ken-and-the-scrum-alliance/ .

For me, the fascinating point is that there seems to be a growing sense of urgency in the Scrum Alliance and the Agile community to develop an integrated view of the Scrum techniques and agile engineering.

As a develper and practising coach, this in itself is not a surprise to me. In fact, I keep telling my teams that making Scrum sustainable without agile development practices is difficult at best.

While preparing my speech for the XPDays, I am brooding over the question how to help the team members to develop their skills. There are several aspect to it, but a necessary element is to make it easier and more rewarding to practice self-improvement in the team.

There is an extremely interesting approach invented by Stefan Lieser and Ralph Westphal (http://clean-code-developer.de/). It includes a few fundamental values and a set of clean-code-developer (CCD-) levels. Developers are expected to cycle through the levels, which focus on different principles and practices. The levels have each a different color and developers can make their current focus of self-improvement visible by wearing a writband in that color.