Ciclo de Vida de Versões de Software
Todo o desenvolvimento de um software possui versões. Não estou falando especificamente das versões 1.0, 1.1, 2.0, etc, mas sim das versões relacionadas ao ciclo de vida de dos lançamentos do software.
O lançamento de um software é normalmente conhecido como o release, ou seja, o lançamento do programa. Entretanto para que a versão final chegue até esse momento, é necessário que esse software passe por um ciclo de liberações até que a versão final do programa alcance a o status desejado do produto.
Esse ciclo de vida é um padrão de mercado que nós podemos ver que diversos fabricantes de tecnologia acabam utilizando justamente por ser um método já consolidado dentre as corporações e altamente reconhecido por todos.
A Origem
Pouco se sabe sobre a origem desse ciclo de vida de software. Porém o que é conhecido é que a IBM no começo dos anos de 1950 utilizava algumas nomenclaturas para o desenvolvimento dos seus equipamentos de hardware. Testa A era o nome utilizado para um novo produto antes do anúncio dele ao público. Já o nome Teste B era utilizado para os produtos que podiam ser começados a ser fabricados. Enquanto Teste C era o nome para os últimas verificações realizadas antes do produto ser disponibilizado e comercializado para o público.
Depois disso a IBM entrou na área de desenvolvimento de software e as nomenclaturas teste alfa e teste beta passou a ser utilizada para os seus lançamentos. Os anos se passaram e por volta de 1960 a IBM já quase nem utilizava mais esses nomes, entretanto ela já havia sido tão bem difundida no mercado que outros fabricantes de tecnologia já tinham aderido a mesma nomenclatura.
O Ciclo de Desenvolvimento
Diversas empresas foram utilizando esse método de lançamentos, tanto que até hoje nós temos diversas empresas e produtos que tem esse ciclo de vida muito bem estabelecido ao redor dos seu ecossistema de desenvolvimento de software. Sendo assim, vou explicar cada uma das principais versões.
Desenvolvimento
Aqui é dado o início do desenvolvimento do software. As 3 principais etapas desse momento são as seguintes:
Versão Alfa
É a primeira versão de um software a ser lançada. As versões alfas podem conter uma série de bugs e problemas e nessa etapa do desenvolvimento de software a primeira coisa que o fabricante busca é a estabilidade do programa. É aqui que o fabricante estabelece os principais recursos e funções que o software vai possuir. Dificilmente a versão alfa é liberada para testes fora do quadro de desenvolvedores do produto.
Versão Beta
A versão beta sucede a versão alfa e caso o fabricante não anuncie outros novos recursos nessa etapa, normalmente ele busca atender alguns quesitos de usabilidade do software. Para isso o fabricante pode vir a liberar esse tipo de versão para um grupo seleto de pessoas que estão dispostas a testar, ajudar e contribuir com o report dos problemas encontrados e sugestões de melhorias.
Versão RC (Release Candidate)
Esse tipo de versão se formos fazer uma tradução livre seria algo como “candidato a lançamento”. Isso quer dizer que aqui o programa já está um pouco mais maduro e que não apresenta grandes problemas de estabilidade, usabilidade ou até mesmo estética. Em função disso ela acaba sendo um possível candidato a se tornar o produto final do fabricante a não ser é claro, que apareça algum bug contundente.
Lançamento
Aqui continua o desenvolvimento já com a finalidade de lançamento do programa. As 2 principais etapas são:
Versão RTM (Release to Manufacturing)
Traduzindo nós temos o “lançamento para a fabricação”. Essa versão é quando programa está praticamente pronto para o público final. Nessa etapa dificilmente é encontrada algum bug ou outro tipo de problema nos principais recursos e funções que foram estabelecidos lá na versão alfa.
Versão GA (General availability)
Aqui nessa versão é onde todas as atividades de desenvolvimento do software foram realizadas. Isso quer dizer que o programa está de fato pronto e foi oficialmente lançado no mercado. É aqui que começa todo o trabalho de marketing e comercialização do software. Junto ao programa também é lançado toda sua documentação de uso e operação. Além disso é anunciado o suporte do programa, ou seja, o fabricante estabelece por quanto tempo esse software sera suportado pela equipe de suporte com correções e auxílio de usabilidade em todos os seus recursos.
Utilização do Ciclo
Como eu disso, diversos fabricantes utilizam esse método de ciclo de vida em seus lançamentos de produtos.
A Microsoft possui um programa de inscrição para que você possa ter acesso ao Windows Release Candidate e dessa forma testar o produto de maneira prévia:
A Veeam também utiliza o ciclo de vida de software lançando diversas versões:
Meu nome é Mateus Wolff e trabalho com TI desde 2009. Sou arquiteto de soluções de proteção de dados e tenho algumas certificações como VMCE, VCP-DCV e ITIL.
Participo do programa de reconhecimento Veeam Vanguard e sou ex membro do grupo Veeam Legends.
Também sou líder do grupo Veeam User Group Brasil.