Deploy Is Not The Same As Release – Software Development

In my recent product backlog grooming session with my project team, the business analyst shares a new user story of the upcoming deployment to the production server and generate the datasets to the business users. In one of the acceptance criteria, I spotted the word “release”, and I pointed out that “deploy” and “release” are different meaning in the software development context. I believed in the English context, it is different too. These two terms are used interchangeably.

I am not purposely making the business analyst’s life difficult but using the correct terms in a user story is important. The business analyst asked me, what is the difference? Well, I was not keen to explain because I expected the business analyst knows the differences before using the term.

For my readers, please continue reading as I am trying to explain them in simplest way. I hope I put it in a right way to explain.

In English,

Release (noun) is a tested version published and made available to public users to access and get information. Release (verb) is an act of making a release version available. While deploying (verb) means to push, install and configure a new release (noun) to one or more environment.

In Software Development,

Deployment involves moving software or application from one controlled environment to another. A new version of a software or application is deployed. It means the software or application has successfully installed, configured and running to handle production traffic, but may not actually expose public users to access the new version of the software or application. There are plenty of deployment techniques, one of the common technique used in deployment is the blue-green approach. There are a few mainstream solutions in the market for automation such as Jenkins, Chef, Bamboo and GitLab.

“Deployed” doesn’t necessarily mean “Released”.

While release (verb) is serving the actual production traffic using the new version of the software or application, even release has its techniques. Some release techniques used in software development include the canary release or dark launching.

I would like to share the key difference and I found this website explained something useful that I just mentioned above. I re-post the section where it shares the key difference. See below.

Deployment vs Release: The key difference

The key distinction between these deployment and release is the business rationale. Deployment doesn’t necessarily mean users have access to features, as can clearly be seen by the different environments involved. Some companies will release at the same time as deployment to production is taking place.

Others will choose to wait, thereby having the new features in production but not availed to users until the business decides.

References:

Don’t be afraid to ask for what you want

After the first time meet up with the mentor, I wrote an email to my CTO to seek his advice. He replied saying that email was not an email, it was a conversation. He spent some time to reply me with 3 emails and I summarized them with two things he wanted me to think about.

How long would I want to be a software developer?
After I switched my career into BI development, I involved in some coding works. I did some few years back as a .net software engineer. I would not want to do coding forever, I can code once a while, but I wanted to keep moving, learn new things, gain knowledge in those areas that interest me.

What I want to do?
When I told him what I wanted to do, I gave him a vast area of interests. He tried to explain each of them except things related to data science and data analytics. So, when I replied him, I made a clearer statement, I loved to work with data and slightly narrowed down my scope by telling him what I expected to achieve in near future.

Up to this point, I am glad that he listened and supported me. Making sure I articulate my interest and have my voice and presence is important for other to have a good understanding of who you are. Direct and open is essential for success.

Getting a mentor.
Find someone who appreciates you and your skill and that is in a position to support you. That person has to be well respected, senior and their opinions need to carry a lot of weight.

Be yourself.
Lastly, do not be afraid to ask question when you do not know something. When I first started the data science course in Coursera, I remembered the first words I learned is curiosity.

“There are going to be people who don’t like the way you do something or don’t like you for any particular reason. Don’t let the fear of that hold you back—there’s so much potential out there.” – https://techbeacon.com/women-software-development-8-success-stories-5-tips-advancement.

Bootstrap Script

One of the sections in the Learn Responsive Web Development from Scratch course teaches us how to use Bootstrap from the basic code to build a web page.

As I followed through the video, there is one part whereby the trainer removed the CDN version of jQuery at the bottom of the basic template which you can find it from getbootstrap.com, and replaced with a downloaded copy of jquery.js from jquery.com. The placement of the script sequence in the <head> tag section is important as the compiler reads through the first script we put in the <head> tag.

For example,

<!-- jQuery Javascript-->
 http://js/jquery.js
 <!-- Bootstrap Main Javascript-->
 http://js/bootstrap.js

The compiler will run the jquery.js file first and follow by the bootstrap.js file where some of the controls are being overridden and you can see the effects according to the sample shows in Bootstrap website.

In any cases where you accidentally put the jquery.js script below the bootstrap.js script, the Bootstrap is not working accordingly. So, do not panic!

Oh ya, just in case, you do not know what I meant by CDN version of jquery.js file, it is a file hosted in the distributed servers (networks) that delivers the web content or file to users based on geographic location of the user.

The Difference Between Responsive and Adaptive Web Design

I just signed up the a course in Udemy called Learn Responsive Web Development from Scratch. I chose this course because it is free to learn and it has good reviews from the past subscribers. It is also a stepping stone for me to understand the new HTML5, CSS5, Twitter Bootstrap and etc in which my friend in Bangkok, Thailand did share the same interests to learn more. No harm to learn more and re-skill while I am looking for new job opportunity.

On its introduction, the first topic being taught is web responsiveness. A student asked a good question. What is the differences between responsiveness and adaptive. The trainer shares a good article, you can read it from this link, https://blogs.oracle.com/marketingcloud/difference-responsive-adaptive-web-design.

The link includes another web link which it shows the differences in visual format for a better understanding. Besides that, it provides quick tips for the designer as well as the web developer. It is a good article and I would like to share it here.

%d bloggers like this: