Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

História - Como trabalhar a questão de front-end e back-end?

Em um projeto que irá iniciar em breve temos dentro do time um profissional que irá programar o front-end(Angular, html5, css, etc) e dois profissionais trabalhando o back-end criando serviços rest. Minha dúvida é em como dividir essas tarefas de forma a entregar valor para o cliente. O front-end sozinho não entrega valor, assim como o serviço rest(no nosso contexto não). Eu teria uma história que seria dividida em duas ou mais tarefas, uma para o front e outra para o serviço rest? E como ficaria a integração do front com o serviço rest, seria outra tarefa só para integração ou a tarefa do front só poderia ser iniciada após o desenvolvimento do serviço rest?

Obrigado!

5 respostas

O ideal seria iniciar ambas as tarefas já com escopo definido, permitindo que o trabalho em paralelo aconteça livremente.

A modelagem dos pontos de acesso do serviço REST devem ser definidos minimamente antes de iniciar o trabalho e, a partir dessa modelagem, tanto a equipe de front quanto de back terão a mesma base em cima da qual trabalhar.

A outra opção viável (mas não ideal) é a primeira que você mencionou, de dividir a tarefa em dois e tornar a integração uma terceira, mas imagino que isso possa vir a causar a necessidade de refatoração.

Concordo com o Marco Salles é importante fazer a integração das tarefas. Se uma depende da outra é importante fazer um registro das dependências e controla-las para que o trabalho de um não atrase o outro.

Obrigado Marco Salles e Renato Gonçalves pelas suas respostas. Marco, quando você menciona por exemplo ter a modelagem, pontos de acesso bem definidos e um escopo para cada tarefa. A questão do escopo pensando na parte do front que é onde não consigo visualizar corretamente, seria algo como: O front faria sua parte trabalhando com algum tipo de mock que seja baseado na especificação da API. Nesse caso esse é o escopo dela. O back-end parece-me que não teria esse tipo de problema, já que ele sozinho pode ser validado de várias formas. O que não conseguí entender corretamente ainda é que em algum momento eu vou ter que fazer essa integração e nesse aspecto, isso precisa estar em algum lugar(tarefa no sprint backlog) para eu saber que após a finalização de ambas partes, essa integração deva ocorrer. Estou pensando em como a equipe teria isso para saberem que essa etapa deva ser realizada. Seria algo nessa linha? Pensei sobre essa questão de registrar as dependências das tarefas mas nesse ponto me parece que o trabalho paralelo não seria possível ou, se esse registro de dependências seria somente em um contexto para sinalizar que para finalização da história(entregar algum valor), ambas devam estar implementadas e integradas.

Agradeço novamente!

solução!

A parte de integração pode sim ser uma tarefa diferente, a não ser que as equipes trabalhem em conjunto (no mesmo local ou fazendo deploys em um ambiente de homologação).

Simulação do segundo caso: eu vou criar um projeto front-end que consome uma api gerada dinamicamente e um back-end que vai fornecer esse ponto de acesso.

Digamos que a especificação seja que o sistema back-end forneça produtos em uma única URL que aceita parâmetros e pode retornar uma lista vazia.

Enquanto a turma do back-end cria o ponto de acesso, a turma do front vai criar a lógica de requisição e desenvolver o site. Nesse ponto, essa equipe pode sobrescrever o retorno da requisição dois casos principais - lista de produtos vazia e populada - e outros quaisquer que forem adequados (baseados em alguma característica do objeto retornado, por exemplo todos os produtos precisam ter o mesmo preço). E toca trabalhar.

Quando o serviço REST estiver pronto ou ao menos estável, essa sobrescrição pode ser abandonada e o endereço de um servidor de homologação pode ser utilizado. Ou então uma versão local do ponto de acesso, rodada localmente.

O meu ponto principal aqui sendo que isso foi possível somente porque o escopo de intersecção entre as duas tarefas já havia sido bem definido.

Muito obrigado Marco Salles. Você ajudou muito! Abraço!