Ferramenta web para gerenciamento de projetos de software baseado no...

Post on 19-Nov-2020

1 views 0 download

Transcript of Ferramenta web para gerenciamento de projetos de software baseado no...

Ferramenta web para Ferramenta web para gerenciamento de projetos de gerenciamento de projetos de software baseado no Scrumsoftware baseado no Scrumsoftware baseado no Scrumsoftware baseado no Scrum

Aluna: Vanessa de MelloOrientador: Everaldo Artur Grahl

Roteiro da apresentaçãoRoteiro da apresentação

� Introdução

� Objetivos do trabalho

� Fundamentação teórica

� Desenvolvimento

RequisitosRequisitos

Especificação

Implementação

Operacionalidade

Resultados e Discussão

� Conclusão

Dificuldades

IntroduçãoIntrodução

� As empresas precisam de um método flexível, que permita alterações durante o andamento de um projeto, tornando necessário a criação de um sistema que se adapte a esse método.

� A partir deste cenário, criou-se uma ferramenta baseada no método ágil Scrum, permitindo aos envolvidos no projeto um maior controle sobre o mesmo.

ObjetivosObjetivos do do TrabalhoTrabalho

� desenvolver uma ferramenta para gerenciamento de projetos de software baseado no método ágil Scrum;

� definir as atividades básicas necessárias para um projeto baseado no Scrum;

� definir artefatos de gerência de projetos a serem usados na ferramenta.

Fundamentação Teórica: conceitos Fundamentação Teórica: conceitos básicosbásicos

� Scrum: método ágil que se atém ao desenvolvimento e planejamento do projeto;

� nem todas as características do software são conhecidas na etapa de análise, os requisitos conhecidas na etapa de análise, os requisitos serão alterados durante a implementação;

� a equipe deve trabalhar como uma unidade para atingir seus objetivos;

Fundamentação Teórica: conceitos Fundamentação Teórica: conceitos básicosbásicos

Funcionamento do ciclo do Scrum

Fundamentação Teórica: conceitos Fundamentação Teórica: conceitos básicosbásicos

� Sprint é uma iteração do ciclo, e entrega de uma parte do software pronto;

� Product backlog é um conjunto de requisitos, � Product backlog é um conjunto de requisitos, determinado e priorizado pelo Product Owner;

� Sprint backlog é a divisão dos itens levantados no product backlog em tarefas;

Fundamentação Teórica: conceitos Fundamentação Teórica: conceitos básicosbásicos

� Reunião de planejamento é uma reunião onde são definidos os backlogs de uma sprint;

� Reunião diária é uma breve reunião, onde todos os � Reunião diária é uma breve reunião, onde todos os envolvidos falam sobre o progresso da tarefa, a tarefa que irá fazer ou se tem algum problema;

� Reunião de revisão é a reunião que ocorre após o final da sprint, e onde são demonstradas novas funcionalidades do software;

Fundamentação Teórica: conceitos Fundamentação Teórica: conceitos básicosbásicos

� Reunião de retrospectiva ocorre após a reunião de revisão e antes da próxima reunião de planejamento. Nessa reunião são revisadas as técnicas utilizadas na sprint;

� Papéis do Scrum:

Scrum Master: gerencia os processos

Product Owner: dono do produto

Scrum Team: pessoas responsáveis por desenvolver o produto.

Trabalhos CorrelatosTrabalhos Correlatos

� Ambiente web para gerenciamento de processo de software baseado no Scrum.

TrabalhosTrabalhos CorrelatosCorrelatos

• Project Koach: ferramenta gratuita para gerência de projetos baseado no processo OpenUp.

TrabalhosTrabalhos CorrelatosCorrelatos

� Mingle: ferramenta para gerência de projetos, desenvolvida pela empresa americana ThoughtWorks.

TrabalhosTrabalhos CorrelatosCorrelatos

� Scrum Project: ferramenta web de apoio ao gerenciamento de projetos de software baseado nos princípios da metodologia ágil scrum.

Desenvolvimento: Requisitos Desenvolvimento: Requisitos FuncionaisFuncionais

� permitir ao scrum master o cadastro das pessoas envolvidas no projeto;

� permitir ao scrum master o cadastro de empresas;� permitir ao scrum master o cadastro de empresas;

� permitir ao scrum master o cadastro de projetos;

� permitir ao scrum master o cadastro das sprintsrealizadas;

Requisitos FuncionaisRequisitos Funcionais

� permitir ao scrum master a definição e realização das tarefas de cada projeto, podendo definir prioridades para as mesmas;

permitir ao product owner o cadastro dos requisitos � permitir ao product owner o cadastro dos requisitos do projeto (backlogs), definindo prioridades entre os mesmos;

� permitir o envio de e-mail a algum usuário cadastrado;

Requisitos FuncionaisRequisitos Funcionais

� possuir um controle das tarefas por usuário, listando as tarefas pendentes para o dia atual;

� permitir ao scrum team a documentação dos itens � permitir ao scrum team a documentação dos itens levantados e discutidos nas reuniões diárias, incluindo tarefas a fazer e problemas relatados;

� permitir ao product owner a emissão de um relatório de acompanhamento de tarefas pendentes, para manter o controle dos prazos;

Requisitos FuncionaisRequisitos Funcionais

� permitir ao product owner acesso aos dados para acompanhar o andamento do cronograma de um projeto;

