earlier this week we did an interim release of our software to be sent to a single site.
It took me a while to establish the mindset but it's now the expectation where I work that, if we do a software release, we do it on the 15th of the month. I'd originally planned to do one a month but the customer balked at such a frequency; they wanted no more than 4 per year. I can understand that; I've worked for enough large corporations in my time to know and understand their reasons. Hence the 'if we do a software release'. Some months there isn't enough extra functionality to warrant a new release. Or sometimes the extra functionality takes more than a month to write. Most of the time we do the call on when to release but you always have to factor in the customers needs. This, of course, only works if you have an established trust relationship with your customer. I think we do, which makes me feel very lucky!
I've also managed to establish the idea that you just can't do random releases and believe me it took some arguing. If we do need a special release it has to go through the same process as a normal release; no more of this 'compile a copy on some random computer which might or might not have the most recent source files (ie, whoever's laptop it is that the release was compiled on) and hope for the best'.
Fortunately our customer is very sophisticated in this regard; they understand the value of process and they, once they'd heard me talking about doing things in a particular way, threw their weight behind me. For any company having the customer on side is a plus but when your customer is a thousand times larger than you are you listen. I've managed to kill the idea that you fix one bug and then email that exe to the affected site.
But this is the real world and there are always exceptions. Such an exception arose. So we did an interim release on March 8th using the process, sent as aforesaid to just the one site and knowing it would be superseded by the March 15 release, sent to all sites.
I've already, in previous posts, mentioned that our software has a runtime component, for which I'm responsible, and a design time component. The March 8th release contained an older version of the design time component (the version that went out on Feb 15) and an updated (and urgently needed) runtime.
The March 15 release will contain a newer version of the design time component and the March 8th version of the runtime.
So where's the shame?
Well, I've made a lot of changes to the runtime this week and it 'feels' like it works. I hope that's raising the hackles. 'Feeling' isn't good enough. I can't properly test my changes here; we don't have the hardware so I have to go back to Dallas to perform the tests. Which puts me in the position, after all my complaining about having to go to Dallas, of demanding I be sent to Dallas to test my changes!
I can think of worse things to be ashamed of!