Wednesday, December 9, 2009

SMOFCon 27 and Inch Pebbles

I think I may have mentioned somewhere that I put on science fiction conventions. If I haven't mentioned that, well, now you know. I work on the local Houston one, ApolloCon, and sometimes do some other things. This last weekend, was the most recent SMOFCon. Now, a SMOF is a Secret Master Of Fandom, and a SMOFCon is a convention where people who run conventions get together to talk about it with each other.

One thing I did not expect was the unofficial activities. I'm not talking about Saturday night's "probability and statistics seminar". Rather, I'm referring to the way SMOFCon was used to troll for volunteers. It makes sense, after all, because most of the people at SMOFCon are either working on a WorldCon or are experienced at working on a WorldCon and those who are in the former group are always looking for those in the latter group to come join them in whichever one they're working on now. However, I hadn't considered it in just that way.

This year's theme (SMOFCon apparently always has a theme associated with it) was Time Management and people were talking about (well, were supposed to be talking about--it didn't always happen that way) time management. Tthe panels I attended were interesting and intruiging. The problems associated with getting things done with the hard deadlines that cons are always going to have are a lot like those in the software business. Cons are often worse because the people are volunteers and they're expected to have lives that occasionally take priority and so don't always get things done when they're supposed to.

Since it was my first time there and I had very few things to say about time management that weren't being said by the panelists, and because I didn't want to occupy anyone else's time with my minutiae, I sat and listened and didn't say anything inside the panels. Just now, I figured that I have a blog so I can say anything I want and it won't interrupt anybody, so I'm doing it.

So here goes: I have often said that, for a software project, the only meaningful percentage of completion is 100, and even that might not be meaningful. What I mean by that is estimates of how far along the thing is are useless (not just practically or usually, but completely and totally unusable crap) until the very end and sometimes people will say something is finished, but it isn't really. So, you can't trust anything that isn't claimed to be done yet and you have to somehow independently verify the completion of stuff.

The problem, of course, is that a two year task has a single point of completion, and so there's only a single place to check for completion. If the end of that two-year task is two weeks before the con, then you don't want to find out then that the person who was supposed to be doing that task didn't actually do any of it. Although the proper area for this discussion is more people management than time management, the same solution was offered multiple times. Although none of the people talking about it used the term, that solution is "inch pebbles", as in milestones but smaller and more often.

The idea is to break tasks down into small chunks that can be verified and, from time to time, verify that the tasks are progressing satisfactorily. It is important that the chunks be small and that they be truly independently verifiable. Fortunately, since most tasks associated with working on a con are tasks that involve communications among departments, the independent verification is kind of built in. With software projects, one schedules demonstrations to the same end.

I like studying how other people do their jobs, and one of the reasons that I like doing that is because I can often apply lessons learned from other people to do my own job better. I suppose I shouldn't be surprised that this can flow in the other direction, too.