Histórico de Versão

Versão
Descrição
Autor
0.1 Abertura do documento Cauê
0.2 Montagem da estrutura do documento Cauê
0.3 Tópicos 1 a 3, 4.1 e 5 Cauê
0.4 Tópicos 4.2 a 4.5 Cauê

1. Resumo Executivo

  • Definição do projeto (visão, objetivos, escopo e entregáveis);
  • Organização do projeto (usuários, stakeholders, papéis, responsabilidades);
  • Planejamento do projeto (abordagem, cronograma, planejamento de recursos, financeiro e de qualidade);
  • Considerações do projeto (riscos, suposições e restrições);
  • Referências.

2. Definição do Projeto

2.1 Visão

Desenvolver um sistema que apresente e colete informações dos usuários por meio de informações cadastrais e as transporte para a nuvem. Informações armazenadas serão confrontadas com vídeo e áudio produzido pelo usuário para se fazer a assinatura do contrato de empréstimo consignado após a extração e análise dos dados;

2.2 Objetivos

Objetivos de negócio: - Sistema funcional/desenvolvido por completo; - Facilitar processo de assinatura de contrato para crédito consignado; - Receber confirmação de validação da assinatura do contrato em segundos.

Objetivos de tecnologia: - Desenvolver um sistema de validação de assinatura de contrato por vídeo e áudio com 100% de confiabilidade; - Extração, análise e validação das informações de vídeo e áudio em segundos;

2.3 Escopo

  • Automatização e facilitação (por parte do usuário e da bxblue) no processo de assinatura do contrato;
  • Desenvolvimento de sistema web para cadastro de informações do usuário e gravação de vídeo e áudio para contratação de empréstimo consignado;
  • Utilização de tecnologias de armazenamento das informações em nuvem, análise de vídeo e análise de voz.

2.4 Entregáveis

Item
Componentes
Descrição
Documentação 1. Protótipo
2. Documento de Visão
3. Documento de Arquitetura
4. Earned Value Management
1. Simulação do produto final
2. Visão ampla do software
3. Arquitetura que foi desenvolvido o software
4. Medir desempenho e progresso do projeto
Código 1. Primeira versão
2. Segunda versão
1. Entrega das funcionalidades funcionando
2. Entrega do software com as funcionalidades aprimoradas

3. Organização do Projeto

3.1 Usuários

Usuário
Aposentados e pensionistas do INSS
Servidores públicos federais, estaduais e municipais
Trabalhadores com carteira assinada
Militares das Forças Armadas

3.2 Stakeholders

Stakeholders
Interessado em
Fenasbac Soluções inovadores que serão desenvolvidas
Banco Central do Brasil Revisar questões estruturais do próprio BC a partir do projeto desenvolvido
bxblue Aproveitando da solução desenvolvida para integração no software próprio deles
Sociedade brasileira Facilitação em contratação de crédito consignado

3.3 Papéis

Nome Papel
Cauê Mateus Product Owner
Kairon Veloso Arquiteto
Marcos Cabeceira Desenvolvedor
Marcos Floresta Desenvolvedor
Marcos Gabriel Desenvolvedor
Thiago Pereira DevOps
Victor Gomide Scrum Master
Vinicius Porto Desenvolvedor
William Viera Desenvolvedor

3.4 Responsabilidades

Arquiteto: - Levantamento de roadmap de requisitos; - Proposta de arquitetura micro serviços; - Orquestração de containeres com micro serviços.

Desenvolvedor: - Código/Entrega; - Documentação; - Coerência - documentos e código|; - Histórias e planejamento da release; - Testes automatizados e cobertura de código; - Tracking; - Wiki Atualizada; - Software implantado e disponível para uso.

DevOps: - Ambiente de desenvolvimento via container; - Gitflow; - Pipeline de integração e deploy contínuos; - Integração contínua; - Ambiente de homologação/produção; - Roadmap de deploy contínuo; - Evidência de deploy contínuo.

Product Owner: - Visão de produto; - Retorno de Investimento (ROI); - Plano de negócio - Canvas; - Priorização das issues - visão de produto; - Guia de usabilidade/protótipos de identidade visual - identidade visual; - Roadmap de produto - MVP + Pitch de venda.

