• Nenhum resultado encontrado

ESTUDO DE FERRAMENTAS EM SOFTWARE LIVRE PARA GESTÃO ÁGIL DE PROJETOS DE DESENVOLVIMENTO DE SOFTWARE

N/A
N/A
Protected

Academic year: 2021

Share "ESTUDO DE FERRAMENTAS EM SOFTWARE LIVRE PARA GESTÃO ÁGIL DE PROJETOS DE DESENVOLVIMENTO DE SOFTWARE"

Copied!
31
0
0

Texto

(1)

E

STUDO DE

F

ERRAMENTAS EM

S

OFTWARE

L

IVRE PARA

G

ESTÃO

Á

GIL DE

P

ROJETOS DE

D

ESENVOLVIMENTO DE

S

OFTWARE

Trabalho de conclusão do curso Lato Sensu em Desenvolvimento de Sistemas em Software Livre da Universidade Católica de Brasília.

(2)

INTRODUÇÃO

23/08/201

1

Atualmente nota-se uma busca

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.

(3)

INTRODUÇÃO

23/08/201

1

Porém o controle de vários projetos utilizando-se apenas quadro de tarefas, planilhas de texto e post-its acaba por

(4)

OBJETIVOS

23/08/201

1

Com o intuito de apresentar soluções

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.

(5)

SOFTWARE LIVRE

23/08/201

(6)

ENGENHARIA DE SOFTWARE E

GESTÃO DE PROJETOS

23/08/201 1 GESTÃO DE PROJETOS 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.

ENGENHARIA

“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)

(7)

METODOLOGIAS ÁGEIS PARA GESTÃO DE

PROJETOS DE SOFTWARE

23/08/201

1

Uma metodologia pode ser dita ágil quando efetua o desenvolvimento de software de forma incremental, colaborativa, direta e adaptativa (ABRAHAMSSON, 2002). 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.

(8)

METODOLOGIAS ÁGEIS PARA GESTÃO DE

PROJETOS DE SOFTWARE

23/08/201 1

Manifesto ágil

Indivíduos e

interações Ao invés de Processos e ferramentas Software

funcionando Ao invés de Documentaçãoabrangente Colaboração com o

cliente Ao invés de Negociação de contratos Responder a

(9)

METODOLOGIAS ÁGEIS PARA GESTÃO DE

PROJETOS DE SOFTWARE

23/08/201

(10)

METODOLOGIAS ÁGEIS PARA GESTÃO DE

PROJETOS DE SOFTWARE

23/08/201

1

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.

(11)

EXTREME PROGRAMMING - XP

23/08/201

1

XP é um método leve para que equipes

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,

(12)

EXTREME PROGRAMMING - XP

23/08/201 1 Valores • Feedback • Comunicação • Coragem • Simplicidade • Respeito Princípios • Pequenos passos • Qualidade • Melhoria • Responsabilidade aceita • Reflexão • Fluxo • ... Práticas • Cliente Presente • Programação em par • Código coletivo • Integração contínua • Releases curtos • Refatoração • Teste • ...

(13)

EXTREME PROGRAMMING - XP

23/08/201

(14)

SCRUM

23/08/201

1

Scrum é um framework dentro do qual podemos empregar

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.

(15)

SCRUM

23/08/201

(16)

F

ERRAMENTAS EM

S

OFTWARE

L

IVRE PARA

G

ERENCIAMENTO ÁGIL DE

P

ROJETOS DE

S

OFTWARE

23/08/201

1

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.

(17)

XPLANNER-PLUS

23/08/201

1

O XPlanner-Plus é uma ferramenta open source baseada na web 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).

(18)

XPLANNER-PLUS

23/08/201

1

 Modelo simples de planejamento;

 Suporte para armazenamento e monitoramento

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);

(19)

XPLANNER-PLUS

23/08/201

1

Qualquer ferramenta de acompanhamento das atividades 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.

(20)

AGILEFANT

23/08/201

1

Agilefant é uma solução simples para gerir as

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

(21)

AGILEFANT

23/08/201

(22)

AGILEFANT

23/08/201

1

 Produtos são a construção de mais alto nível;

 Cada produto pode ter um ou mais projetos (releases);  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;

(23)

AGILEFANT

23/08/201

1

O AgileFant é rica em recursos, razoavelmente intuitivos e 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.

(24)

SCRUMDO

23/08/201

1

ScrumDo é uma aplicação web open source para gerenciar projetos

ágeis baseados em Scrum. Escrita em Python com framework Django. 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).

(25)

SCRUMDO

23/08/201

1

Gestão do backlog;

Criação e gestão de iterações;

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;

(26)

SCRUMDO

23/08/201

1

Scrumdo é uma ferramenta criada

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

(27)

QUADRO COMPARATIVO

23/08/201

1

Recursos XPlanner-Plus Agilefant Scrumdo

Versão revisada v1.0b3 2.0.4 2.1

Licença LGPLv3 MIT GNU LGPL

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 Produto/Release - X X 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

(28)

QUADRO COMPARATIVO

23/08/201

1

Recursos XPlanner-Plus Agilefant Scrumdo

Exportação de dados do

projeto para outros formatos de arquivo

X X X

Controle de estórias e tarefas X X X

Armazenamento de estórias e

tarefas X X X

Anexar arquivos às estórias

ou tarefas X - X

Suporte a vários projetos X X X

Suporte a equipes distribuídas

X X X

Suporte a várias equipes - X X

Integração com outras ferramentas

- - X

Portfólio de projetos - X X

Trabalho diário - X

-Workload – carga de trabalho

(29)

-CONCLUSÃO

23/08/201

1

As ferramentas selecionadas apresentam características bastante semelhantes em relação às suas funcionalidades, porém, apresentam particularidades, como por exemplo:

- 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;

(30)

ABRAHAMSSON, Pekka et al. Agile software development methods: Review and analysis. VTT Publications 478. Oulu, Finland: VTT Publications, 2002.

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.

REFERÊNCIAS BIBLIOGRÁFICAS

23/08/201

(31)

REFERÊNCIAS BIBLIOGRÁFICAS

23/08/201

1

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>.

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.

Referências

Documentos relacionados

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

A origem do nome Açaí é que nós justamente tivemos o trabalho né, foi o processo foi feito com o SEBRAE né, foi dado as aulas pra nós, aí então, lá no curso ela pediu pra

A função gerente de obras torna-se cada vez mais necessária na construção civil, pois o setor está cada vez mais desenvolvendo e aprimorando a área de coordenação

Na Nova Zelândia em sistemas pastoris as vacas produzem em média 17 litros de leite ao dia, enquanto nos produtores analisados neste estudo a média de

Somente na classe Aberta Jr e Sr, nas modalidades de Apartação, Rédeas e Working Cow Horse, que será na mesma passada dessas categorias e os resultados serão separados. O

Os ativos não circulantes classificados como disponível para venda são mensurados pelo menor montante entre o seu custo contábil e o seu valor justo, líquido das despesas com a

Além disso, a falta de esclarecimento de toda a comunidade escolar sobre sua importância para a melhoria do desempenho dos educandos também contribuiu para que os pais não o

O trabalho intitulado PROJETO DE INTERVENÇÃO SOBRE A IMPLANTAÇÃO DA SISTEMATIZAÇÃO DA ASSISTÊNCIA DE ENFERMAGEM (SAE) PARA PACIENTES COM DIABETES MELLITUS NO