September 11, was an important day for me in LCMS Project Tenure. This was the day when I was responsible for deploying the first CR on live system. After the super-efficient and able project lead left for further studies, I was made responsible for completing the unfinished business. Note the italics. I was made responsible. If things go well, everyone involved will be praised. If things go wrong, I will take the burnt. This is the first lesson, I learnt in my Project Management on-job course. Nevertheless, I take the responsibility, as I was craving for involvement with this project since beginning and for a perceived “little higher position jobs”. I was involved in the project as test lead, writing manual, training, resolving end-user queries, and documenting suggested changes. Now, I must appreciate this fact. All this perceived “little lower position jobs” did help me to understand the system well and, more importantly, to understand the end-user psyche and requirements.
But this is about “high jobs” and not “low jobs”. September 11, being a second Saturday, was an off day for us. Hence, it was decided that the deployment will take place during this day so as not to interrupt the regular workflow. Though, I did not have any major work except for sending few emails and coordinating among team members authorized to perform the deployment, I felt a sense of responsibility that I should be present. So, I came to the office.
The deployment was smooth on the live system. We did not find any aberrations in the system, which is generally prone to get nausea after any deployment. We did few testing. On Monday, September 13, 2010, we were not reported any concerns or issues till mid day, making me feel that the deployment was successful from the coding part.
Although from the front end the deployment was successful, I was not feeling the same success from inside. I did a mistake while preparing data for one table in the database. Then, I checked the forms of all work-steps except for one. I assumed it to be correct as I did not see any aberration in any of the other work-steps. This happened even after I have meticulously prepared the test plan document. Had I done both the above tasks correctly, I would have felt success. These mistakes point that “I do 9 out of 10 things correctly and accurately”. I am assuming that this is one of the reasons why I was not given the perceived “little higher position jobs”.
Then, after mid-day the first issue was reported. A particular data was not populating on a field. It was because of some cache related issue, as specified by our developer. Then, there was another issue of names not getting selected. On test platform, the names were getting selected as expected. But then, it is a painful truth that nothing works on live system the first time. The reason for this error was coding. Finally, by evening all the open points and issues were closed. The CR deployment was successful.
Still, I am not happy. This is the truth. Had all things went without any glitch this would have been my first victory as a Project Lead. Now, I can’t change anything. All I can do is to be careful in the future. The learning so far has been as bulleted below:
• Cross check the data once again after preparing it. This should be done by giving a break of 15 minutes between preparing the data and cross checking the data.
• Don’t leave anything for assumption.
• Never leave any thing in the test plan document, even the steps that are obvious.
The saying goes “war must be won even if the battles are lost”. But winning your first battle always boosts your confidence.