Scrum Master: - Comunicação; - Indicadores e métricas de produtividade; - Metas de entrega contínua; - Monitoramento e controle Ágil; - Roadmap para alcancar a produtividade máxima do time;

4. Planejamento do projeto

4.1 Abordagem

Fase Abordagem
Iniciação Autorização para início do projeto
Ideação Definições do projeto, design e prototipação
Criação Planejamento, desenvolvimento, teste e revisão. Processo se repete em loop
Evolução Transferência de conhecimento e melhoria contínua. Vem logo após a etapa de criação e também se repete em loop

4.2 Cronograma

Cronograma

4.3 Planejamento de Recursos

Release 1

Papel Data de início Data final Esforço
Arquiteto 12/08/2019 29/09/2019 100%
Desenvolvedor 12/08/2019 29/09/2019 80%
DevOps 12/08/2019 29/09/2019 100%
Product Owner 12/08/2019 29/09/2019 100%
Scrum Master 12/08/2019 29/09/2019 100%

Release 2

Papel Data de início Data final Esforço
Arquiteto 30/09/2019 01/12/2019 80%
Desenvolvedor 30/09/2019 01/12/2019 100%
DevOps 30/09/2019 01/12/2019 100%
Product Owner 30/09/2019 01/12/2019 80%
Scrum Master 30/09/2019 01/12/2019 100%

Release 3

Papel Data de início Data final Esforço
Arquiteto 02/12/2019 26/01/2020 60%
Desenvolvedor 02/12/2019 26/01/2020 100%
DevOps 02/12/2019 26/01/2020 80%
Product Owner 02/12/2019 26/01/2020 60%
Scrum Master 02/12/2019 26/01/2020 100%

Release 4

Papel Data de início Data final Esforço
Arquiteto 27/01/2020 29/03/2020 40%
Desenvolvedor 27/01/2020 29/03/2020 100%
DevOps 27/01/2020 29/03/2020 80%
Product Owner 27/01/2020 29/03/2020 60%
Scrum Master 27/01/2020 29/03/2020 100%

Nas sprints 2, 3 e 4 os papéis que estiverem com menos esforço em suas funções usaram do tempo que estiverem livre para dar suporte ao time de desenvolvimento, trabalhando junto a eles.

4.4 Planejamento Financeiro

O custo do projeto será calculado levando em consideração 4 premissas: - Tempo fixo de desenvolvimento de 8 meses. Os 2 primeiros meses com trabalho de 10 horas semanais por membro e os 6 meses subsequentes com trabalho de 20 horas semanais por membro; - Trabalho sendo realizado 100% remoto; - Escopo do software definido com base no tempo determinado de trabalho dos 2 pontos anteriores; - Número de membros da equipe não irá aumentar e se diminuir o trabalho será redistribuido entre os outros membros assim como o valor ganho pelo membro que saiu.

Tomando como base essas 3 premissas podemos fazer o cálculo de quanto custará esse projeto.
O custo do projeto será calculado com base no salário da mão de obra de desenvolvedores full stack apontado pelo site do stackoverflow. O site calcula os valores antes da taxação de impostos de ganhos anuais em média com desenvolvimento de software. Ele possui filtros de posição, localização, educação, anos de experiência e tecnologias. Para o cálculo de nosso custo levaremos em consideração os critérios apontados na tabela abaixo.

Posição Localização Educação Anos de experiência tecnologias
Full Stack Brasília - Distrito Federal Menos que bacharelado 0
  • css
  • html
  • javascript
  • ruby
  • reactjs
DevOps Brasília - Distrito Federal Menos que bacharelado 2
  • css
  • html
  • javascript
  • ruby
  • reactjs
Explicação dos critérios:
Posição: arquiteto, product owner e scrum master foram colocados como devops, pois o filtro de posições do stackoverflow não possui essas divisões e o restante da equipe que é de desenvolvimento foi colocada como full stack.
Localização: como somos todos de Brasília o valor foi colocado como mão de obra de nossa localização.
Educação: o que mais se aproxima de graduando nos filtros é o de menos que bacharelado.
Anos de experiência: com 0 anos de experiência colocamos os membros da matéria de MDS e com 2 anos de experiência colocamos os membros da matéria de EPS.
Tecnologias: colocamos as tecnologias que tinham no stackoverflow e terão em nosso projeto.

