Thursday, April 03, 2008

What I was doing yesterday, and will be doing today

One of our developers forgot to mention a critical requirement on a 7 million dollar project with 30 someodd servers and 30 someodd terabytes of storage... Specifically that 2 out of every five of the servers have to be using a specific piece of clustering software.

We've already acquired the hardware and software, already implemented most of the software in fact, and said developer all of a sudden shows up and says "hey, where's software X?".

Uhhh we were planning on using methodology Y there Sparky, who said anything about software X?

"Oh, I thought you knew this was a requirement. You COULD do Y, but the vendor needs us to do this for support".

No, no we didn't. You never mentioned it. No-one did in the literally hundreds of meetings we've had about this project, No-one mentioned it in the several levels of approvals we've had to go through for this project. Including YOUR approval.

So that means we need to add 3 new boxes and their storage to the testing and development environments, rebuild twelve boxes that are already declared production, get the clustering software licenses, get some additional network interfaces, cabling, and ports, new IP addresses and hostnames, revise our security and disaster recovery plans, oh and it doubles the licensing costs for the application being affected from about $360,000 to about $720,000. Plus it adds four weeks to the timeline of a project that is business critical, priority one, and already in the red on schedule.

Now I have to go today and explain that to the person whose budget it is we have to rape.

Thanks sparky, you've made my month.

UPDATE: Well there's some "good" news, and some maybe good news. The "good", is that we've negotiated the price down so that the impact is only about $200k instead of over $300k for licensing, and $100k for hardware.

The maybe good news is that we may not need to use the clustering software after all. We're working with the vendor to try and get it supported in the original architected configuration.