I apologize to any readers that I may have left for my extended absence from posting anything of any consequence. It’s been a tremendously long time since I’ve felt that I’ve had the time or the energy to make a long, involved, technical blog post. I do have some coming — its just a matter of finding the time to write them
I was fortunate enough to attend this great conference this past week. I had a fantastic time, met some great people, and renewed some acquaintances that had withered from lack of attention. All in all, very worthwhile. My own personal highlights of sessions included watching an experience report on relating Agile and Earned Value Analysis and ROI, learning about Organizational Change Patterns and Requirements Facilitation, listening to Ward Cunningham wax philosophical about his 10 favorite wiki posts, and ended up with Peter, Brad, and Mitch demonstrating their Test Driven Development Pair Programming Game technique. But, as is usual, the biggest bang for the conference buck came in the hallway and barstool conversations that I had with various people. Here are a few quick notes on things that stood out in my mind from these sessions, the conversations, and the conference in general…
Agile and EVA/ROI
I went to this talk both because Asynchrony was sending me and this was a topic that is directly relevant to some things we’re doing, and it sounded kind of interesting. All three presenters did a great job in explaining their own pieces of it, but I just don’t buy it from an agile point of view. The whole point of Earned Value Analysis is to track the value that you’ve gotten from your project at the particular point in your baseline plan where you happen to be right now compared to how much of your money you’ve spent. If you’re half way through your project and you’ve spent half of your money, you’re sitting pretty. If you’re spending more money than making progress, then obviously you need to be sat on and controlled more
The reason I don’t buy this is that it seems that this only makes sense, and is only even remotely useful, if each feature has the same amount of business value. If each feature can be assumed to be equally valuable, then this metric makes complete sense. But since we, in the agile world, work on those features that have the highest business value first, and defer any work at all on lower-priority features until much later, the slope of the EVA curve cannot be linear so the above assumption doesn’t hold. I really don’t know if this metric is going to matter to us or not.
Peter, Brad, and Mitch’s Excellent Adventure
I am quite certain that I laughed more in this session than I did in the entire rest of the conference. Peter and Brad have this micro-pairing style that I intend to steal and use over and over again. In their little game, they have formalized the rules for when and how to pass the keyboard when pairing. Instead of the driver/navigator, change when you get tired model of pairing, they have made it into a game. One person writes a test and gets it to compile. Test runs and fails, swap the keyboard. Partner has to make the test pass, generally with the fewest lines of code possible. Runs test, bar turns green, pass the keyboard. Original dev has the option of refactoring or writing another test. When that activity is finished, you pass the keyboard. The keyboard generally moves once every 2–3 minutes, both parties are completely engaged, laughing, having a great time, and spending at least 1/2 of their day actively discussing the design as it is taking shape. Peter and Brad were both very clear in pointing out that the beauty of this technique of theirs is that it engenders conversation at just the right points, and allows anyone to contribute, no matter how introverted they may be.
My favorite part of this talk, however, was their slide deck. Lots of us have spent some time reading a book called Beyond Bullet Points, which discusses how to create visually appealing PPT decks that don’t suck. They tell a story through a single brief statement per slide and a relavent graphic. There’s a lot more to it, so read the book. Anyhow, their’s was the first deck I had seen created this way, and it was beautiful. I am so looking forward to my next talk, so I can do this, too. Great job on the slides, guys.
Ward’s Favorite Wiki Posts
I don’t have a lot to say about this session other than to say I would have shown up to listen to Ward say just about anything. He had his usual dose of wit, modesty, insight, and wisdom, and was generally just the best speaker I’ve ever heard. I feel very lucky to know him and to have had the chance to work with him while at Microsoft.
Ah, finally the best part. I hope someone has stuck with me this far, since this is the stuff that really matters, at least to me personally. I’ve kind of fallen into a rut lately, which is a big part of the reason I haven’t posted anything here lately. I kind of lost some of the passion. Others have picked it up, like Cory Foy, and run with it, but this conference went a long way towards recharging me. I guess the lesson in this for me is that I can’t skip a year of going to this conference, because I need to see, talk to, and be with these people. Out of all the other software acquaintences I have, these are the people that I truly consider my peers. We are the coaches, mentors, trainers, doers in the agile field, and I need to feel in touch with these people. I didn’t go last year, and I missed them more than I thought
The interesting thing to me at this conference and in these conversations is that they always end up challenging me. My good friend John Goodsen challenged me to think about leadership down in the bar about about 11:00 Monday night, and we stayed there with JB Rainsberger talking about it until about 1. John had some things he needed to say and we patiently listened to him, and nothing much came of it. He was rolling, which he needed to do, and Joe and I granted him the space and time he needed to unburden (I get so touchy/feely around these folks ) But the part of John’s rant that was the most important was that it made me think about myself, and question whether or not I was a leader. I went to a talk by Tim Lister (of Peopleware and Waltzing with Bears fame), and Tim talked about leadership, too. Tim defined a leader as someone who, through their own actions or words, affects the behavior of others. And a lightbulb went off in my head and I understood what John was saying the night before, and what I was thinking about all night long. I understood my position as a leader, how I got here. I wrote about 6 pages in my journal about this on my plane flight back to STL after the conference, and getting it all off my chest felt really good. I understand who and what I am now, at least in that facet of my life, and I’m ready to go forward with it.
I had a lot of other good conversations with close friends there, including several with one of the most bizarre yet brilliant people I know, Mike Hill. Hill can always bring out the introspective in me, which gives me food for thought for days afterwards. I also had the opportunity to spend time with my great friends from Microsoft, including Peter, Brad, Mitch, Jim Newkirk, Alan Ridlehoover, Mike Puleio and his wife Robin, and Randy Miller, and made a bunch of new MS friends (Ade, Jo, Stein, Steve, and a whole bunch more) as well. I know I’m not going to see any of them for a while, but I hope to see them all again some day. Every single one of them was typical of those I met at MS (brilliant, forceful, humble) and I thoroughly enjoyed my time with them. I have no immediate plans to do this at any point in the near future, but based on what kind of people are there and how well I get along with them, I can see myself swallowing the blue pill some day down the road…
Anyhow, enough about me. I hate blog entries that other people write that are all about themselves and don’t give anything back to their readers, so I apologize for doing that to you. Like my good friend John, I had some things I wanted to get off my chest, and I feel better for it. Whether anyone else was listening or not