Ciclo de vida de lançamento de software

O ciclo de vida de lançamento de software é o processo de desenvolvimento, teste e distribuição de um produto de software (por exemplo, um sistema operacional ). Normalmente consiste em vários estágios, como pré-alfa, alfa, beta e candidato a lançamento, antes que a versão final, ou "ouro", seja lançada ao público.

Um exemplo de ciclo de vida básico de lançamento de software

Pré-alfa refere-se aos estágios iniciais de desenvolvimento, quando o software ainda está sendo projetado e construído. O teste alfa é a primeira fase do teste formal, durante a qual o software é testado internamente usando técnicas de caixa branca . O teste beta é a próxima fase, na qual o software é testado por um grupo maior de usuários, normalmente fora da organização que o desenvolveu. A fase beta tem como foco a redução dos impactos aos usuários e pode incluir testes de usabilidade.

Após o teste beta, o software pode passar por uma ou mais fases de release candidate, nas quais é refinado e testado posteriormente, antes do lançamento da versão final.

Alguns softwares, especialmente nos setores de Internet e tecnologia, são lançados em estado beta perpétuo, o que significa que são continuamente atualizados e melhorados, e nunca são considerados um produto totalmente concluído. Essa abordagem permite um processo de desenvolvimento mais ágil e permite que o software seja lançado e usado pelos usuários no início do ciclo de desenvolvimento.

Estágios de desenvolvimento

Pré-alfa

Pré-alfa refere-se a todas as atividades realizadas durante o projeto de software antes do teste formal. Essas atividades podem incluir análise de requisitos , design de software , desenvolvimento de software e testes unitários . No desenvolvimento típico de código aberto , existem vários tipos de versões pré-alfa. As versões Milestone incluem conjuntos específicos de funções e são lançadas assim que o recurso é concluído. [ carece de fontes ]

Alfa

A fase alfa do ciclo de vida do lançamento é a primeira fase de teste de software (alfa é a primeira letra do alfabeto grego , usada como número 1). Nesta fase, os desenvolvedores geralmente testam o software usando técnicas de caixa branca . A validação adicional é então realizada usando técnicas de caixa preta ou caixa cinza , por outra equipe de testes. A mudança para testes de caixa preta dentro da organização é conhecida como versão alfa . [1] [2]

O software Alpha não é exaustivamente testado pelo desenvolvedor antes de ser lançado aos clientes. O software Alpha pode conter erros graves e qualquer instabilidade resultante pode causar travamentos ou perda de dados. [3] O software Alpha pode não conter todos os recursos planejados para a versão final. [4] Em geral, a disponibilidade externa de software alfa é incomum para software proprietário , enquanto o software de código aberto geralmente tem versões alfa disponíveis publicamente. A fase alfa geralmente termina com um congelamento de recursos , indicando que nenhum outro recurso será adicionado ao software. Neste momento, diz-se que o software está completo em recursos. Um teste beta é realizado após o teste de aceitação nas instalações do fornecedor (o teste alfa) e imediatamente antes do lançamento geral do software como produto. [5]

Recursos completos

Uma versão com recursos completos (FC) de um software tem todos os seus recursos planejados ou primários implementados, mas ainda não é final devido a bugs , problemas de desempenho ou estabilidade . [6] Isso ocorre no final do teste alfa em desenvolvimento .

Normalmente, o software com recursos completos ainda precisa passar por testes beta e correção de bugs , bem como aprimoramento de desempenho ou estabilidade antes de poder ser lançado como candidato e, finalmente, status ouro.

Beta

