Este documento compara ferramentas em software livre para gestão ágil de projetos de desenvolvimento de software. Resume os principais recursos e funcionalidades do XPlanner-Plus, Agilefant e Scrumdo, incluindo planejamento de projetos, gestão de backlogs, gráficos e métricas. Conclui que essas ferramentas oferecem funcionalidades semelhantes, mas com algumas particularidades em cada uma.
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Estudo de ferramentas em Software Livre para gestão ágil de projetos de desenvolvimento de software.
1. ESTUDO DE FERRAMENTAS EM
SOFTWARE LIVRE PARA GESTÃO
ÁGIL DE PROJETOS DE
DESENVOLVIMENTO DE SOFTWARE
Trabalho de conclusão do curso Lato Sensu em
Desenvolvimento de Sistemas em Software Livre
da Universidade Católica de Brasília.
Aluna: Keila Rosegela Parreira de Freitas
Orientador: José Adalberto Facanha Gualeve
23/08/2011
2. INTRODUÇÃO
Atualmente nota-se uma busca
23/08/2011
incessante das organizações no uso
de métodos ágeis e melhores
práticas de gerenciamento de
projetos.
É cada vez mais comum a presença
de metodologias ágeis no mercado
de desenvolvimento de software.
2
3. INTRODUÇÃO
23/08/2011
Porém o controle de vários projetos utilizando-se apenas
quadro de tarefas, planilhas de texto e post-its acaba por
tornar complicado uma tarefa que requer maior clareza e
fluência possível. O gerente de projetos, além de possuir
habilidades e conhecimentos, deve também utilizar 3
ferramentas que dão apoio às suas atividades.
4. OBJETIVOS
Com o intuito de apresentar soluções
23/08/2011
disponíveis para contornar este
problema, pretende-se neste trabalho
comparar algumas ferramentas open
source para gerenciamento ágil de
projetos, facilitando a adoção de
software livre para suporte a gestão
ágil de projetos de desenvolvimento
de software.
4
6. ENGENHARIA DE SOFTWARE E
GESTÃO DE PROJETOS
ENGENHARIA
23/08/2011
“Arte de aplicar os conhecimentos científicos à invenção, aperfeiçoamento ou
utilização da técnica industrial em todas as suas determinações”. (Michaellis)
ENGENHARIA DE SOFTWARE
É uma disciplina de engenharia relacionada com todos os aspectos da
produção de software, desde os estágios iniciais de especificação dos sistema
até sua manutenção.
GESTÃO DE PROJETOS
É uma parte essencial da engenharia de software, que aumenta a probabilidade de 6
sucesso do projeto, ou seja, software entregue com qualidade, na data acordada e com
recursos planejados.
7. METODOLOGIAS ÁGEIS PARA GESTÃO DE
PROJETOS DE SOFTWARE
23/08/2011
Os métodos ágeis surgiram no início da década de 90, em
decorrência da insatisfação dos profissionais de
desenvolvimento de software, com a rigidez e resultados
limitados obtidos através do uso de práticas tradicionais de
gestão de projetos.
Uma metodologia pode ser dita ágil quando efetua o
desenvolvimento de software de forma incremental,
colaborativa, direta e adaptativa (ABRAHAMSSON, 2002).
7
8. METODOLOGIAS ÁGEIS PARA GESTÃO DE
PROJETOS DE SOFTWARE
Manifesto ágil
23/08/2011
Indivíduos e Ao invés de Processos e
interações ferramentas
Software Ao invés de Documentação
funcionando abrangente
Colaboração com o Ao invés de Negociação de
cliente contratos
Responder a Ao invés de Seguir um plano
mudanças
8
10. METODOLOGIAS ÁGEIS PARA GESTÃO DE
PROJETOS DE SOFTWARE
23/08/2011
Métodos ágeis são às vezes chamados de métodos leves,
especificamente porque eles são menos prescritivos que os
métodos tradicionais, ou seja, possuem menos regras a
serem seguidas. Vale ressaltar que o primeiro princípio do
manifesto ágil é “Indivíduos e Interações ao invés de
Processos e Ferramentas” (KNIBERG; SKARIN, 2009).
Os processos ágeis buscam evitar desperdício de energia e
focar o trabalho na entrega de valor ao cliente.
O processo XP e o estilo de gerenciamento Scrum são
algumas das principais metodologias ágeis em uso na
comunidade de TI.
10
11. EXTREME PROGRAMMING - XP
XP é um método leve para que equipes
23/08/2011
pequenas ou médias desenvolvam software
em face a requisitos vagos ou que mudem
constantemente.
Seu principal objetivo é o desenvolvimento
de software com qualidade, por meio de
um estilo de desenvolvimento focado nas
melhores práticas de programação,
comunicação clara e trabalho em equipe
(TELES, 2005).
11
12. EXTREME PROGRAMMING - XP
O XP é baseado em cinco valores, alguns princípios e várias práticas.
23/08/2011
Valores Princípios Práticas
• Feedback • Pequenos passos • Cliente Presente
• Comunicação • Qualidade • Programação em
• Coragem • Melhoria par
• Simplicidade • Responsabilidade • Código coletivo
• Respeito aceita • Integração
• Reflexão contínua
• Fluxo • Releases curtos
• ... • Refatoração
• Teste
• ...
12
14. SCRUM
Scrum é um framework dentro do qual podemos empregar
23/08/2011
diversos processos e técnicas. O papel do Scrum é fazer
transparecer a eficácia relativa das práticas de
desenvolvimento para que possamos melhorá-las, enquanto
provê um framework dentro do qual produtos complexos podem
ser desenvolvidos (SCHWABER, 2009).
Scrum, que é fundamentado na teoria de controle de processos
empíricos, emprega uma abordagem iterativa e incremental
para otimizar a previsibilidade e controlar riscos.
Três pilares sustentam qualquer implementação de controle de
processos empíricos: transparência, inspeção e adaptação 14
(SCHWABER, 2009).
15. SCRUM
23/08/2011
15
Fonte: Scrum – O tutorial definito.
16. FERRAMENTAS EM SOFTWARE LIVRE PARA
GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
23/08/2011
Atualmente existe uma ampla variedade de
softwares livres e comerciais para gerenciamento ágil
de projetos. Este artigo compara somente
ferramentas open source e priorizou pela escolha de
projetos em desenvolvimento ativo, que
demonstraram o uso significativo, considerando uma
combinação de volume de download, atividades de
discussão e quantidade de referências para a
ferramenta na internet.
As ferramentas escolhidas foram: XPlanner-Plus,
Agilefant e Scrumdo.
16
17. XPLANNER-PLUS
O XPlanner-Plus é uma ferramenta open source baseada na web
23/08/2011
de planejamento e acompanhamento de projetos para equipes de
desenvolvimento ágil, disponível sob licença LGPLv3.
Baseado no software Xplanner, uma das primeiras ferramentas
web para gestão ágil de projetos.
É implementado usando Java, JSP, Struts, Hibernate, MySQL ou
PostgreSQL, JasperReports, dentre outros (XPLANNER, 2011).
17
18. XPLANNER-PLUS
Modelo simples de planejamento;
Suporte para armazenamento e monitoramento
23/08/2011
de projetos, iterações, histórias de usuário e tarefas;
Controle de histórias não concluídas;
Envio de notificações a respeito de alocação de histórias e tarefas;
Monitoramento online e geração de folha de registro de horas
individual e da equipe;
Geração de medidas (velocidade da equipe, tempo individual, entre
outras);
Geração de gráficos de velocidade da iteração, de progresso
(burndown), distribuição das tarefas, entre outras;
Disponibilidade para acrescentar notas para as histórias e tarefas
(inclusive anexos);
Visão precisa das estimativas da iteração;
Exibição da situação das histórias para desenvolvedores e clientes;
Exportação dos dados do projeto e da iteração para os formatos 18
XML, MPX (Microsoft Project) e PDF.
19. XPLANNER-PLUS
Qualquer ferramenta de acompanhamento das atividades
23/08/2011
de desenvolvimento de software pode auxiliar na
organização e planejamento das tarefas, proporcionando
maior visibilidade às pessoas que estão envolvidas.
O XPlanner-Plus se mostra muito eficiente para este fim, e
por isso deve ser considerado no momento de escolher
ferramentas de gerenciamento com este propósito.
19
20. AGILEFANT
Agilefant é uma solução simples para gerir as
23/08/2011
atividades de desenvolvimento ágil de software. Ela
reúne as perspectivas de planejamento a longo prazo,
gerenciamento de portfólio de projetos e trabalho diário.
É uma ferramenta baseada na web escrita em Java.
É bastante rica em recursos e permite a criação de
produtos, projetos, iterações, temas e estórias de
usuários, tem controle de tempo, gráfico, dentre outros.
20
22. AGILEFANT
Produtos são a construção de mais alto nível;
Cada produto pode ter um ou mais projetos (releases);
23/08/2011
Cada projeto pode ter uma ou mais iterações.
Gestão do Product backlog;
Gerenciamento de produtos;
Planejamento e controle de iterações;
Iterações são compostas de estórias, que podem consistir de
zero ou mais tarefas;
Daily Work – visão geral do trabalho de um membro da
equipe;
Visão geral da carga de trabalho por membro da equipe;
Controle de tempo e tarefas;
Portfólio de projetos;
Relatórios, gráficos burndown e métricas;
Suporte a várias equipes;
22
Suporte a vários projetos; dentre outros.
23. AGILEFANT
O AgileFant é rica em recursos, razoavelmente intuitivos e
23/08/2011
fáceis de usar. É adequada para grandes organizações e
projetos, possuindo inclusive recurso de planejamento de
portfólio de produtos.
Os pontos fracos identificados na ferramenta são: não possui
o quadro de tarefas, que dá uma visão do andamento das
tarefas na sprint atual; as estórias podem ser estimadas
apenas em horas, não em pontos; não há diferenciação entre
os papéis do usuário.
23
24. SCRUMDO
ScrumDo é uma aplicação web open source para gerenciar projetos
ágeis baseados em Scrum. Escrita em Python com framework Django.
23/08/2011
Oferece ferramentas para criar e acompanhar histórias de usuário em
projetos. Algumas características incluem geração automática de
gráficos Burndown, facilidades do tipo “arraste e solte” no
planejamento da iteração, capacidade de exportação e importação para
Excel, suporte a várias equipes Scrum, previsão para planejamento
futuro, dentre outras. (SCRUMDO, 2011).
24
25. SCRUMDO
Gestão do backlog;
Criação e gestão de iterações;
23/08/2011
Dimensionar estórias;
Gráfico BurnUp chart;
Previsões para planejamentos futuros;
Apoio às organizações;
Muitas equipes por organização;
Muitas equipes por projeto;
Muitos projetos por organização;
Múltiplas equipes trabalhando em um backlog;
Controle de estórias, tarefas e métricas;
Anexos e comentários em tarefas;
Quadro de tarefas Scrum;
Planning Poker, dentre outros.
25
26. SCRUMDO
Scrumdo é uma ferramenta criada
23/08/2011
recentemente e realmente é impressionante a
forma como detalha as estórias, iterações e
gráficos Burndowns. Simplesmente tem o que
uma boa equipe Scrum precisa de uma
ferramenta.
26
27. QUADRO COMPARATIVO
Recursos XPlanner-Plus Agilefant Scrumdo
Versão revisada v1.0b3 2.0.4 2.1
Licença LGPLv3 MIT GNU LGPL
23/08/2011
Plataforma Java, JSP Java Pyhton
Product Backlog - X X
Sprint Backlog X X X
Release Burndown - X X
Sprint Burndown X X X
Dashboard da Sprint X X X
Dashboard do - X X
Produto/Release
Planejamento da Sprint - X X
Reunião diária - - -
Revisão da Sprint - - -
Retrospectiva da Sprint - - -
Planning Poker - - X
Controle de tempo X X X
Quadro de tarefas - - - X
Taskboard 27
Relatórios X X X
Notificação por e-mail X - X
28. QUADRO COMPARATIVO
Recursos XPlanner-Plus Agilefant Scrumdo
Exportação de dados do X X X
projeto para outros formatos
23/08/2011
de arquivo
Controle de estórias e tarefas X X X
Armazenamento de estórias e X X X
tarefas
Anexar arquivos às estórias X - X
ou tarefas
Suporte a vários projetos X X X
Suporte a equipes X X X
distribuídas
Suporte a várias equipes - X X
Integração com outras - - X
ferramentas
Portfólio de projetos - X X
Trabalho diário - X -
Workload – carga de trabalho - X -
dos membros da equipe por
iteração. 28
Geração de medidas X X X
Releases do produto - X X
29. CONCLUSÃO
As ferramentas selecionadas apresentam características
bastante semelhantes em relação às suas funcionalidades,
porém, apresentam particularidades, como por exemplo:
23/08/2011
- Agilefant tem a possibilidade de gerenciar o portfólio de
produtos, disponibiliza diferentes visões do produto para
diferentes stakeholders, disponibiliza visão geral da carga de
trabalho por membro da equipe e permite o trabalho com
várias releases do produto;
- ScrumDo é totalmente voltado para equipes scrum
oferecendo gestão de todos os artefatos Scrum, possui o quadro
scrum de tarefas e excelentes dashboards do projeto e de suas
sprints;
- Xplanner-Plus possui um modelo extremamente simples
de planejamento de atividades e suporte a diferentes 29
metodologias ágeis.
30. REFERÊNCIAS BIBLIOGRÁFICAS
ABRAHAMSSON, Pekka et al. Agile software development methods: Review and analysis.
VTT Publications 478. Oulu, Finland: VTT Publications, 2002.
23/08/2011
BANKI, Luiz André; TANAKA, Sérgio. Metodologias Ágeis - Uma Visão Prática. Engenharia de
Software Magazine. Ano 1, edição 4, 2008.
BECK, K.; ANDRES, C. “Extreme Programming Explained: Embrace Change, Second Edition”
Addison-Wesley, 2a ed., 224p. 2004.
CISCON, Leonardo Aparecido. Um estudo e uma ferramenta de gerencia de projetos com
desenvolvimento ágil de software. Dissertação de mestrado em ciências da computação da UFMG.
Belo Horizonte, MG. 2009.
FALCÃO, J; JÚNIOR, T. S. F.; LEMOS, R.; MARANHÃO, J.; SOUSA, C. A. P.; SENNA, E. Estudo
sobre o Software Livre. ITI. 2005.
KNIBERG, Henrik; SKARIN, Mattias. Kanban e Scrum - obtendo o melhor de ambos . 2009.
C4Media, Editora do InfoQ.com. Versão online e gratuita disponível em <http://www.infoq.com>.
30
31. REFERÊNCIAS BIBLIOGRÁFICAS
RASCOVSKY, Igor. Engenharia de Software Clássica Vs. Programação Xp. 2006. Disponível
em: <http://www.linux.ime.usp.br/~cef/mac499-06/monografias/rec/igor/pageParte1.html>.
23/08/2011
SANTOS, Rildo. Scrum Experience – O tutorial Scrum. V.16. 2008. Disponível em:
<http://www.slideshare.net/Ridlo/scrum-experience-o-tutorial-scrum>.
SANTOS, Rildo. Scrum – O tutorial definitivo. V.2. 2011. Disponível em:
<http://www.slideshare.net/Ridlo/scrum-o-tutorial>.
SANTOS, Rodrigo Pereira et al. Analisando o desenvolvimento de software orientado a
aspectos no contexto de Extreme Programming. Artigo pulicado na revista Devmedia
Engenharia de
software magazine. Ano I - Edição 05, 2008.
SCHWABER, Ken. Guia do Scrum. Scrum Alliance. 2009.
SOMMERVILLE, I. Engenharia de Software. 8. ed. São Paulo: Pearson Addison Wesley, 2007.
TELES, Vinícius Manhães. Um Estudo de Caso da Adoção das Práticas e Valores do Extreme
Programming. Dissertação de mestrado - UFRJ, IM / DCC, 2005.
31