New Business Value Paper

Posted by andy in : Agile, Business Value on February 27, 2004

Chris Matts and I have been playing around with the concepts of using business value to help focus development teams on what is important to the business. It’s still draft, put out for peer review. We hope to publish it somewhere interesting soon!

BusinessValueDrivenDevelopment (PDF)

Add to del.icio.us , Digg this , No Comments »

Using Aliases to refactor XML

Posted by andy in : Agile, Refactoring, Software on February 23, 2004

I have been playing with XStream for converting java classes into xml.

We can convert a class such as this:

Error: Could not open NotVeryUsefulBean.java

into xml that looks like this.

Error: Could not open NotVeryUsefulBean1.xml

The xml is nice and clean. Like most implementations, XStream embeds the name of the class in the xml. This can cause problems when you rename a class, or move it to a different package. The xml could be on a customers’ machine, well away from my refactoring IDE. I have been bitten by this lately.

Then I realised that XStream has aliases. Joe added aliases to make it easier to read the xml. You have to map an alias to a class in your code. Here is an example of using a “MyAlias” for the “NotVeryUsefulBean” class.

Error: Could not open XstreamDemoUsingAnAlias.java

And the xml now looks like this

Error: Could not open NotVeryUsefulBean2.xml

Not a class name in sight. When I rename classes and move them into different packages, the refactoring tool will update the alias without breaking the xml. Nice!

Add to del.icio.us , Digg this , No Comments »

HR and Pair Programming

Posted by andy in : Agile on February 21, 2004

Keith Braithwaite posted an iteresting comment on the XTC wiki
XPDeveloper.com. He asked about problems with HR and pair programming.

They have noticed that our XP developers all log on to the development workstations (which are reserved exclusively for pairing on development tasks) using the same ID. They find this unacceptable. Their preferred solution is for the “driver” to be logged in, and then log out to allow the “navigator” to log in each time the keyboard changes hands. We find this unacceptable, for obvious reasons.

Imagine having to log out/in everytime you switch keyboards? It amazes me the “problems” that people make for themselves.

Add to del.icio.us , Digg this , No Comments »

An interesting read…

Posted by andy in : Agile, Learning, books on February 12, 2004

I would normally ignore books with a title like Java Open Source Programming: With XDoclet, JUnit, WebWork, Hibernate (Java Open Source Library) - but this one is different.

For me the best thing about this book is that it shows you how experienced developers produce a well crafted, easy to test, web application. It walks you through using interfaces to separate the database from the code. It provides oooodles of examples of using mock objects to make testing easier. It shows how experts use Test Driven Development (TDD) on a real world (web) application.

Oh, and it uses some nice open source libraries along the way. One of the best ways to learn something new is to pair with an expert. The next best thing is to read a book like this!

Check it out on amazon (uk)

Shame about the title!

Add to del.icio.us , Digg this , No Comments »

Agile Experience Reports

Posted by andy in : Agile on February 11, 2004

Only 5 days to go to submit your cool experience reports to The Agile Development Conference 2004.

Last year’s conference was amazing. I absorbed so much stuff I thought I should get involved this year. Hence I’m the experience reports chair. So if any of you want to share your Agile experiences with your fellow Agilists… go and submit an experience report proposal…

Add to del.icio.us , Digg this , No Comments »

Interative vs Evoutionary

Posted by andy in : Agile, Software on

I had an interesting conversation with Tom Gilb at XTC. Tom pointed out something obvious (don’t you hate it when that happens). He argued that the phrase iterative is not that descriptive. Tom prefers the term evolutionary.

My dictionary supports his argument. It defines iterative as marked by tedious repetition, while evolutionary is defined as a gradual process in which something changes into a different and usually more complex or better form. Much better.

This got me thinking that Evolutionary Development is a much better phrase for explaining to new people what the whole thing is about. We are building software that evolves, not software that iterates!! I wonder why we started using the term iterative?

Add to del.icio.us , Digg this , No Comments »

Site Map | design by twothirty