# Backlog do produto
Este Backlog consiste em uma lista que descreve todas as funcionalidades desejadas para o Twitter. Com a finalidade de obtermos uma melhor especificação dessas funcionalidades, este Backlog apresenta a os seguintes itens de granularidade:
- Épico que pode englobar várias Histórias de usuário;
- ID da História de usuário (ou US - User history);
- Descrição da História de usuário com as colunas:
- Eu como...;
- Desejo...;
- Para que eu possa...;
- Critérios de aceitação para a validação de cada História de usuário.
# Tabela de épicos
Épico | Descrição | Requisitos | US's relacionadas |
---|---|---|---|
Uso da aplicação offline | Engloba as funcionalidades relativas ao uso offline (sem internet) do aplicativo |
| |
Permissionamento e controle de acesso | Engloba as funcionalidades relacionadas ao controle de dados e permissionamento de acesso quanto às funcionalidades |
| |
Cadastro e perfis/comunidades | Engloba as funcionalidades relacionadas à login, cadastro, perfis e comunidades |
| |
Delimitação de dados no mapa | Engloba as funcionalidades relacionadas à marcação de pontos, áreas e outros dados relativos aos mapas |
| |
Multimídia | Engloba as funcionalidades relacionadas aos dados de multimídia (fotos, audios, vídeos, arquivos e outros ) |
| |
Rascunho de dados | Engloba as funcionalidades relacionadas à manter os dados como rascunho ou versão final |
| |
Tutorial e navegação experimental | Engloba as funcionalidades relacionadas ao ensino de utilização do aplicativo e navegação experimental (sem cadastro) |
|
# Lista das Histórias de usuário
A priorização e refinamento dos requisitos é um dos passos que damos na fase de Iniciação nos métodos tradicionais (Scrum/PMBOOK), para realizarmos essa priorização além da etapa de revisão técnica de negócio e de UX, que foi realizada no Lean Inception nós utilizamos também o framework moscow para priorizarmos nossas histórias de usuário.
# [US01] Marcar ponto no mapa
Epico: Delimitação de dados no mapa
Prioridade: Must
Eu como: Usuário
Desejo: Que seja possível marcar no mapa da aplicação locais que sejam áreas de risco para a comunidade conforme eu me locomovo pelo terreno da minha comunidade.
Para que eu possa: Persistir os dados online.
Critérios de aceitação:
- Todos os membros participantes de uma comunidade devem poder marcar pontos no mapa
- Deve permitir a marcação de forma offline
# [US02] Adicionar elemento multimídia à marcação
Epico: Delimitação de dados no mapa
Prioridade: Must
Eu como: Usuário
Desejo: Que seja possível adicionar informações multimídia conforme eu marco os pontos no mapa, essas informações são áudios, fotos e até mesmo descrições sobre o local demarcado
Para que eu possa: Descrever as características de um determinado lugar.
Critérios de aceitação:
- A pessoa responsável pela demarcação de um ponto deve poder adicionar textos, áudios ou fotos sobre um determinado lugar que ela deseja marcar.
- Deve permitir adicionar elementos multimídia à um ponto/área de forma offline
# [US03] Dividir o controle dos dados entre membros da comunidade
Épico: Permissionamento e controle de acesso
Prioridade: Must
Eu como: Usuário
Desejo: Que as alguns usuários tenham permissão para adicionar novas pessoas na comunidade, tirar pessoas da comunidade, deletar dados.
Para que eu possa: Permitir que mais de um membro da comunidade possa adicionar novas pessoas a comunidade.
Critérios de aceitação:
- Apenas pessoas com uma rule especial podem admitir novos membros na comunidade.
- Não se pode permitir que qualquer usuário delete dados relacionados a uma determinada comunidade.
- Ter um pedido que seja avaliado para quem pode se tornar um usuário.
# [US04] Sincronizar informações obtidas offline com a API
Épico: Uso da aplicação offline
Prioridade: Must
Eu como: Usuário
Desejo: Que as as informações e dados multimídia que eu produzir offline sejam enviadas para o servidor remoto quando eu tiver acesso à internet.
Para que eu possa: Salvar informações armazenadas no dispositivo no servidor remoto
Critérios de aceitação:
- A sincronização só deve ocorrer quando houver internet.
- Deve ser feito um diff, verificando se os dados já estão presentes no servidor remoto.
- (Os arquivos devem ser mantidos ou removidos após a sincronização?)
# [US05] Realizar controle de acesso aos dados de acordo com perfil de usuário
Épico: Permissionamento e controle de acesso
Prioridade: Must
Eu como: Membro de uma comunidade tradicional (usuário)
Desejo: Conceder ou revogar acesso aos dados da minha própria comunidade
Para que eu possa: controlar quem possui acesso aos dados da minha comunidade
Critérios de aceitação:
- Deve permitir que um membro administrador da comunidade possa revogar ou conceder os acessos.
- Um membro da comunidade que não for administrador não poderá controlar o acesso aos dados.
# [US06] Permitir que o pesquisador facilitador juntamente com a comunidade possam controlar o modo dos dados (rascunho ou versão final)
Épico: Rascunho de dados
Prioridade: Should
Eu como: Membro de uma comunidade tradicional & pesquisador facilitador (Usuários)
Desejo: Alterar o status dos dados
Para que eu possa: Dizer se um dado é um rascunho ou versão final
Critérios de aceitação:
- Deve exigir que o pesquisador facilitador e um membro administrador da comunidade.
# [US07] Permitir que seja demarcada uma área no mapa pelos membros da comunidade
Épico: Delimitação de dados no mapa
Prioridade: Must
Eu como: Membro de uma comunidade tradicional (Usuário)
Desejo: Marcar uma área no mapa
Para que eu possa: Expressar e marcar minha cartografia social
Critérios de aceitação:
- Deve permitir marcar uma área a partir de vários pontos ou formas pré-definidas.
- Deve permitir inserir, no mínimo, descrição, tipo e nome.
- O status inicial deve ser, obrigatoriamente, “rascunho”, somente podendo ser alterado por um membro administrador da comunidade.
- Deve permitir que uma área seja marcada de forma offline
# [US08] Fazer o pré-download dos dados do mapa em determinada região
Épico: Uso da aplicação offline
Prioridade: Must
Eu como: Usuário
Desejo: Poder realizar o download dos mapas
Para que eu possa: Vê-los de forma offline
Critérios de aceitação:
- Deve exigir acesso à internet no primeiro acesso para que os dados possam ser baixados.
- Deve permitir o usuário escolher qual área terá seus dados baixados, respeitando um raio de N km.
- Os arquivos baixados devem ser armazenados no dispositivo do usuário.
# [US09] Labels para as multimídias no app
Épico: Multimidia
Prioridade: Could
Eu como: Usuário
Desejo: Adicionar labels à um dado multimídia
Para que eu possa: Fazer a diferenciação das informações válidas e das que são rascunho
Critérios de aceitação:
- Poder categorizar as informações no app
- As informações adicionadas precisam ter uma dessas labels (categorias)
# [US10] Modo de demonstração
Épico: Tutorial e navegação experimental
Prioridade: Should
Eu como: Pesquisador e membro da comunidade.
Desejo: Utilizar o app sem a necessidade de fazer login.
Para que eu possa: Ver como é o funcionamento do app sem precisar adicionar nenhuma informação minha ao aplicativo.
Critérios de aceitação:
- Conseguir marcar um ponto sem estar logado
- Conseguir marcar uma área sem estar logado
- Conseguir adicionar informações à um ponto/área sem estar logado
- Conseguir adicionar elementos multimídia à um ponto/área sem estar logado
- Conseguir excluir dados locais sem estar logado
# [US11] Visualizar o mapa
Épico: Delimitação de dados no mapa
Prioridade: Must
Eu como: Usuário.
Desejo: Visualizar o mapa do meu local.
Para que eu possa: Possa ver o mapa do local que me encontro, possíveis áreas ou pontos demarcados pela minha comunidade, ou executar outras funcionalidades do aplicativo.(marcar ponto, área, adc info etc..)
Critérios de aceitação:
- Exibir mapa integrado à localização do usuário.
- Mostrar marcações no mapa feitas pelo usuário
- Mostrar marcações no mapa feitas pela comunidade que o usuário está
# [US12] Adicionar informações sobre o local
Épico: Delimitação de dados no mapa
Prioridade: Must
Eu como: Usuário.
Desejo: Adicionar informações sobre o meu local.
Para que eu possa: Possa contar a história daquele local, descrever o que aquele local representa para minha comunidade ou colocar outras informações relevantes como área do local, etc.
Critérios de aceitação:
- Campo de texto(ou form) para preencher com informações
- Integrar esse texto a um ponto ou área
- Disponível apenas para a comunidade (?)
- Deve permitir a inserção de informações de forma offline
# [US13] Autenticação e registro de usuário
Épico: Cadastro e perfis/comunidades
Prioridade: Must
Eu como: Usuário.
Desejo: Entrar, cadastrar, resetar senha ou sair do aplicativo.
Para que eu possa: Possa acessar as funcionalidades da aplicação ou encerrar minha sessão.
Critérios de aceitação:
- Form de login com nome e senha
- Botão resetar senha
- Tela de reset com o campo de email
- Enviar email para resetar senha
- Botão sair (encerrar sessão)
- Usuário deve ser registrado no banco de dados
- Deve-se checar se nome e senha estão corretos no login
# [US14] Perfil para pesquisador
Épico: Cadastro e perfis/comunidades
Prioridade: Must
Eu como: Usuário.
Desejo: Ter um perfil.
Para que eu possa: Coletar e inserir dados e fazer uso da aplicação.
Critérios de aceitação:
- Tela de login deve apresentar botão para cadastro
- Usuário deve realizar cadastro no aplicativo
- Api deve armazenar usuário no banco
# [US15] Perfil para a comunidade
Épico: Cadastro e perfis/comunidades
Prioridade: Must
Eu como: Membro da comunidade.
Desejo: Criar um perfil para a comunidade.
Para que eu possa: Pertencer a uma comunidade e inserir dados nessa comunidade.
Critérios de aceitação:
- Usuário deve estar cadastrado como membro de comunidade
- Tela de perfil deve apresentar botão de cadastrar comunidade
- Inserir dados primários sobre a comunidade
- Cadastrar comunidade
# [US16] Editar perfil de usuário
Épico: Cadastro e perfis/comunidades
Prioridade: Should
Eu como: Usuário.
Desejo: Editar meu perfil.
Para que eu possa: Adicionar, remover, editar meus dados.
Critérios de aceitação:
- Botão de editar dados no perfil
- Tela para edição de dados
- Usar API para fazer atualizações no banco
- Botão para salvar alterações
# [US17] Fazer edição no perfil da comunidade
Épico: Cadastro e perfis/comunidades
Prioridade: Should
Eu como: Usuário administrador.
Desejo: Editar o perfil da comunidade.
Para que eu possa: Adicionar, remover, editar dados da comunidade.
Critérios de aceitação:
- Usuário deve estar cadastrado como membro de comunidade
- Usuário deve ser o admin da comunidade
- Botão de editar dados no perfil da comunidade
- Usar API para fazer atualizações no banco
- Botão para salvar alterações
# [US18] Controle de membros pela comunidade
Épico: Cadastro e perfis/comunidades
Prioridade: Must
Eu como: Usuário administrador da comunidade.
Desejo: Controlar quem tem acesso a comunidade.
Para que eu possa: Adicionar e remover pessoas na comunidade.
Critérios de aceitação:
- Botão de adicionar e remover pessoas no perfil da comunidade
- Botão para permitir ou negar solicitação de participação
- Administrador seleciona permissão dos dados
- Administrador adiciona permissão ao usuário que está na comunidade
# [US19] Definição de membros administradores das comunidades
Épico: Permissionamento e controle de acesso
Prioridade: Must
Eu como: Pesquisador facilitador de uma comunidade.
Desejo: Definir os membros administradores da comunidade.
Para que eu possa: Adicionar e remover permissões de administrador para outros usuários.
Critérios de aceitação:
- Ser possível alterar permissões de usuários
- Alterações de permissões devem gerar logs
# [US20] Visualizar dados do perfil da comunidade
Épico: Cadastro e perfis/comunidades
Prioridade: Could
Eu como: Usuário.
Desejo: Visualizar os dados do perfil da comunidade.
Para que eu possa: Conhecê-la melhor
Critérios de aceitação:
- Visualizar comunidades
- Enviar solicitação de participação
# [US21] Upload de multimídias já existentes no dispositivo do usuário
Épico: Multimídia
Prioridade: Should
Eu como: Membro da comunidade.
Desejo: Fazer upload de arquivos.
Para que eu possa: Adicionar dados sobre a comunidade.
Critérios de aceitação:
- Poder escolher arquivos existentes no dispositivo
- Poder selecionar um ou mais arquivos
- Excluir, pré visualizar e adicionar arquivo
- Deve permitir a inserção de forma offline
# [US22] Solicitar apoio da equipe da cartografia social
Épico: Cadastro e perfis/comunidades
Prioridade: Must
Eu como: Membro da comunidade.
Desejo: Solicitar apoio de pesquisadores.
Para que eu possa: Receber apoio dos pesquisadores.
Critérios de aceitação:
- Deverá ter um formulário a ser preenchido pelo membro.
- O formulário deverá chegar ao pesquisador via E-mail ou Whatsapp.
# [US23] Permitir a personalização da iconografia de locais do mapa.
Épico: Delimitação de dados no mapa
Prioridade: Should
Eu como: Membro administrador da comunidade.
Desejo: Personalizar a iconografia dos locais.
Para que eu possa: Definir um ícone que irá representar um certo local ou área no mapa.
Critérios de aceitação:
- Definir um ícone para uma certa categoria
- Visualizar e alterar ícones já criados
- Enviar imagem e definir como ícone
# [US24] Permitir exportar os dados da cartografia social
Épico: Uso da aplicação offline
Prioridade: Must
Eu como: Colaborador.
Desejo: Exportar dados preenchidos por um povo ou comunidade tradicional.
Para que eu possa: Analisar os dados preenchidos pela comunidade, fazer a validação e enviar de volta para a comunidade além de utilizá-los para auxiliar na criação do fascículo.
Critérios de aceitação:
- Os dados devem ser exportados no formato json e também no formato compatível com Arcgis (kml).
- A exportação deve ser feita na api
# [US25] Permitir categorizar um ponto no mapa
Épico: Delimitação de dados no mapa
Prioridade: Must
Eu como: Usuário.
Desejo: Poder adicionar categorias a um ponto no mapa.
Para que eu possa: Filtrar, pesquisar, organizar e visualizar os pontos separados em cada categoria.
Critérios de aceitação:
- criar categoria
- visualizar categorias
- apagar categorias
- visualizar, adicionar e remover ponto de uma categoria
- editar categoria
- deve permitir categorizar de forma offline
# [US26] Permitir tirar fotos pelo aplicativo
Épico: Multimídia
Prioridade: Could
Eu como: Membro da comunidade.
Desejo: Registrar fotos com dados etnográficos de interesse da minha comunidade e associar a uma determinada localização.
Para que eu possa: Registrar a história da minha comunidade e enriquecendo com registros multimídia local.
Critérios de aceitação:
- usar a api do sistema operacional para gerar os artefatos de multimídia
- excluir, visualizar e adicionar artefato
- associar um artefato a um ponto ou área, necessariamente
- adicionar, editar e remover uma descrição ao artefato
- ter um botão para iniciar o processo de captura
- deve permitir que as fotos sejam tiradas de forma offline
# [US27] Permitir gravar vídeos pelo aplicativo
Épico: Multimídia
Prioridade: Could
Eu como: Membro da comunidade.
Desejo: Gravar vídeos com dados etnográficos de interesse da minha comunidade e associar a uma determinada localização.
Para que eu possa: Registrar a história da minha comunidade e enriquecendo com registros multimídia local.
Critérios de aceitação:
- usar a api do sistema operacional para gerar os artefatos de multimídia
- excluir, visualizar e adicionar artefato
- associar um artefato a um ponto ou área, necessariamente
- adicionar, editar e remover uma descrição ao artefato
- ter um botão para iniciar o processo de captura
- deve permitir que os vídeos sejam tiradas de forma offline
# [US28] Exibir histórico de acesso e alterações de permissões
Épico: Permissionamento e controle de acesso
Prioridade: Would
Eu como: Membro da comunidade.
Desejo: Visualizar quem e quando, acessou determinado registro na aplicação e também quem e quando, realizou mudanças de permissão em algum aspecto.
Para que eu possa: Realizar a auditoria e o controle para gerenciar o acesso à informação.
Critérios de aceitação:
- exibir para o administrador, incluindo, mas não limitado à usuário, data e objeto acessado de quem acessou determinado dado
- exibir para o administrador os dados, incluindo, mas não limitado à usuário, data e permissão alterada de quem realizou alguma operação de modificação de permissões
- poder clicar no usuário ou objeto e abrir a tela correspondente
# [US29] Exibir permissões dos usuários
Épico: Permissionamento e controle de acesso
Prioridade: Must
Eu como: Usuário administrador.
Desejo: Visualizar as permissões dos usuários.
Para que eu possa: realizar a auditoria e o controle para gerenciar o acesso à informação.
Critérios de aceitação:
- exibir para o administrador, incluindo, mas não limitado à usuário, dados de permissões
- poder clicar no usuário ou objeto e abrir a tela correspondente
# [US30] Excluir dados
Épico: Permissionamento e controle de acesso
Prioridade: Could
Eu como: Usuário administrador (comunidade).
Desejo: Poder iniciar um processo de remoção de todos os meus dados e os dados da comunidade da aplicação.
Para que eu possa: Proteger e ter controle dos meus dados.
Critérios de aceitação:
- apertar um botão para iniciar um processo de exclusão condicionado a um período de tempo, que se inicia quando este botão é pressionado
- o processo de exclusão deve gerar um alerta para que algum pesquisador entre em contato para resolver a solicitação
- caso o usuário administrador não mude de ideia, após o período de tempo todos os dados da comunidade devem ser excluídos
- poder apertar um botão para cancelar o processo de exclusão, o tempo do contador deve voltar ao tempo inicial e parar de contar
# [US31] Gravar áudio
Épico: Multimídia
Prioridade: Could
Eu como: Membro da comunidade.
Desejo: Registrar áudio que contenha informações etnográficos sobre a minha comunidade e associar a uma determinada localização.
Para que eu possa: Registrar a história da minha comunidade, enriquecendo com registros multimídia.
Critérios de aceitação:
- Usar a api do sistema operacional para gerenciar a gravação de áudio
- Excluir, visualizar e adicionar áudio
- Associar um artefato a um ponto ou área, necessariamente
- Adicionar, editar e remover uma descrição ao artefato
- Ter um botão para iniciar o processo de captura de áudio
# [US32] Permitir visualizar quem demarcou o local
Épico: Permissionamento e controle de acesso
Prioridade: Should
Eu como: Usuário.
Desejo: Conseguir identificar quem foi o autor de uma marcação de ponto ou área
Para que eu possa: Tomar conhecimento sobre quem foi o responsável por uma marcação
Critérios de aceitação:
- Exibir o nome de quem criou uma marcação
# [US33] Compartilhamento conteúdo de mídia com meios externos (Telegram, Whatsapp)
Épico: Multimídia
Prioridade: Would
Eu como: Usuário.
Desejo: Compartilhar algum conteúdo multimídia disponibilizado na aplicação para meios externos
Para que eu possa: Possa mais facilmente enviar um documento para disponibilização ou discussão em outros canais
Critérios de aceitação:
- Apresentar botão de compartilhamento integrado a API do sistema operacional em elementos multimídia
# [US34] Tutorial de Como Realizar a Marcação no Mapa
Épico: Tutorial e navegação experimental
Prioridade: Would
Eu como: Usuário.
Desejo: Realizar um tutorial sobre como realizar a marcação de pontos e áreas no mapa
Para que eu possa: Possa realizar a atividade de marcar pontos e áreas no Mapa com maior facilidade e autonomia após meu primeiro uso
Critérios de aceitação:
- Apresentar passo a passo guiado sobre como realizar a marcação
- Indicar, com informações escritas e setas, quais são as etapas necessárias para que o usuário possa realizar a marcação no mapa
- Ser apresentado na primeira vez em que o usuário fizer uso da aplicação
# [US35] Questionário para Cadastro de Pessoas da Comunidade
Épico: Cadastro e perfis/comunidades
Prioridade: Won't Have
Eu como: Usuário.
Desejo: Preencher o questionário para fazer parte da comunidade referente ao povo original do qual pertenço ou acompanho
Para que eu possa: Visualizar informações, realizar ações e fazer parte da comunidade
Critérios de aceitação:
Preencher dados do usuário a ser adicionado, como o nome, local de residência, documentos de identificação - se possuir, idade, ocupação, dentre outrosValidar se dados de cadastro já existem associados a outro membro da comunidade
Atualização
- Após reuniões de alinhamento com o cliente, foi decidido que o fluxo contemplado por essa História de Usuário não seria mais implementado, por conta da especificação dos usuários serem adicionados por administradores, sem a necessidade de um formulário de cadastro. Portanto, essa História de Usuário não será mais implementada, mas permanecerá documentada para critérios de registro e justificativa da numeração.
# [US36] Questionário para criação de uma nova comunidade
Épico: Cadastro e perfis/comunidades
Prioridade: Must
Eu como: Usuário Administrador.
Desejo: Preencher o questionário para poder criar uma nova comunidade no aplicativo.
Para que eu possa: possa visualizar informações, realizar ações e gerenciar a comunidade criada.
Critérios de aceitação:
- Preencher dados da comunidade a ser adicionada, como nome, área de localização (latitude, longitude) e descrição
- Validar se dados de cadastro já existem associados a outra comunidade
# [US37] Adicionar membros a comunidade
Épico: Cadastro e perfis/comunidades
Prioridade: Must
Eu como: Pesquisador, Membro administrador da comunidade
Desejo: Adicionar um membro cadastrado a uma determinada comunidade
Para que eu possa: Gerenciar o membro cadastrado dentro da comunidade.
Critérios de aceitação:
- Adicionar, remover membro da comunidade.
# [US38] Permitir download dos dados
Épico: Multimídia
Prioridade: Should
Eu como: Usuário.
Desejo: Realizar download dos artefatos disponibilizados na aplicação.
Para que eu possa: Visualizar os artefatos disponíveis.
Critérios de aceitação:
- Criar funcionalidade de realizar download
- Disponibilizar na aplicação que possa realizar a ação de download
# Referências
- [Ebrary] Young, Ralph. Requirements Engineering Handbook. Norwood, US: Artech House Books, 2003.
- [Open Access] Leite, Julio Cesar Sampaio do Prado. Livro Vivo - Engenharia de Requisitos. http://livrodeengenhariaderequisitos.blogspot.com.br/ (último acesso:
# Versionamento de edições desta página
Data | Autor | Descrição | Versão |
---|---|---|---|
30/08/2021 | Lorrany e Leonardo | Criação da página e dos textos descritivos, adição de algumas referências & inserção das US's | 0.1 |
01/08/2021 | Lorrany, Leonardo, Elias | Organização das US's e da Tabela do Product Backlog | 0.2 |