Beta, em homenagem à segunda letra do alfabeto grego , é a fase de desenvolvimento de software após alfa. O software em fase beta também é conhecido como beta ware . [7] Uma fase beta geralmente começa quando o software está completo, mas provavelmente contém vários bugs conhecidos ou desconhecidos. [8] O software na fase beta geralmente terá muito mais bugs do que o software concluído e problemas de velocidade ou desempenho, e ainda pode causar travamentos ou perda de dados. O foco dos testes beta é reduzir os impactos sobre os usuários, muitas vezes incorporando testes de usabilidade . O processo de entrega de uma versão beta aos usuários é chamado de lançamento beta e normalmente é a primeira vez que o software está disponível fora da organização que o desenvolveu. As versões beta de software podem ser abertas ou fechadas, dependendo se estão disponíveis abertamente ou apenas para um público limitado. O software da versão beta costuma ser útil para demonstrações e visualizações dentro de uma organização e para clientes em potencial. Alguns desenvolvedores referem-se a este estágio como pré-visualização , lançamento de pré-visualização , protótipo , pré-visualização técnica ou pré-visualização de tecnologia ( TP ), [9] ou acesso antecipado .

Os testadores beta são pessoas que relatam ativamente problemas com software beta. Geralmente são clientes ou representantes de clientes potenciais da organização que desenvolve o software. Os testadores beta tendem a oferecer seus serviços gratuitamente, mas geralmente recebem versões do produto que testam, descontos na versão de lançamento ou outros incentivos. [10] [11]

Beta perpétuo

Alguns softwares são mantidos no chamado beta perpétuo , onde novos recursos são continuamente adicionados ao software sem estabelecer uma versão final "estável". À medida que a Internet facilitou a distribuição rápida e barata de software, as empresas começaram a adotar uma abordagem mais flexível no uso da palavra beta . [12]

Beta aberto e fechado

Os desenvolvedores podem lançar um beta fechado ou um beta aberto ; versões beta fechadas são lançadas para um grupo restrito de indivíduos para teste de usuário por convite, enquanto testadores beta abertos são de um grupo maior ou de qualquer pessoa interessada. O beta privado pode ser adequado para o software que é capaz de agregar valor, mas não está pronto para ser usado por todos devido a problemas de escala, falta de documentação ou ainda falta de recursos vitais. Os testadores relatam quaisquer bugs que encontram e às vezes sugerem recursos adicionais que acham que deveriam estar disponíveis na versão final.

Os betas abertos têm o duplo propósito de demonstrar um produto a consumidores em potencial, e os testes entre uma ampla base de usuários provavelmente trarão à luz erros obscuros que uma equipe de testes muito menor pode não encontrar.

Candidato liberado

Um candidato a lançamento ( RC ), também conhecido como teste gama ou "going silver", é uma versão beta com potencial para ser um produto estável, que está pronto para ser lançado, a menos que surjam bugs significativos . Neste estágio de estabilização do produto, todos os recursos do produto foram projetados, codificados e testados por meio de um ou mais ciclos beta, sem nenhum bug conhecido. Uma versão é chamada de código completo quando a equipe de desenvolvimento concorda que nenhum código-fonte totalmente novo será adicionado a esta versão. Ainda pode haver alterações no código-fonte para corrigir defeitos, alterações na documentação e nos arquivos de dados e no código periférico para casos de teste ou utilitários. Os testadores beta, se selecionados de forma privada, serão frequentemente creditados por usarem o release candidate como se fosse um produto acabado. O teste beta é conduzido no local de um cliente ou cliente e para testar o software da perspectiva do usuário. [ carece de fontes ]

Versão estável

Também chamada de versão de produção , a versão estável é o último candidato a lançamento ( RC ) que passou por todos os estágios de verificação e testes. Quaisquer bugs remanescentes conhecidos são considerados aceitáveis. Esta versão vai para produção .

Alguns produtos de software (por exemplo, distribuições Linux ) também possuem versões de suporte de longo prazo ( LTS ) que são baseadas em versões completas que já foram experimentadas e testadas e recebem apenas atualizações de segurança. Isso permite que os desenvolvedores aloquem mais tempo para o desenvolvimento do produto, em vez de atualizar o código ou encontrar e corrigir bugs recém-introduzidos devido a suposições desatualizadas sobre o sistema usado, a linguagem ou as bibliotecas subjacentes. [ carece de fontes ]

