Modelos de PDS
Parte II
PROF.ª ME. CRISTIANE FIDELIX
Motodologias Ágeis
2
Métodologias Ágeis ( Framework ágil)
Scrum
Scaled Agile Framework (SAFe);
Feature Driven-Development (FDD);
Test Driven Development (TDD)
eXtreme Programming (XP)
 Kanban
 Smart
Métodologias Ágeis
 O QUE É:
A metodologia ágil é um modelo e uma filosofia que propõe alternativas à gestão de projetos
tradicional e tem a função de aprimorar o processo de desenvolvimento de um produto ou serviço.
O objetivo final é fazer entregas com rapidez e com maior frequência, conforme surgem as
necessidades do cliente. ... O Manifesto Ágil.
Manifesto Ágil - Princípios
1.Modificações de requisitos são bem-vindas.
2.Entrega de software funcionando frequentemente.
3.Pessoal de negócio e desenvolvedores trabalhando juntos.
4.Indivíduos motivados.
5.Conversa face a face para levantar informações.
6.Software funcionando com medidas de progresso.
Manifesto Ágil - Princípios
9.Ritmo constante de desenvolvimento sustentável.
8.Excelência técnica.
9.Simplicidade.
10.Equipes auto organizadas.
11.Equipe reflete sobre como se tornar mais efetiva, então sintoniza e ajusta adequadamente
seu comportamento.
Manifesto Ágil
Extreme Programming - XP
A Extreme Programming (XP) é uma Metodologia Ágil para equipes pequenas e médias que
desenvolvem software baseado em requisitos vagos e que se modificam rapidamente.
O principal objetivo da XP é dar agilidade ao desenvolvimento do projeto e busca garantir a
satisfação do cliente.
Breve histórico da XP
Extreme Programming, ou simplesmente XP é uma das mais conhecidas metodologia de desenvolvimento de
software que segue os princípios do Manifesto Ágil.
Embora seu marco de criação seja o ano de 1996, a junção de princípios e boas práticas de programação são frutos
de um processo de evolução de pelo menos uma década em que Kent Beck e Ward Cunningham trabalharam na
Tektronixs, Inc. como consultores de problemas em SmallTalk (CASTRO, 2007).
Em 1996, Kent Beck foi chamado na empresa Chrysler para analisar o desempenho de projeto do C3 (Chrysler
Comprehensive Compensation System – Sistema de Compensação Abrangente da Chrysler). O sistema era nada
menos que o controle da folha de pagamento de aproximadamente 86 mil funcionários e o objetivo do projeto era
unificar os quatro sistemas de software legado diferentes que estavam sendo usados há vinte anos.
FONTE: https://hiperbytes.com.br/xp/metodologia-xp-extreme-programming-breve-historico-da-xp/
Breve histórico da XP
Em meados de 1990 uma tarefa um tanto difícil, mas de total importância para a Chrysler que aos poucos
viu o projeto se tornar um verdadeiro caos.
Havia problema em todos os processos, desde contratos irregulares a profissionais estressados e
desconfiados.
Foram três dias até Beck analisar todo o projeto para apresentar as seguintes opções para o CIO (Chief
Information Officer) da Chrysler: deixar da forma que estava; demitir todos os funcionários e cancelar o
projeto e; conceder uma semana de folga e começar o projeto do zero.
A Chrysler optou pela alternativa 3 e contratou Beck para ser responsável pelo projeto (TELES, 2006).
FONTE: https://hiperbytes.com.br/xp/metodologia-xp-extreme-programming-breve-historico-da-xp/
Princípios
(valores):
Princípios:
PRÁTICAS
1.Processo de Planejamento (“Planning Game”)
2.Releases Curtos
3.Metáfora
4.Projeto (Design) Simples
5.Testes
PRÁTICAS
6.Refactoring
7.Gerenciar a qualidade
8.Programação em Pares
9.Propriedade Coletiva do Código
10.Integração Contínua
11.Semana de 40 horas
12.On-Site Customer (Cliente sempre presente)
Jogo de Planejamento (Planning Game):
O desenvolvimento é feito em interações semanais. No início da semana, desenvolvedores e
cliente reúnem-se para priorizar as funcionalidades. Essa reunião recebe o nome de Jogo do
Planejamento e nelas já devem estar criadas antecipadamente pelos usuários as User
Stories (história dos usuários). Nessa reunião, o cliente identifica prioridades e os
desenvolvedores as estimam.
Jogo de Planejamento (Planning Game):
O desenvolvimento é feito em interações semanais. No início da semana, desenvolvedores e
cliente reúnem-se para priorizar as funcionalidades. Essa reunião recebe o nome de Jogo do
Planejamento e nelas já devem estar criadas antecipadamente pelos usuários as User
Stories (história dos usuários). Nessa reunião, o cliente identifica prioridades e os
desenvolvedores as estimam.
User Story
É apenas uma promessa de uma conversa, um lembrete de que mais detalhes serão necessários,
e não deve ser considerada suficiente para a realização do trabalho. Ela é o começo, mas
somente será útil para o desenvolvimento do produto se for seguida por uma série de conversas
entre as pessoas de negócios (em geral, o Product Owner) e os membros do Time de
Desenvolvimento. Essas conversas visam definir e capturar os detalhes de negócios necessários
para o desenvolvimento da funcionalidade que atenderá a essa necessidade do usuário.
DESVANTAGEM
 Não haver nenhuma documentação do projeto
