• Nenhum resultado encontrado

MetodologiasAgeis

N/A
N/A
Protected

Academic year: 2021

Share "MetodologiasAgeis"

Copied!
44
0
0

Texto

(1)

INSTITUTO FEDERAL CATARINENSE

Campus Ibirama

Metodologias Ágeis de Desenvolvimento

(2)

Metodologias Ágeis

● Introdução

Manifesto Ágil

Princı́pios do Manifesto Ágil

Processos de Desenvolvimento Ágil

● Scrum

(3)

Metodologias Ágeis

● SCRUM – O que é o SCRUM?Caracterı́sticas SCRUMCiclo do SCRUMPapéis do SCRUMVantagens do SCRUMDesvantagens do SCRUM ● eXtreme Programming ● O que é o XP? ● Práticas XP

(4)

Manifesto Ágil

● Indivı́duos e interações vem antes do processo e ferramentas;

● Software funcionando vem antes de documentação

abrangente;

● Colaboração do cliente vem antes de negociação de contrato;

● Resposta à modificações vem antes de um plano de

(5)

Agile Aliance

● www.agilealliance.org

● Iniciou-se em 2001

● 17 metodologistas formaram uma aliança para definir “princı́pios” para o desenvolvimento “ágil” de software

(6)

Princípios do Manifesto Ágil

● Nossa maior prioridade é satisfazer ao cliente

mediante entregas de software constantes, com qualidade e no tempo certo

● Receber bem mudanças de requisitos, mesmo em

(7)

Princípios do Manifesto Ágil

● Entregar software em funcionamento, com frequência

na menor escala de tempo possı́vel

● As equipes de negócio e desenvolvimento devem

(8)

Princípios do Manifesto Ágil

● Construa projetos ao redor de indivı́duos motivados

● A melhor maneira de levar informações para uma

equipe é em uma conversa cara-a-cara

● A principal medida de progresso é ter o software

(9)

Princípios do Manifesto Ágil

● Os desenvolvedores e clientes devem ser capazes de

manter um ritmo constante

● Atenção contı́nua à excelência técnica aumenta a

(10)

Princípios do Manifesto Ágil

● A arte de maximizar a quantidade de trabalho

não-realizado é essencial

● As melhores arquiteturas, requisitos e projetos provem

de equipes organizadas

● Regularmente a equipe deve refletir sobre como se

tornar mais eficaz e então se ajustar e adaptar seu comportamento

(11)

Processos de Desenvolvimento Ágil

SCRUM;

eXtreme Programming (XP);

● Feature Driven Development (FDD); ● Test Driven Development (TDD)

● Dynamic Systems Development Method (DSDM); ● Adaptive Software Development (ASD);

(12)

O que é SCRUM

● É um modelo iterativo, com o enfoque nas pessoas

envolvidas ao invés de no processo e ferramentas.

● Não é uma metodologia formal, e permite que os

membros da equipe definam o nı́vel de formalidade conforme a necessidade de cada requisito

(13)

Objetivos do SCRUM

● Garantir maior flexibilidade e habilidade para tratamento de sistemas simples e/

ou complexos, evitando problemas como:

Entregar produto não solicitado;Entregar o produto com falhas;Atrasos na entrega;

● Produzir um produto tolerante a adição de novos requisitos ao longo do projeto

● Atender a novas exigências: – adição de novos requisitos;

(14)

Características do SCRUM

● Flexibilidade nos entregáveis

Os entregáveis são definidos pelas necessidades do

ambiente (necessidade de negócio, competição, funcionalidades, recursos, cronograma, etc...)

● Flexibilidade no cronograma

Os entregáveis podem ser requeridos mais cedo ou

(15)

Características do SCRUM

● Times pequenos

É desejável que sejam times de até 6 pessoas. Para

equipes maiores, sugere-se dividir o grupo em vários times.

● Revisões frequentes

A evolução, a complexidade e os riscos são revisados

