38
Metodologias Ágeis Para o Desenvolvimento de Software Profa. Karen Borges

Metodologias Ágeis

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Metodologias Ágeis

Metodologias Ágeis Para o Desenvolvimento de Software

Profa. Karen Borges

Page 2: Metodologias Ágeis

Motivação

http://youtu.be/sZ38n9gwYiw

Page 3: Metodologias Ágeis

Manifesto Ágil

• Indivíduos e interações mais que processos e ferramentas

• Software em funcionamento mais que documentação abrangente

• Colaboração com o cliente mais que negociação de contratos

• Responder a mudanças mais que seguir um plano

Page 4: Metodologias Ágeis

Manifesto Ágil• Propõe, através dos seus 12 princípios, uma

metodologia de desenvolvimento de software baseada em :– forte interação com o cliente;– redução e simplificação da quantidade de documentos gerados

durante o projeto;– entrega freqüente de executáveis– desenvolvimento incremental

Page 5: Metodologias Ágeis

Ser ágil é ...

• Evitar o desperdício

• Buscar a melhoria contínua

• Agregar valor ao que está sendo produzido

• Colaborar

• Ser pró-ativo

AGILE = SMART

Page 6: Metodologias Ágeis

Ser ágil é ...

Page 7: Metodologias Ágeis

Você é ágil ?

• Busca ir além do que lhe foi pedido ? Fazer sempre melhor ?

• Fica esperando que lhe digam o que fazer ? Onde trabalhar ?

• É capaz de se adaptar ? De lidar com as mudanças ?

• É colaborativo ?• Busca prazer naquilo que faz ? Vê propósito no

que faz ?• É diligente, inspirador e compreensivo ?• Consegue manter equilíbrio entre trabalho e

vida pessoal ?

Page 8: Metodologias Ágeis

Pigs and Chickens

• Quem você é ?

Page 9: Metodologias Ágeis

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.

• É uma coisa que funciona na prática, não é teoria acadêmica

Page 10: Metodologias Ágeis

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

Page 11: Metodologias Ágeis

Métodos Ágeis

• Agile Data (AD) • Agile Microsoft Solutions Framework (MSF) • Agile Modeling (AM) • Agile Unified Process (AUP) • Dynamic System Development Method (DSDM) • Extreme Programming (XP) • Feature Driven Development (FDD) • Scrum • Usage-Centered Design (UCD) • Outros ...

Page 12: Metodologias Ágeis

Métodos Ágeis

• São baseados em princípios e valores

• Os artefatos não são a essência

• Agile by the book pode não ser a melhor abordagem

Page 13: Metodologias Ágeis

Scrum

Page 14: Metodologias Ágeis

Scrum

http://www.youtube.com/watch?v=1kGBLGEvDcc

Page 15: Metodologias Ágeis

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.

Page 16: Metodologias Ágeis

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 (cross-functional).

• Time !

Page 17: Metodologias Ágeis

Scrum

• Papéis:– Scrum master: é o responsável por garantir

que os princípios, valores e regras do Scrum sejam aplicados.

– Product owner: é um representante do cliente. Responsável pelo levantamento de requisitos (histórias) e manutenção do backlog.

– Time

Page 18: Metodologias Ágeis

Scrum

• “ Se uma empresa não possui processos definidos, o Scrum é uma das melhores opções, pois ele é simples de entender e bem mais simples de implantar que outros processos ... O mais importante é que ele traz uma caixa de ferramentas de boas práticas de trabalho, permitindo obter bons resultados, mesmo que a equipe não tenha domínio completo das técnicas que estão sendo utilizadas”.

Nelson Abu

Scrum Master

Page 19: Metodologias Ágeis

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

Page 20: Metodologias Ágeis

Práticas Ágeis

• Sprint: é um período de tempo, de 1 a 4 semanas, ao final do qual é apresentada uma nova funcionalidade integrada ao sistema

Page 21: Metodologias Ágeis

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

