Software Release Skill
No matter if software being released is off-the-shelf or custom designed, there are common practices resulting in successful software releases common to both. Following is a short list of practices find useful:
Develop Clear requirements
The assumption is, If you know what it is, and how it is supposed to work you can verify the correctness of a release. Otherwise, how do you know when you are done? Consultants learn this very quickly, or go bankrupt.
Release Often
This practice requires some automation on your part. However, if you automate your release process it is easy to duplicate consistently in different environments every time.
Regular releases result in a great reduction of stress because when you finally release to production, it isn’t the first time you have done it. Hopefully you have done it many times previously. One company I worked for we released daily into a test environment. When we finally did a monthly or quarterly release, well, we had already released 30 or more times previously.
In order to evaluate correctness in a release when doing it often, you will also have to have automated testing of your requirements. Otherwise, all your time will be spent releasing, and not developing or configuring the system to be released.
Create Release Tools First
If you wait until you have code to release, creating release tools and verification tools will be an huge task. It is much more useful to create your release tools first. Then you will use them daily, and have to benefit of using your automated tests for development purposes as well as the release process.
Some may ask, “why would you create a release tool for an off-the-shelf product?” My thoughts are that even an off-the-shelf product has a release cycle. You are going to get upgrades, etc. Your release tools allow you to apply your configurations and/or customizations in a consistent, reproducible manner. It also allows you to verify the requirements you have for the tool. Using this technique, you get the value of regression testing, which is a common issue when you release new versions of a third party product.
I have other thoughts and some links shared by readers for some automation tools to share in a future newsletter. In the meantime, feel free to share your ideas or tools by sending me a note at btaylor@sswug.org.
Cheers,
Ben
$$SWYNK$$
Featured Article(s)
How Can a Career Vision Help Me with My Career?
Steve Wynkoop and I were talking a lot about designing and managing our professional careers on a weekly interview on SSWUG.org. This episode was about what steps to change your position in the your current company.
Featured White Paper(s)
Achieve an astounding return on investment with Toad® for Oracle
read more)