Friday, August 22, 2008

Tackling a government contract

Got a new short contract (more than a month ago, it was a 6-month contract - but now a few weeks have passed and much of the work has yet to begin - I'll deal with that issue in another blog entry I'm sure) with an unnamed government entity. The task is to take an application that was developed by an outside entity and maintained outside the owning entity on an IBM Websphere & DB2 environment and put it onto the owner's environment which does not involve any IBM infrastructure. The owning entity is primarily a Microsoft shop.

This is a mature application that has been running fine for a number of years; but, the maintaining entity wants to cut costs (ya know, governmental budget woes) and those applications they are maintaining for others must go. The decision to move the application was made two years ago; but, being a government entity, things don't move as fast as they would if this was a 'real' business. The owning entity must simply show due diligence that it is making progress with the move initiative. Studies were done, reports were made, current system was documented, all the rules and procedures were marked up, flow charts and diagrams were drawn. Finally, time to make the actual move came and I came aboard with another developer consultant who was working on a different project (with the same entity) until the last fiscal period ended.

And we sat around for a month waiting for others to create non-production testing copies of the existing application and database (wouldn't you think this would already have been done???). There were a number of preliminary meetings... the original plan was to convert the existing JSP pages (along with the back-end business rules code) over to ASP. But, after taking some time to review the raw code for all existing pages (which took quite some time to acquire), I proposed leaving the JSP as is - why re-invent the wheel and introduce potential problems into something that is a mature application? Besides, I argued, there is a level of reality not being addressed with a 6-month timeframe and deadline - it is not realistic to expect a complete re-write of code that took years to create. I proposed that the recommended action be to migrate the Websphere Application to something the owner can live with and leave it in a Java environment. Then, it would only be an issue of determining what the owner can deal with and whether the person(s) who'll be left to maintain the application will have the knowledge to carry on after the contract runs its course.

Of course, I didn't bring up all the nuances of what a migration will entail. Websphere does things their way, all other application servers have their own idiosyncasies. The database will be another issue as well - DB2 is quite proprietary and not 100% conversant with open-source models nor with Microsoft; but, I think dealing with all these things is more desirable than a complete re-write. I already know one of the issues with the database (and the application) will be how the current application is designed to store PDF files as a blob within a DB2 field- but that is an issue I'll defer for now. I think it is more important to determine the roadmap needed to do the migration and concentrate on getting things moved and working in a different environment. Once it works, then we can think about tweaking and modifying the procedures and rules...

And while all this was evolving, the partner I was to work with, I'll call him Jim, announced to the group he was leaving, moving to greener pastures since his wife got a new job out of state and he couldn't very well stay around. There were some suggestions of Jim telecommuting; but the government here doesn't know how to deal with this and that idea didn't go very far. It was amazing how much time passed by after the leave notification where none of those in charge made any effort to properly achieve an information transfer to someone within the work group in the agency. It wasn't until the day Jim was leaving that anyone came by asking about specifics of what he worked on in the past couple of years. At this point, Jim was in finalization mode, cleaning up anything personal from his space, emptying out drawers, wiping old files and email, etc. And, he was leaving a few hours early (not at the end of the workday - he had mover people coming to his house). Oh well... I got notice from the office that originated my contract that they haven't found a replacement for Jim (duh... they already had three weeks since he gave notice...), so I'm to work on my own for a while and would I consider an extension (as if I have any choice in that decision). I suppose we'll tackle that question when the time comes - this is a government contract, nonetheless, and extensions of original contracts are par for the course. I've been doing this for far too long to get too distraught about such things.

Keep in mind, this blog will be anecdotal and experiential in nature, not something done "after-the-fact" - so there may be blatant errors and such that may take me down dead-end roads... I'll unabashedly be posting step-by-step the actions I'll take - both successful ones and wrong ones in this project. [Perhaps, some gentle readers {a phrase adopted from Dr. Asimov} after digesting a posting, will provide comments to get me back on track when I am straying; but I am not so naive that I would think there will be any who'll care and definitely not in a position to see if my ideas of profundity are making an effect.] Some of those steps have already been accomplished and I'll go into detail starting next week of where I am on this project - and the results of the very first attempt at Using Sun's Migration Tool

well... time to get to work...

No comments: