Pergunta

Estamos desenvolvendo um site. Uma das ferramentas de desenvolvimento que estamos usando tem um lançamento alfa disponível de sua próxima versão, que inclui vários recursos que nós verdade Quer usar (ou seja, eles nos salvariam de ter que implementar milhares de linhas para fazer exatamente exatamente a mesma coisa).

Fiz algumas avaliações iniciais e gosto do que vejo. A questão é: devemos começar a realmente usá -lo de verdade? Ou seja, além de avaliá -lo, realmente usando -o para o nosso desenvolvimento e confiando nele?

Como software Alpha, obviamente ainda não está pronto para ser lançado ... mas também o nosso próprio código. É de código aberto e temos as habilidades necessárias para depurar, para que, em teoria, pudéssemos contribuir com correções de bugs de volta.

Mas, por outro lado, não sabemos qual é o cronograma de lançamento (eles ainda não publicaram um) e, embora eu me sinta bem desenvolvendo com ele, eu não teria tanta certeza de usá -lo na produção, então Se não estiver pronto antes de estarmos, pode atrasar nosso próprio lançamento.

O que você acha? Vale a pena correr o risco? Você tem alguma experiência (boa ou ruim) de situações semelhantes?

Editar] Deliberadamente não especifiquei o idioma que estamos usando ou o dev-tool em questão para manter o escopo da pergunta ampla, pois sinto que é uma pergunta que pode se aplicar a praticamente qualquer ambiente de desenvolvimento.

Edit2] Obrigado a Marjan pela resposta muito útil. Eu esperava mais respostas, por isso estou colocando uma recompensa nisso.

Foi útil?

Solução

Eu tive experiência em contribuir para um projeto de código aberto uma vez, como você disse que espera contribuir. Eles ignoraram o patch por um ano (eles têm clientes para participar, é claro, embora não vendam o software, mas o suporte). Depois de um ano, eles rejeitaram o patch sem solução alternativa para o problema e sem uma base sólida para fazer isso. Estava fora do escopo deles naquela época, eu acho.

Na sua situação, tentaria resolver uma ou duas de sua prioridade não tão alta, já relatou bugs e ver como são responsivos e depois decidir. Porque seu sucesso nos prazos será comprometido com o deles. Se você precisar manter uma cópia de seus artefatos, isso é uma dor garantida.

Em resumo: não apenas avalie o produto, avalie os produtores.

Cumprimentos.

Outras dicas

Minha opinião pessoal sobre isso: não. Se eles não passarem para você em sua escala de tempo, você estará preso e ainda terá que colocar as milhares de linhas e provavelmente sob uma restrição de tempo pesado.

Dito isto, há uma maneira de ver que você poderia tentar ter seu bolo e comê -lo também.

Se você vir uma maneira de abstraí -lo, é para isolar seu próprio código da biblioteca, por exemplo, usando padrões de adaptador ou fachada, vá em frente e use o alfa para desenvolvimento. Mas determine antecipadamente Qual é a data mais recente de acordo com o seu cronograma de lançamento que você deve começar a desenvolver sua própria versão de milhares de linhas atrás do adaptador/fachada. Se o alfa não se transformou em um RC até então: sorri e leve e desenvolva o seu próprio.

Depende.

Para ambientes OpenSource, depende mais da qualidade da liberação do que do rótulo (alfa/beta/estábulo) que possui. Eu trabalhei com o código alfa sólido em rock em comparação com o suposto código de produção de outro produtor.

Se você tem a fonte, pode corrigir os bugs, enquanto que com fonte fechada (geralmente suportada comercialmente), você nunca poderia lançar o código de produção construído com um produto beta porque não é suportado pelo fornecedor que tenha o código, e assim você pode 'T conserte.

Então, em sua posição, eu estaria avaliando a qualidade da versão alfa e depois decidir se isso poderia entrar em produção.

É claro que tudo isso acima não se aplica a qualquer coisa, mesmo a segurança remotamente crítica.

É apenas uma questão de gerenciar riscos. No código aberto, o Alpha Release pode significar muitas coisas diferentes. Você precisa estar preparado para:

  • lidar com as alterações da API;
  • fornecer correções de bugs e soluções alternativas;
  • teste de estabilidade, desempenho e escalabilidade você mesmo;
  • Acompanhe as mudanças muito mais de perto e decida se deve adotar ainda;
  • Acompanhe o progresso que estão fazendo e sua capacidade de resposta a patches/problemas.

Você usa integração contínua, não é?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top