Metodologias Ágeis Para o
Desenvolvimento de Software
ANA PAULA LIMA
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Por que ser ágil?
• Crescentes pressões do mercado por:




Inovação,
Produtividade (prazos cada vez mais curtos),
Flexibilidade,
Melhoria no desempenho/qualidade dos projetos de
desenvolvimento de SW
• O ágil surgiu dado a necessidade de melhorarmos a
forma como estamos desenvolvendo SW e nosso
foco principal é satisfazer o cliente.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
O que são métodos ágeis
• É uma atitude, não um processo prescritivo.
• É um suplemento aos métodos existentes, ele não é
uma metodologia completa.
• É uma forma efetiva de se trabalhar em conjunto para
atingir as necessidades das partes interessadas no
projeto.
• Funciona na prática, não é teoria acadêmica
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
O que são métodos ágeis
• É para o desenvolvedor médio, mas não é um
substituto de pessoas competentes.
• Não é um ataque à documentação, pelo contrário
aconselha a criação de documentos que tem valor.
• Não é um ataque às ferramentas CASE
• São baseados em princípios e valores
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Disponível em agilemanifesto.org
Ser ágil é ...
•
•
•
•
•
Evitar o desperdício
Buscar a melhoria contínua
Agregar valor ao que está sendo produzido
Colaborar
Ser pró-ativo
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
PRINCIPAIS METODOLOGIAS
Guarda Chuva Ágil
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Scrum
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Scrum
• Em Rugby, Scrum é um time de oito integrantes que
trabalham em conjunto para levar a bola adiante no
campo.
• Ou seja: times trabalhando como uma unidade
altamente integrada com cada membro
desempenhando um papel bem definido e o time
inteiro focando num único objetivo.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Scrum
• Metodologia para gestão de projetos de
desenvolvimento de software.
• Ideal para equipes de 5 a 9 profissionais.
• Não existem as figuras de programador,
testador, arquiteto, etc. Equipe multidisciplinar
• Time!
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Scrum
• Papéis:
 Product owner: é um representante do cliente.
Responsável pelo levantamento de requisitos
(histórias) e manutenção do backlog.
 Scrum master: é o responsável por garantir que os
princípios, valores e regras do Scrum sejam
aplicados.
 Time
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Papéis
• Product Owner (PO)
• Define as funcionalidades do
produto
• Define as datas dos releases
• Responsável pelo retorno do
investimento (ROI) do projeto
• Prioriza as funcionalidades de
acordo com seu valor de negócio
• Ajusta o product backlog a
cada sprint, se necessário.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
•Pode ser o representante de
um cliente, ou o próprio cliente.
Papéis
• Scrum Master
• Responsável pelo processo,
incluindo a realização do Daily
Scrum e datas e horários das
reuniões
• Remove os impedimentos
• Garante que o time está sempre
funcionando e produtivo
• Facilita a cooperação entre
todos os membros do time
• Protege o time das interrupções
externas
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Papéis
• Time
• Multi-disciplinar, com 7 (+-2)
membros
• Define o Sprint e define
como será feito o trabalho
• Tem o direito de fazer o que
estiver ao seu alcance para
alcançar o Sprint
• Auto-gerenciado: o time se
organiza e se gerencia
• Demonstra o que foi feito
para o Product Owner ao fim de
cada Sprint
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Scrum
• Princípios:
 Aceitar as incertezas
 Constante planejamento
 Trabalhar como um time
 Equipes auto-gerenciáveis
 Manter um ritmo de trabalho suportável
 Entregas freqüentes
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Práticas Ágeis
SPRINT
• No Scrum, os projetos são divididos em ciclos
(tipicamente mensais) chamados de Sprints.
• O Sprint representa um tempo definido dentro do qual
um conjunto de atividades deve ser executado.
• Geralmente duram de 1 a 4 semanas.
• Ao final do qual é apresentada uma nova
funcionalidade integrada ao sistema
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Reuniões - Sprint Planning
• Sprint Planning
• Daily Scrum
• Sprint Review
• Sprint Retrospective
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
PLANEJAMENTO
• Entendimento do Escopo
• Estimativas de complexidade
• Definição do Sprint
Sprint Planning
O Sprint Planning Meeting é uma reunião na qual estão
presentes o Product Owner, o Scrum Master e todo o Time,
bem como qualquer pessoa interessada que esteja
representando a gerência ou o cliente.
Durante o Sprint Planning Meeting, o Product Owner
descreve as funcionalidades de maior prioridade para a
equipe. A equipe faz perguntas durante a reunião de modo
que seja capaz de quebrar as funcionalidades em tarefas
técnicas, após a reunião. Essas tarefas irão dar origem ao
Sprint Backlog.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Reuniões – Daily Scrum
• Sprint Planning
3 PERGUNTAS
• Daily Scrum
• Sprint Review
• Sprint Retrospective
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
1. O que foi feito desde o último DS?
2. O que será feito hoje?
3. O que esta impedindo?
• Peer-pressure (em pé)
• Máximo de 15 minutos
• Comprometimento
Reuniões – Sprint Review
• Sprint Planning
DEMONSTRAÇÃO
• Daily Scrum
• Sprint Review
• Sprint Retrospective
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
• Apresentação das funcionalidades
• Aceitação do Product Owner
Reuniões – Sprint Retrospective
• Sprint Planning
• Daily Scrum
• Sprint Review
• Sprint Retrospective
REVISÃO
• O que foi bom?
• O que pode ser Melhorado?
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Práticas Ágeis
• Backlog é uma lista das
atividades a serem
realizadas pela equipe.
 Os itens que compõe a