Trabalhar somente com recursos de nível sênior é mais caro e difícil
Difícil controle para projetos grandes
Software é construído para o “agora”
Mudança cultural
Questão:
Métodos ágeis visam a acelerar o processo de desenvolvimento de
software. Dentre as opções abaixo, qual representa uma prática
proposta pelo Manifesto Ágil?
a)Processo sequencial de desenvolvimento.
b) Analise e implementação de Riscos.
c)Grande quantidade de desenvolvedores.
d) Programação em pares.
e)Tempo no máximo de desenvolvimento de 60 dias.
SCRUM
É um gerenciamento ágil de projetos
É um processo incremental para o desenvolvimento de
qualquer produto de software
É um processo incremental para o gerenciamento de
qualquer projeto
É formal e tem passos predefinidos
Têm pouca flexibilidade de mudanças
SCRUM : Conceitos
SCRUM : Componentes
Product Backlog = representa uma lista com todos os
requisitos priorizados e ordenados de acordo com o valor
que representam para o cliente e negócio.
TUDO AQUILO QUE PRECISA IMPLEMENTAR, LISTA DE
FUNCIONALIDADES (REQUISITOS)!!!!
SCRUM
O projetoé divididoem ciclos ...SPRINT!!!!
SPRINT É UMA INTERAÇÃO
SPRINT É O PERÍODO PARA FINALIZAÇÃO DE CADA REQUISITO
Sprint = o incremento de 2 a 4 semanas que a equipe
de projeto tem para produzir o incremento.
SCRUM
Sprint Backlog = é a análise dos requisitos para informar a
equipe como será implementado
SCRUM : Conceitos
SCRUM: Conceitos
Time box = concentrar o que é mais importante.
Impedimentos = impede o andamento dos trabalhos.
Pronto = lista de funcionalidades que devem ser implementadas.
Review Meeting = é uma reunião ao final do Sprint para o cliente realizar o
aceite do incremento.
Retrospective Meeting = é uma reunião para o time avaliar os fatos positivos e
negativos observados.
Planning Poker = cartas com estimativas de esforço para cada atividade
escolhida do PRODUCT BACKLOG.
SCRUM: Equipe
Scrum Master = coordenador responsável por não estourar o sprint.
Product Owner= seleciona as atividades o SPRINT BACKLOG.
Equipe = seleciona o SPRINT BACKLOG a lista de funcionalidades que
devem ser implementadas.
SCRUM : Conceitos
Vídeo: aprenda Scrum
https://www.youtube.com/watch?v=XfvQWnRgxG0
SCRUM: Equipe
PORCOS = OS COMPROMETIDOS
GALINHAS = OS ENVOLVIDOS
SCRUM: Equipe
PORCOS = Product Owner, Scrum Master e Team
GALINHAS = pessoas que têm interesse, mas não faz parte da equipe
Stakeholders e usuários
Equipe: RESPONSABILIDADES
PO
• Descrição da função do software
•Retorno do investimento
•Alterar as prioridades
Scrum Master
•Liderança
•Melhorar as produtividade
•Promover as práticas de engenharia
•Entregar o código em funcionamento
SCRUM
Planejamento do SPRINT ( Task Board)
SCRUM
Ferramentas para planejamento do SPRINT:
https://www.youtube.com/watch?v=kV7URs
4Tpu0&feature=emb_logo
QUESTÃO:
O SCRUM é um dos modelos ágeis mais utilizados no mercado.
Qual das opções abaixo se refere a uma atividade do método
SCRUM?
a) Sequencial e Linear
b)Planejamento do Sprint com reuniões diárias e revisão
c)Documentação com diagramas de classes
d) Dirigido por casos de uso
e)Protótipo de interface desde o início
Links: Metodologias de Desenvolvimento de
Jogos Scrum | Fábrica de Jogos
https://www.profissionaisti.com.br/artefatos-e-ferramentas-scrum/
https://www.youtube.com/watch?v=k6mrbk3fQXA
TDD
 Test Driven Development / Desenvolvimento orientado a teste
 É parte da metodologia XP e também utilizado em diversas outras metodologias, além de
