Saturday, April 17, 2010

The problem is that it only allows 8 nested if...thens

The company I work for was recently purchased by a large corporation.  It seems to me that the Corporation does not view IT as a change-agent and value-enhancer, but rather as a cost center that the company wants to minimize.  Here are some things I have observed that lead me to that conclusion:
  • The day the purchase took effect, all 3 pending requisitions for new developers were cancelled, and a developer was let go.  This essentially took us from a team of possibly 7 down to a team of 3.
  • When another developer turned in his resignation, we were not allowed to backfill his position
  • The new company uses OLD technology and cheap alternatives, even when more expensive technology demonstrates an ROI
  • My boss, the Director of IT, is excluded from 'High level' meetings
  • Comments made by upper management suggest that they believe the quality of a $14/hr outsourced employee would be equivalent to that of an $185 specialist on that platform
In every interaction recently, it seems that the number one consideration for IT decisions is short-term cost.  In other words, what is the cheapest alternative.  I content that this leads to long-term failures and huge inefficiencies.  Here is an ancedote from my recent trip.

I was talking to a sales representative from the new Company (I'll call him 'Bob') and he asked me if I had "Seen the Excel Spreadsheet".  Bob continued that, "He was the one who made it."

Earlier that day I HAD been shown the Excel spreadsheet, and when he said 'the Excel Spreadsheet', I knew EXACTLY what he was talking about.  You see, the sales staff at this company had a pretty complex task to produce quotes for customers.  Each quote contained a complex configuration of inter-related components and it was taking them a long time to compile quotes.  But the company didn't want to spend money developing a quoting tool.

Bob took his knowledge of VBA and put it to use in Excel.  He had created a 12-sheet application within Excel that would accomplish the task he needed.   While the sheet seems to work, it needs a lot of care and feeding.  When prices are updated, configurations change, or new parts are added or removed, someone needs to copy that information into the Excel spreadsheet, and then the new version needs to be copied to all the other staff.  I'm not going to knock Bob. Hell, to see what he accomplished with VBA, I think that man is a genius. 

I still believe this is a broken system, though.  I didn't get to ask Bob how long it had taken him, but from the complexity of the application, I can only imagine that he had spent MANY hours developing his tool.  Hours that he, as a salesman, could have spent SELLING.   But even worse than that, if a programmer had been given the same amount of time to work on that project, the work product would be much better.  Likely it would be a Web application and the data would be integrated with the company ERP for starters.  The application could be maintained an enhanced and improved as the company grows and evolves.  Instead, there is now a stand-alone, one-off application sitting in the company infrastructure.  I am fairly certain the current Excel sheet is not going to be maintable going forward.  Why?  Because, when I asked Bob if he had written the entire thing in VBA he responded,

"Yes.  VBA is surprisingly powerful.  Its only problem is that it only allows 8 nested if...thens"

No, Bob, the problem is that you needed more than 8.