lista são chamados de
histórias
 Todos podem incluir
histórias
 Somente o Product
Owner pode priorizá-las
 Product Owner pode
priorizar novamente no
início de cada Sprint
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
KANBAN
SPRINT1
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Ferramenta - Kanban
http://youtu.be/LJOiFRsp0Z8
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Ferramenta
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Metodologias Ágeis
XP
(eXtreme Programming)
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus
Pós-Graduação
emAraguaína
Engenharia de Software
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
O que é o XP?
Metodologia de desenvolvimento de
software, nascida nos Estados Unidos ao final
da década de 90.
Criar sistemas de
melhor qualidade.
Produzidos em menos tempo e de
forma mais econômica que o habitual.
Identificou o que tornava simples e o que
dificultava o desenvolvimento de software.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Como fazer?
Pequeno conjunto de
valores e práticas
•A Programação Extrema é uma das
metodologias ágeis mais
conhecidas e utilizadas na
atualidade.
•Desenvolvidas para:
• Equipes médias e pequenas (2 a
12 pessoas);
Baseada em cinco
valores, alguns
princípios e várias
práticas que ocorrem no
decorrer das atividades;
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Comunicação
Coragem
Feedback
Respeito
Simplicidade
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Comunicação
Para que um projeto seja um sucesso é necessário
muita interação entre as equipes: programadores,
clientes e treinador;
VS
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Coragem
“A única constante em
um projeto de software
é a mudança”
Alterar um código em produção sem causar
bugs, com agilidade, exige muita coragem e
responsabilidade;
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Feedback
mais cedo descobrimos
um problema, menos
prejuízos ele pode causar
Quanto
As respostas às decisões
tomadas devem ser rápidas e
visíveis.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Respeito
Dá sustentação a todos os
demais valores
Todos têm a sua
importância dentro
da equipe e devem
ser respeitados e
valorizados.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Simplicidade
Apenas aquilo que é
claramente necessário
É um dos valores mais
importantes.
Normalmente o que o
cliente quer é mais
simples.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Papéis
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Papéis...
Programadores
Treinador (ou coach)
Acompanhador (ou tracker)
Cliente
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Programadores
Foco central da
metodologia, mas
sem hierarquia.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Treinador (coach)
Pessoa com
experiência
no time, é
responsável por
lembrar aos outros
das práticas e
valores do XP.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Acompanhador (tracker)
Responsável por trazer
informações que mostrem
o andamento do projeto
que ajudem a tomar
decisões de
implementação.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Cliente
O Cliente faz parte da
equipe!!
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Práticas
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Práticas...
Testes
Refatoração
Programação Pareada (em pares)
Propriedade Coletiva
Integração Contínua
Semana de 40 horas
Cliente junto aos desenvolvedores
Padronização do código
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Testes
Desenvolvimento
orientado a Testes
Os testes garantem uma
segurança para aplicação,
eles informam se o código
continua produzindo os
mesmos resultados.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Refatoração
Conjunto de
técnicas para
simplificar,
melhorar o
código!
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Programação em
Pares
Enquanto um
programador digita,
o outro observa,
pensa em
melhorias,
alternativa.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Propriedade
Coletiva
O código é de todos e
ninguém precisa de
permissão para
modificá-lo
Não pertence a um
único programador.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Integração
Contínua
Depois de testada, cada
nova funcionalidade
deve ser imediatamente
sincronizada entre todos
os desenvolvedores.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Semana de 40
horas
Programação não rende se o programador
não estiver descansado e disposto.
Trabalhar com
qualidade
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Cliente junto
O cliente não é alguém
de fora e sim um
membro da equipe.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Padronizações
Se o time seguir
padrões pré-definidos
de codificação, mais
fácil será manter e
entender o que já
está feito, reforçando
a comunicação.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Download

Scrum