Past Saturday from 7 in the morning till 9 at night, We were part of a deployment process. This was the first time, I had been assigned complete responsibility of the deployment cycle. I wanted to make sure I didn’t fall on my face in the first attempt, so I visualized the future deployment process many times before we actually went to deploy. Following are the bullets points which made the process a piece of cake for us.
1. Pen and Paper always come first.
Before the actual deployment and even before the trial deployment, start putting your thoughts on paper (MS Word, I mean). The document will contain all the modules that need to be deployed. Run it by the development team, test team, make sure you haven’t missed any module.
2. Order matter
Once you have all the items to deploy in place, check the order of modules being deployed. Some modules would have a dependency on some other module. Make sure you have the modules to be deployed in correct order. Otherwise you might find yourself in the web of mess that is hard to get out of.
3. Trial Deployment
No matter how many times you have done it in development and test cycles, follow the above bullets and perform a trial deployment. Time all activities. Record how much time each activity needed. Update the above instructions and order.
4. Verify the trial deployment
Just performing the trial deployment wont be enough because we would n’t know whether it works or not. Verifying the functionality, then becomes a key. If you find something that doesn’t work in the trial environment, update your document with the changes that made it work.
5. Clock it
Once you have the list of what to deploy and in what order, prepare a schedule based on the list of module and how much time each module is going to take. Prepare a horizontal chart on excel. Plot the tasks list along the first column and the time slot along the first row. Fill the inside of the chart with people who will be responsible for those tasks at that time.
6. Build the Team
No one can do it all alone. Send the time frame chart to your team members. They need to be mentally prepared to spend the time on their allotted tasks on that day.
7. Put food on the table (lots of it)
We are human and in the midst of the stress of deployment and getting everything right the first time, we forget to eat. So if there is food on the table, it becomes easy to eat and work all at once. Your brain functions better when there is food in the stomach (atleast mine does). Dont forget the chai and the coffee. Everyone needs those stimulants. Providing them before asking will save time from the team walking out to get some for their own functioning.
8. Stay Calm (This ones for me)
No matter how prepared you are, with all the trial runs, with all the testing done, still on the D-Day, stress might take over even with one trigger that was not planned in the book. Stay calm that time. Wait and watch as the problem solves itself. Remember, you have a team which knows what they are doing. You are not alone.
9. Stay prepared for those glitches
No matter how prepared you are, there will still be some items that didn’t make it into your document. These items will be uncovered during the actual deployment process. But your initial preparation and execution make these glitches look very small. I remember estimating a total time of 3 hours and my boss and his experience predicted 12 hours. Turns out, I was highly optimistic. We touched down at the 14th hour. 🙂
10. Verify Deployment
Prepare a thorough verification sheet, containing all the test cases, which when PASSED will verify the complete functioning of the system being deployed, after deployment. Remember, you have already covered the detailed test cases in system testing. These test case sheet should contain test cases that are spread over the broader spectrum for system verification. Get them verified from the client before the process begins. After deployment, execute these test cases. They will become the solid evidence of the deployment being successful.
11. Lessons Learnt
Coming from my Boss’s school of thought, whatever tiny glitches we came across are the lessons we need to learn and incorporate to better prepare for our next deployment and rightly so. So record those lessons learnt.