Você está na página 1de 7

Documento de Visão do Projeto - Automação Python

Histórico de Modificação

Data Versão Descrição Autor

31/07/2023 1.0 Criação do documento, Objetivo, @Vinícius Prates Araújo


Escopo e Stakeholders

02/08/2023 1.1 Revisão @Nebuloz LTDA

Sumário

Introdução

Objetivo

Construir uma rotina automatizada de operações de saque dentro de uma plataforma de Exchange de criptomoedas.

Escopo

Funcionalidades dentro do escopo:

Sistema em Nuvem: Desenvolvimento de um software que funcionará em ambiente de nuvem, permitindo o acesso remoto dos
usuários.

Automação Python: Desenvolvimento de códigos de comando para automatizar tarefas financeiras do tipo saque em várias contas
dentro de uma plataforma web.
Máquinas Virtuais: Criação e gerenciamento de máquinas virtuais para suportar o funcionamento contínuo do sistema sem a
necessidade de um computador físico.
API REST: Criação de uma API REST para comunicar com o sistema FrontEnd

Funcionalidades fora do escopo:

Outras Operações Bancárias: Operações bancárias além do saque via aplicação designada não estarão automatizadas pelo sistema,
tais como transferências, depósitos, entre outros.
Integração com Outros Sistemas: Integrações com sistemas externos, que não estejam diretamente relacionados às funcionalidades
citadas, não estarão contempladas no escopo inicial.

Stakeholders

Equipe de Desenvolvimento: Composta por profissionais de Engenharia de Software e Ciência de Dados e Sistemas para Internet
responsáveis pelo desenvolvimento, testes e implementação do sistema.

Patrocinador do Projeto: A pessoa ou a organização que está financiando o projeto e tem interesse direto no sucesso do software.

Clientes: Empresas ou indivíduos que irão utilizar o software para automatizar suas operações financeiras.

Gerente de Projeto: Responsável pela gestão geral do projeto, coordenando as atividades da equipe e garantindo a entrega dentro do
prazo e do orçamento acordados.
Descrição do Produto

Visão Geral

O produto a ser desenvolvido é um software de automação feito em Python, baseado em nuvem, projetado para atender às necessidades
de clientes que realizam operações financeiras frequentes em certas condições dentro de plataformas de Exchange de criptomoedas.

Funcionalidades Principais

Análise do tipo de licença dentro da plataforma de Exchange [Nome da plataforma].

Análise do percentual de lucro da operação.

Solicitação da execução da operação bancária de Saque utilizando o sistema habilitador externo [Nome do sistema habilitador] atuando
como carteira.

Requisitos Não Funcionais

Segurança: O sistema deve garantir a segurança dos dados dos usuários, utilizando criptografia para proteger informações confidenciais

Desempenho: O software deve ser eficiente e responsivo, com tempos de resposta rápidos para as interações do usuário. As operações
de automação devem ser executadas com baixa latência, garantindo a agilidade das transações.

Disponibilidade: O sistema deve estar disponível e acessível para os usuários em horários previamente acordados, visando a redução de
tempo de inatividade. Mecanismos de redundância e balanceamento de carga podem ser considerados para garantir a alta disponibilidade.

Escalabilidade: O software deve ser capaz de lidar com um número crescente de usuários e contas, sem comprometer o desempenho. O
dimensionamento da infraestrutura em nuvem deve ser planejado para atender às demandas futuras.

Confiabilidade: O sistema deve ser confiável e estável, minimizando a ocorrência de falhas e erros. Mecanismos de recuperação de
falhas e backups regulares dos dados são essenciais para garantir a integridade do software.

Roadmap do Produto

Releases Planejadas

Release 1:

Funcionalidades Principais:
Configurar ambiente de Desenvolvimento do Projeto
Codificar o algoritmo de análise do tipo de licença e percentual de lucro da operação.
Teste do código e validação por Critérios de Aceitação.

Release 2:

Funcionalidades Principais:
Configurar o ambiente de Testes do Projeto.
Configurar e testar sistemas habilitadores.
Teste e validação da função de saque.

Release 3:

Funcionalidades Principais:
Configurar o ambiente de Homologação do Projeto.
Configurar o serviço cloud do projeto.
Teste de carga e validação da do ambiente.
Release 4:

Funcionalidades Principais:
Apresentar laboratório de Usabilidade (validação).
Melhorias de Desempenho e Otimização.

Testes de Segurança e Conformidade.

Release 5:

Funcionalidades Principais:
Finalização do Projeto.
Entrega do código fonte e Documentação.
Apresentar a Política de Suporte.

Priorização do Backlog

A priorização dos sub-itens em cada release será feita seguindo os critérios abaixo:

Valor para o Cliente: Funcionalidades que proporcionem maior valor para o cliente e atendam às necessidades identificadas na entrevista
terão prioridade.

Riscos e Complexidade: Funcionalidades com menor risco técnico e menor complexidade serão priorizadas para serem entregues antes,
garantindo resultados mais rápidos.

Dependências: Funcionalidades que possuam dependência entre si serão agrupadas de forma a facilitar a entrega de um conjunto de
valor ao final de cada release.

Restrições e Premissas

Restrições

O sistema proposto está restrito pelos Termos de Uso e da Política de Privacidade dos sistemas habilitadores e pela Lei Geral de Proteção
de Dados Pessoais(LGPD). A execução do fluxo de negócio do sistema proposto depende de validação jurídica para não violar quaisquer
termos citados na presente lei.

Premissas

Os Patrocinadores do Projeto não possuem acesso direto ou indireto ao código fonte da plataforma de Exchange de Criptomoedas [Nome
da Plataforma].

A manutenção do Projeto seguirá as Políticas de Suporte, que serão elucidadas antes da homologação do presente documento.

O projeto possui 1(um) sistema habilitador direto denominado por [Nome do sistema habilitador].

Equipe do Projeto

Papéis e Responsabilidades

Equipe Atual

Tabela dos membros da equipe atualmente envolvidos no projeto, indicando seus papéis e responsabilidades.

Nome Papel Responsabilidades


Willian Magalhães Marchi Scrum Master Atuar como coach, orientando a equipe
para seguir os valores e práticas do
Scrum.
Remover impedimentos e proteger a
equipe de interferências externas que
possam prejudicar seu desempenho.
Promover uma boa cooperação entre a
equipe e as partes interessadas,
garantindo uma comunicação eficaz.
Facilitar o senso comum dentro da
equipe, promovendo a colaboração e a
busca por soluções compartilhadas.
Proteger a equipe das distrações e
interferências da organização, permitindo
que ela se concentre no trabalho e na
entrega de valor.

Vinícius Prates Araújo Product Owner Desenvolver uma estratégia de curto e


longo prazo para os produtos ou
serviços, definindo objetivos claros.
Facilitar o acesso ao conhecimento sobre
os produtos ou serviços para a equipe de
desenvolvimento.
Compreender e comunicar as
necessidades do cliente para a equipe de
desenvolvimento.
Coletar, priorizar e gerenciar os requisitos
do produto ou serviço.
Definir a data de lançamento das
funcionalidades do produto ou serviço.
Trabalhar diariamente com a equipe de
desenvolvimento para responder
perguntas e tomar decisões.
Aceitar ou rejeitar as funcionalidades
concluídas nas Sprints.
Destacar as principais realizações da
equipe ao final de cada Sprint.
Gerenciar e ser responsável pelo Product
Backlog, garantindo sua atualização e
priorização adequada.

Vinícius Prates Araújo Equipe de Desenvolvimento Desenvolver o produto ou serviço de


acordo com os requisitos estabelecidos
no Product Backlog.
Entregar incrementos funcionais do
produto a cada Sprint, buscando agregar
valor ao produto após cada iteração.
Se auto-organizar, definindo como irá
realizar o trabalho e alcançar os objetivos
da Sprint.
Participar das reuniões de planejamento
da Sprint, estimando o esforço
necessário para entregar as
funcionalidades e definindo quais itens
do Product Backlog serão selecionados
para a Sprint.
Colaborar de forma estreita com o
Product Owner para entender e
esclarecer os requisitos e prioridades do
Product Backlog.

Garantir a qualidade do produto