Liberar

Uma vez lançado, o software é geralmente conhecido como "versão estável". O termo formal geralmente depende do método de divulgação: mídia física, divulgação on-line ou aplicativo da web. [13]

Liberação para fabricação (RTM)

O termo release to Manufacturing (RTM), também conhecido como "going gold", é um termo usado quando um produto de software está pronto para ser entregue. Esta compilação pode ser assinada digitalmente, permitindo ao usuário final verificar a integridade e autenticidade da compra do software. Uma cópia da compilação RTM conhecida como " gold master " ou GM [14] é enviada para duplicação em massa ou replicação de disco, se aplicável. A terminologia é retirada da indústria de gravação de áudio, especificamente do processo de masterização . O RTM precede a disponibilidade geral (GA) quando o produto é lançado ao público. Uma Golden Master Build (GM) é normalmente a versão final de um software em estágio beta para desenvolvedores. Normalmente, para iOS , é a versão final antes de um lançamento principal, no entanto, houve algumas exceções.

RTM é normalmente usado em certos contextos de software de produção em massa no varejo - em oposição a uma produção ou projeto de software especializado em produção e distribuição comercial ou governamental - onde o software é vendido como parte de um pacote em uma venda de hardware de computador relacionado e normalmente onde o software e o hardware relacionado deverão estar disponíveis e vendidos em massa/público em lojas de varejo para indicar que o software atingiu um nível de qualidade definido e está pronto para distribuição em massa no varejo. RTM também pode significar em outros contextos que o software foi entregue ou liberado para um cliente ou cliente para instalação ou distribuição aos computadores ou máquinas do usuário final de hardware relacionado. O termo não define o mecanismo ou volume de entrega; apenas afirma que a qualidade é suficiente para distribuição em massa. A entrega da organização de engenharia é frequentemente na forma de uma mídia golden master usada para duplicação ou para produzir a imagem para a web.

Disponibilidade geral (GA)

Marcos no ciclo de vida de um produto: disponibilidade geral (GA), anúncio de fim de vida útil (EOLA), data do último pedido (LOD) e fim de vida útil (EOL)

Disponibilidade geral ( GA ) é o estágio de marketing no qual todas as atividades de comercialização necessárias foram concluídas e um produto de software está disponível para compra, dependendo, entretanto, do idioma, da região e da disponibilidade eletrônica versus mídia. [15] As atividades de comercialização podem incluir testes de segurança e conformidade, bem como localização e disponibilidade mundial. O tempo entre o RTM e o GA pode levar de dias a meses antes que uma liberação geralmente disponível possa ser declarada, devido ao tempo necessário para concluir todas as atividades de comercialização exigidas pelo GA. Nesta fase, o software “entrou no ar”.

Liberação para a Web (RTW)

Release to the Web ( RTW ) ou lançamento na Web é um meio de entrega de software que utiliza a Internet para distribuição. Nenhuma mídia física é produzida neste tipo de mecanismo de liberação pelo fabricante. Os lançamentos na Web tornaram-se mais comuns à medida que o uso da Internet cresceu. [ carece de fontes ]

Apoiar

Durante sua vida útil suportada, o software às vezes está sujeito a lançamentos de serviço, patches ou service packs , às vezes também chamados de "lançamentos provisórios" ou "lançamentos de manutenção" (MR). Por exemplo, a Microsoft lançou três service packs principais para as edições de 32 bits do Windows XP e dois service packs para as edições de 64 bits . Essas versões de serviço contêm uma coleção de atualizações, correções e aprimoramentos, entregues na forma de um único pacote instalável. Eles também podem implementar novos recursos. Alguns softwares são lançados com a expectativa de suporte regular. Classes de software que geralmente envolvem suporte prolongado como norma incluem suítes antivírus e jogos online multijogador massivo . Continuando com este exemplo do Windows XP, a Microsoft ofereceu atualizações pagas por mais cinco anos após o fim do suporte estendido. Isso significa que o suporte terminou em 8 de abril de 2019.

