Tuesday, 11 August 2015

For me, one disadvantage of short release iterations...

TL;DR: Short release iterations don't really make it practical to give silly nicknames to the releases of the FOSS projects I develop...

So, I'm sure every professional developer has heard of the benefits of short release iterations and all that (one of the aspects of agile development). I fully agree with said benefits, but on a personal level there's one tiny, silly disadvantage:

If you do short release iterations, then you never or rarely do a big release, and as such, you rarely get to give a big release a "nickname". ;P
Sure, this doesn't even apply to most software development scenarios... really, mostly only if one is developing applications (as opposed to libraries), and doing so in the open-source world. It's a fun thing I like to do once in a while - a way to put a small reference to something personal (a hobby or a fandom), in an otherwise purely technical or professional product.

In some cases, a developer does this by naming the project itself for the thing they like. I did this originally with DDT. DDT wasn't originally named DDT, but rather "Mmrnmhrm". No, that's not random typing on the keyboard, it's the name of a space-faring race in the amazing game Star Control II! :) But... as the project matured, I wanted it to be taken more seriously, and so it needed a serious name. And I didn't choose any other fandom reference either because I wanted Mmrnmhrm to be named in the same style as JDT or CDT. So that was that, and "DDT" was the obvious new name.

But since I continued doing so much work on this project (and nearly entirely pro bono), I still wanted to put some references once in a while, a bit of the inner geek spilling out. For some time, I did so whenever a big release was out, but as the project evolved, those became more and more rare. I mean, I always tried to do short release iterations, but sometimes a large feature cannot be broken down in smaller chunks that are actually releasable to the user. One such example, was re-writing the D parser from scratch (and adding comprehensive tests). That took quite a while. So while internally that task was still broken down in small iterations (say, a grammar rule each time), it was only fully releasable when the whole thing was complete. Until then, the older, deprecated parser was used.

But such big releases are very rare nowadays. And it doesn't feel quite right to name your release "Valar Dohaeris" or something as epic as that, if it's mostly a simple release with only some bugfixes and some minor new functionality. That said, I couldn't help but name "Candy Kingdom" the DDT/Goclipse/RustDT releases of this month, as they all share a similar big chunk of work. But I doubt that will happen again very often...