� permitir ao product owner a geração de um relatório sobre problemas identificados durante o andamento do projeto;

� permitir ao scrum master o cadastro dos times que fazem parte do projeto;

Requisitos FuncionaisRequisitos Funcionais

� permitir ao scrum master o cadastro das reuniões de retrospectiva;

� permitir ao scrum master o cadastro das reuniões � permitir ao scrum master o cadastro das reuniões de revisão;

� permitir ao scrum team o cadastro das reuniões diárias.

Requisitos Não FuncionaisRequisitos Não Funcionais

� ser desenvolvido na linguagem C#;

� utilizar banco de dados MySQL 4.1 ou posterior;

� o sistema deve ser compatível com o sistema operacional Windows 98 ou posterior;

� utilizar web service para conexão com o banco de dados;

Requisitos Não FuncionaisRequisitos Não Funcionais

� o sistema deve ser desenvolvido através da ferramenta Microsoft Visual Studio 2008;

� utilizar a ferramenta Microsoft Expression Blend � utilizar a ferramenta Microsoft Expression Blend para desenho das telas;

� utilizar a ferramenta Microsoft Silverlight para auxílio no desenvolvimento.

Especificação: Técnicas e Especificação: Técnicas e ferramentas utilizadasferramentas utilizadas

� A especificação foi realizada a partir da ferramenta Enterprise Architect, utilizando a linguagem de modelagem Unified Modeling Language (UML).

� Para a modelagem foram utilizados os diagramas de casos de uso, classe, atividade e entidade-relacionamento.

Diagrama de caso de uso Diagrama de caso de uso AdministrativoAdministrativo

DiagramaDiagrama de de casocaso de de usouso ProjetosProjetos

DiagramaDiagrama de classesde classes

Implementação: Técnicas utilizadasImplementação: Técnicas utilizadas

� Microsoft Visual Studio 2008: ambiente para desenvolvimento das rotinas;

� MySQL: banco de dados;

� Microsoft Silverlight: ferramenta de auxílio no desenvolvimento de páginas web. Foi utilizado juntamente com o Visual Studio, para criação da ferramenta desenvolvida.

Implementação: Técnicas utilizadasImplementação: Técnicas utilizadas

� Microsoft Expression Blend: ferramenta para criação de sites.

CódigoCódigo fontefonte

� Envio de e-mails:

CódigoCódigo fontefonte

� Cadastro de pessoas, utilizando web service:

OperacionalidadeOperacionalidade dada implementaçãoimplementação

� Cadastro de projetos:

Operacionalidade da implementaçãoOperacionalidade da implementação

� Cadastro das sprints:

Operacionalidade da implementaçãoOperacionalidade da implementação

� Cadastro de product backlog:

Operacionalidade da implementaçãoOperacionalidade da implementação

� Cadastro de sprint backlog:

Operacionalidade da implementaçãoOperacionalidade da implementação

� Tarefas pendentes:

Resultados e DiscussãoResultados e Discussão

� a ferramenta permite o controle da realização das atividades básicas necessárias para controle de um projeto baseado em Scrum;

� permite que o desenvolvimento do projeto possa � permite que o desenvolvimento do projeto possa responder rapidamente às mudanças, reduzindo o impacto das mesmas;

� contempla os principais artefatos da metodologia ágil Scrum, tais como Product Backlog, Sprint Backlog, controle das reuniões diárias, de revisão e retrospectiva.

ResultadosResultados e e DiscussãoDiscussão

Funcionalidades / Características

Ferramenta proposta

Dot Project Project Koach Scrum Project Mingle

cadastro de times sim não sim sim não

cadastro do product backlog

sim sim não sim sim

cadastro de sprints

sim sim sim sim sim

cadastro de sprints backlog

sim sim sim sim sim

envio de e-mails sim não não não não

registro de reuniões diárias

sim sim não sim sim

registro de registro de reuniões de retrospectiva

sim não não sim não

registro de reuniões de revisão

sim não não sim sim

relatório de tarefas pendentes

sim sim não não não

relatórios estatísticos

sim sim não sim não

plataforma web sim sim não sim sim

língua portuguesa sim sim não sim não

integração com ferramentas de controle

não não não não sim

gráfico de Burndown

não não não não sim

ConclusãoConclusão

� A ferramenta incorpora os principais artefatos do Scrum, e conseguiu atingir os objetivos propostos inicialmente.

� O cliente poderá acompanhar o andamento do � O cliente poderá acompanhar o andamento do cronograma e verificar se os requisitos estão sendo implementados conforme definidos.

� Verificou-se que existem aplicações similares à ferramenta proposta, mas as ferramentas Mingle e Project Koach estão baseadas em metodologias mas não especificamente no Scrum.

ConclusãoConclusão

� Em relação à ferramenta do Pereira (2005), pode-se afirmar que é uma adaptação de uma ferramenta já existente, porém não possui integração com outras ferramentas de gerência de projetos.

� Uma sugestão de extensão para a ferramenta seria a inclusão do gráfico de Burndown Chart, que é uma representação gráfica das tarefas. O gráfico permite o acompanhamento da evolução das tarefas, e mostra quanto do trabalho ainda precisa ser feito.

DificuldadesDificuldades

� Falta de conhecimento na ferramenta Microsoft Silverlight. Foi necessário muita pesquisa para entender o funcionamento da ferramenta, e com isso se perdeu muito tempo.isso se perdeu muito tempo.