How to build a new feature: Releasing (Part 3)
Welcome back to our 3-part blog post on how to build a new feature for your application. This step-by-step guide will help you with your development process.
So far we've finished analysis and implementation. In this last part of our series we're going to be releasing the new feature to the production environment. By the end of this post you should have a better understanding of how to effectively create a new feature for your existing application.
Let us dive back in for the last time!
Step 1: Release your feature into a test environment
Your feature is finally completed and now the time has come to show it to the product owners. We're first going to be releasing it in a test environmentwhere the feature can be tested by other people in a safe environment. While releasing we will also have to do our data migration. Take your time for this test release, write down all the steps you had to go through and any hickups that may have occurred. This is like a dress rehearsal, everything should be in place and should work exactly as you expect it to go when you do the actual release.
Step 2: Ask feedback
As always, asking feedback is important. Your feature is now ready for use: once your test environment is ready, inform the product owners and have them try the new functionality. Gather their feedback and fix any issues that might surface.
This is the final feedback moment. At this point you wait for your product owner to give you the green light: GO!
Step 3: Backup your system
Always prepare for mayhem. Everything is tested, you migrations went smoothly, your new feature is awesome! But believe me when I say this won't always be the case when you execute your plan in your production environment. So make sure you have a backup plan. Back up your whole application, and make sure you have prepared an emergency scenario dealing with situations where your application doesn't come back online instantly or something fails.
Step 4: Release your feature into the world
Alright, your backups are in place, everyone is ready! It is now time to release your feature into the world. Good luck!
Step 5: Monitor your application closely
You've survived the release! But you're not there yet, make sure you have extra monitoring on the impacted parts (check your impact list) of your application. The first hours of your release are the most crucial. Follow your logs closely, make sure to test your production application in general and the new feature in particular.
As time goes by the dust settles... you are victorious. You did it! You released a new feature!
This last post is as important as the first two. Make sure you've tested extensively and are prepared. Back up your system and have anemergency scenario at hand.
If you cover all these steps you should be sailing towards a smooth release of your new awesome feature!