(Edit: Corrected the name of the conference and the organizers of the event, thanks to J.B.’s feedback. Sorry!)
Today was XP Day DC 2005. We’re on the plane back right now, and I wanted to recap my thoughts on it while I’ve still got it fresh in my mind.
The conference, put together by Diaspar Software and Digital Focus, was held in Washington D.C. at Digital Focus’ offices. The morning started off with breakfast and a keynote address by Bill Wake. In it, he discussed the role and importance of the customer on an XP team. This is, of course, an often misunderstood and underappreciated role. Bill, armed with only a marker and a big notepad, walked us through the different customer concepts like their value. My favorite quote of the conference came during this when Bill was talking about bug fixes. He said you do your release after the bug fix and your customer says, “Hey, works like it was supposed to last time!” Good stuff.
The conference was split into three tracks. The first was a set of tutorials on XP which Chris and I attended. The second was a code room where a small project was being developed XP-style, and particpants could grab a story, a pair, and a desk and get cracking. The third was Open Spaces, a collaborative environment where people posted various topics they wanted to discuss, and people signed up, and away they went. Although we didn’t go to any of the Open Spaces, it turned out to be very valuable for some of the participants trying to hash out how to make sense of XP when dealing with Federal Government projects. I didn’t get the number of people there who did work for the Feds – you’d think we were in the Capitol or something. ;)
As I said, Chris and I attended the two morning tutorials. The first was an Intro to XP by J.B. Rainsberger. It was incredible. Rather than approach it from the “Here are the 12 rules, now do them”, he came at us from the theory of constraints angle and compared software development to the manufacturing process where it belongs instead of building a house which we often see as a comparison. I am still taking in everything from that tutorial and think I am going to have to write just on that here soon.
To give you an idea, after that presentation Chris told me it was worth the cost just to hear that tutorial. Great job J.B.!
Second up was Jeff Nielsen, Chief Scientist for Digital Focus. The tutorial was titled to be about writing Business Rules as Tests, but mostly was a FIT introduction. And a darn good one at that. I had heard a lot about FIT, but haven’t had a chance to play with it. His presentation was great as well – although I wish we wouldn’t have had so many questions.
Afterwards we broke for lunch. We sat at a table with several people including some Digital Focus people and learned some great stuff about the company. I also learned that not one but two people at the table knew where Lutz, FL was! (Hi Paul and Michelle!)
After lunch, Chris and I decided to jump into the Code Room, not seeing any topics we wanted to join in Open Spaces. This turned out to be great, because Jeff came in and grabbed a story to write the FIT tests for a particular feature and I jumped in as his pair. I learned more about FIT in that one hour pairing session then I think I would have in the next three weeks. Jeff is a great developer, although it was great to see someone having problems in Eclipse because they had been doing too much .NET programming and their Emacs bindings kept getting in the way. (Long live VI!)
We loved their project room. I got a couple of pictures (1,2,3). And it was a great madhouse in there with probably 15 or 20 people all working together greatly emphasizing the Expert-In-Earshot pattern. A couple of people had been assigned as customers, which was great because when we encountered a problem we could just ask.
The interesting thing was how quickly we were able to get it up and running. The project was a book review web site. We were tasked with writing the FIT tests to implement a feature where the book description and review were checked for a defined list of prohibited words. Sounds simple enough, but it turned out to involve taking the list of words, tokenizing the description string and comparing word by word to the prohibited words list. Even then, we knew that it wasn’t going to be perfect. You can write foo (one of our sample words) a lot of different ways! foo, Foo, FOO, F00, F0o, F@0, FO@, “FOO”, F’o’o – the list goes on and on. We just limited the scope and made a mental note that the descriptions will probably have to be manully checked or have some other form of feedback if this were a real delivered project.
The day finished up (for us) with the client panel. Digital Focus brought in three of their customers who had implemented XP with Digital Focus’ help. All of them had previously used waterfall processes, and all three now embraced XP. One thing I wished was that they had discussed a project which didn’t have great champions, or whose champion didn’t have the clout to push XP into the organization, and how they dealt with that.
We had to leave early to catch the flight back. Fly in, attend, Fly out. Oh yeah.
But, I thought overall the conference was great. And the one day format I think works really, really well. The focus was on the right people – the players who need to figure out what this XP thing is and how it works in their shop, while still providing plenty for the programmer-types to do without hacking around on the wireless network. I hope that they continue to do more of these – I think it would be a great way to get people introduced to XP quickly. And with speakers like J.B. and knowledge like Jeff you can have a great impact.
Thanks again to Digital Focus and Diaspar Software for hosting the event. I had a great time, learned a lot, and can’t wait to do it again soon!
I agree, XP day was great!