Page 22: Metodologias Ágeis

Ferramenta - Kanban

http://youtu.be/LJOiFRsp0Z8

Page 23: Metodologias Ágeis

Práticas Ágeis

• Histórias:– São os problemas a serem resolvidos– São subdivididas em tarefas (tasks). Cada

task tem:• um responsável• um executor (cada um escolhe o que acha que tem

condições de resolver), • estimativa de horas (conforme a experiência do

executor).

Page 24: Metodologias Ágeis

Práticas Ágeis

• Histórias – exemplo

Conforme Mike Cohn

Page 25: Metodologias Ágeis

Práticas Ágeis

• Tarefas da história

Page 26: Metodologias Ágeis

Ferramenta

Page 27: Metodologias Ágeis

Ferramenta

Page 28: Metodologias Ágeis

Ferramenta – Planning Poker

http://www.youtube.com/watch?v=gE7srp2BzoM

Page 29: Metodologias Ágeis

Práticas Ágeis

• Daily Meetings: reuniões diárias de 15 minutos, onde todos respondem às perguntas:– O que você realizou desde a última reunião?– Quais problemas você enfrentou?– Em que você

trabalhará até a

próxima reunião?

Page 30: Metodologias Ágeis

Scrum + XP

“É um erro achar que usar Scrum sozinho trará agilidade para os projetos de software. Scrum é

apenas uma ferramenta para facilitar o gerenciamento de projetos, sejam eles de aviões, carros ou softwares. Para desenvolver software

com Scrum é necessário adicionar práticas ágeis de engenharia de software como as do XP, que é específico para isso, para que aí sim você tenha

verdadeira agilidade”.

Guilherme Chapiewski

Coordenador de webmedia da Globo.com

30

Page 31: Metodologias Ágeis

XP

• Extreme Programming é uma metodologia de desenvolvimento de software voltada para equipes de 2 a 10 programadores com vistas a atender as rápidas mudanças de requisitos do sistema.

• Projeto com no máximo 36 meses de duração

31

Page 32: Metodologias Ágeis

XP

• Valores básicos:– Comunicação: constante entre os membros da

equipe– Simplicidade: implementar o que é necessário– Feedback: entregas rápidas e freqüentes– Coragem: para implantar os três valores

anteriores. – Respeito: para saber ouvir, compreender e

respeitar o ponto de vista do outro, sempre tendo em mente o sucesso do projeto.

32

Page 33: Metodologias Ágeis

Práticas Ágeis

–Foco na codificação• Programação em

pares• Código público (SVN)• Refatoração• Uso de padrões

Page 34: Metodologias Ágeis

Práticas Ágeis

• Pouca documentação• Desenvolvimento orientado a testes

– Testes unitários– Testes de integração– Testes de usabilidade

• Integração contínua

Page 35: Metodologias Ágeis

Não ser ágil é ...

Page 36: Metodologias Ágeis

Referências

• Abrahamson, Pekka; Salo, Outi; Ronkainen, Jussi. Agile Software Development Methods: review and analysis. Otamedia Oy, Espoo 2002. VT Publications 478. Disponível em http://www.vtt.fi/inf/pdf/publications/2002/P478.pdf

• Beck, Kent. Extreme Programming Explained: embrace changes. Addison-Wesley, 2000

• Freire, Flávia. Desvendando o Scrum. Revista TIDigital pags 36 – 43. abr 2009.

Page 37: Metodologias Ágeis

Referências

• Cohn, Mike. User Stories Applied For Agile Software Development. Edt. Pearson. 2004

• Costa, Fernando. Agilidade: scrum e xp. Disponível em http://www.slideshare.net/fernandocostafln/agilidade-scrum-e-xp-presentation

• Kniberg, Henrik. Scrum and XP from the Trenches. Disponível em http://infoq.com/minibooks/scrum-xp-from-the-trenches.

Page 38: Metodologias Ágeis

Referências