Over the weekend I had some planned maintenance to YackTrack. If you read that post, you noticed that I had problems and updated the post a few times. I had a very detailed plan of what I needed to do, which I followed to the letter. However, regardless of how much testing I did, the maintenance did not go as planned. In particular, some of the SQL updates that I was doing were failing when applied to the application environment. Thankfully, I am comfortable with databases and was able to get around the issues, but it made me think about what could have gone wrong and what you need to do to avoid these things.
If you are working with code or a database, backup everything before starting. I try to take regular backups, and I did have a database backup prior to starting the maintenance. This also gives you a rollback point in case something catastrophic occurs.
Have a detailed plan of everything you are doing. I had several steps that I needed to complete. Some of the steps were code related and others were database related. You need to know if some of the steps