Launch VS release

BalloonsThere are many things any company is to consider in order to determine whether their software is ready to be released. This is an actual process that is taking time and effort as any company is to be certain with marketing strategies and possible issues as well as the products quality and testing before commencing such a step.

It is also important to know a thing many companies are neglecting. There is a difference between launch and release. A difference that truly matters.

  • Software release is the part of development when the product is 100% (or as close as things get to 100) ready for users/customers to dig into it.
  • Software launch is the stage when the company is but ready to inform the world of an upcoming release. Meaning a company is quite sure the product may be released and that the product is of satisfying quality to both them and customers. There are many operations involved in this step as the ones related to the legal aspects and considerations as well as various sales & marketing activities.

Now that this is clear we may move on to the next aspect your company is to consider before release.

Software quality and remaining defects

Surely it is practically impossible to deliver software with no defects whatsoever. But this does not mean any software-developing company may neglect testing and QA. ‘It’s the big ones that matter’ may be applied here as a motto, as surely all defects cannot be eliminated but there can’t be any large bugs in the released product as well.

Any company is to deal with appropriate defect classification process before even commencing testing and such a classification is to be similar to the example given below:

  • Critical defects aka Showstoppers are the kind of bugs that may not be allowed to the software going for release. Showstoppers are the king of defects that are making all operations with the product practically impossible like, for example, a bug causing an application to shut down straight after it has been launched by the user.
  • Defects of high-level priority are also to be eliminated from the application unless there is no practical way of overcoming them. This is a defect when, let’s say a particular user has no ability of logging into a system, etc.
  • Medium-level defects are the kind of bugs causing inconvenience to users, yet are not effecting applications functionality as, let’s say a user may achieve one particular goal with an inconvenient way of doing so rather than using any preferably easier solution. Such defect are to be eliminated, surely, if your team, deadlines and resources are allowing so, yet there may still be several of those in the release.
  • Low-level defects aka cosmetic bugs are minor irritations that are doing no actual harm, like typos, etc. Users will close their eyes on several of those if the applications is satisfying their needs in general.

Basically a good application is to be released with no critical and high-level bugs. There may be one or two medium-level bugs and several cosmetic defects though as long as they are not affecting functionality too much. Surely bug free software would be preferable, yet it is an unachievable dream as for now in IT due many reasons.

Let your code cool down

After development has been finished your code is to be left alone. Unless bug fixes are required you are not to add changes to the code, otherwise you may come up with unexpected results. This stage is usually called Code Freeze. And the concept is to be respected by all your developers as well as other people possibly related to the solution’s code.

Once you have achieved a stable, bug free software that is ready for use you may consider your plan for the software’s launch and to determine goals you are expecting to achieve with it.