(16)

Características do SCRUM

● Colaboração

Espera-se a intra e a inter-colaboração das equipes ao

longo de todo o projeto.

● Orientação a objetos

Cada time trabalha em um conjunto de objetos com

(17)

Ciclo do SCRUM

Planejamento Preparação

Desenvolvimento

(18)

Ciclo do SCRUM: Planejamento

● É estabelecida a visão do projeto, as expectativas e a

proposta comercial.

● O artefato gerado nesta fase é o Product Backlog; – É uma lista de requisitos das funcionalidades que o

(19)

Ciclo do SCRUM: Preparação

● É efetuado o planejamento das atividades onde os

requisitos do Product Backlog são priorizados.

● O artefato gerado nesta fase é o Release Backlog;

É uma lista de requisitos das funcionalidades que serão

implementados em uma interação;

A interação é chamada de Sprint e tem duração de

(20)

Ciclo do SCRUM: Desenvolvimento

● É efetuado a implementação dos requisitos.

● São realizadas as seguintes atividades:

Planejar a próxima sprint;

Geração do Sprint Backlog (uma lista de atividades a ser realizadas, com

duração de 4 a 16 horas de trabalho para cada um dos requisitos);

Realização de Scrum Meetings (reuniões diárias de acompanhamento, onde são

respondidas questões sobre o andamento do projeto, resolver conflitos, trocar ideias, etc...);

Realizar Sprint Review (Reunião de revisão geral da interação. É realizada ao

final de cada Sprint, com o objetivo de apresentar as novas funcionalidades ao cliente);

(21)

Ciclo do SCRUM: Liberação

● A liberação deve conter a implementação de todos os

requisitos listados no Release Backlog.

● Ela deve ser realizada dentro do Sprint e contempla

(22)

Papéis do SCRUM: SCRUM Team

● Equipe de desenvolvimento do projeto. Estas equipes

devem ser de no máximo 7 pessoas, e deve ser uma equipe interdisciplinar e altamente produtiva.

● As equipes devem ser capazes de se auto-organizar

e auto-gerenciar, sem a necessidade de um lı́der para resolver conflitos e problemas.

(23)

Papéis do SCRUM: SCRUM Master

● Faz parte da equipe de desenvolvimento (Srum Team)

mas desempenha função de liderança. Garante que não haja interrupções no trabalho da equipe,

providencia recursos necessários para o desenvolvimento.

● Não cabe ao Scrum Master dizer como os outros

membros da equipe (Scrum Team) devem trabalhar, nem deve gerenciá-los.

(24)

Papéis do SCRUM: Product Owner

● Usuário chave do sistema (stakeholder), que tem poder

de decisão sobre o projeto.

● Curiosidade: Pigs and Chickens;

Os participantes do Scrum Team são chamados de Pigs

devido ao forte nı́vel de comprometimento destes com o projeto, estes podem falar durante as reuniões diárias;

Os demais participantes do projeto são chamados de

Chickens, os quais não podem falar durante a reunião, apenas observar;

(25)

Vantagens do SCRUM

● Práticas e artefatos simples;

● Equipes auto-gerenciáveis e auto-organizáveis; ● Facilidade de adaptação às mudanças;

● Participação ativa do cliente no projeto; ● Andamento do projeto visı́vel ao cliente;

● Pode ser combinado com outras metodologias;

● Facilita a comunicação, aprendizado e agrega valor à

(26)

Desvantagens do SCRUM

● Foca nos aspectos do ciclo de vida e não se

preocupa com a engenharia de requisitos;

(27)

Exercícios

● Cite as características do SCRUM;

● Descreva o ciclo do SCRUM;

● Sobre os papéis do SCRUM, explique:

Scrum Team;Scrum Master;Product Owner;

(28)

O que é XP

● Surgiu no final da década de 90 (apresentada por Kent Beck)

● Metodologia aplicada para times pequenos e médios;

