Projeto, ciclos de desenvolvimento e testes

Tendo trabalhado com equipes diferentes, descobri várias regras de desenvolvimento que quero compartilhar com você.

Desenho


  1. É melhor gastar muito tempo na fase de criação de um sistema de informação do que perder tempo e dinheiro mais tarde.
  2. Erros no design podem implicar: atrasar o tempo, múltiplos custos do projeto.
  3. Projetar um sistema é inteiramente do começo ao fim (sem adicionar funcionalidade adicional) ou fornece modularidade:

    - desenvolvimento e aperfeiçoamento completo do conceito.
    - desenvolvimento de especificações técnicas muito detalhadas.

    - desenvolvimento de um esquema de banco de dados
    - desenvolvimento de script de controlador
    - desenvolvimento de modelos de apresentação
    - desenvolvimento de um cenário de comportamento do usuário (também conhecido como cenário de teste)
    - CEO
    - ...
  4. É melhor criar uma licitação para a criação da documentação do projeto e especificações técnicas e, em seguida, realizar uma auditoria. Talvez no estágio inicial você gaste mais dinheiro, mas poderá economizar muitas vezes mais no futuro.

Desenvolvimento


1. No desenvolvimento, use soluções prontas e estáveis: isso significa que, para trabalhar com o banco de dados, é melhor usar a estrutura MVC (Model View Controller) ou ORM (Object Relational Mapping) ou AR (Active Record), e trabalhar com scripts CRUD padrão ( Create Read Update Delete) - um gerador que cria código sem erros.

Ninguém apreciará sua habilidade como desenvolvedor de baixo nível, mas se o sistema funcionar de forma estável e sem erros, será uma grande vantagem.

2. Documente o código.

3. Crie uma documentação técnica boa e clara.

4. Use uma janela de encaixe.

5. Use sistemas de montagem de versão automática.

Organização do trabalho em equipe


  1. Use sistemas de controle de versão, usei git no meu trabalho.
  2. Divida o trabalho dos desenvolvedores em diferentes módulos funcionais, para que, quando as ramificações do sistema de controle de versão se fundam em um, não haja conflitos.
  3. Não se envolva em programação extrema no joelho quando levar de várias horas a vários dias para resolver um problema.

Defina tarefas por no mínimo uma semana e no máximo um mês até a próxima compilação.

Teste


  1. Não use sistemas de configuração e correção de tarefas para testadores.
  2. Use testes automatizados: crie um módulo de teste de software que será executado todas as vezes antes da montagem e teste todo o sistema automaticamente.

Ciclo de desenvolvimento


Depois de criar uma tarefa técnica de alta qualidade, você poderá começar a desenvolver, então darei um ciclo de repetição:

1. Definir tarefas para desenvolvedores em vários sistemas para monitorar a execução de tarefas para que não afetem o código um do outro, por exemplo, dividindo o sistema em módulos, cada um trabalhando em sua própria ramificação.

As tarefas devem ser concluídas dentro de uma semana.

Depois de concluir cada tarefa, o desenvolvedor deve executar testes de software automatizados que abrangem todo o sistema.

2. Toda segunda-feira, o código de cada desenvolvedor é mesclado na ramificação principal.

Após o resultado do trabalho de toda a equipe aparecer no ramo principal, cada um dos desenvolvedores copia o ramo principal para si mesmo.

Em seguida, o ciclo se repete.

Com esta abordagem


  1. O número de erros resultantes de tarefas será mínimo.
  2. Você pode criar um produto de software melhor.
  3. Você economizará tempo.
  4. Você economizará dinheiro.
  5. A equipe trabalhará com mais rapidez, eficiência e harmonia (sem conflito em termos de alteração do código).
  6. Você será capaz de concluir as tarefas a tempo.
  7. As tarefas concluídas serão melhores.
  8. Você não precisa executar tarefas adicionais, como: alterar o design, a funcionalidade ou outra coisa durante o curso do trabalho.

O que tornará o resultado mais previsível, simples e compreensível.

Venho programando há mais de 10 anos, todos projetos interessantes e bem-sucedidos!

Source: https://habr.com/ru/post/pt442704/


All Articles