O ciclo completo do desenvolvimento de produtos de TI usando o exemplo do projeto: funções da equipe, tarefas do cliente, estágios



A cozinha interna do desenvolvedor de produtos de TI é multifacetada e sempre cheia de tarefas diferentes. Em cada projeto, pessoas com responsabilidades diferentes encontram sua aplicação.

Usando um projeto como exemplo, examinaremos mais profundamente o processo de desenvolvimento. Antes disso, descreverei todas as etapas desse processo e as responsabilidades funcionais dos funcionários.

Ciclo de vida de desenvolvimento de produtos de TI


As etapas do ciclo são descritas abaixo, a partir do momento em que o cliente formulou suas idéias para o contratado.

  • Planejamento

O planejamento adequado da funcionalidade futura do produto e a análise de requisitos desempenham um papel fundamental em todo o projeto. O gerente de projeto é responsável por essa etapa, pois é ele quem é responsável pelo sucesso de todo o processo de desenvolvimento.

Antes do design do produto, o planejamento é de natureza "áspera", pois é impossível descobrir o curso exato do desenvolvimento nesse estágio.

Após a conclusão do design do UX / UI, você pode fazer um plano preciso de como será o desenvolvimento e qual será a funcionalidade do produto.

  • Desenho

Após o planejamento, chega a vez dos designers de UX / UI - especialistas que projetam interfaces de usuário. Designers estudam o comportamento do usuário e constroem uma interface legível por humanos. A aparência visual do produto também é o resultado do trabalho dos designers.

Juntamente com eles, os arquitetos de sistemas trabalham para decidir qual estrutura o produto acabado terá e como deve se comportar.

  • Desenvolvimento

Os desenvolvedores seguem uma das metodologias - para a empresa é principalmente Agile. Essa metodologia envolve uma abordagem iterativa flexível - ou seja, os desenvolvedores agem sequencialmente, dividindo o projeto em tarefas menores.

As iterações ágeis são chamadas de sprints, e um sprint inclui trabalho em todas as áreas: planejamento, design, desenvolvimento, teste.

  • Teste

Os especialistas em testes realizam diferentes tipos de teste: teste de unidade, teste de integração, teste de interface e outros tipos, dependendo da finalidade. Essa categoria de especialistas deve chegar à conclusão final de que o produto não possui erros e está pronto para lançamento.

Depois disso, o produto pode ser implementado e integrado com software de terceiros. O processo de desenvolvimento não termina aí - continua até que as melhorias sejam feitas.

  • Suporte

O produto final pode precisar de suporte adicional, sejam perguntas adicionais sobre o trabalho do produto por parte dos clientes ou a necessidade de fazer alterações nas funções já estabelecidas - os especialistas em serviços de suporte estão sempre prontos para ajudar.
A maioria dos projetos de desenvolvimento passa por todas as etapas do ciclo de vida descrito acima.
Como exemplo, examinaremos mais de perto o processo de desenvolvimento de produtos no projeto atual da empresa.

Etapa 1: Idéia


O cliente é uma empresa de impressão estatal. Em todo o mundo, esse setor não está passando dos melhores tempos, mas nos EUA, as empresas de impressão permanecem à tona graças a tecnologias inovadoras. A empresa de impressão nos pediu para desenvolver um aplicativo para realidade aumentada - Realidade Aumentada, AR.

O Serviço Postal dos Estados Unidos, que envia relatórios impressos de transações, oferece descontos para empresas parceiras que reduzem o consumo de papel por meio da tecnologia. Nosso cliente tornou-se uma dessas empresas.

Etapa 2: Contato


Os representantes da empresa entraram em contato conosco para apresentar sua ideia. Eles queriam um aplicativo de marketing de realidade aumentada. Antes de nós, eles usavam o sistema de reconhecimento de imagem Catchoom, também queriam licenciar um sistema de gerenciamento de conteúdo como um produto separado, mas a empresa recusou. Além disso, o cliente queria adicionar recursos exclusivos, que não estavam implícitos na solução Catchoom. Portanto, nossa tarefa era desenvolver um sistema adequado em troca.

Etapa 3: Planejamento


O cliente descreveu a funcionalidade básica do produto antes de entrar em contato conosco. A equipe de desenvolvimento teve que estudar a idéia do projeto e coletar todos os requisitos necessários, identificar gargalos e documentar tudo. Detalhes do projeto e detalhes técnicos foram especificados dentro de cada sprint.

A equipe que coleta os requisitos avalia as informações recebidas, a proposta, os custos de desenvolvimento e o preço, chamado RFx. Normalmente, essa equipe é composta por especialistas técnicos, um gerente de projetos e um gerente de vendas. RFx válido antes do início do projeto.



