Category Archives: deploy

Entendendo os Tipos de Release

Durante a criação do software é importante marcar as etapas de desenvolvimento para que possamos demonstrar qual a maturidade em que o projeto se encontra. Isso se refere tanto ao escopo (se ainda existem funcionalidades a serem desenvolvidas) quanto a qualidade do código da release. As nomenclaturas para os principais marcos são Pre-Alpha, Alpha, Beta, Release Candidade e General Availability/Final.

Vamos ver o que cada uma representa durante o período de desenvolvimento:

Pre-Alpha

Fase onde é contemplada todas as atividades predecessoras a fase de testes, tais como implantação da arquitetura de software, desenvolvimento de algumas features, testes unitários entre outros.

Alpha

Nesta release o software ainda se encontra instável, contendo apenas parte das funcionalidades desejadas e com muitos bugs. É nela em que os testes funcionais se iniciam. Nesta etapa os desenvolvedores executam os testes de caixa-branca e um time dedicado de testes (QA) executam testes de caixa-preta e caixa-cinza em cima das features que foram desenvolvidas até o momento.

Beta

Na versão Beta é esperado que o software tenha todas as funcionalidades mapeadas já implementadas, entretanto a quantidade de bugs ainda é relativamente alta e o software ainda pode apresentar problemas de performance e perda de dados. Os testadores desta fase, conhecidos como Beta Testers, são geralmente potenciais futuros usuários do software em questão e dão feedback sem solicitar pagamento por isso. Geralmente esses Beta Testers conseguem utilizar o software final sem custos ou com desconto (isso quando o software por pago).

Release Candidate (RC)

Também conhecido como Gamma ou Delta, a Release Candidate é uma versão Beta com grande potencial de ser o produto final, a não ser que bugs críticos ou significantes apareçam.

General Availability (GA) ou Final

Enfim, produção! Esta release é a primeira estável disponibilizada para o cliente ou usuário.

Referências:

https://community.jboss.org/wiki/JBossProjectVersioning
http://www.brighthub.com/internet/web-development/articles/42592.aspx
http://en.wikipedia.org/wiki/Software_release_life_cycle
http://www.slideshare.net/lalitkale/versioning-guidelines-for-product