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

38
Ferramenta web para Ferramenta web para gerenciamento de projetos de gerenciamento de projetos de software baseado no Scrum software baseado no Scrum Aluna: Vanessa de Mello Orientador: Everaldo Artur Grahl

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

Page 1: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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

Page 2: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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

Page 3: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.

Page 4: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.

Page 5: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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;

Page 6: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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

Funcionamento do ciclo do Scrum

Page 7: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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;

Page 8: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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;

Page 9: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.

Page 10: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

Trabalhos CorrelatosTrabalhos Correlatos

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

Page 11: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

TrabalhosTrabalhos CorrelatosCorrelatos

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

Page 12: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

TrabalhosTrabalhos CorrelatosCorrelatos

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

Page 13: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

TrabalhosTrabalhos CorrelatosCorrelatos

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

Page 14: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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;

Page 15: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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;

Page 16: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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;

Page 17: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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;

Page 18: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.

Page 19: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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;

Page 20: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.

Page 21: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.

Page 22: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

Diagrama de caso de uso Diagrama de caso de uso AdministrativoAdministrativo

Page 23: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

DiagramaDiagrama de de casocaso de de usouso ProjetosProjetos

Page 24: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

DiagramaDiagrama de classesde classes

Page 25: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.

Page 26: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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

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

Page 27: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

CódigoCódigo fontefonte

� Envio de e-mails:

Page 28: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

CódigoCódigo fontefonte

� Cadastro de pessoas, utilizando web service:

Page 29: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

OperacionalidadeOperacionalidade dada implementaçãoimplementação

� Cadastro de projetos:

Page 30: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

Operacionalidade da implementaçãoOperacionalidade da implementação

� Cadastro das sprints:

Page 31: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

Operacionalidade da implementaçãoOperacionalidade da implementação

� Cadastro de product backlog:

Page 32: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

Operacionalidade da implementaçãoOperacionalidade da implementação

� Cadastro de sprint backlog:

Page 33: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

Operacionalidade da implementaçãoOperacionalidade da implementação

� Tarefas pendentes:

Page 34: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.

Page 35: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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

Page 36: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.

Page 37: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.

Page 38: Ferramenta web para gerenciamento de projetos de software baseado no Scrumcampeche.inf.furb.br/tccs/2010-I/TCC2010-1-23-AP-Vanessa... · 2010. 7. 19. · envolvidos no projeto um

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.