Fim da vida

Quando o software não é mais vendido ou suportado, diz-se que o produto atingiu o fim de sua vida útil, foi descontinuado, retirado, obsoleto, abandonado ou obsoleto, mas a fidelidade do usuário pode continuar a existir por algum tempo, mesmo muito depois de seu lançamento. plataforma está obsoleta – por exemplo, o Common Desktop Environment e o Sinclair ZX Spectrum .

Após a data de fim da vida útil, o desenvolvedor geralmente não implementará quaisquer novos recursos, corrigirá defeitos, bugs ou vulnerabilidades existentes (sejam conhecidos antes dessa data ou não) ou fornecerá qualquer suporte para o produto. Se o desenvolvedor desejar, ele poderá liberar o código-fonte, para que a plataforma volte a funcionar e seja mantida por voluntários e, caso contrário, poderá sofrer engenharia reversa posteriormente, quando se tornar abandonware .

História

O uso da terminologia de teste "alfa/beta" originou-se na IBM . Terminologias semelhantes para o desenvolvimento de software da IBM foram usadas por pessoas envolvidas com a IBM pelo menos desde a década de 1950 (e provavelmente antes). O teste “A” foi a verificação de um novo produto antes do anúncio público. O teste “B” foi a verificação antes da liberação do produto para fabricação. O teste “C” foi o teste final antes da disponibilidade geral do produto. À medida que o software se tornou uma parte significativa das ofertas da IBM, a terminologia de teste alfa foi usada para denotar o teste de pré-anúncio e o teste beta foi usado para mostrar a prontidão do produto para disponibilidade geral. Martin Belsky, gerente de alguns dos projetos de software anteriores da IBM, afirmou ter inventado a terminologia. A IBM abandonou a terminologia alfa/beta durante a década de 1960, mas já havia recebido ampla atenção. O uso de “teste beta” para se referir a testes feitos por clientes não era feito na IBM. Em vez disso, a IBM usou o termo “teste de campo”.

Grandes betas públicos foram desenvolvidos posteriormente, com os primeiros clientes comprando uma "edição pioneira" do processador de texto WordVision para IBM PC por US$ 49,95. Em 1984, Stephen Manes escreveu que "em um brilhante golpe de marketing, Bruce e James Program Publishers conseguiram fazer com que as pessoas pagassem pelo privilégio de testar o produto". [16] Em setembro de 2000, uma versão em caixa do sistema operacional Mac OS X Public Beta da Apple foi lançada. [17] O lançamento de pré-visualizações de tecnologia comunitária ( CTP s) da Microsoft para Windows Vista , entre setembro de 2005 e maio de 2006. [18] e de 2009 a 2011, o Minecraft estava em beta público.

Em fevereiro de 2005, a ZDNet publicou um artigo sobre o fenômeno de uma versão beta muitas vezes permanecer por anos e ser usada como se estivesse em nível de produção. [19] Observou que o Gmail e o Google News , por exemplo, estavam em beta há muito tempo, embora fossem amplamente utilizados; O Google News saiu da versão beta em janeiro de 2006, seguido pelo Google Apps (agora denominado Google Workspace ), incluindo o Gmail, em julho de 2009. [13] Desde a introdução do Windows 8 , a Microsoft chamou o software de pré-lançamento de uma prévia em vez de beta . Todas as compilações de pré-lançamento lançadas por meio do Programa Windows Insider lançado em 2014 são denominadas "compilações do Insider Preview". "Beta" também pode indicar algo mais parecido com um candidato a lançamento, ou como uma forma de demonstração por tempo limitado ou técnica de marketing. [20]

Veja também