Após pedido para calcular o salário a calculadora nos retorna salários em 3 bases: os que ganham menos do que 75% dos desenvolvedores, os que ganham na média e os que ganham mais do que 75% dos desenvolvedores. Levando em consideração o nível do estudo que temos na Universidade de Brasília, a UnB nos da base para ganhar no espaço dos que ganham mais do que 75% dos desenvolvedores e será nesse bloco que faremos os cálculos da mão de obra. No quadro abaixo podemos ver a quantidade de pessoas por posição, experiência e o valor hora que será cobrado.

Quantidade Posição Valor/Hora
5 Full stack 31,77
4 DevOps 40,62

Considerando as premissas colocadas e o valor/hora definido por membro já podemos fazer o cálculo de quanto será o desenvolvimento do software no período determinado. A quantidade de horas total trabalhadas no projeto será de (sabendo que em um mês tem em média 4 semanas):

Quantidade total projeto/membro = (40 * 2) + (80 * 6) = 560 horas

Custo = Horas total projeto * valor/hora * Número membros

5 desenvolvedores full stack com 0 anos de experiência:
    Custo = 560 * 31,77 * 5 = R$ 88.956,00

4 devops (1 arquiteto, 1 product owner e 1 scrum master) com 2 anos de experiência:
    Custo = 560 * 40,62 * 4 = R$ 90.988,80

Custo Total = 88.956 + 90.988,8 = R$ 179.944,80

O projeto terá um custo de R$ 179.944,80 mais custos adicionais por meio de apresentação de notas fiscais em casos de necessidade de deslocamentos e alimentações.

4.5 Planejamento de Qualidade

Processo Descrição
Gerenciamento de integração Bastante comunicação entre todos para que como um grupo saibamos o que está acontecendo em todas as pontas
Gerenciamento de escopo Manter escopo similar ao que foi acordado no início do projeto
Gerencimento do cronograma Cumprimento dos prazos com o que foi combinado no cronograma, manter eventos com a sequência precisa e atualizada
Gerenciamento de custo Manter os custos do projeto dentro do que foi acordado no início do projeto, fazer uso dos recursos dentro do orçamento e do tempo de projeto
Gerenciamento da qualidade Revisão de todo trabalho realizado, templates para issue e pull request, folha de estilo e boas práticas de desenvolvimento de software
Gerenciamento de recurso Utilizar membros com eficiência, sabendo alocar duplas de pareamento de acordo com o conhecimento, experiência e habilidade de cada um
Gerenciamento de comunicação Montar estrutura de comunicação eficiente, rápida e fazer o controle de informações de todos os membros
Gerenciamento de risco Identificar, analisar e controlar riscos, elaborando um plano para que haja resposta rápidas quando surgir
Gerenciamento de projeto Solução de problemas no momento que eles acontecerem, sempre motivando a equipe e tirando a pressão sobre os membros para que eles possam atingir a melhor produtividade possível

5. Considerações do Projeto

5.1 Riscos

Descrição Probabilidade Impacto Ações de mitigação
Desistência de membro Média Alto Acúmulo de função por membro que tiver com menos trabalho para fazer
Ausência constante de membro Alta Médio Identificar o membro com problemas e entregar tarefas mais simples e menos importantes para ele
Atrasos por dificuldades com as tecnologias Média Baixo Atraso inicial em entregas do software por dificuldades com as tecnologias utilizadas
Problemas com computadores de membro da equipe Média Baixo Procurar outro computador para membro com problemas continuar o trabalho
Falta de comunicação Alta Médio Motivar a equipe a se comunicar melhor, encorajar a comunicação, deixar claro a importância da comunicação e reforçar os meios de comunicação oficiais da equipe

5.2 Suposições

  • Escopo não irá mudar durante o desenvolvimento do software;
  • Algum stakeholder da bxblue sempre estará disponível para nos atender;

5.3 Restrições

  • A quantidade de pessoas participantes no projeto não será aumentada até final dos desafios do projeto;
  • Restrição de custo com desenvolvimento;

6. Referências

  1. www.projectmanager.com
  2. Apresentação da bxblue no youtube
  3. stackoverflow calculator salary