A typical release cycle…
Great ideas come up, ridiculous ones too… and the team reinvents the World. What if Mint did this, what if Cinnamon did that.. this is the time when we debate things and decide what we want to see in the next release.
It’s very exciting because we’re very ambitious and we usually have 6 months in front of us at that time.
The next phase consists in doing the work. More ideas come up of course, but most of the time is spent in implementing the big features that were planned.
This takes most of the cycle and it’s very exciting as well. There’s no hurry… and things gradually get better and receive new features. There’s that feeling of working on something great which the general public doesn’t really know about yet… like when you’re cooking a chocolate cake and the kids aren’t back from school yet… that anticipation of people being happy with what you’re creating, if that makes any sense :)
This is the phase where I’m the killjoy. I get there and I stop all the developers and tell them to put their toys down. No more coding, no more new features. It’s all about integration and bug fixing. Anything that isn’t fully ready at that stage is dropped.
Developers usually hate that phase :)
I really enjoy it personally. Not because I’m sadistic or anything… but because from the rough implementation of multiple projects I slowly but surely get towards a finished product.
Quality Control… :)
That’s the phase everybody hates, myself included.
Test cases, validation etc… thankfully that usually only lasts a few days.
The release candidate… it’s hard to describe what goes on in an RC. You’re almost tempted to feel like the work is done… everything is stable (it passed QA after all), people are about to see what the team has done for the past 6 months, and it should feel great, right? …. heh… right?
Well, the thing is.. there’s millions of users out there and they ALWAYS find bugs :)
So the RC feels like this:
A race against the clock to fix bugs quicker than people find them :)
It’s exhausting, depressing even (when critical bugs are found) but it greatly enhances the quality and it ensures most of what would annoy users is found before the stable release.
We have a policy here and you will NEVER EVER see a stable release without a public RC prior to it.
This is what release day feels like:
For a few hours anyway…
… as long as the servers manage to hold the burst in traffic :)
And then we do it all over again… back to design!! :)