Utilizando Metodologias Ágeis no Desenvolvimento de Software Livre
Freeson 2008 , Maceió, Al
Alison Rabelo, PMP
©2005 - Vinic Gestão & Projetos
Manifesto Ágil
• Em 2001, um grupo inicial de 17 “metodologistas” formou a Aliança Ágil e publicou um manifesto, chamado Manifesto Ágil composto por quatro simples declarações de valores
Indivíduos e interações valem mais que processos e ferramentas;
Um software funcionando valem mais que documentação extensa;
A colaboração do cliente vale mais que negociação de contrato;
Resposta à mudanças vale mais que seguir um plano.
Gerenciamento Ágil de Projetos
Manifesto Ágil
Metodos de Gerenciamento Ágil de Projetos
Métodos de Desenvolvimento Ágil de Software
NOVA PLATAFORMA DE
GERENCIAMENTO DE
PROJETOS APLICÁVEL A
AMBIENTES VOLÁTEIS E
DESAFIADORES, SUJEITOS A FREQÜENTES
MUDANÇAS, EM QUE O
PROCESSO PRESCRITIVO
E PADRONIZADO É
DEFICIENTE OU NÃO
MAIS FUNCIONA.
Métodos Ágeis de Desenvolvimento de Software
Métodos Ágeis de Desenvolvimento de Software
• Métodos Ágeis de Desenvolvimento de Software– São uma resposta ao baixo desempenho dos projetos
de software;
– Visam atender às demandas crescentes por produtos e serviços inovadores e à necessidade de mudanças constantes de escopo nos projetos de desenvolvimento de software;
– Uma reação aos métodos clássicos de desenvolvimento;
– Fruto de um movimento da comunidade de analistas e desenvolvedores
Métodos Ágeis de Desenvolvimento de Software
• Princípios Básicos:– Mudança de paradigma: a aceitação das mudanças de
escopo durante o projeto. • “Os modeladores ágeis encampam a mudança nos seus projetos”
(AMBLER)
– Agilidade: O planejamento deve ser refeito, levando em considerações as mudanças de requisitos e no ambiente de negócios.• “a habilidade de criar e responder a mudanças, buscando a
obtenção de lucro num ambiente turbulento”(HIGHSMITH).
– Flexibilidade: Métodos adaptativos e não preditivos.• A ausência de estrutura pode levar ao caos, mas estrutura em
demasia pode levar a rigidez. (HIGHSMITH).
Métodos Ágeis de Desenvolvimento de Software
• Exemplos desses métodos:
– XP (Extreme Programming);
– TDD (Test-Driven Development);
– FDD (Feature-Driven Development);
Gerenciamento Ágil de Projetos
Gerenciamento Ágil de Projetos
• Fluxo do Gerenciamento Ágil de Projetos:
Nív
el d
e A
tiv
idad
e
Tempo
Início Iteração 1 Iteração 2 Iteração 3 Iteração 4 Encerramento
Planejamento
Preliminar
Planejamento a cada iteração
Incrementos de funcionalidades
Mudanças de escopo
Aceitação da entregas ao final de cada iteração
Controle contínuo
do projeto
Gerenciamento Ágil de Projetos
• Fases do Gerenciamento Ágil de Projetos (Padrão)
Visão
Especulação Exploração
Adaptação
Encerramento
Plano de
entregas
Visão
Escopo
Comunidade do projeto
Equipe do projeto
Ações de
adaptação
Funcionalidades
complementares
Produto final
Lista de
funcionalidades
Gerenciamento Ágil de Projetos
• Vantagem de ser ágil– Cria um ambiente propício para definição de requisitos e
inovação durante o ciclo de desenvolvimento do produto.
– Cria um ambiente mais colaborativo e produtivo entre desenvolvedores e clientes, resultando em entregas mais rápidas de produtos, melhor adaptados à realidade do cliente e com a qualidade esperada.
– O Gerenciamento de Projetos é facilitado pela maior integração e comprometimento da equipe com as entregas do projeto.
– Reforça o planejamento constante do projeto, minimizando riscos.
– Valoriza a satisfação do cliente em primeiro lugar, através do desenvolvimento de requisitos que mais agreguem valor a ele.
Gerenciamento Ágil de Projetos
• O método de gerenciamento ágil de projetos mais adotado no último ano é o SCRUM
Scrum
• Tem como objetivo lidar com a complexidade do desenvolvimento de software, em que requisitos surgem e mudam rapidamente.
• Estabelece conjuntos específicos de regras e práticas gerenciais que devem ser utilizadas para o sucesso de um projeto.
• Pode ser aplicado de forma variada, adaptando-se as suas práticas.
• Recomendado para projetos de outras áreas e principalmente para projetos de Implantação, pesquisa e inovação.
Características do Scrum
• Simples;• Fácil de aprender;• Aplicável a projetos cujos requisitos são pouco estáveis ou
desconhecidos; • Aplicável a equipes pequenas;• Valoriza o envolvimento das partes interessadas no
planejamento do projeto; • Iterações ou ciclos de 30 dias; • Auto-gestão do trabalho de desenvolvimento por parte da
equipe; • Dá prioridade aos requisitos que mais agregam valor ao
software.
Benefícios do Scrum
• Participação mais efetiva da equipe quanto à definição das atividades, gerando maior comprometimento, motivação e confiança.
• Maior visibilidade do desempenho da equipe e de cada membro.
• Maior participação e satisfação do cliente.• Estimula a colaboração e a integração entre os
membros da equipe.• Incentiva o compartilhamento e a disseminação do
conhecimento.• Fortalece o trabalho em equipe.
Visão geral do processo Scrum
Sprint Review Meeting
Sprint Retrospective Meeting
Vantagens de ser ágil
• O modelo de desenvolvimento ágil não está diretamente ligado ao OpenSource
– Temos exemplos de sua aplicação em diversos domínios
• Mas as comunidades de desenvolvimento OpenSourcesão os maiores ambientes de desenvolvimento e inovação deste modelo.
• A evolução do ambiente opensource é responsável pela incorporação do modelo nas grandes (e tradicionais) corporações
Ambientes de Desenvolvimento de Projetos Ágeis
Ambientes Open Source
Open Source 2.0
Open Source 1.5
Open Source 1.0
Open Source 1.0
• Open Source 1.0 – Colaboração e Software Gratuito – Freeware (Era “Romântica”)
– Oportunidades para quebras de oligarquias, reduçãode dependências e acesso à inovação;
– GNU Project, Free Software Foundation, Apache Software Foundation
– Jakarta, SourceForge
• Exs: Apache, Linux e MySQL
Open Source 1.5
• Open Source 1.5 – Software Gratuito (Freeware) + Serviços Comerciais Agregados
– Exs; RedHat, Jboss Group, MySQL, MyEclipse, Conectiva
Fonte: Delphi Group
Março/2004
Open Source 2.0
• Open Source 2.0 – Software em Código Abertonão Freeware + Serviços Comerciais Agregados
– As inovações da indústria e os melhorescomponentes J2EE do mercado estão atualmentedisponíveis nos projetos Open Source…
– Faz sentido montar componentes “in-house”?
Open Source 2.0
• Open Source 2.0 – Software em Código Abertonão Freeware + Serviços Comerciais Agregados
– Alternativa Proprietária
• O melhor que um único fabricante pode oferecer…
• Nem os gigantes da indústria têm soluções proprietáriascompetitivas.
Open Source 2.0
• Open Source 2.0 – Software em Código Abertonão Freeware + Serviços Comerciais Agregados
• Integração
• Especialização
• Homologação
• Documentação
• Metodologia
• Suporte (Opção 24X7)
• Treinamento
• Mentoring, Fábrica e Consultoria em Geral
Comunidades
• Comunidades de Desenvolvimento OpenSource
– Java net
– Source Forge
– Apache Foundation
– Etc.
Apache Software Foundation
O maior advento de TI em 2002
• Open-Source no mundo corporativo
• Produtividade em J2EE (Reuso!)
SourceForge
Valor inestimável!
• Comunidade Gigante - Colaboração
• Seleção Natural (Lei de Darwin)
Obrigado!
Alison Rabelo, PMP
Diretor de Negócios
0800.725.0401
Acesse esta apresentação através do site:
www.vinic.com.br