Sobre | Tecnologias | Equipe | Entregas | Backlogs | Links | Versionamento | Gif |
Esta é uma iniciativa de desenvolvimento de um software que visa facilitar a gestão de equipes multidisciplinares envolvidas em projetos complexos, planejado para uma empresa parceira do ramo armamentista, que tradicionalmente utiliza metodologias estabelecidas na Gestão de Projetos e Engenharia de Sistemas, incluindo o uso do conceito do IPDT (Integrated Product Development Team) e do WBS (Work Breakdown Structure), que organizam equipes multidisciplinares para desenvolver projetos.
Inicialmente, um projeto é dividido em partes menores, até o nível de subsistemas. Cada subsistema é designado a um responsável técnico chamado RIPDT (Responsável por IPDT), que atua como gestor de projeto. Os RIPDTs recebem pacotes de trabalho e prazos para cumprir. Eles são responsáveis por negociar equipes de trabalho, planejar atividades, acompanhar o progresso do trabalho e relatar o status do desenvolvimento em reuniões mensais de acompanhamento.
No entanto, o processo atual de preenchimento de documentos necessários para cada etapa do processo é manual, com documentos dispersos em diferentes arquivos, como planilhas Excel. O desafio proposto é desenvolver um "Software para Gestão de Times de Projetos Complexos" que automatize todo o trabalho de gerenciamento de equipes integradas. Esse software estaria acessível por meio de um portal na intranet da empresa, facilitando o acompanhamento e a gestão de projetos complexos que estão em desenvolvimento.
Função | Foto | Nome | GitHub | |
---|---|---|---|---|
Backend Dev | Aline C. Correa Costa | GitHub | ||
Scrum Master | Augusto Henrique Buin | GitHub | ||
Backend Dev | Bruno Denardo | GitHub | ||
Frontend Dev | Felipe Augusto Graciano | GitHub | ||
Frontend Dev | José V. H. Lopes de Souza | GitHub | ||
Backend Dev | Matheus Fernando Vieira de Melo | GitHub | ||
Frontend Dev | Murilo Henrique Sangi da Silva Lima | GitHub | ||
Product Owner | Pedro Henrique Silva Almeida | GitHub | ||
Frontend Dev | Renan Souza Neves | Github | ||
Frontend Dev | Vinicius de Oliveira Laranjeiro | GitHub |
O projeto tem por base a metodologia ágil SCRUM, por isso foi separado em 4 entregas com sprints de 21 dias de duração cada uma.
A versão atual do projeto é a 3.0, equivalente à entrega da 3ª Sprint.
Sprint | Requisitos | User Story |
---|---|---|
01 | Cadastro de Projeto | Eu como gerente desejo criar novos projetos diretamente no sistema, a fim de não depender de arquivos excel para o mesmo |
01 | Listagem de Projetos | Eu como gerente desejo vizualizar os projetos já cadastrados para ter acesso a suas informações |
01 | Visualização geral do projeto | Eu como gerente/líder desejo poder visualizar os dados de todos subníveis do projeto, a fim de ter um acesso mais detalhado de como está o projeto |
01 | Alteração dos dados do projeto | Eu como engenheiro/líder desejo poder editar os dados do projeto antes de sua inicialização, a fim de corrigir possíveis erros e fazer melhorias antes de sua inicialização |
01 | Inserção de atividades | Eu como engenheiro/líder desejo poder inserir atividades nos pacotes/subpacotes de trabalho, a fim de contribur com as métricas do projeto |
01 | Listagem de atividades | Eu como engenheiro/líder desejo vizualizar as micro atividades de cada pacote/subpacote de trabalho, a fim de poder acompanhar o desenvovimento do projeto |
01 | Alteração dos dados da atividade | Eu como engenheiro/líder desejo poder editar as micro atividades do projeto antes de sua inicialização, a fim de corrigir possíveis erros e fazer melhorias antes de sua inicialização |
02 | Inicialização do projeto | Eu como engenheiro chefe desejo poder inicializar o projeto, a fim de começar seu desenvolvimento |
02 | cálculo Valor/hora estimados | Eu como engenheiro/líder desejo poder visualizar os valores e as horas de todos subníveis do projeto, a fim de planejar melhor a linha base do conograma |
02 | Leitura de arquivo Excel com partes do projeto em diferentes subniveis | Eu como gerente/engenheiro desejo poder fazer o upload de arquivos excel contendo a estrutura do projeto (com subníveis), a fim de automatizar esse processo, e após essa leitura e estruturação, deve ser possível a edição do mesmo |
02 | Definir linha base do cronograma (Planejar o avanço do projeto) | Eu como engenheiro chefe desejo poder fazer o planejamento do avanço do projeto, a fim de organizar melhor o desenvolvimento |
02 | Salvamento do progresso (tasks e IPDT) | Eu como líder desejo poder salvar o progresso do pacote de trabalho, a fim de contribuir com as métricas do projeto |
03 | Exibir gráfico planejado x executado "S" | Eu como gerente/engenheiro/líder desejo que o sistema exiba um gráfico com o avanço do projeto (curva "S", planejado x executado), a fim de vizualizar de forma mais simplificada o andamento do projeto |
03 | Geração de um arquivo excel com o status de avanço em cada subnível do projeto | Eu como engenheiro/líder desejo poder gerar um arquivo excel contendo os status do avanço de cada subnível do projeto, a fim de facilitar o compartilhamento desse arquivo |
03 | Cadastro de usuário | Eu como Gerente/Engenheiro desejo poder cadastrar novos usuários, a fim fornecer acesso às funcionalidades do sistema aos colaboradores envolvidos no projeto |
03 | Listagem de usuário | Eu como Gerente/Engenheiro desejo poder desejo visualizar os usuários já cadastrados, para ter acesso a suas informações |
03 | Alteração dos dados do usuário | Eu como Gerente/Engenheiro desejo poder alterar os dados do usuário, a fim de poder gerenciar o mesmo |
04 | Diferentes níveis de acesso | Eu como gerente desejo que o sistema tenha diferentes níveis de acesso, a fim de restringir o acesso dos usuários de acordo com seu papel |
04 | Atribuição | Eu como Engenheiro Chefe/Gerente desejo atribuir pacotes de trabalho e projetos a diferentes líderes de projeto e Engenheiros chefe, a fim de poder avançar com o progresso normalmente |
Requisitos | Critérios de Aceitação |
---|---|
Cadastro de Projeto | 1 - Deve haver uma página com o formulário de cadastro para o projeto. 2 - Nesse formulário devem conter os seguintes campos: título, descrição, valor/hora de trabalho e estrutura wbs. 3 - Somente o título deve ser obrigatório. 4 - Tudo o que é inserido nesse formulário deverá ser guardado em um banco no banco de dados. 5 - Todas as páginas devem estar estilizadas |
Listagem de Projetos | 1 - Deve haver uma página home que liste todos os projetos. 2 - No "card" de cada projeto devem ser exibidas as seguintes informações: título, progresso, engenheiro chefe responsável e descrição. 3 - Todas as páginas devem estar estilizadas |
Visualização geral do projeto | 1 - Ao clicar em um projeto, deve haver uma página que exiba uma tabela com a estrutura wbs do projeto inteiro. 2 - Nessa mesma tabela, devem haver os campos de orçamento (valor total), hora/homem, descrição, nível e atribuição. 3 - Todas as páginas devem ser estilizadas |
Alteração dos dados do projeto | 1 - Na tabela que contém todos os dados do projeto, os campos de hora/homem, atribuição e valor/hora devem ser editáveis. 2 - Deve haver uma tabela editavél somente com a estrutura wbs do projeto, além da estrutura, nessa tela deverá ser possível atualizar a descrição também. 3 - Todos os dados devem ser persistidos em um banco de dados. 4 - Todas as páginas devem ser estilizadas |
Inserção de atividades | 1 - Ao clicar em um pacote/subpacote de trabalho, deve redirecionar para a respectiva página de atividades daquele pacote/subpacote. 2 - Não deve ser inserida em pacotes de trabalho que contém subpacotes, mas sim em seus subpacotes. 3 - Na tabela de atividades, devem haver os seguintes campos de inserção: prazo, peso, descrição, execução e resultado esperado. 4 - Apenas a descrição deve ser obrigatória. 5 - Todos os dados devem ser persistidos em um banco de dados. 6 - Todas as páginas devem ser estilizadas |
Listagem de atividadess | 1 - Ao clicar em um pacote/subpacote de trabalho deve haver uma página que liste todos as atividades do mesmo. 2 - Nessa listagem devera ter os seguintes campos da atividade: Id, descrição, resultado esperado, execução, peso e previsão. 3 - Todas as páginas devem estar estilizadas |
Alteração dos dados da atividade | 1 - A tabela de atividades deve ser editável. 2 - Deve ser permitido alterar/deletar todos os dados da atividade, exceto a descrição, que pode ser alterada mas nunca pode ser nula. 3 - Todos os dados devem ser persistidos em um banco de dados. 4 - Todas as páginas devem ser estilizadas |
Requisitos | Critérios de Aceitação |
---|---|
Inicialização do projeto | 1 - Deve ser possível iniciar o projeto. 2 - Com o projeto iniciado, na visualização geral do projeto, no lugar do botão de iniciar, deve haver uma barra indicando o progresso do projeto, e o mesmo deve ser feito na listagem de projeto. O "card" de projeto também deve indicar seu progresso. 3 - Ao iniciar um projeto, não deve ser possível editar os seguintes campos: estrutura wbs, título e descrição. 4 - Todos os dados devem ser persistidos em um banco de dados |
cálculo Valor/hora estimados | 1 - Deve haver um campo que exiba o valor, as horas estimadas no subpacote, e o valor do material, no pacote de trabalho e no projeto. 2 - O cálculo do valor estimado deve ser feito automaticamente pelo software, a partir dos dados inseridos (Valor hora trabalhada * estimativa de horas + valor material). 3 - Os valores devem se atribuir automaticamente. Para o pacote de trabalho com subpacotes, o valor e as horas estimadas do pacote de trabalho devem ser a soma de seus subpacotes. Para o pacote de trabalho sem subpacotes, basta fazer o cálculo diretamente. Para o projeto, deve-se somar todos os pacotes de trabalho. 4 - Todas as páginas devem ser estilizadas |
Leitura de arquivo Excel com partes do projeto em diferentes subníveis | 1 - Deve ser possível fazer o upload de um arquivo Excel. 2 - O sistema deve conseguir ler a estrutura wbs do arquivo Excel, identificando todos os seus subníveis. 3 - Após a leitura, o sistema deve, automaticamente, gerar a estrutura wbs do arquivo, e permitir sua edição no software. 4 - Todos os dados devem ser persistidos em um banco de dados |
Definir linha base do cronograma (Planejar o avanço do projeto) | 1 - Deve haver uma tela com todos os níveis do projeto na vertical (sem micro atividades), e uma linha do tempo (em meses) na horizontal. 2 - Devem haver campos editáveis para a inserção da estimativa de progresso de cada subnível em determinado mês. 3 - Todos os dados devem ser persistidos no banco de dados. 4 - Todas as telas devem ser editáveis |
Salvamento do progresso (Tasks e IPDT) | 1 - Na tabela de atividades, após o início do projeto, deve ser possível salvar o progresso ao finalizar uma atividade. 2 - De acordo com o peso da atividade que foi salva como finalizada, deve-se aumentar o progresso de seu pacote/subpacote de trabalho, que por sua vez, deve aumentar o progresso do projeto. 3 - Uma vez que a tarefa foi marcada como executada, não deve ser possível editá-la. 4 - O aumento do progresso sempre deve ser proporcional ao peso da atividade, e seguir hierarquia Subpacote <- Pacote <- Projeto. 5 - Todos os dados devem ser persistidos em um banco de dados |
Requisitos | Critérios de Aceitação |
---|---|
Exibir gráfico planejado x executado "S" | 1 - Deve haver uma tela que exiba um gráfico de curva "S", com base no planejamento (cronograma de estimativas) e no progresso real do projeto. 2 - Na vertical deve haver uma listagem de todos os subníveis do projeto, permitindo a filtragem do gráfico, para exibição específica de cada subnível do projeto. 3 - Na horizontal, deve haver todos os meses estimados da duração do projeto, permitindo a filtragem do gráfico, para exibição específica de cada mês do projeto |
Geração de um arquivo excel com o status de avanço em cada subnível do projeto | 1 - Deve haver um botão com a opção de gerar um arquivo Excel com o status de avanço em cada nível do projeto. 2 - Nesse Excel gerado, verticalmente deve haver a listagem de todos os níveis do projeto e, horizontalmente, todos os meses, bem como a porcentagem de avanço em cada nível. 3 - O arquivo gerado deve estar organizado e alinhado, com as celular respeitando o tamanho do texto |
Cadastro de usuários | 1 - Deve haver uma página onde seja possível cadastrar novos usuários. 2 - Nesse cadastro deve haver os seguintes campos: Nome completo, Email, CPF, Senha, Confirmação de Senha, Telefone e Cargo. 3 - Todas as páginas devem ser estilizadas. 4 - Todos os dados devem ser persistidos em um banco de dados |
Listagem de usuários | 1 - Deve haver uma página que liste todos os usuários. 2 - Ao clicar em um usuário, todas suas informações devem ser exibidas. 3 - Todas as páginas devem estar estilizadas |
Alteração dos dados do usuário | 1 - Deve haver uma página, no qual seja possível a edição/exclusão do usuário. 2 - Todas as páginas devem ser estilizadas. 3 - Todos os dados devem ser persistidos em um banco de dados |
Requisitos | Critérios de Aceitação |
---|---|
Diferentes níveis de acesso | 1 - Gerente: O Gerente será o super usuário do software, tendo acesso a todos os dados e todas as funcionalidades do sistema. 2 - Engenheiro chefe: O Engenheiro Chefe terá acesso a todas as funcionalidades e informações dos projetos que ele está trabalhando (vale ressaltar que a criação e exclusão do projeto se restringem apenas ao gerente). 3 - Líder de pacote de trabalho: Os líderes de pacote de trabalho terão acesso a todas as informações do projeto e quase todas as funcionalidades referentes ao projeto que estão trabalhando. Suas funcionalidades incluem: Editar a tabela de pacotes de trabalho por completa, editar a tabela de atividades por completa, Preencher e editar a tela de planejamento e editar a estrutura wbs antes do início do projeto. Resumidamente são todas as funcionalidades do engenheiro chefe com exceção da inicialização do projeto. 4 - Analista: O Analista pode somente VISUALIZAR todas as informações do projeto que ele está trabalhando. 5 - Deve haver uma tela de login, na qual o usuário consiga acessar o site através de sua matrícula e senha. 6 - Ao acessar o site, as informações e funcionalidades devem ser filtradas de acordo com o usuário logado. 7 - Todos os dados devem ser persistidos em um banco de dados. 8 - Todas as telas devem ser estilizadas |
Atribuição | 1 - Na tabela de atividades, deve haver uma coluna na qual seja possível atribuir um grupo de trabalho àquela atividade. 2 - No cadastro do projeto e na tabela dos pacotes de trabalho devem existir campos nos quais seja possível atribuir um engenheiro chefe àquele projeto. 3 - Na tabela dos pacotes de trabalho deve haver campos nos quais sejam possíveis atribuir líderes de pacote de trabalho à cada pacote de trabalho. 4 - Deve haver um campo no qual seja possível atribuir analistas àquele projeto. 5 - Um engenheiro chefe deve poder estar atribuído a mais de um projeto. 6 - Um líder de pacote de trabalho deve poder estar atribuído a mais de um pacote e atuando em diferentes projetos. 7 - Um analista deve poder estar atribuído a mais de um projeto. 8 - Um grupo de trabalho pode estar atribuído a mais de uma atividade e a mais de um projeto. 9 - Todos os dados devem ser persistidos em um banco de dados. 10 - Todas as telas devem ser estilizadas. |