
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.
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.
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.
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.
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.
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.