Friday, May 1, 2009

Whoa

Guess I should use my computer at home more.  Or at least some kind of better mobile blogging software 'cause I haven't written anything for 5 days!  That's pretty horrible given how I was doing before...  I just haven't been up to using the computer for the past few days.  At home at least.  It's been pretty busy at work, what with meetings and just so much stuff to do.  That is a good thing, but sometimes it leaves one tired and out-blogged.

One of the things I've been involved in is around our branching/release strategy.  It's funny because we've had this conversation too often as far as I'm concerned.  In the meeting we had to discuss it, we talked about the same old set of arguments about the basic different ideas.  It took a few days, but I think I hit why that was.  We were not establishing the correct base questions - we didn't know what all the root issues were, so we argued over the proposed solutions.  Also the arguments also revolved around the benefits of the proposals, not the drawbacks.  I wrote up my ideas, but the analysis of the problem hasn't been done yet.  That's probably something for tomorrow, but I think it is absolutely necessary.  Otherwise we'll end up with the camps of "this is newer/better - let's do this" and the "this works, why mess with it?"  Of course neither camp is that extreme, but hey analogies aren't fun if you don't push them a bit.

Anyway, I'm going to construct an analysis of the proposed solutions and identify if they can each meet the requirements and then see which one does the least harm.  Maybe show which provides the best benefits with the least effort - both good criteria.  I've been saying for a while now that the best way to evaluate a process - because that's what these solutions will be - is to pick the one that makes it hardest to wrong thing and easiest to do the right thing.

That is kind of tricky in the software business because you can change so many parts at once.  For software processes, it's important to pick the process/tools that make it hard to do the wrong thing and then make your process fit the process implied by the tools.

You may have noticed something controversial a few paragraphs back as well - that we were picking a process.  It doesn't seem like it because the choices revolve around different tools, but each tool implies a different process.  Picking a process implies picking the tool to use.

Wow - I'm writing this in a very abstract way.  I hope it's clear to other people what I'm trying to say... It's all that math training over the years - I tend to remove the parts that are irrelevant to an argument and replace them with variables or generics (when writing).  The more involved the process or tools the more abstract the references become so we end up with this gobbledy-gook.  Whatever - I wrote up something interesting to me and that's why I'm doing this.  You can read for your own reasons.  Individuality springs up everywhere.

No comments: