Source Code Crazy

I’ve thought for a while that build, source-code management, and bug tracking software (which I’m collectively calling meta-software) could, and should, be so much simpler. I’ve written previously about my contention that bugs and features are the same thing, but the problem is wider. Software has a tendency to acquire features over time, and software that’s used to make other software is no exception. Here are some assorted thoughts about how to improve the situation:

  • Always use integrated source-code libraries and bug tracking. This is something that CMVC and other systems do excellently, and up till recently was fairly poorly served by the open-source software community, although projects such as Trac are doing a good job of closing this gap. The ability to see what changes are associated with what bug is invaluable. Anything else is a recipe for mistakes.

  • Get rid of all the excuses. There are only two valid reasons for permanently closing a bug: (i) it’s fixed; (ii) the developer disagrees that the change will improve the software for the user. Anything else isn’t OK. A corollary of my rule about bugs and features being the same thing is that bugs can’t be returned just because they are feature requests. All bugs that aren’t targeted for a release currently being worked on are still open bugs (just with a different target field). All bugs we don’t want to fix because they don’t seem sensible to fix right now (which could be marked as such) are still open bugs. All bugs in an external dependency are still bugs (the whole system doesn’t work). All bugs that can’t be recreated were seen once (assuming you trust your testers) and are still bugs. A good bug tracker is a database, and will let you see any subset of these any time you want, so no-one needs to get blamed unfairly.

  • Make sure each bug only has a few panic fields. ‘Severity’, ‘Importance’, ‘Priority’, ‘Ease of Recreation’, ‘Impact on Customer’, ‘Impact on Developer’, ‘Impact on Tester’ are all ambiguous. Pick a maximum of two, preferably just one, and make sure everyone knows exactly what they mean. After all, only one field really matters - how much does this affect the user of our software? Everything else should be secondary.

  • What Joel says about explaining off-buttons to uncles applies equally to the design of procedures around software development - everyone will think their exception to the process is vital until you’re drowning in exceptions. This relates more to conventions surrounding software development rather than meta-software itself, but it’s still relevant. Keep it simple - regular builds on a schedule everyone knows; keep everything in one place; reduce the number of parties required to make a decision about any change to the bare minimum. Scott Berkun has a lot to say about this in his excellent book The Art of Project Management.

Fundamentally, though, maybe none of the above will help. Meta-software is perhaps destined to suffer from featuritis more than other software precisely because usability is not so important for its userbase (in my experience, most developers don’t like bad interfaces, but can also cope with them). Only time will tell if developers will be set free.

No Love for LOVEFiLM

I’ve written before about my mixed relationship with LOVEFiLM. It’s now becoming obvious that, as I suspected might happen, the turnaround time for sending out DVDs is worsening again - my last five or so have all taken several days longer than they should have, and the delays are getting longer each time. I’m far from the only ex-Screenselect customer to see this. If this continues, I’ll be cancelling my account. Please, LOVEFiLM, get it sorted.

Scarface

I’m not a big fan of gangster films, so I’m only prepared to watch the very best. Most such films are violent and gruesome, which turns me off (particularly the latter), and Scarface is no exception. However, it’s surprisingly moralistic. As Tony Montana (Al Pacino, of course) says…

I never fucked anybody over in my life that didn't have it coming to 'em. You got that? All I have in this world is my balls and my word and I don't break 'em for no one.

… and he’s right: at least by his terms. Scarface is also an interesting study of the drugs industry. Of course, it’s hard to know how accurate it is (I suspect real drug dealing is much more mundane than the glamorous life here), but nevertheless, there was more than one scene that reminded me of the interesting study of drug dealing in Freakonomics, with the price of risk being openly discussed.

The film runs much as you’d expect: rise to power followed by fall from grace, but it does it with style, cheap 80s music and cheap 80s fashions. Unlike Roger Ebert, I don’t think it’s a classic (although, as I said, I don’t like the genre much anyway), but Scarface is still one of Pacino’s strongest performances: his jutting jaw and accent so parodied now that it’s hard to watch without being amused. It’s still a strong film.

Free Banking Update

After writing a few months ago about how bank customers were reneging on the contracts they signed and suing their banks for ‘illegal’ bank charges, it appears that free banking is indeed in danger, with HSBC introducing a monthly fee. I’m glad to see that they won’t be charging them to those account holders with balances greater than £1,500 (read: those who rarely encounter fees anyway), but it’ll still be interesting to see how this shakes up the market. To me, this is a clear example of an unintended consequence of government regulation, in an area that would be better off left alone.

Steve Forbes @ London Junto @ Lansdowne Club @ Mayfair

Richard and I went to see Steve Forbes (of Forbes magazine fame) speaking last night at an event organised by The London Junto (a libertarianish organisation). The topic was flat taxes, and Forbes made a compelling argument for one - albeit probably preaching to the converted. Forbes has to be one of the most knowledgeable people I’ve ever seen speak - he dealt with economics, business, and geopolitical questions with equal capability, forthrightness, and clarity. He’s a former Republican presidential candidate, and it’s obvious from his winning politician’s smile. The Lansdowne Club is a traditional old-boys London Club (you can tell this partly because they pointedly use the word criterion on their website), and it made a suitable venue, although it didn’t exactly appeal to my taste. All in all, a worthy experiment.

subscribe via RSS