poder ser utilizada livremente.
Não é método de testes, mas sim um método de desenvolvimento, criado por Kent Beck em
2003.
O TDD transforma o desenvolvimento, pois deve-se primeiro escrever os testes, antes de
implementar o sistema.
Os testes são utilizados para facilitar no entendimento do projeto, segundo Freeman os
testes são usados para clarear a ideia em relação ao que se deseja em relação ao código.
TDD
Baseia-se em ciclos curtos e é caracterizado por:
 Primeiro o desenvolvedor cria casos de testes para uma melhoria ou nova funcionalidade.
 Depois é produzido um código para atender aos testes esperados.
1º criamos um teste ->
2º Fazemos a codificação para passar no teste ->
3ª Refatoramos nosso código
TDD
Refatorar o código:
 Melhoria do código escrito.
 Refazer os testes após alterações.
Repetir tudo:
 Iniciando outro teste, o ciclo é repetido.
 Incorpora requisitos e novos testes até ficar 100% correto.
 Usar a integração contínua para reversão.
Além disso, os testes devem seguir o modelo F.I.R.S.T.
•F (Fast) - Rápidos: devem ser rápidos, pois testam apenas uma unidade;
•I (Isolated) - Testes unitários são isolados, testando individualmente as unidades e não
sua integração;
•R (Repeateble) - Repetição nos testes, com resultados de comportamento constante;
•S (Self-verifying) - A auto verificação deve verificar se passou ou se deu como falha o
teste;
•T (Timely) - O teste deve ser oportuno, sendo um teste por unidade.
TDD
Vantagens:
 Processo incremental.
 Especificações e modelos são informais.
 Testes unitários efetivos.
 Aumento da produtividade em alterações.
Desvantagens:
 Sem especificações não se constrói.
 A criação de testes automatizados podem gerar atrasos no tempo de construção.
 É um modelo ágil.
