Posts

Stack Overflow #41

Oh, hey! I got a small mention in Stack Overflow Podcast #41 . It was a quick mixed reference to my Object Mentor blog entries Curly's Guide To Software and Outliving the Great Variable Shortage . It's not much, but I'll subtract three or four seconds from my fifteen minutes. :-)

Global Variables

Know what I hate about global variables? Besides "everything", I mean? Seed And Harvest is evil. Globals propagate the seed-and-harvest idea which makes the existence of globals even more odious.

More Remote Pairing

Image
Some days it is a struggle. My network disconnected and reconnected a few times. That made me lose my session and have to restart. We determined the dark background that looks great on his screen was causing trouble, and had real issues getting VS.NET to return to white background defaults. Was much harder than one would suspect. Got some code moved and checked in, got green tests. Explored nhibernate space to learn how to do some of our specialized queries. Noted some overkill queries. Overkill queries get every object of a given type and then throw away all that they don't need. These full-table-scans cause performance engineers and DBAs to break out in cold sweat. We're going to build/rebuild some NHibernate chops and chase these down with an axe. Observation: almost all the NHibernate articles I found through google are tutorials on writing the XML (or appear so at a glance). Not a lot of them are about using it to do anything. I guess the tail does wag the dog somet...

Remote Pairing Day 3

Pairing from my house, using my broadband today. Took extra time to get set up, because I didn't have an office all squared away. Not yet. We're working on it. Today it's the dining room table for me. I was concerned because we had a late drive last night and didn't get as much sleep as usual. I didn't make the agreed upon rendezvous online, so my partner was left waiting. Again. This cannot be a pattern for me. This whole experiment is dependent upon us being able to conduct meaningful work from a distance. Tonight, more sleep, sooner waking. I don't want to flip a bozo bit. This morning, I tried using WebEx and skyping from my Ubuntu box for video. Skype installed okay, but will not use my logitech webcam. Ekiga will do that, but my partner apparently is firewalled in from stun servers and can't connect with Ekiga. That's two or three programs that we can't try because of that. Maybe we can get the admins to open a port or two for us. ...

Remote Pairing Day 2

I'm in a new position, and it is part of the deal that I work from home. Anybody's home. I'm learning the art of remote pairing, and will give some pointers here as I explore the space. Tech Today I want to mention some technology we're using. So far I've tried a few free remote solutions, and found them to be awfully laggy and troublesome. I'm so open to an open-source solution or two. So far I've done the A/V portion using google chat extensions and skype. Of the two, I had google drop out less and they both keep up to date pretty well. I was happy that there wasn't a lot of lag and pixelization with either. The video is grainy, but it does help to have facial expressions in a discussion. The screen sharing we've liked best have come through commercial services LogMeOn and TeamView. We've been using the free trial editions, and both seem to work very well. By "working well" I mean that Connection isn't dropped too often There is n...

Pork Barrel Agile Failure

So here is a failure mode I finally had time to think about. I saw a version of this play out, but here's the basic idea: The Customer doesn't get as many stories as he'd like, so he pads the story with functionality that has a lot of leverage. Then when it's done, he can use it many different ways. This makes it a little hard to see the original user request in the fluff, but it does accomplish its original task (too). The story is too large, but it is pushed to development, and developers take it on by sending a few guys offline to work on it for weeks/months. In the meantime, a developer realizes that this feature is considered critical, so it has to be pushed. He has other features he would like to ship, but they're not related to this one. On the other hand, if he can sneak in some of his feature into this story, he is assured it will be released. This makes the story later, so there's more overtime, and it takes on more testing risk, but it's a g...

Agile via Sound Bites

There was a long, multiparty discussion on the XP mailing list recently. A fellow was struggling with some issues about self-managed teams and taking direction from the Customer. There was a lot of misunderstanding going on. It reminded me that Agile is something that takes some training and coaching. I'm not currently in the "agile coach for hire" business currently, so I'm not just drumming up work here when I say that any team considering a transition should hire a good coach. Hearing a few words about agile at a convention, reading an article or two (or a few newsgroup posting, God forbid!), or watching a video lecture are not sufficient training for agile practice. Agile software development is clearly not brain surgery. The ideas are simple and deep. The problem is that the sound bites are pithy and (to the outsider) pretty shallow-sounding. The case in point is that the mailing list participant had the entirely wrong idea about what a self-managing team...