3.2 Desenvolvimento

O processo de desenvolvimento de um sistema, de forma geral, é um processo formado por um conjunto de ações que se repetem durante sua execução. Este processo de desenvolvimento pode ser longo, durando meses ou até anos. Por este motivo, se faz necessária um divisão do todo em etapas menores, que possam ser executadas iterativamente até que o todo esteja concluído. Estas etapas são chamadas de Milestones.

Um milestone pode ser definido como sendo uma etapa de um processo de desenvolvimento. Cada milestone é composto por um conjunto de tarefas, chamadas de tickets, que indicam todas as tarefas que serão executadas por um desenvolvedor. De forma geral, um requisito pode ser derivado em N tarefas de desenvolvimento. Cada tarefa possui uma priorização e um tipo (defeito, melhoria e análise).

Durante o desenvolvimento de um milestone, diversas ações são executadas. Este processo inclui as seguintes ações:

Preparação do ambiente de desenvolvimento;

Aceitação de uma tarefa e seu desenvolvimento;

Realizar teste unitário;

Estabilizar versão;

Gerar versão final;

Realizar commit;

Atualizar controle (trac)

Documentação do código (request commit).

Com exceção da primeira ação, que costuma ser executada apenas uma vez no início do processo de desenvolvimento, todas as outras são executadas iterativamente enquanto existirem milestones.

1.Preparação do ambiente de desenvolvimento

A ação de preparar o ambiente consiste em deixar um desenvolvedor apto a desenvolver os tickets contidos em um milestone. Esta ação em geral é executada uma vez ao início do processo de desenvolvimento, e costuma não ser mais necessária durante o resto do processo.

O primeiro passo necessário é fazer uma cópia do repositório principal para a conta do desenvolvedor. Essa cópia é chamada de fork e é realizada no servidor remoto. Uma vez que esta cópia foi realizada, o passo seguinte é baixar o repositório do servidor remoto para o computador que será utilizado para o desenvolvimento.

Neste passo de preparação também estão inclusos a instalação da IDE a ser utilizada para o desenvolvimento, bem como a preparação das bibliotecas de terceiros que serão utilizadas durante o processo.

2.Aceitação da tarefa e seu desenvolvimento

Uma vez que o ambiente de desenvolvimento está pronto, a ação seguinte consiste em aceitar uma tarefa dentre as tarefas disponíveis e realizar o seu desenvolvimento. Em geral, existe sempre um milestone corrente ao qual os desenvolvedores devem focar seu desenvolvimento. Porém não é incomum a necessidade de desenvolver tarefas de correções em milestones anteriores, ou até tarefas que estão previstas somente para milestones posteriores.

O desenvolvimento começa com a aceitação de uma tarefa por parte de um desenvolvedor. Esse passo irá indicar ao grupo que determinado desenvolvedor passou a ser o responsável pelo desenvolvimento de determinada tarefa. Em seguida o desenvolvimento se inicia. Ao final do desenvolvimento da tarefa, caberá ao desenvolvedor executar os devidos testes para verificar se tudo está correto e a tarefa está completa.

Quando a tarefa estiver completa, o passo seguinte é o de integrar este desenvolvimento ao repositório principal. Primeiramente, o desenvolvedor integrará as modificações aos repositórios existentes na sua conta, e em seguida irá integrar as modificações ao repositório principal através do chamado Merge Request.