Para facilitar ainda mais, existem diversas ferramentas que nos fazem ganhar ainda
mais tempo. Alguns exemplos para diferentes linguagens são:
QUESTÃO:
O Test Driven Development (TDD) é um método que tem
como característica principal:
a)Aumentar a qualidade da especificação.
b)Fazer testes integrados.
c)Escrever os testes antes da codificação.
d)Elaborar protótipo.
e)Codificar e depois testar.
Questões
METODOLOGIAS ÁGEIS
Questões:
1) São algumas das metodologias de desenvolvimento de software consideradas ágeis (Agile
Software Process Models):
a) Incremental, XP e Espiral.
b) Waterfall, Scrum e TDD.
c) XP, TDD e Prototipação.
d) Scrum, XP e TDD .
Questões:
2) A abordagem iterativa de desenvolvimento de software tem se popularizado como técnica
padrão de desenvolvimento de sistemas pequenos e médios, especialmente no mundo dos
negócios.
Scrum e eXtreme Programming são métodos ágeis e iterativos de desenvolvimento de software
que compartilham a característica de:
a) ênfase em processos em vez de pessoas.
b) envolvimento restrito do cliente no processo de desenvolvimento.
c) Equipes auto organizadas.
d) dificuldade de atender a contínuas mudanças nos requisitos.
Questões:
3) Em um projeto de desenvolvimento de software, os membros da equipe do projeto conversam, diariamente,
numa rápida reunião, para verificar o andamento das tarefas e expor eventuais dificuldades.
Essa equipe é multidisciplinar, composta predominantemente de profissionais experientes que trabalham em
conjunto, auto organizáveis com um representante do cliente.
As iterações de trabalho são curtas (2 a 4 semanas) e, há uma análise dos requisitos para informar a equipe
como será implementado ao final de cada uma delas assim o produto ganha novas funcionalidades.
Nesse momento, a versão atual é apresentada funcionando ao cliente, visto que ter o software funcionando é
mais importante do que ter uma documentação detalhada.
Questões:
O modelo de desenvolvimento de sistemas que se encaixa nesse cenário é o :
a) Espiral.
b) TDD.
c) Prototipagem rápida.
d) Scrum.
e) Cascata.
Questões:
4) Acerca das metodologias XP e Scrum, assinale a afirmativa INCORRETA.
a) Scrum é uma metodologia ágil para gestão e planejamento de projetos de software. No Scrum, os projetos são
divididos em ciclos chamados Sprints.
b) No Scrum os requisitos do projeto são organizados em uma lista de tarefas, chamada de product backlog, em
ordem de prioridade.
c) XP é uma metodologia ágil para equipes de tamanho pequeno ou médio desenvolverem software com requisitos
vagos ou que mudem rapidamente.
d) XP no Planning Game os desenvolvedores e cliente reúnem-se para priorizar as funcionalidades usuários as User
Stories (história dos usuários).
e) O Scrum e o XP por serem metodologias sequenciais e linear não adotam valores como: comunicação,
simplicidade, feedback e coragem.
Questões:
5) Acerca dos processos XP e Scrum avalie as afirmativas a seguir:
I. XP é uma metodologia ágil para equipes de tamanho pequeno ou médio desenvolverem software com
requisitos vagos ou que mudem rapidamente.
Seus valores são comunicação, simplicidade, feedback e coragem.
II. O Scrum foi criado para gerenciamento de projetos de fabricação de automóveis e produtos de consumo. Sua
popularização no desenvolvimento de software ocorreu após a formalização de sua definição, feita por Kent
Back em 1997 em um projeto para a Chrysler .
III. No XP os requisitos do projeto são organizados em uma lista de tarefas, chamada de product backlog, em
ordem decrescente de prioridade.
Questões:
Assinale:
a) se somente a afirmativa I estiver correta.
b) se somente as afirmativas I e II estiverem corretas.
c) se somente as afirmativas I e III estiverem corretas.
d) se somente as afirmativas II e III estiverem corretas.
Questões:
6) Um dos principais conceitos do Scrum para atacar a complexidade do desenvolvimento e gerenciamento de
software é a implantação de um controle descentralizado, capaz de lidar mais eficientemente com contextos
pouco previsíveis. Para tanto, o gerenciamento é distribuído por meio de três agentes independentes que são:
a) Product Owner, Product Backlog e Planning Meeting.
b) Product Owner, Sprint e Planning Meeting.
c) Product Owner, Scrum Team e Scrum Master.
d) Sprint, Scrum Master e Planning Meeting.
e) Sprint, Scrum Team e Product Backlog.
Questões:
7) Um analista de TI está participando do desenvolvimento de um software orientado a objetos utilizando a
plataforma Java. Na abordagem de desenvolvimento adotada, o código é desenvolvido de forma incremental,
em conjunto com o teste para esse incremento, de forma que só se passa para o próximo incremento quando o
atual passar no teste. Como o código é desenvolvido em incrementos muito pequenos e são executados testes a
cada vez que uma funcionalidade é adicionada ou que o programa é refatorado, foi necessário definir um
ambiente de testes automatizados utilizando um framework popular que suporta o teste de programas Java.
A abordagem de desenvolvimento adotada e o framework de suporte à criação de testes automatizados são,
respectivamente:
A) Scrum e JUnit
B) Espiral e Jasmine
C) TDD e JUnit
D) Prototipação e PHPUnit
Questões:
8) Programação em pares utilizando história de usuários e Stand-up Meeting são características das práticas do:
a) Cascata.
b) Espiral.
c) Extreme Programming.
d) PMBOK.
e) SCRUM.
Questões:
9) No SCRUM, que papel é responsável pela visão do produto e pelo retorno do investimento:
a) Scrum Master.
b) Product Owner.
c) Sprint Planner.
d) Gerente do Projeto.
e) Analista de Sistemas Sênior.
Questões:
10) Com relação ao desenvolvimento dirigido a testes (do Inglês Test Driven Development - TDD), analise as
afirmativas a seguir.
I. O processo é incremental, as especificações e modelos são informais, os testes são unitários efetivos isto
aumenta da produtividade em alterações.
II. TDD implica escrever o código de teste antes do código de produção, um teste de cada vez, tendo certeza de
que o teste falha antes de escrever o código que irá fazê-lo passar.
III. TDD utiliza o modelo FIRST.
Questões:
Assinale:
a) se somente a afirmativa II estiver correta.
b) se somente as afirmativas I e II estiverem corretas.
c) se somente as afirmativas I e III estiverem corretas.
d) se somente as afirmativas I, II e III estiverem corretas.
Estudo de caso
Empresa
Uma empresa como líder mundial na fabricação de componentes automotivos, a base de
clientes desta empresa inclui praticamente todos os principais fabricantes nos mercados globais
automotivo de veículos comerciais e fora-de-estrada.
Desafio:
A empresa declarou proteção à falência, seus executivos de Recursos Humanos (RH) querem
reduzir os custos dos serviços, que são em média US$ 20 milhões por ano. As principais funções
do RH são terceirizadas para vários contratados.
No total são 15 projetos distintos incluídos no programa de transformação de RH, abrangendo
todos os aspectos da prestação de serviços de RH, como Folha de Pagamento, Benefícios, Saúde
e Bem-Estar e Pensões.
Os principais produtos finais não estão sendo atendidos em nenhum dos projetos e os excessos
de custos críticos estão aumentando. Com apenas quatro meses restantes para concluir todo o
programa de transformação de RH, o CIO deseja reestabelecer a empresa utilizando alguma
metodologia, pois o mesmo não têm o conhecimento em gerenciamento de programas para
alcançar os resultados esperados.
Solução:
Lembrando das metodologias que vimos até o momento nas aulas
sobre processo e desenvolvimento de software escolha uma
metodologia ser adotada para resolução do DESAFIO e depois
explique porquê escolheu a metodologia, quais são as
características/vantagens de se utilizar esta metodologia.

Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix

  • 1.
    Modelos de PDS ParteII PROF.ª ME. CRISTIANE FIDELIX
  • 2.
  • 3.
    Métodologias Ágeis (Framework ágil) Scrum Scaled Agile Framework (SAFe); Feature Driven-Development (FDD); Test Driven Development (TDD) eXtreme Programming (XP)  Kanban  Smart
  • 4.
    Métodologias Ágeis  OQUE É: A metodologia ágil é um modelo e uma filosofia que propõe alternativas à gestão de projetos tradicional e tem a função de aprimorar o processo de desenvolvimento de um produto ou serviço. O objetivo final é fazer entregas com rapidez e com maior frequência, conforme surgem as necessidades do cliente. ... O Manifesto Ágil.
  • 5.
    Manifesto Ágil -Princípios 1.Modificações de requisitos são bem-vindas. 2.Entrega de software funcionando frequentemente. 3.Pessoal de negócio e desenvolvedores trabalhando juntos. 4.Indivíduos motivados. 5.Conversa face a face para levantar informações. 6.Software funcionando com medidas de progresso.
  • 6.
    Manifesto Ágil -Princípios 9.Ritmo constante de desenvolvimento sustentável. 8.Excelência técnica. 9.Simplicidade. 10.Equipes auto organizadas. 11.Equipe reflete sobre como se tornar mais efetiva, então sintoniza e ajusta adequadamente seu comportamento.
  • 8.
  • 9.
    Extreme Programming -XP A Extreme Programming (XP) é uma Metodologia Ágil para equipes pequenas e médias que desenvolvem software baseado em requisitos vagos e que se modificam rapidamente. O principal objetivo da XP é dar agilidade ao desenvolvimento do projeto e busca garantir a satisfação do cliente.
  • 10.
    Breve histórico daXP Extreme Programming, ou simplesmente XP é uma das mais conhecidas metodologia de desenvolvimento de software que segue os princípios do Manifesto Ágil. Embora seu marco de criação seja o ano de 1996, a junção de princípios e boas práticas de programação são frutos de um processo de evolução de pelo menos uma década em que Kent Beck e Ward Cunningham trabalharam na Tektronixs, Inc. como consultores de problemas em SmallTalk (CASTRO, 2007). Em 1996, Kent Beck foi chamado na empresa Chrysler para analisar o desempenho de projeto do C3 (Chrysler Comprehensive Compensation System – Sistema de Compensação Abrangente da Chrysler). O sistema era nada menos que o controle da folha de pagamento de aproximadamente 86 mil funcionários e o objetivo do projeto era unificar os quatro sistemas de software legado diferentes que estavam sendo usados há vinte anos. FONTE: https://hiperbytes.com.br/xp/metodologia-xp-extreme-programming-breve-historico-da-xp/
  • 11.
    Breve histórico daXP Em meados de 1990 uma tarefa um tanto difícil, mas de total importância para a Chrysler que aos poucos viu o projeto se tornar um verdadeiro caos. Havia problema em todos os processos, desde contratos irregulares a profissionais estressados e desconfiados. Foram três dias até Beck analisar todo o projeto para apresentar as seguintes opções para o CIO (Chief Information Officer) da Chrysler: deixar da forma que estava; demitir todos os funcionários e cancelar o projeto e; conceder uma semana de folga e começar o projeto do zero. A Chrysler optou pela alternativa 3 e contratou Beck para ser responsável pelo projeto (TELES, 2006). FONTE: https://hiperbytes.com.br/xp/metodologia-xp-extreme-programming-breve-historico-da-xp/
  • 12.
  • 13.
  • 14.
    PRÁTICAS 1.Processo de Planejamento(“Planning Game”) 2.Releases Curtos 3.Metáfora 4.Projeto (Design) Simples 5.Testes
  • 15.
    PRÁTICAS 6.Refactoring 7.Gerenciar a qualidade 8.Programaçãoem Pares 9.Propriedade Coletiva do Código 10.Integração Contínua 11.Semana de 40 horas 12.On-Site Customer (Cliente sempre presente)
  • 16.
    Jogo de Planejamento(Planning Game): O desenvolvimento é feito em interações semanais. No início da semana, desenvolvedores e cliente reúnem-se para priorizar as funcionalidades. Essa reunião recebe o nome de Jogo do Planejamento e nelas já devem estar criadas antecipadamente pelos usuários as User Stories (história dos usuários). Nessa reunião, o cliente identifica prioridades e os desenvolvedores as estimam.
  • 17.
    Jogo de Planejamento(Planning Game): O desenvolvimento é feito em interações semanais. No início da semana, desenvolvedores e cliente reúnem-se para priorizar as funcionalidades. Essa reunião recebe o nome de Jogo do Planejamento e nelas já devem estar criadas antecipadamente pelos usuários as User Stories (história dos usuários). Nessa reunião, o cliente identifica prioridades e os desenvolvedores as estimam.
  • 18.
    User Story É apenasuma promessa de uma conversa, um lembrete de que mais detalhes serão necessários, e não deve ser considerada suficiente para a realização do trabalho. Ela é o começo, mas somente será útil para o desenvolvimento do produto se for seguida por uma série de conversas entre as pessoas de negócios (em geral, o Product Owner) e os membros do Time de Desenvolvimento. Essas conversas visam definir e capturar os detalhes de negócios necessários para o desenvolvimento da funcionalidade que atenderá a essa necessidade do usuário.
  • 20.
    DESVANTAGEM  Não havernenhuma documentação do projeto Trabalhar somente com recursos de nível sênior é mais caro e difícil Difícil controle para projetos grandes Software é construído para o “agora” Mudança cultural
  • 21.
    Questão: Métodos ágeis visama acelerar o processo de desenvolvimento de software. Dentre as opções abaixo, qual representa uma prática proposta pelo Manifesto Ágil? a)Processo sequencial de desenvolvimento. b) Analise e implementação de Riscos. c)Grande quantidade de desenvolvedores. d) Programação em pares. e)Tempo no máximo de desenvolvimento de 60 dias.
  • 22.
    SCRUM É um gerenciamentoágil de projetos É um processo incremental para o desenvolvimento de qualquer produto de software É um processo incremental para o gerenciamento de qualquer projeto É formal e tem passos predefinidos Têm pouca flexibilidade de mudanças
  • 23.
  • 24.
    SCRUM : Componentes ProductBacklog = representa uma lista com todos os requisitos priorizados e ordenados de acordo com o valor que representam para o cliente e negócio. TUDO AQUILO QUE PRECISA IMPLEMENTAR, LISTA DE FUNCIONALIDADES (REQUISITOS)!!!!
  • 25.
    SCRUM O projetoé divididoemciclos ...SPRINT!!!! SPRINT É UMA INTERAÇÃO SPRINT É O PERÍODO PARA FINALIZAÇÃO DE CADA REQUISITO Sprint = o incremento de 2 a 4 semanas que a equipe de projeto tem para produzir o incremento.
  • 26.
    SCRUM Sprint Backlog =é a análise dos requisitos para informar a equipe como será implementado
  • 27.
  • 28.
    SCRUM: Conceitos Time box= concentrar o que é mais importante. Impedimentos = impede o andamento dos trabalhos. Pronto = lista de funcionalidades que devem ser implementadas. Review Meeting = é uma reunião ao final do Sprint para o cliente realizar o aceite do incremento. Retrospective Meeting = é uma reunião para o time avaliar os fatos positivos e negativos observados. Planning Poker = cartas com estimativas de esforço para cada atividade escolhida do PRODUCT BACKLOG.
  • 29.
    SCRUM: Equipe Scrum Master= coordenador responsável por não estourar o sprint. Product Owner= seleciona as atividades o SPRINT BACKLOG. Equipe = seleciona o SPRINT BACKLOG a lista de funcionalidades que devem ser implementadas.
  • 30.
  • 31.
  • 32.
    SCRUM: Equipe PORCOS =OS COMPROMETIDOS GALINHAS = OS ENVOLVIDOS
  • 33.
    SCRUM: Equipe PORCOS =Product Owner, Scrum Master e Team GALINHAS = pessoas que têm interesse, mas não faz parte da equipe Stakeholders e usuários
  • 34.
    Equipe: RESPONSABILIDADES PO • Descriçãoda função do software •Retorno do investimento •Alterar as prioridades Scrum Master •Liderança •Melhorar as produtividade •Promover as práticas de engenharia •Entregar o código em funcionamento
  • 35.
  • 36.
    SCRUM Ferramentas para planejamentodo SPRINT: https://www.youtube.com/watch?v=kV7URs 4Tpu0&feature=emb_logo
  • 37.
    QUESTÃO: O SCRUM éum dos modelos ágeis mais utilizados no mercado. Qual das opções abaixo se refere a uma atividade do método SCRUM? a) Sequencial e Linear b)Planejamento do Sprint com reuniões diárias e revisão c)Documentação com diagramas de classes d) Dirigido por casos de uso e)Protótipo de interface desde o início
  • 38.
    Links: Metodologias deDesenvolvimento de Jogos Scrum | Fábrica de Jogos https://www.profissionaisti.com.br/artefatos-e-ferramentas-scrum/ https://www.youtube.com/watch?v=k6mrbk3fQXA
  • 39.
    TDD  Test DrivenDevelopment / Desenvolvimento orientado a teste  É parte da metodologia XP e também utilizado em diversas outras metodologias, além de poder ser utilizada livremente. Não é método de testes, mas sim um método de desenvolvimento, criado por Kent Beck em 2003. O TDD transforma o desenvolvimento, pois deve-se primeiro escrever os testes, antes de implementar o sistema. Os testes são utilizados para facilitar no entendimento do projeto, segundo Freeman os testes são usados para clarear a ideia em relação ao que se deseja em relação ao código.
  • 40.
    TDD Baseia-se em cicloscurtos e é caracterizado por:  Primeiro o desenvolvedor cria casos de testes para uma melhoria ou nova funcionalidade.  Depois é produzido um código para atender aos testes esperados.
  • 41.
    1º criamos umteste -> 2º Fazemos a codificação para passar no teste -> 3ª Refatoramos nosso código
  • 42.
    TDD Refatorar o código: Melhoria do código escrito.  Refazer os testes após alterações. Repetir tudo:  Iniciando outro teste, o ciclo é repetido.  Incorpora requisitos e novos testes até ficar 100% correto.  Usar a integração contínua para reversão.
  • 43.
    Além disso, ostestes devem seguir o modelo F.I.R.S.T. •F (Fast) - Rápidos: devem ser rápidos, pois testam apenas uma unidade; •I (Isolated) - Testes unitários são isolados, testando individualmente as unidades e não sua integração; •R (Repeateble) - Repetição nos testes, com resultados de comportamento constante; •S (Self-verifying) - A auto verificação deve verificar se passou ou se deu como falha o teste; •T (Timely) - O teste deve ser oportuno, sendo um teste por unidade.
  • 44.
    TDD Vantagens:  Processo incremental. Especificações e modelos são informais.  Testes unitários efetivos.  Aumento da produtividade em alterações. Desvantagens:  Sem especificações não se constrói.  A criação de testes automatizados podem gerar atrasos no tempo de construção.  É um modelo ágil.
  • 45.
    Para facilitar aindamais, existem diversas ferramentas que nos fazem ganhar ainda mais tempo. Alguns exemplos para diferentes linguagens são:
  • 46.
    QUESTÃO: O Test DrivenDevelopment (TDD) é um método que tem como característica principal: a)Aumentar a qualidade da especificação. b)Fazer testes integrados. c)Escrever os testes antes da codificação. d)Elaborar protótipo. e)Codificar e depois testar.
  • 47.
  • 48.
    Questões: 1) São algumasdas metodologias de desenvolvimento de software consideradas ágeis (Agile Software Process Models): a) Incremental, XP e Espiral. b) Waterfall, Scrum e TDD. c) XP, TDD e Prototipação. d) Scrum, XP e TDD .
  • 49.
    Questões: 2) A abordagemiterativa de desenvolvimento de software tem se popularizado como técnica padrão de desenvolvimento de sistemas pequenos e médios, especialmente no mundo dos negócios. Scrum e eXtreme Programming são métodos ágeis e iterativos de desenvolvimento de software que compartilham a característica de: a) ênfase em processos em vez de pessoas. b) envolvimento restrito do cliente no processo de desenvolvimento. c) Equipes auto organizadas. d) dificuldade de atender a contínuas mudanças nos requisitos.
  • 50.
    Questões: 3) Em umprojeto de desenvolvimento de software, os membros da equipe do projeto conversam, diariamente, numa rápida reunião, para verificar o andamento das tarefas e expor eventuais dificuldades. Essa equipe é multidisciplinar, composta predominantemente de profissionais experientes que trabalham em conjunto, auto organizáveis com um representante do cliente. As iterações de trabalho são curtas (2 a 4 semanas) e, há uma análise dos requisitos para informar a equipe como será implementado ao final de cada uma delas assim o produto ganha novas funcionalidades. Nesse momento, a versão atual é apresentada funcionando ao cliente, visto que ter o software funcionando é mais importante do que ter uma documentação detalhada.
  • 51.
    Questões: O modelo dedesenvolvimento de sistemas que se encaixa nesse cenário é o : a) Espiral. b) TDD. c) Prototipagem rápida. d) Scrum. e) Cascata.
  • 52.
    Questões: 4) Acerca dasmetodologias XP e Scrum, assinale a afirmativa INCORRETA. a) Scrum é uma metodologia ágil para gestão e planejamento de projetos de software. No Scrum, os projetos são divididos em ciclos chamados Sprints. b) No Scrum os requisitos do projeto são organizados em uma lista de tarefas, chamada de product backlog, em ordem de prioridade. c) XP é uma metodologia ágil para equipes de tamanho pequeno ou médio desenvolverem software com requisitos vagos ou que mudem rapidamente. d) XP no Planning Game os desenvolvedores e cliente reúnem-se para priorizar as funcionalidades usuários as User Stories (história dos usuários). e) O Scrum e o XP por serem metodologias sequenciais e linear não adotam valores como: comunicação, simplicidade, feedback e coragem.
  • 53.
    Questões: 5) Acerca dosprocessos XP e Scrum avalie as afirmativas a seguir: I. XP é uma metodologia ágil para equipes de tamanho pequeno ou médio desenvolverem software com requisitos vagos ou que mudem rapidamente. Seus valores são comunicação, simplicidade, feedback e coragem. II. O Scrum foi criado para gerenciamento de projetos de fabricação de automóveis e produtos de consumo. Sua popularização no desenvolvimento de software ocorreu após a formalização de sua definição, feita por Kent Back em 1997 em um projeto para a Chrysler . III. No XP os requisitos do projeto são organizados em uma lista de tarefas, chamada de product backlog, em ordem decrescente de prioridade.
  • 54.
    Questões: Assinale: a) se somentea afirmativa I estiver correta. b) se somente as afirmativas I e II estiverem corretas. c) se somente as afirmativas I e III estiverem corretas. d) se somente as afirmativas II e III estiverem corretas.
  • 55.
    Questões: 6) Um dosprincipais conceitos do Scrum para atacar a complexidade do desenvolvimento e gerenciamento de software é a implantação de um controle descentralizado, capaz de lidar mais eficientemente com contextos pouco previsíveis. Para tanto, o gerenciamento é distribuído por meio de três agentes independentes que são: a) Product Owner, Product Backlog e Planning Meeting. b) Product Owner, Sprint e Planning Meeting. c) Product Owner, Scrum Team e Scrum Master. d) Sprint, Scrum Master e Planning Meeting. e) Sprint, Scrum Team e Product Backlog.
  • 56.
    Questões: 7) Um analistade TI está participando do desenvolvimento de um software orientado a objetos utilizando a plataforma Java. Na abordagem de desenvolvimento adotada, o código é desenvolvido de forma incremental, em conjunto com o teste para esse incremento, de forma que só se passa para o próximo incremento quando o atual passar no teste. Como o código é desenvolvido em incrementos muito pequenos e são executados testes a cada vez que uma funcionalidade é adicionada ou que o programa é refatorado, foi necessário definir um ambiente de testes automatizados utilizando um framework popular que suporta o teste de programas Java. A abordagem de desenvolvimento adotada e o framework de suporte à criação de testes automatizados são, respectivamente: A) Scrum e JUnit B) Espiral e Jasmine C) TDD e JUnit D) Prototipação e PHPUnit
  • 57.
    Questões: 8) Programação empares utilizando história de usuários e Stand-up Meeting são características das práticas do: a) Cascata. b) Espiral. c) Extreme Programming. d) PMBOK. e) SCRUM.
  • 58.
    Questões: 9) No SCRUM,que papel é responsável pela visão do produto e pelo retorno do investimento: a) Scrum Master. b) Product Owner. c) Sprint Planner. d) Gerente do Projeto. e) Analista de Sistemas Sênior.
  • 59.
    Questões: 10) Com relaçãoao desenvolvimento dirigido a testes (do Inglês Test Driven Development - TDD), analise as afirmativas a seguir. I. O processo é incremental, as especificações e modelos são informais, os testes são unitários efetivos isto aumenta da produtividade em alterações. II. TDD implica escrever o código de teste antes do código de produção, um teste de cada vez, tendo certeza de que o teste falha antes de escrever o código que irá fazê-lo passar. III. TDD utiliza o modelo FIRST.
  • 60.
    Questões: Assinale: a) se somentea afirmativa II estiver correta. b) se somente as afirmativas I e II estiverem corretas. c) se somente as afirmativas I e III estiverem corretas. d) se somente as afirmativas I, II e III estiverem corretas.
  • 61.
  • 62.
    Empresa Uma empresa comolíder mundial na fabricação de componentes automotivos, a base de clientes desta empresa inclui praticamente todos os principais fabricantes nos mercados globais automotivo de veículos comerciais e fora-de-estrada.
  • 63.
    Desafio: A empresa declarouproteção à falência, seus executivos de Recursos Humanos (RH) querem reduzir os custos dos serviços, que são em média US$ 20 milhões por ano. As principais funções do RH são terceirizadas para vários contratados. No total são 15 projetos distintos incluídos no programa de transformação de RH, abrangendo todos os aspectos da prestação de serviços de RH, como Folha de Pagamento, Benefícios, Saúde e Bem-Estar e Pensões. Os principais produtos finais não estão sendo atendidos em nenhum dos projetos e os excessos de custos críticos estão aumentando. Com apenas quatro meses restantes para concluir todo o programa de transformação de RH, o CIO deseja reestabelecer a empresa utilizando alguma metodologia, pois o mesmo não têm o conhecimento em gerenciamento de programas para alcançar os resultados esperados.
  • 64.
    Solução: Lembrando das metodologiasque vimos até o momento nas aulas sobre processo e desenvolvimento de software escolha uma metodologia ser adotada para resolução do DESAFIO e depois explique porquê escolheu a metodologia, quais são as características/vantagens de se utilizar esta metodologia.