Darmstaedter's Blog

Musings and other random thoughts

Category Archives: computers

The project from hell (nearly)

I’ve undertaken numerous projects throughout my working career, some good, some bad but I started one early last year which has made me rethink my whole outlook on accepting various contracts. Although it was, to start with, very interesting and would look good in my profile it soon degenerated into one of those ‘I wish it would just die and fade away’ type of projects.

It all started when a company with whom I had done some very good work with and had a good relationship with contacted me about a project which was only part time, so it fitted in with other projects I was working on, and sounded just up my street. Warning bells went off even at this early stage as my profile had been sent to their customer the previous year for an undetermined project and I had been turned down. Anyway it got round to the interview, which was more of a coffee and a chat, with the project leader. He seemed to know what he wanted, primarily that I would do all the work, there would be little or no assistance from the employees there and they wanted no ISV software. Now I knew the basics of what they wanted as I had performed reasonably similar tasks at other sites before, they just wanted a bit more and this would be a challenge for me as well, something I enjoy.

I didn’t hear anything for a while until a phone call came through saying we had the contract even though we weren’t the cheapest. Great, so I started brushing up on the topics in question and started some documentation and rough coding in advance.

The big day came and I started on the analysis of the existing system to see what was eventually going to be needed and how long it would take. Work started progressing and then along came the project manager who told me that they had a new ‘pre-production’ system which needed to use the new hardware now and so that had to be set-up immediately. This was actually fine by me as it gave me a chance to test some of the routines I had already created without hitting any ‘live’ systems. This was when I found out that nothing had been prepared at all. In other words I was also expected to configure the hardware. No problems, I like a challenge.

A guy was called in from the hardware supplier to assist but I could have actually done the job just as well as all he did was read the IBM manual (and Redbook) in front of us and just did what it said with our input for the various parameters.

The ‘pre-production’ system was complete and running fine and I started on the test system which is where things started going wrong. The project manager came in one day saying he had some pain in his leg and would be going to see the doctor later. That was the last I saw of him for around 7 weeks which basically was around the time that the project should be nearing completion. Up to this point I had not seen and project plan nor any real dates for completion and should have started to realise that things were not all that they seemed.

I was not too bothered and continued to analyse data, write programs and put my own plan together. I managed to migrate their test system with no problems and decided, I had to make that decision due to pressure from the management, to go ahead and migrate the production system. Prior to starting I had asked the various teams that we would not be migrating certain data as it was not in various catalogues or databases. They got back to me saying that it needs to be migrated event though we had decided not to, this meant that programs had to be changed and retested.

Migration started and errors started to occur with the migration and pressure was being put on me to speed it up (remember I had about 80TB of data to migrate.) I constantly asked who was meant to be standing in for the project manager so that we could discuss the problems but no-one would take that responsibility. I asked the various teams to test their migrated data but no-one would, basically I was left in the wilderness. I endeavoured to continue migrating data and fixing errors and then the day I was expecting the project manager back I was informed that he was now taking his 3 weeks summer holiday!

Eventually the day came that he returned and I informed him how much data was left to be migrated and he in turn informed me that I had 2 weeks left ass the old hardware was to be removed then. No go was basically my reply. The switch-off date kept getting changed depending upon who you talked to so I just continued in on my merry own. Then came the ‘bad day,’ we discovered that some data had in fact been lost and the hardware supplier would need to come in and recover it which they were able to do. I did get very worried on that day as that was the data where I had been having errors and we eventually found out why these errors were occurring.

Apparently the PM wanted the migration to use a certain listing which contained the data he wanted migrated but hadn’t told me whereas I was creating my own listing which was doing an exact 1 to 1, 1 to many or many to 1 copy. His listing was just to do a 1 to 1 copy which would have made my life so much easier and I could have been finished with no errors. To cut a long story short, I rewrote the programs, a colleague was called in to run the migration and I worked on programs to run an end of migration check to so what has not been copied. At least with the end of migration check the PM knew what he wanted event though I disagreed with it (the program takes nearly 3 days to run!)

The last time I was there was to fix a small error in the end of migration check program which any novice could have fixed and was told that they had in fact finished the migration of data 10 days previously. Why no-one told me so that I could have come in to do checks is beyond me…

What I learned from this project, keeping it short, was

  • get a clear idea of what they require from the project up front, before event agreeing to do it
  • make sure that there is some kind of project plan, at least something to work to (I found out that there was one in the end, it was one line: Migrate the data!)
  • ensure that there is a reporting structure of some kind
  • make sure that all teams that you impact on know who you are, why you are there and get a promise of their assistance when required

I doubt very much that I will work there again as I don’t particularly want to, not just from my experience but from other consultants who have worked their which is a shame as the people who I did get to interact with were good people and we could have learnt from each other.

Technorati Tags: