Documento de Visão
Histórico de versões
Data | Versão | Descrição | Autor |
---|---|---|---|
29/08/2019 | 0.1 | Estrutura Inicial | Pedro Daniel |
29/08/2019 | 0.2 | Iniciando tópico sobre as partes interessadas | João V. |
01/09/2019 | 0.3 | Montando escopo, propósito e visão geral do produto | Victor H., Pedro Daniel |
02/09/2019 | 0.4 | Atualizando os tópicos de introdução e posicionamento | Paulo H. |
03/09/2019 | 0.5 | Reedição do escopo e delimitando instrução do problema | Victor H. |
03/09/2019 | 0.6 | Criando instrução de problema, posição de produto, demográficos de mercado e resumo da parte interessada | Paulo H. |
03/09/2019 | 0.7 | Atualizando o tópico sobre visão geral do produto e editando recursos do produto | João V., Victor H. |
05/09/2019 | 0.8 | Editando restrições do produto | Victor H. |
05/09/2019 | 1.0 | Revisão e adaptação para markdown | Pedro Daniel, João V. |
26/09/2019 | 1.1 | Revisão da introdução, posicionamento, parte interessada e correção de bugs | Pedro Daniel |
28/09/2019 | 1.2 | Finalizando a revisão do documento | João V., Paulo H., Pedro Daia, Pedro Daniel, Victor H. |
1. Introdução
A documento a seguir tem como finalidade expor as premissas de desenvolvimento e usabilidade de um produto. O Git Breakdown desponta de uma extensão para navegadores a qual tem como principal propósito ajudar aplicações do GitHub que trabalham com aferição e análise estatística, aplicada ao monitoramento do desempenho de contribuidores envolvidos em um projeto. Esta análise visa expor, compreender e aperfeiçoar todas as fases que compõem a realização de um projeto.
1.1 Propósito
O propósito deste documento será definir o problema, a oportunidade de negócio contida no projeto, os perfis das partes interessadas e do usuário, assim como descrever a visão geral do produto, os recursos, restrições e especificações do sistema.
1.2 Escopo
Esse documento tem o objetivo de explanar o plugin Git BreakDown. Uma extensão para auxiliar no acompanhamento de projetos de software que utilizam a plataforma GitHub para controle de versionamento.
Desenvolvido para o auxílio de equipes que utilizam as metodologias ágeis de desenvolvimento de software, para gestores de times, e para usuários que acompanham o ciclo de vida de projetos no GitHub.
1.3 Definições, Acrônimos e Abreviações
API: Application Programming Interface. Em português significa Interface de Programação de Aplicações, é uma das formas de integrar sistemas.
GitHub: Plataforma de hospedagem de código-fonte com controle de versão.
Dashboard: Interface gráfica que fornece indicadores de desempenho e uma visão geral de andamento/progresso.
ZenHub: Extensão para navegadores que adiciona ferramentas de gerenciamento diretamente na interface do GitHub.
1.4 Visão Geral
Tem-se por finalidade deste documento apresentar de forma simples e didática o engajamento do produto no que tange a problemática inicial.
Abordando, por tópicos, todas as funcionalidades do projeto: descrição do contexto em que atua, exposição de sua finalidade, detalhamento de técnicas utilizadas, leitura e exposição das métricas coletadas.
2. Posicionamento
2.1 Oportunidade de Negócios
A equipe de desenvolvimento do projeto tem como planejamento a criação de uma ferramenta que analisa dados e gera métricas de forma intuitiva, as quais abordam dados estatísticos sobre a evolução de um projeto de software. Com tal coleta de informações, espera-se que um gerenciador possa ter mais clareza ao tomar decisões, visto que o mesmo irá dispor de uma série de informações numéricas que representam o desempenho da equipe e de quem a compõe. A métricas geradas pelo BreakDown podem ser bem aproveitadas por desenvolvedores para decidir usar um repositório na sua lista de dependências.
2.2 Instrução do problema
Um modelo de negócios, certamente deve buscar uma crescente evolução na eficiência de seus métodos. Para que tal objetivo seja alcançado, faz-se necessário aferir métricas sobre os projetos, desenvolvedores, qualidade de trabalho, tempo gasto dentre outros.
Tipo | Descrição |
---|---|
Problema | Melhorar a eficiência dentro de um modelo ágil de desenvolvimento de software |
Afetados | Projetos de desenvolvimento do software que usam a plataforma GitHub para versionamento |
Impactos | Ampliação da base de dados estatísticos, aprimoramento da eficácia na tomada de decisões |
Solução | A extensão atua na captação de dados provenientes do GitHub e desenvolverá gráficos especiais, voltados ao modelo de negócios |
2.3 Instrução de Posição de Produto
A captação e tratamento destes dados podem inferir pontos decisivos na evolução do processo como um todo. A proposta da extensão Git Breakdown configura-se em atuar na coleta das referências de rendimento, tratar informações de qualidade, as quais antes se encontravam ocultas ou fora do espectro de visão dos membros do projeto.
Para maior confiabilidade dos dados apresentados, toda coleta de conteúdo é aplicada a uma série de métodos probabilísticos e estatísticos de alto desempenho, com a finalidade de normalizar e expor as métricas mais fiéis a situação.
3. Descrições da Parte Interessada e do Usuário
A parte interessada, encarregada do desenvolvimento do produto, que também se enquadra como potenciais usuários do sistema, visa proporcionar aos usuários do GitHub uma melhor experiência no desenvolvimento e acompanhamento de projetos diante a análise de estatísticas e desempenhos.
3.1 Demográficos de Mercado
O avanço tecnológico vigente, estimula a implementação de tecnologias associadas à rotina. Para com este fenômeno, faz-se urgente o desenvolvimento de inúmeros algoritmos com intuito de resolver problemas do cotidiano de um projeto de software.
Portanto, é de se concluir que o desenvolvimento de softwares voltados a essa problemática encontra-se em processo crescente de evolução. Logo, várias metodologias surgem, muitas vezes em casos particulares e sem comprovação válida de sua eficiência.
Partindo deste pressuposto, o Git Breakdown toma postura frente à análise dos métodos existentes, e oferece uma alta gama de informações que espelham a desenvoltura do projeto. Com isso, gerentes de projetos podem inferir erros e acertos em suas metodologias, melhorando a qualidade e eficiência do produto final.
3.2 Resumo da parte interessada
Equipes de desenvolvimento de software que usam a plataforma GitHub. Tais equipes podem ser formadas por empresas, instituições de ensino ou grupos interessados pelo assunto.
3.3 Resumo do usuário
A extensão dispõe de métricas por meio de dashboards para todos os usuários do GitHub, com foco para: gestores de equipes de alto, médio e baixo desempenho; desenvolvedores individuais e terceiros interessados. A interação com o usuário possui vários níveis de referência, partindo de alvos mais simples como a própria exposição de dados, até métricas mais avançadas.
4. Visão Geral do Produto
O projeto consiste em uma ferramenta de monitoramento de repositório com interface integrada ao Github. A partir da mesma é possível ter controle sobre os dados das atividades do repositório e de contribuidores de determinado projeto.
4.1 Perspectiva do Produto
Trata-se de uma extensão do navegador Google Chrome, com sua interface integrada ao GitHub. Existem outras extensões que auxiliam o monitoramento de projetos dentro da plataforma de versionamento citada, porém a intenção é aprimorar a experiência do usuário em relação aos produtos semelhantes.
4.2 Resumo das Capacidades
O produto tem como finalidade a criação de dashboards para monitorar atividades em um repositório, indicação da rotina de desenvolvimento e contribuição.
5. Recursos do Produto
5.1 Commits
- Quantidade de commits por pessoa;
5.2 Issues
- Quantidade de issues abertas e fechadas;
- Porcentagem de issues abertas e fechadas.
5.3 Pull Requests
- Quantidade de pull requests abertos e mergados;
- Porcentagem de pull requests recusados em relação aos fechados.
5.4 Branches
- Quantidade de branches ativas;
- Porcentagem das branches mescladas(merged).
6. Restrições e Dependências
- O Git BreakDown opera apenas no navegador Google Chrome;
- Depende da autenticação do usuário;
- Depende da GitHub API v3.
7. Ranking de contribuição
- Top commiters na master
- Top merged PR's
8. Tags descritivas
- Tempo sem contribuição no repositorio
- Aproveitamento de PR