entregue, seguindo práticas de
desenvolvimento e realizando testes
necessários.
Ser adaptável às mudanças e responder
de forma ágil a novas necessidades e
ajustes no projeto.
Manter uma comunicação transparente,
compartilhando informações relevantes e
progresso do trabalho durante a Sprint.
Buscar constantemente melhorar suas
práticas, processos e habilidades para
aumentar sua eficiência e produtividade.
Participar ativamente das cerimônias do
Scrum, como a Reunião de
Planejamento da Sprint, Daily Scrum,
Revisão da Sprint e Retrospectiva da
Sprint.

Comunicação e Colaboração

Plano de Comunicação

A seguir será descrito como a comunicação será realizada dentro da equipe do projeto, com os stakeholders e entre as diferentes partes
interessadas.

Scrum Master e Clientes: Slack

Scrum Master e Product Owner: Slack

Ferramentas de Colaboração
Será utilizado o software Jira como ferramenta de colaboração para o time de desenvolvimento, enquanto o Confluence atuará como
repositório de conhecimento, agregando os artefatos gerados durante o projeto.

Riscos e Mitigação

Identificação de Riscos

Dentre os riscos possíveis podem ser listados:


Atraso na Entrega das Funcionalidades;
Má Qualidade do Produto;
Mudanças Constantes nos Requisitos;
Falta de Habilidades Técnicas Específicas;
Mudanças na Prioridade das Funcionalidades.

Plano de Mitigação
1. Risco: Atraso na Entrega das Funcionalidades
Estratégia: Adotar o Desenvolvimento Incremental e o uso do Scrum para entregas em Sprints regulares.

Ação: Realizar reuniões de planejamento da Sprint detalhadas para estimar o esforço e definir metas realistas.
Ferramenta: Utilizar o Atlassian Risk Management for Jira para rastrear e monitorar o progresso das tarefas.

2. Risco: Má Qualidade do Produto


Estratégia: Implementar Práticas de Desenvolvimento Ágil e Testes Contínuos.

Ação: Priorizar revisões de código, testes automatizados e realizar revisões técnicas.


Ferramenta: Utilizar ferramentas de testes automatizados e análise estática de código, além de monitorar métricas de qualidade no
Jira.

3. Risco: Mudanças Constantes nos Requisitos


Estratégia: Manter uma Comunicação Clara com o Cliente e o Product Owner.

Ação: Realizar reuniões regulares com o cliente para esclarecer requisitos e expectativas.
Ferramenta: Utilizar o Microsoft Excel para rastrear as mudanças nos requisitos e manter a documentação atualizada.
4. Risco: Falta de Habilidades Técnicas Específicas
Estratégia: Investir em Treinamentos e Capacitação da Equipe.
Ação: Identificar lacunas de conhecimento e realizar treinamentos específicos para as necessidades da equipe.

Ferramenta: Registrar e monitorar o progresso dos treinamentos no Jira.


5. Risco: Mudanças na Prioridade das Funcionalidades
Estratégia: Realizar Reuniões Regulares com o Product Owner.
Ação: Definir acordos claros sobre a priorização de requisitos e manter uma comunicação frequente.
Ferramenta: Utilizar o Atlassian Jira para gerenciar o Product Backlog e registrar mudanças de prioridade.

Aprovação do Documento

Aprovação

Registre a lista de pessoas responsáveis por aprovar o Documento de Visão do Projeto, incluindo seus nomes e cargos.

Data de Aprovação

Registre a data em que o Documento de Visão do Projeto foi aprovado pelos responsáveis.

Lembre-se de avaliar as necessidades específicas do seu projeto e equipe ao selecionar as ferramentas e referências mais adequadas.

Assinaturas

Nome Cargo Data

Vinícius Prates Araújo Gerente de Projeto / Equipe de DD/MM/AAAA


Desenvolvimento
[Nome do Responsável] [Cargo do Responsável] DD/MM/AAAA

[Nome do Stakeholder] [Cargo do Stakeholder] DD/MM/AAAA

[Nome do Stakeholder] [Cargo do Stakeholder] DD/MM/AAAA


 

Você também pode gostar