O cliente estuda a avaliação do projeto para obter um entendimento básico de como o projeto ficará e como o desenvolvimento será conduzido. Também determina o tempo e o custo.
Depois que o cliente aprovar o plano de desenvolvimento e o orçamento, o projeto poderá ser iniciado.

Comentário do gerente de projeto Alexander:
“Sou responsável pelo progresso contínuo do projeto. Eu escolhi a metodologia Scrum para responder rapidamente às demandas dos clientes e do mercado. O Scrum nos ajuda a desenvolver o produto, levar em conta as necessidades dos usuários em cada versão do produto e usar as tecnologias mais avançadas em desenvolvimento. ”

Etapa 4: Design


O cliente estava aberto a quaisquer idéias de nossos designers e confiava na visão de especialistas. O designer de UX / UI descreveu sua visão do sistema futuro, com base nas práticas de UX geralmente aceitas, o cliente concordou e o design começou.

Etapa 5: Desenvolvimento e Teste


O cliente visitou pessoalmente o escritório da empresa para se reunir com a equipe de desenvolvimento e se familiarizar com a gerência da empresa. Nos primeiros seis meses, o cliente vinha uma vez por mês para estabelecer comunicação, conhecer melhor a equipe e criar confiança entre as partes.

No primeiro estágio do desenvolvimento, a equipe consistia em:

  • Um gerente de projeto que também executou as tarefas de um analista de negócios;
  • Designer de UX / UI;
  • equipes de desenvolvimento.

No estágio inicial, os desenvolvedores realizaram os testes por conta própria, sem a participação de especialistas em controle de qualidade. O desafio foi criar um conjunto de protótipos para demonstração em conferências e atrair clientes em potencial. Então, testes detalhados não eram necessários.

Quando o processo de desenvolvimento começou a trabalhar nas funcionalidades básicas, a equipe precisou ser expandida. Como resultado, ela ficou assim:

  • Gerente de projetos;
  • Um analista de negócios com uma gama maior de tarefas do que o gerente tinha antes;
  • Designer de UX / UI;
  • desenvolvedores
  • Chefe da equipe de desenvolvimento (Líder da equipe);
  • Arquiteto de sistemas que desenvolveu a estrutura do produto;
  • Especialista em testes;
  • DevOps - um link entre desenvolvimento e operação, trabalhado com uma implantação de rede e produto.

O chefe da equipe de desenvolvimento Igor apresentou suas inovações:
“Neste projeto, sou responsável pela implementação das tarefas do projeto, revisar o código, planejar sprints (iterações no desenvolvimento), introduzir novas tarefas. Sugeri a realização de testes de unidade usando o GitFlow e a criação de código usando o AWS Lambda. Também estou apresentando novos membros da equipe, sou responsável por sua adaptação. "

Juntar-se ao Team Lead foi uma decisão importante, pois ajudou a coordenar o desenvolvimento de versões de aplicativos para iOS e Android e a versão da Web, para que tudo se movesse em uma direção.



O analista de negócios Flor diz:
“Graças à organização do projeto, meu trabalho foi extremamente claro e eficaz. Eu processei as solicitações dos clientes e as transmiti para a equipe de desenvolvimento de maneira compreensível e tecnicamente precisa. Trabalhei em conjunto com um designer de UX / UI e nosso gerente de projetos foi responsável pelas negociações, o que me deu a oportunidade de me concentrar nas minhas principais tarefas ”

Como você pode ver, a equipe precisava de especialistas adicionais para resolver as tarefas adicionadas. Essa composição de equipe pode fornecer desenvolvimento de sistema competente sem erros.

Etapa 6: Suporte


O suporte geralmente é fornecido em três níveis:

  • Primeiro nível Ajuda básica, perguntas simples que não requerem muita atenção são processadas neste nível.
  • O segundo nível. Ajuda estendida da equipe com conhecimento mais profundo do produto. Estes não são necessariamente especialistas técnicos, mas definitivamente conhecem muito bem o produto.
  • Terceiro nível O nível de especialista é realizado por especialistas experientes: gerentes de produto, engenheiros.

Também não há suporte através de folhetos e guias do usuário.

De fato, não há tempo em que o trabalho no software é considerado totalmente concluído. Novos desejos são recebidos do cliente em relação à expansão dos recursos funcionais ou é necessário suporte para os usuários do produto. Por exemplo, os usuários clientes desejavam atualizar o aplicativo e expandir sua funcionalidade.

Este projeto representa bem todas as etapas do ciclo de vida do desenvolvimento. Se considerarmos detalhadamente, o trabalho em qualquer software parece aproximadamente o mesmo e geralmente corresponde ao esquema acima.

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


All Articles