Referências

  1. ^ "Definição da enciclopédia da versão alfa" . Revista PC . Arquivado do original em 27/04/2011 . Recuperado em 12/01/2011 .
  2. ^ "O que é uma versão alfa de um jogo?" Arquivado do original em 23/09/2022 . Recuperado em 23/09/2022 .
  3. ^ Ince, Darrel, ed. (2013). "Software alfa". Um Dicionário da Internet (3 ed.). Imprensa da Universidade de Oxford. ISBN 978-0-19-174415-0. Recuperado em 15/07/2019 .
  4. ^ "O léxico de A a Z da próxima geração de 1996" . Próxima geração . Nº 15. Imagine Mídia . Março de 1996. pág. 29. O software Alpha geralmente mal funciona e faltam recursos importantes, como jogabilidade e níveis completos.
  5. ^ Um Dicionário de Ciência da Computação (7ª ed.). Imprensa da Universidade de Oxford. 2016. pág. 44.ISBN 978-0-19-968897-5.
  6. ^ Cusumano, Michael (1998). Segredos da Microsoft: como a empresa de software mais poderosa do mundo cria tecnologia, molda mercados e gerencia pessoas . Imprensa livre. páginas 202–203. ISBN 978-0-684-85531-8.
  7. ^ "Definição de betaware na Enciclopédia Online Gratuita" . thefreedictionary . com . Recuperado em 06/04/2015 .
  8. ^ "O léxico de A a Z da próxima geração de 1996" . Próxima geração . Nº 15. Imagine Mídia . Março de 1996. pág. 30.
  9. ^ "Escopo de suporte de recursos de visualização de tecnologia" . Chapéu vermelho . Recuperado em 18/03/2015 .
  10. ^ Amit Mehra, Rajib Lochan Saha (19/06/2017). "Utilizando betas públicos e avaliações gratuitas para lançar um produto de software" . Gestão de Produção e Operações . Vol. 27, não. 11.
  11. ^ Michelle M. Lang (17/05/2004). "Guerras Beta". Notícias de design . Vol. 59, não. 7.
  12. ^ "Esperando com Beta'd Breath TidBITS #328 (13 de maio de 1996)" . 13/05/1996. Arquivado do original em 15/05/2006.
  13. ^ ab "O Google Apps saiu da versão beta (sim, é sério)" . Blogue do Google . 07/07/2009. Arquivado do original em 21/01/2011 . Recuperado em 12/01/2011 .
  14. ^ "O que é Golden Master (GM)? - Definição da Techopedia" . Techopedia . com . 19/08/2013.
  15. ^ Luxemburgo, Yvan Philippe (20/05/2013). "200 principais termos de SAM - um glossário de termos de gerenciamento de ativos de software" . Consultoria em Tecnologia de Gestão de Operações . Arquivado do original em 10/08/2013 . Recuperado em 21/05/2013 .
  16. ^ Manes, Stephen (03/04/1984). "Apostando com a visão da palavra" . PC Magazine - O guia independente para computadores pessoais IBM . Vol. 3, não. 6. PC Communications Corp. ISSN0745-2500  . Arquivado do original em 17/03/2015 . Recuperado em 15/02/2015 .
  17. ^ "Apple lança versão beta pública do Mac OS X" (comunicado de imprensa). 13/09/2000 . Recuperado em 28/01/2024 .
  18. ^ "Ficha informativa da prévia da tecnologia da comunidade do Microsoft Windows Vista de outubro" (comunicado à imprensa). Microsoft. Outubro de 2005. Arquivado do original em 30/04/2011 . Recuperado em 22/02/2011 .
  19. ^ Festa, Paulo (14/02/2005). "Uma longa estrada sinuosa saindo do beta" . Notícias técnicas no ZDNet . Arquivado do original em 14/02/2005 . Recuperado em 28/04/2019 .
  20. ^ Houghton, David (17/05/2010). “As verdades inconvenientes por trás dos betas” . Radar de jogos . Arquivado do original em 30/04/2011.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Software_release_life_cycle&oldid=1218581571#General_availability_(GA)"