● Leva as boas práticas ao extremo...

Testar é bom, vamos testar o tempo inteiro;

Revisar o código é bom, vamos revisar o tempo inteiro;

Projetar é bom, fará parte das atividades de todos diariamente;Integração é bom, vamos trocar informações o tempo inteiro;

(29)

Características de XP

● Desenvolvimento incremental;

● Cliente envolvido no projeto;

● Foco nas pessoas, não nos processos;

(30)

Práticas XP – Planejamento Integral

● Os requisitos são gerados em cartões de histórias e as

histórias que serão incluı́das em uma release (versão) são escolhidas pelo tempo disponı́vel e pela sua prioridade.

● Pessoas da área de negócio devem decidir por:

Escopo, prioridade, composição das versões e datas de

entrega;

● Pessoas da área técnica devem decidir por:

Estimativas, consequências, processo e cronograma

(31)

Práticas XP – Planejamento Integral

● Combine prioridades de negócio e estimativas técnicas

para determinar o escopo da próxima versão;

● Se a realidade opuser ao planejamento, atualize o

planejamento;

● Um esboço do plano não é suficiente. Para atualizá-lo,

precisamos incomodar os clientes;

● O plano deve dar uma ideia do que pode acontecer até

o final do projeto;

(32)

Práticas XP – Pequenas Releases

● Inicialmente desenvolve-se as funcionalidades principais, e a

cada nova release é adicionado novos recursos.

● Cada versão precisa ter o menor tamanho possı́vel;

● A entrega precisa fazer sentido: não adianta entregar meia

função;

● É melhor entregar em um mês ou dois, do que um ano;

● Integração constante;

(33)

Práticas XP – Projetos Pequenos

● Cada projeto é realizado para atender às

necessidades atuais.

● Executar todos os testes; ● Não ter lógica duplicada;

● Ter o menor número possı́vel de classes e métodos; ● Refatoração sempre;

(34)

Práticas XP – Test First

● São utilizados frameworks de automação de testes. Testes devem ser

elaborados antes que a funcionalidade seja implementada.

● Qualquer função do programa que não tenha um teste automatizado

simplesmente não existe;

● Não precisa escrever um método para cada teste, apenas para

aqueles que podem falhar;

● Não tenha pena de jogar código fora em virtude da experimentação; ● Os programadores vão gostar de escrever testes quando eles verem

que todos estão executando;

(35)

Práticas XP - Refatoração

● Constantemente deve-se buscar melhorar o código. A refatoração permite

que o código seja o mais simples, fácil de entender e dar manutenção.

● Incentiva os programadores a sempre pensarem em melhorar o seu

código sem mudar o comportamento do sistema;

● Todos são donos do código, e acostuma-se a refatoração;

● Existem padrões de codificação, não necessitando reformatar antes de

refatorar;

● A integração frequente permite saber logo quando estragou algo;

● Os testes já implementados garantem que todo o código só será liberado

(36)

Práticas XP – Programação em Pares

● O desenvolvimento é realizado em pares, o que ajuda gera novas

ideias, potos de vista, refatoração, assim como uma cultura de “conhecimento comum”.

● Todo o código é produzido a quatro mãos, com um teclado e um mouse; ● Os pares devem ser dinâmicos;

● O código deve seguir um padrão;

● Todo mundo precisa estar descansado e tranquilo; ● Os pares escrevem código junto;

(37)

Práticas XP – Propriedade Coletiva

● Como a programação é realizada em pares, há a possibilidade de

gerar um “conhecimento comum” na organização. Qualquer um da equipe sabe um pouco de tudo. O conhecimento é de todos.

● Qualquer um pode modificar qualquer código em qualquer lugar do

sistema a qualquer momento;

● Nem todos conhecem todas as partes bem, mas todos conhecem de

tudo um pouco;

● Para o sucesso dessa prática, precisa-se:

integrar as mudanças constantemente; escrever e executar testes; seguir

