Code it twice?

Laurent Bossavit asks if developers have seen the following effects when rewriting code from scratch…

Rewriting the code takes much less time than the first time around
Rewriting the code is a lot easier than the first time around
The rewritten code is better factored, more readable than that lost

I’ve seen all three of these results when I’ve […]

Review: Extreme Programming Explained : Embrace Change …

Product Image: Extreme Programming Explained : Embrace Change ...
My rating: 5 out of 5

This is the second version of the book that started the Extreme Programming (XP) movement. The first version of the book presented it’s information in the form of “the problem” and “the solution” and many treat that advice almost as software development gospel. This new version places more emphasis on value, principles and a set of practices that are consistent with those value and principles. The practices are presented as a set of beneficial behaviors based on the authors’ experience. They are not intended to be the one and only set of official XP practices. XP is is about committing to delivering value from our software development activities. It not the goal of the book to present a specific and rigid recipe for how we should develop software.

“Practices are situation dependent. If the situation changes, you choose different pratcices to meet those conditions. Your values do not have to change in order to adapt to a new situation. Some new principles may be called [for] when you change domains.” ~ pg. 35

The practices are divided into primary and corollary categories. The primary practices are intended for teams who just getting started with agile or XP development techniques. The corollary practices are generally safer to add after the team has some experience.

I personally feel that the focus on values and principles is important for an agile practitioner or an agile team. It tough situations, effective adaptation will depend on knowing why the XP practices are recommended. This a perspective for advanced practitioners and it concerns many of the XP coaches and other XP authorities. They believe that teams new to agile development, and XP specifically, are not able to properly choose a set of practices until they’ve tried them all for a period of team. In either case, I believe many people will find something beneficial in this book. Beginners have a set of practices to try and experienced teams will get a deeper insight into the rationale for those practices.

I also enjoyed the chapter describing the birth of XP. It describes how the seminal XP team adapted their approach over time without sacrificing their values or violating guiding principles.

Other resources:

C2 Wiki Wars

“Trust - This is at the core of wiki. Trust the people, trust the process, enable trust-building. ~ Anonymous (C2 Wiki)”
This lofty principle isn’t working well for the Wiki that started it all, the C2 Wiki. According to the site:
“It would appear that trust has now broken down. People are accusing others of […]

Jode Decompiler Eclipse Plugin Released

I’ve released an initial version of a Jode Eclipse plugin. This plugin integrates the Jode class file decompiler into the Eclipse environment. Class files can be decompiled directly from the Eclipse workspace or from a JAR file in the workspace. Classes can also be decompiled automatically during source code navigation (F3).
More information can be […]

Prevayler Performance Reality Check

Many people have seen the query performance results shown on the Prevayler home page. Although the performance numbers may appear impressive at first glance, there’s more to the story.
I worked on a team who evaluated Prevayler as an alternative to an RDBMS. The primary motivation was to improve application performance. It was interesting to us […]