Pergunta

Quando você está trabalhando em melhorias para uma linha existente de aplicação de negócio, você acha que é melhor para lote-se mudanças em lançamentos maiores menos frequentes, ou continuamente enviar novos recursos em versões menores? Assumindo que existem atualizações de hardware ou atualizações de banco de dados, você faz essas mudanças com os lançamentos, bem como, ou mantê-los separados?

Liberar tudo junto tem a vantagem de que há menos interrupções para o negócio, e menos fora do horário de trabalho invovled, mas qualquer problema mais tarde encontro poderia ser devido à actualização da base de dados, o hardware, ou qualquer número de mudanças de software.

Releasing pouco e muitas vezes faz com que seja mais fácil de rastrear os problemas resultantes de uma autorização, mas leva a mais perturbações e mais testes de regressão passou um tempo.

O que é melhor?

Foi útil?

Solução

Considere como cada versão afeta os clientes. Será pequenos lançamentos freqüentes torná-los mais felizes porque de resolver problemas críticos mais rápido? Será que isto vai melhorar suas vendas e reputação? Se ele vai estimar cuidadosamente se estes benefícios sobrelevar o trabalho extra feito, caso contrário, basta seguir o caminho que é mais conveniente para você.

Outras dicas

É realmente depende do ambiente a sua em alguns cenários:.

Muitos clientes : Você quer que todos os clientes tenham a mesma versão, na medida do possível. É muito mais fácil ter anual, semianual ou trimestrais grandes lançamentos, como o teste e coordenação rollout é muito caro. Neste caso, eu incluiria db mudanças também.

"infra-estrutura Big" : se trabalhar em um ambiente de grande empresa com personell dedicado para sistemas e bancos de dados operando, mais uma vez o custo total de um lançamento é grande e, portanto, menos frequentes lançamentos maiores são melhores <. / p>

Para suma, calcular os custos de um lançamento em poder do homem, interuption negócio, coordenação, testando e trazê-lo em relação com os benefícios de cada novo recurso ou correção de bug.

Eu geralmente tendem a ter 1-2 grandes lançamentos por ano e correções de bugs no meio Pois bujões da mostra.

Eu acho que a melhor resposta é: uma mistura dos dois.

Por exemplo, se você adicionou alguns olhos doces, ou fez o nome caixa de texto mais "ajaxy", ou talvez jogou em um novo tipo de relatório - fazer isso como "pequenas" releases. Libertação antecipada, e solte muitas vezes, possível.

Por outro lado, se você mudou um processo voltado para o usuário forçando os usuários a ser "treinado novamente", ou se você está exigindo mudanças de infra-estrutura maciça - ir para um grande lançamento, e fazer deste o mais raramente possível.

Como você disse, se há pouca ou nenhuma interrupção, fazer o mais rápido possível, seus usuários será o mais feliz para ele - e você vai ser realmente gastar menos tempo em testes de regressão, porque você só tem que testar tudo conectado para as mudanças que você fez.

Eu acho que é melhor para trabalhá-lo em um grande lançamento e remendar quanto você precisa para problemas correção para baixo da linha.

Como um desenvolvedor você precisa para antecipar possíveis problemas e quebras em seu sistema para torná-lo tão robusto quanto possível. Isso geralmente significa que muitos testes de antemão.

Considere também que o usuário final pode não querer pagar para os incrementos menores no produto e que eles também podem esperar por uma grande atualização. Um bom exemplo disso é quando eu tenho Adobe Photoshop, eles parecem lançar uma nova versão a cada ano, então eu simplesmente esperou até que parecia o momento certo

Um número menor de lançamentos significa que você estará encontrando todos os seus erros ao mesmo tempo. Torna-se mais difícil saber qual a mudança de código causou qual bug. Você, então, ter mais de um problema com erros em cascata - uma alteração de código que você fez meses atrás causou um erro, mas, entretanto, você fez mais cinco alterações que todos dependem do bug que você introduziu meses atrás

.

menor, lançamentos de alta qualidade são melhores. lançamentos menores torná-lo mais fácil de ter alta qualidade.

Pessoalmente, sou a favor de grandes lançamentos.

Eu tenho software em casa que apresenta atualizações várias vezes por semana. É chato porque não há recurso de auto-atualização, apenas uma notificação de que mantém a voltar.

Você pode querer ter um olhar para esta questão semelhante: Como frequentemente deve você libera software atualizações

Na verdade - tanto.
você pode possivelmente dividir o desenvolvimento em DEVEL e liberação ramo? Quaisquer questões urgentes deve ser feito o mais rápido possível em REL ramo e enviado para os usuários como um hotfix. Depois de aplicar correcção para REL ramo, a necessidade de aplicar o patch seria enviado para a equipe de DEV (nota: para corrigir algum problema no REL você tem que escrever algum código rápida, enquanto em DEV ramo você precisa colocar algum tempo para repensar a correção proposta , uma vez que as condições no ramo DEV pode ter mudado, por isso é comum que iria escrever código completamente diferente para resolver o mesmo problema no DEV ou ramo REL).
Quando o desenvolvimento da nova versão será feito, você tem que testar novos recursos e correções migraram de REL. Se tudo estiver ok, você será capaz de implantar nova versão grande, e arquivar o DEV atual em REL, enquanto REL antigo será agora selada.

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