• 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

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

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

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

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

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