Cory Foy

Friday, August 17, 2007

Wrapup from Agile 2007

Wow. I don't even know where to begin. This week went by so fast, that I can hardly believe that it is Friday, and also that I got zero chance to blog anything while I was here. So without further ado, here's a wrapup from the conference:

Monday

It all started with a Rails talk, at least for me. The team who gave it said something very interesting. Ruby and Rails was the first language he had made a concious decision to move to. Previously, any other language moves had been because of jobs or markets, but he really felt so passionate that he made an effort to do it full time. They also brought up a code by Uncle Bob - "Always leave code better than you found it" which I've heard before, but is always nice to bring up again.

Next came a talk on Behavior Driven Database Design by Scott Ambler. Normally I'm on the fence about some of Scott's talks, but I really, really enjoyed this one. He talked a lot about how poorly we treat our data - even though many people talk about how critical it is for their day to day businesses. He also brought up that one of the challenges is a lack of thought leadership in the Data community around testing databases. He did mention that Microsoft is the only vendor he knows of who has tried to address this through the DBPro tool (and if you are interesting in doing Test-Driven Development (TDD) with SQL Server using Database Pro, see my recent article).

Tuesday

We started off the morning with a keynote by Susan Ershler who has completed the 7 continent challenge by climbing the highest peaks on each continent. One of the key takeaways was that, in order to reach Everest, you have to climb up to a certain camp, climb back down, climb back up to the next higher camp, climb all the way back down, etc, for 6-8 weeks before you can finally go for the summit. It's good to remember that sometimes we have to climb up and down in our quest to reach the top - and that once we reach there, we have to figure out how to get back down without being killed.

I then slid over to an Agile Adoption at Google talk. Most of the information was standard agile stuff, but it was interesting to hear that one of their risks was that people are willing to work 60-70 hour weeks and take risks. Often times we try to fix that as a sustainable pace, so agile has been an interesting adoption. Also, it isn't mandated, so teams are encouraged to explore it and make their own decisions. Finally, they talked about their Testing on the Toilet program where the post weekly snippets in the bathrooms above the stalls. Turns out they also post them to Google Testing blog.

Wednesday

I started off the morning in an Agile Leadership talk by Todd Little, Polyanna Pixton and others. I heard some of this last year at the APLN summit, but the basic summary is that you look at projects based on the how market differentiating it is and how mission critical it is. This basically divides project to 4 quadrants, and you treat them differently based on the quadrant. I'm sure I'll follow up more with this.

I then ran into Brian Button. We had been talking earlier in the week about BDD, and I asked him if he had seen RSpec. We decided to head over to Open Space, grabbed a projector and a couple of people, and went through the bowling game example. Some interesting things came out of it, including the thought that there are concepts that we've learned from TDD that we need to unlearn to think about things in terms of customer specifications. It was great fun, and if you haven't looked at RSpec, I highly recommend it.

Finally, I finished up with a Selenium and Rails talk. A company called Pivotal Labs demoed the functionality they've done in Rails, and also about the project they are working on to bring Selnium RC on Rails (currently called Freemason but subject to change). I'd also been talking to the Ultimate Software guys about their new tool called SWAT, or the Simple Web Automation Toolkit, which is similar to Watir and Selenium, but written entirely in C#. I'm looking forward to taking a closer look at it.

Thursday

Thursday I attended a Retrospectives session which was very interesting. It was a look at Retrospectives by Esther Derby and Diana Larsen. It was a fun time, but I only stayed through about half of it. I still took away a lot of good information on how to run retrospectives and how well they can work.

Friday

And that brings us to today. This morning I attended a session about certifications in the agile community which was a panel discussion with people like Ron Jeffries, Mike Cohn, Michael Feathers and others. I wish it had been longer so we could have really dug deeper into the topic, but it didn't change my mind on what I think about certifications (but perhaps a little on the inevitability of them).

And of course, throughout the conference there were some great side conversations, bar coding, great food, great times, and I even hung out quite a bit at the Microsoft Visual Studio Team System booth, which was great fun to get the chance to talk to people about how they are using the product.

I really think that the conference has refreshed and renewed me. It sounds new-agish, but over the past year, the transition to Microsoft, the move and the hecticness of learning the role and the products has been overwhelming and pushed me away from what I love - agile and development. I've made a vow to myself to get back cracking on this blog with things like updating my Fitnesse tutorials, digging more into RSpec, Ruby and Rails, and finding ways that even those devs stuck in the .NET world can take advantage of agile tools and practices.

Most of all, it was really great to run into great people and great friends, and I'm looking forward to next year's conference which will be in Toronto. We'll also be starting an Agile Florida group which will provide resources and advice to people using and implementing agile techniques in Florida, and coordinating speakers at the request of various user groups. So keep an eye out for that.

All in all, it was a great time, and I can't wait until next year. See you in Toronto!

Sunday, August 12, 2007

Off to Agile 2007

It's that time of year again, a time for a big group of agilists to get together, have fun, talk shop, and all that good stuff. This year's conference is in D.C. which should be a good time.

The one thing I'm hoping to get out of this is fuel for the next year. My current role has me doing very little development, except in advising teams on Application Lifecycle stuff and Team System. I've found that I really miss doing development, and will be looking forward to a time when I can get back to doing that - though I just don't know of many Agile shops here in Tampa Bay.

I'm looking forward to being able to talk to good friends and good people, and hopefully another showing of the Cory/Corey theory.

If you will be there, be sure to say hi! I'll be wandering around, and may even be over at the Visual Studio Team System booth for a while. 

Wednesday, August 01, 2007

When your code affects lives

I've been following the story about the Brazilian airliner that crashed last month. In this afternoon's story, they reveal some things from the flight recorder, including an indication that one of the throttles was in the wrong position. When they landed, they couldn't activate the spoilers, and one reason might be this:

 

Folha speculated that the plane's computer system could have interpreted an incorrect throttle position as evidence the pilot was trying to take off again, automatically disabling the spoilers.

Couple that with a talk I heard last week from Danny Hillis where he talked about how code you write could stay around forever, and I shutter to think about where some of the stuff I've written in the past could end up. But it really shows the reliance we have on software, and how it really is difficult to catch all of those edge cases. I just hope no one needs an XML Menuing system for their airliner.