(38)

Práticas XP – Integração Contínua

● Assim que uma tarefa/trabalho for concluı́da, é feita a

integração com o todo. Apos a integração são realizados testes para verificar o funcionamento do sistema.

● Cada vez que uma tarefa for terminada integre com o

sistema;

● Uma máquina separada alocada por baixar a versão atual,

receber as modificações, e executar 100% dos testes;

● Quem integra deve ser o responsável por garantir 100% dos

(39)

Práticas XP – Ritmo Sustentável

● Uma carga de trabalho excessiva não é aceitável. A

médio/longo prazo, uma carga excessiva reduz a qualidade do desenvolvimento.

● Nunca faça hora extra por duas semanas seguidas;

● Queremos chegar cheios de energia no outro dia de manhã, e

na segunda-feira;

● Horas extras cansam e não mantém as pessoas concentradas; ● A combinação do planejamento com testes garante a qualidade

(40)

Práticas XP – Cliente Presente

● Um representante do cliente (stakeholder) deve estar disponı́vel o tempo

todo à equipe. O cliente é um membro da equipe e é responsável por levar os requisitos do sistema para o projeto.

● Inclua um cliente real no time com todo o tempo disponı́vel para

responder perguntas;

● O que vale mais: ter o software acabado mais cedo e melhor ou acumular

o trabalho de uma ou duas pessoas?;

● Eles poderiam escrever testes funcionais e ajudar nas decisões de

escopo e sequência das iterações;

● O cliente integrado à equipe consegue responder e verificar as

(41)

Práticas XP – Outras Práticas

● Padrões de codificação;

● Reuniões diárias;

● Gráficos e métricas visı́veis nas paredes onde o

(42)

Exercícios

● Cite as características do XP;

(43)

Resolução de Exercício - Individual

● Escreva um algoritmo onde o usuário informe um

valor para determinar o tamanho da matriz. Depois de informado este valor, o programa deve solicitar

diversos valores até que esta matriz seja preenchida. No final do programa deve ser impressa a matriz

resultante da multiplicação de cada posição pela diferença entre o maior e menor valor da matriz.

(44)

Resolução de Exercício – Em Pares

● Escreva um algoritmo onde o usuário informe um

valor para determinar o tamanho da matriz. Depois de informado este valor, o programa deve solicitar

diversos valores até que esta matriz seja preenchida. No final do programa deve ser impressa a matriz

resultante da multiplicação de cada um dos valores da matriz pela soma dos elementos da diagonal principal da matriz.

Referências

Documentos relacionados

sbp.com.br e no sítio www.infectoped2005.com.br onde também podem ainda ser feitas as inscrições (Até 20 de março o preço é R$220 para sócios, R$420 para não- sócios, R$150

Os princípios dessa política no Paraná foram definidos a partir dos princípios estabelecidos tanto para a Educação Profissional quanto para a Educação de Jovens

Total de prémios e modo de divisão: Troféu para os 3 primeiros classificados e rosetas para 25% dos participantes em cada prova. Georges Aberta a: Cavalos com idade mínima de 7 anos

a) Designação impressa no rótulo e na embalagem de medicamentos, que permita identificar, série ou lote a que pertencem, para em caso de necessidades, localizar e rever

Este cliente possui alta restrição de tancagem em dois de seus cinco tanques e, este aumento a partir do mês de Outubro, está dire- tamente associado a falhas sobre a

 Investigar se os professores de educação infantil utilizam a pesquisa como príncipio educativo, para compreender se esta auxilia na aprendizagem dos alunos... 5.2

Em relação às substâncias benzeno e benzopireno, assinale a única alternativa CORRETA. d) Ambos são hidrocarbonetos que apresentam apenas carbonos secundários. Como

Autenticação SGSN e de assinatura PTMSI blocos de procedimento Porque a autenticação e da assinatura PTMSI redistribuição são exigidas Problema Aproximação da estabilização