AULA 03
SUMÁRIO PÁGINA
Apresentação 01
- Metodologias Ágeis 03
- Scrum 14
- Extreme Programming (XP) 59
- Feature Driven Development (FDD) 84
- Test-Driven Development (TDD) 94
- Acceptance Test-Driven Development (ATDD) 103
- Kanban 104
Lista de Exercícios Comentados 56
Gabarito 68
16712855225
METODOLOGIAS ÁGEIS
16712855225
Porque, em última instância, quem gera produtos e serviços são os indivíduos, que
possuem características únicas, como talento e habilidade. A programação de
computadores é uma atividade humana e, assim, depende de questões humanas
para seu sucesso. Highsmith afirma que são críticas para o sucesso dos projetos: as
habilidades, as personalidades e as peculiaridades dos indivíduos.
Eles são, muitas vezes, desorganizados e difíceis de entender, mas também são
inovadores, criativos e apaixonados. Vale dizer que quanto melhor a equipe
interage, mais fácil será a resolução dos problemas no desenvolvimento. O feedback
contribui bastante para melhorar essa interação. As habilidades individuais e o
trabalho em equipe são inseparáveis em projetos de desenvolvimento de software.
E quanto às ferramentas e aos processos? Ora, ambos são importantes para guiar e
apoiar o desenvolvimento, mas é a capacidade e o conhecimento dos indivíduos
que ajudam a tomar decisões críticas no projeto. Desde quando seguir processos e
usar ferramentas, apenas, é suficiente para criar bons softwares? Pois é, sempre são
necessárias as habilidades do indivíduo!
contratos?
Estamos no século 21! Uma empresa líder de mercado pode acabar de uma hora
para outra – a única certeza é a instabilidade! Logo, a equipe deve estar preparada
para mudanças no escopo, tempo, custo, tecnologia, arquitetura, entre outros.
Iterações curtas de desenvolvimento permitem que mudanças possam ser
rapidamente inseridas no projeto, de forma que atendam às novas necessidades.
Por fim, o manifesto enfatiza que os itens à direita têm seu valor, entretanto os itens
à esquerda são mais valorizados! A charge abaixo brinca com os mitos sobre
desenvolvimento ágil. Muitos acreditam que é um desenvolvimento caótico, sem
ordem, mambembe, improvisado, sem planejamento e sem documentação, mas
com foco em rapidez.
16712855225
Para entender essa diferença, eu gosto de utilizar dois exemplos! O Usain Bolt é
bicampeão olímpico, mundial, etc... ou seja, ele é geralmente o mais rápido, mas ele
tem um problema: sua largada! Ele reage mais lento que seus adversários quando
ouve o disparo de início da corrida (mudança), logo podemos dizer que ele é o mais
rápido, mas é menos ágil, i.e., ele demora mais a responder a mudanças.
Isso ocorre também quando você tem em disputa um carro muito potente e pesado
e um carro menos potente e mais leve. É provável que o carro mais leve, mesmo
sendo menos potente, tenha uma arrancada melhor, ou seja, ele é mais ágil. Apesar
de ser mais lento no decorrer da corrida, ele será mais ágil. Claro, pessoal, que esses
são exemplos genéricos – apenas para entender a ideia.
Pressman afirma que a agilidade pode ser aplicada a qualquer processo de software.
Entretanto, para obtê-la, é essencial que seja projetado para que a equipe possa
adaptar e alinhar (racionalizar) tarefas; possa conduzir o planejamento
compreendendo a fluidez de uma abordagem do desenvolvimento ágil; possa
eliminar tudo, exceto os artefatos essenciais, conservando-os enxutos.
organizar o trabalho da equipe como um todo, sendo também responsável pela tomada de
decisões.
Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e
ajusta seu comportamento de acordo. As Metodologias Tradicionais muitas vezes são
engessadas, i.e., não revisitam frequentemente seu comportamento.
Eu discordo dessa afirmação! Acredito que ela já foi válida tempos atrás, mas hoje
não é mais! Projetos Ágeis já são suficientemente maduros para serem aplicados a
projetos complexos e de grande porte. Pessoal, essa é só a minha opinião! Não é
possível saber ainda a posição das bancas caso isso seja questionado em provas de
concurso. Bacana? Vamos lá...
16712855225
Comentários:
Vou repetir, porque esse assunto cai em prova! No ágil, documentação é descartável?
Não! Ela é útil para ajudar a comunicação e colaboração na equipe, melhorar a
transferência de conhecimento, preservar informações históricas, satisfazer
necessidades contratuais ou legais, etc. A documentação é importante, sim; mas
valoriza-se mais o software em funcionamento.
Gabarito: E
16712855225
Comentários:
Gabarito: E
Comentários:
16712855225
Gabarito: E
Comentários:
Pressman afirma que a agilidade pode ser aplicada a qualquer processo de software.
Entretanto, para obtê-la, é essencial que seja projetado para que a equipe possa
adaptar e alinhar (racionalizar) tarefas; possa conduzir o planejamento
Conforme vimos em aula, a agilidade pode – sim – ser aplicada a qualquer processo
de software.
Gabarito: E
Comentários:
Gabarito: C
16712855225
Comentários:
Gabarito: C
Comentários:
Gabarito: E
16712855225
Comentários:
variar (os requisitos são variáveis) de forma controlada. É o famoso: “Tempo fixo,
escopo variável”.
Gabarito: C
Comentários:
Porque clientes se interessam por resultados que entreguem valor ao negócio e, não,
por documentos abrangentes. O software em funcionamento é o único indicador do
que, de fato, a equipe construiu. Claro, não se exclui a necessidade de documentação,
que é bastante útil para o desenvolvimento, mas deve-se produzir somente a
documentação necessária e suficiente para a realização do trabalho.
Vou repetir, porque esse assunto cai em prova! No ágil, documentação é descartável?
Não! Ela é útil para ajudar a comunicação e colaboração na equipe, melhorar a
transferência de conhecimento, preservar informações históricas, satisfazer
necessidades contratuais ou legais, etc. A documentação é importante, sim; mas
valoriza-se mais o software em funcionamento.
Gabarito: E
ACERTEI ERREI
SCRUM
Alguém de vocês sabe de onde vem esse nome? Não? Então eu vou contar! Esse
nome vem do Rugby e é utilizado como uma metáfora para refletir o alto grau de
cooperação necessária para obter sucesso no alcance de algum objetivo. Imagino
que poucos de vocês entendam as regras desse esporte, portanto vou explicar de
forma bastante rápida e objetiva o porquê dessa metáfora ser utilizada.
No Rugby, um time pontua quando a bola cruza a linha de gol e toca o chão –
sendo carregada ou por meio de um passe. Caso o jogador seja derrubado, ele
deve soltar a bola, e a jogada se reinicia! Deve haver intensa troca de passes entre
os jogadores, de modo a deixá-los menos vulneráveis a serem derrubados por
outros jogadores. Tranquilo até aqui?
16712855225
Bem... cada jogada se inicia quando um scrum é realizado, isto é, forma-se uma
parede de força entre os jogadores, como pode ser visto na imagem acima.
Observem que os jogadores se reúnem de forma bastante próxima, unindo suas
forças e habilidades para trabalhar em conjunto e harmonicamente a fim de
conseguir recuperar a bola.
Percebam, portanto, que o time inteiro deve trabalhar para que a equipe possa
pontuar. Diferentemente do Futebol Americano (NFL), não há um quarterback ou
uma estrela no time – todos têm suas funções e responsabilidades, e são igualmente
importantes! Acredito que agora ficou mais fácil entender de onde vem esse nome.
Chega de papo e vamos à teoria...
Primeiro, ele é um framework – isso significa dizer que ele agrega processos,
16712855225
O que seria exatamente um ambiente complexo? Existe uma coisa chamada Modelo
Cynefin que explica bem os tipos de ambientes. Existem os ambientes simples,
complicados, complexos e caóticos. O que vocês precisam saber é que um ambiente
complexo é aquele que não é muito bem definido, não é muito acoplado, há muitas
mudanças, apresenta muitas formas de realizar um trabalho.
16712855225
Se uma sprint falhar, todos ficam sabendo; se os feedbacks forem ruins, todos ficam
sabendo; se o projeto atrasou, todos ficam sabendo. O objetivo é encarar as
dificuldades de forma honesta e chegar a um consenso sobre como estes podem
ser ultrapassados. Os erros são inevitáveis e a equipe deve ser incentivada a encarar
esta premissa como uma base para aprender com os erros que são cometidos.
A ideia aqui é identificar rapidamente qualquer desvio sobre a meta que deve ser
atingida. Vocês verão que, na Reunião de Revisão e na Reunião de Retrospectiva,
tanto os produtos quanto os processos são inspecionados. As inspeções são mais
benéficas quando realizadas de forma diligente por inspetores especializados no
trabalho a se verificar.
realizado o mais breve possível para minimizar mais desvios. Como mudanças
sempre ocorrem, recomenda-se a adaptação em vez de evitá-las.
Vamos resumir os três pilares que sustentam o nosso framework! Tudo no Scrum
deve ser transparente e facilmente acessível. Partindo dessa premissa, podemos
inspecionar e identificar problemas e oportunidades de melhoria do produto e/ou
processo – em geral, por meio de cerimônias. Feito isso, deve-se buscar ajustar e
adaptar produto e/ou processo para minimizar desvios. Simples, não?
16712855225
SCRUM: PAPEIS
O Scrum possui pouquíssimos papéis, mas eles são muito bem definidos. O Scrum
Team é composto por: Product Owner (PO), Scrum Master (SM) Development
Team (DT). Guardem a fórmula: ST = PO+SM+DT! Não confundam Development
Team com Scrum Team! Professor, pode haver sobreposição de papeis? Sim, SM
pode ser do DT e o PO pode ser do DT, mas um SM jamais pode ser o PO!
Ele é responsável por garantir que o Backlog do Produto seja visível, transparente,
claro para todos, e mostrar o que o Time Scrum vai trabalhar a seguir.
Ele é responsável por garantir que o Time de Desenvolvimento entenda os itens do Product
Backlog no nível necessário.
O Product Owner é uma pessoa e não um comitê. Ele pode representar o desejo
16712855225
de um comitê no Product Backlog, mas aqueles que quiserem uma alteração nas
prioridades dos itens de backlog devem convencer o Product Owner. Para que ele
tenha sucesso, toda a organização deve respeitar as suas decisões e elas devem ser
visíveis no conteúdo e na priorização do Backlog do Produto.
Eles são auto-organizados. Ninguém (nem mesmo o SM) diz ao Time de Desenvolvimento como
transformar o Product Backlog em incrementos de funcionalidades potencialmente utilizáveis.
Times de Desenvolvimento são multifuncionais, possuindo todas as habilidades
necessárias, enquanto equipe, para criar o incremento do Produto.
O Scrum não reconhece títulos para os integrantes do Time de Desenvolvimento que não seja
Desenvolvedor, independentemente do trabalho que está sendo realizado pela pessoa;
Individualmente, os integrantes do Time de Desenvolvimento podem ter habilidades
especializadas, mas a responsabilidade pertence aos desenvolvedores como um todo.
-times dedicados a domínios específicos de
conhecimento, tais como teste ou análise de negócios.
Os Times de Desenvolvimento são estruturados e autorizados pela organização para
organizar e gerenciar seu próprio trabalho.
Em suma, a equipe deve ter entre 3 e 9 integrantes, de modo que não seja pequena
demais que haja restrições de habilidades nem grande demais que seja complicado
de gerenciar. Vou dizer de novo: não confundam Equipe de Desenvolvimento
(Development Team) com Equipe Scrum (Scrum Team)! O PO e SM não são
16712855225
Ele deve garantir que o Scrum seja entendido e aplicado. O Scrum Master faz isso para
garantir que o Time Scrum adere à teoria, práticas e regras do Scrum.
O Scrum Master ajuda aqueles que estão fora do Time Scrum a entender quais as suas
interações com o Time Scrum são úteis e quais não são.
O Scrum Master ajuda todos a mudarem estas interações para maximizar o valor criado pelo
Time Scrum.
Ele é responsável por orientar o Product Owner na criação e ordenação do Product
Backlog.
Ele é responsável por garantir que as regras do Scrum estejam sendo cumpridas e seus
valores estajam sendo seguidos.
Ele é responsável por ajudar a remover impedimentos que o time enfrente, fazendo
isso sem o uso de qualquer autoridade.
Ele utiliza técnicas de facilitação e coaching para que os membros do time consigam visualizar
os problemas e encontrem a melhor solução.
Durante eventos, ele é responsável por fazer com que a reunião flua adequadamente,
utilizando técnicas de facilitação, embora não seja o responsável pela condução.
Ele ajuda a treinar o time de desenvolvimento em autogerenciamento e interdisciplinaridade.
Ele auxilia o PO na comunicação clara da visão, objetivo e itens do Product Backlog para
o time de desenvolvimento.
Certa vez, uma aluna me falou o seguinte: “Professor, na minha opinião, o controle
e gerenciamento do projeto não é descentralizado nesses três papéis. O Product
Owner responde pelo sistema, logo o gerenciamento e controle não é descentralizado
– é centralizado no PO!”. Eu resolvi, então, inventar uma metáfora para que ela
pudesse entender melhor. É mais ou menos assim...
Imaginem que João deseja construir uma casa. Para tal, ele contrata uma renomada
16712855225
empresa de engenharia. A empresa irá fornecer todo seu know-how por meio de
uma Equipe de Construção de Casas, que será composta por uma Equipe de
Pedreiros, um Mestre de Obras e... por você! Sim, você fará parte da Equipe de
Construção de Casas como principal parte interessada.
Vamos dar um nome para você? Você ocupará o cargo de Dono da Casa. Ora,
então, a Equipe de Construção de Casas será composta por uma Equipe de
Pedreiros, um Mestre de Obras e o Dono da Casa. E qual é a função de cada um?
Bem, a Equipe de Pedreiros é composta por 3 a 9 pedreiros multidisciplinares – i.e.,
todos dominam todas as atividades de um pedreiro.
Eles são os responsáveis por colocar a mão na massa, levantar parede, fazer o
concreto, alinhar o piso, etc. Já o Mestre de Obras é o grande facilitador! Como
assim, professor? Ele vai retirar os impedimentos que aparecem no decorrer do
nosso projeto. Um pedreiro faltou? Ficou doente? Se machucou? Ele irá buscar uma
maneira de reduzir os impactos dessa ausência.
E, por fim, ele também irá treinar a equipe para que ela seja auto gerenciável e
interdisciplinar. E você? Qual a sua função? Você é o Dono da Casa – você que
gerencia o que será feito e o que não será feito. Você é o responsável pelo que será
entregue. A Equipe de Pedreiros responde a você! O Mestre de Obras responde
somente a você!
Você é o cara que tem que tentar fazer essa casa ficar o melhor possível (Máximo
Valor Agregado). Você é o cara que vai priorizar o que deve ser feito primeiro. Você
é o cara que coloca ou tira atividades da lista atividade a serem realizadas. Você é
o único cara que pode simplesmente cancelar determinada atividade. Pessoal, há
pequenas diferenças, mas a metáfora é evidente.
Bem, vamos falar agora sobre as cerimônias ou eventos! Nós temos quatro eventos
descritos no guia oficial – nós veremos mais à frente. Antes disso, vamos falar de
um evento não-oficial, mas que geralmente é realizado: Reunião de Visão! O que é
isso, professor? É o momento que visa estabelecer um ponto no processo em que o
Product Owner deve expor os detalhes do produto a ser construído.
A saída dessa reunião deve ser uma visão sobre o produto, i.e., representa como os
clientes, usuários finais, gerentes, stakeholders, executivos, entre outros, visualizam
o resultado final do produto que será criado. Para tal, pode-se utilizar diversas
técnicas, tais como: Product Vision Box, Product RoadMap, Product DataSheet ou
Elevator Pitch Sentence.
Vamos ver um pouco dessa última técnica! Geoffrey Moore, no seu livro Crossing
the Chasm, apresenta um modelo interessante para a Visão do Produto, o chamado
“Teste do Elevador”. A ideia é que seja possível explicar o que é o produto durante
a subida de um elevador, ou seja, em um tempo bastante curto. Adaptado por Jim
Highsmith, esse modelo tem o formato apresentado abaixo.
16712855225
Essa cerimônia serve para planejar como será essa release. Isso é extremamente
importante, porque vocês devem saber a criticidade de colocar algo em produção.
É comum ter várias restrições, preocupações e dependências, como datas
importantes, itens contratuais, logística, entre outros. Dessa forma, a equipe precisa
planejar suas entregar várias sprints à frente.
As sprints são compostas por uma Reunião de Planejamento da Sprint, por Reuniões
Diárias, pelo Trabalho de Desenvolvimento, por uma Revisão da Sprint e pela
Retrospectiva da Sprint. Uma sprint se inicia imediatamente após a conclusão da
sprint anterior e tem durações coerentes em todo o esforço de desenvolvimento.
Durante a sprint é proibido realizar mudanças que afetem a sua meta.
Isso pode ocorrer caso o seu objetivo se torne obsoleto, mas ocorrem também
devido à curta duração e a cancelamentos, porém são raros os casos. O trabalho a
ser realizado na Sprint é planejado na Reunião de Planejamento da Sprint
(proporcional de 8 horas). Essa reunião consiste em duas partes e elas devem
responder adequadamente as perguntas:
Imaginem que exista um item que o Product Owner deseja muito que seja
implementado – ele dá um valor de negócio de 1000; agora imagine que tem outro
item no Product Backlog que o Product Owner não liga tanto – ele dá um valor de
negócio de 10; e assim por diante. Dessa forma, o Product Owner consegue ordenar
os itens de acordo com o valor de negócio.
Caso não haja ainda nada estimado no Product Backlog, a equipe localiza a história
de usuário com o menor esforço para desenvolvimento e o utiliza como base de
comparação. Uma das melhores formas de estimar Story Points é por meio de uma
técnica chamada Planning Poker, que não está no guia oficial, mas que é
frequentemente utilizada.
Detalhe: algumas vezes as histórias de usuário são muito grandes para serem
desenvolvidas em uma sprint – são chamadas de Épicos. Elas precisarão ser
quebradas em partes menores. Mais que isso, em alguns projetos é necessário um
nível ainda maior que um épico – chamado de Saga – para features geralmente
mais complexas. Bacana?
Foram selecionados os itens? Ok! Agora a Equipe Scrum definirá uma meta para a
sprint que será o guia para a Equipe de Desenvolvimento sobre o que estará sendo
desenvolvido durante a Sprint. Na segunda parte, a Equipe de Desenvolvimento
decide como irá transformar os itens selecionados em um incremento durante a
Sprint e desenvolve o Sprint Backlog. Por falar nisso...
Qual a diferença entre Product e Sprint Backlog? O primeiro é uma lista de todos os
requisitos/funcionalidades de usuário levantados até o momento e mantidas pelo
Product Owner, que pode alterá-las a qualquer momento. O segundo é um
subconjunto do primeiro transformado em uma lista de tarefas técnicas e mantidas
pela Equipe de Desenvolvimento, que pode alterá-las a qualquer momento.
O Product Owner pode estar presente durante a segunda parte da reunião para
clarificar itens do Backlog do Produto. A Reunião Diária (Máximo de 15 minutos) é
um evento que busca criar um plano para as próximas 24 horas e inspecionar o
trabalho desde a última Reunião Diária. Deve ocorrer sempre no mesmo horário e
local (Em pé? Não é obrigatório!), e cada integrante deve responder três perguntas:
16712855225
16712855225
SCRUM: ARTEFATOS
Segundo o Guia do Scrum, o framework possui apenas três artefatos oficiais: Product
Backlog, Sprint Backlog e o Product Increment.
Product Backlog:
É a origem única dos requisitos para qualquer mudança a ser feita no produto.
Costuma-se dizer que ele é um artefato dinâmico que nunca estará completo e
existirá enquanto o produto também existir. Por que? Porque sempre haverá novos
requisitos, novas necessidades e mudanças a serem incorporadas. Logo, ele é um
artefato vivo – sempre em movimento.
O Product Backlog evolui tanto quanto o produto e o ambiente no qual ele será
utilizado evoluem. Ele muda constantemente para identificar o que o produto
necessita para ser mais apropriado, competitivo e útil. Lembrando que somente o
Product Owner pode inserir, remover ou reordenar esses itens, incluindo seu
conteúdo, disponibilidade e ordenação.
Rafael Prikladnicki afirma que o formato mais utilizado para os itens são Estórias de
Usuário (User Stories) ordenadas de acordo com o critério escolhido pelo Product
Owner. Em geral, itens mais importantes ficam no topo e são implementados
primeiro. Na maioria das vezes, esses são os itens sobre os quais há maior
16712855225
Itens que precisem de maior refinamento geralmente têm uma importância menor
e ficam mais abaixo. Não existe, no entanto, uma forma única para materializar esse
artefato e descrever seus itens. Além das Estórias de Usuário, podem ser utilizadas
descrições textuais de funcionalidades, cenários de casos de uso ou mesmo a técnica
que emergir para aquele projeto.
Isso é normal na maioria dos projetos, uma vez que é impossível saber, desde o
início, os detalhes de tudo o que queremos no produto. Assim, algumas
funcionalidades podem acabar até mesmo desaparecendo. Da mesma forma, novas
funcionalidades também podem ser adicionadas, de acordo com a necessidade.
Vejam o exemplo retirado do livro Métodos Ágeis para Desenvolvimento de Software:
Mas até que ponto estes requisitos precisam ser detalhados? Eles devem ser
16712855225
detalhados até atender o conceito de Definition of Ready (DoR), que significa que o
requisito tem informações suficientes para começar a ser desenvolvido
imediatamente. Esta definição é bastante específica de cada organização – não há
um padrão. Vou dar um exemplo para melhor entendimento...
Sprint Backlog:
Product Increment
Pronto significa pronto mesmo! Quando uma equipe ágil diz que uma
funcionalidade está pronta, isso significa que não tem aquele “veja bem…” ou “só
falta uma coisinha, mas já está pronto…”. O DoD é um acordo formal que define
claramente quais são os passos mínimos para a conclusão de um item ou
funcionalidade potencialmente entregável.
Toda o Time Scrum deve entender o que significa um “pronto”. Uma funcionalidade
só é considerada pronta se tiver passado por todas as etapas definidas pela equipe
de desenvolvimento Uma funcionalidade que não esteja pronta ao final da sprint
deve retornar ao Product Backlog para que seja incluída em uma próxima sprint.
Esse critério é bastante específico, cada um escolhe o seu!
Por outro lado, é uma boa prática revisar essa definição a cada sprint. Ele pode
mudar ao longo do tempo. O amadurecimento organizacional e a habilidade do
time de resolver impedimentos podem fazer com que alguns itens sejam
acrescentados. Diferentemente do Definition of Ready, é imperativo haver um
Definition of Done. Compreenderam?
16712855225
Podemos citar outros artefatos, tais como: Gráfico Burndown, que torna visível a
evolução diária do trabalho da equipe de desenvolvimento, na medida em que
mostra a comparação entre o trabalho estimado inicialmente com a quantidade
restante estimada de trabalho. Via de regra, as unidades utilizadas são de esforço
(em horas) planejado pelo tempo decorrido.
Por fim, é salutar enfatizar que o ciclo de vida do nosso framework é baseado em
16712855225
Define o sistema sendo desenvolvido. Cria-se o Product Backlog, que contém todos
os requisitos atuais e informações sobre o planejamento do projeto. Cria-se também
uma arquitetura de alto nível.
16712855225
Comentários:
Em suma, a equipe deve ter entre 3 e 9 integrantes, de modo que não seja pequena
demais que haja restrições de habilidades nem grande demais que seja complicado
de gerenciar. Vou dizer de novo: não confundam Equipe de Desenvolvimento
(Development Team) com Equipe Scrum (Scrum Team)! O PO e SM não são incluídos
nesta contagem, a menos que também façam parte do DT.
Gabarito: E
Comentários:
Gabarito: C
Comentários:
O Scrum fala que a Sprint deve ter um mês ou menos. Em geral, deve ter entre duas
e quarto semanas.
Gabarito: E
Comentários:
Questão perfeita! Scrum está para o PMBOK assim como o XP está para o RUP. Ele
pode ser utilizado, em teoria, em qualquer contexto em que se necessite atingir um
objetivo comum entre um grupo de pessoas.
Gabarito: C
16712855225
Comentários:
Gabarito: C
Comentários:
Conjunto de requisitos bem definidos? Não, o ponto de partida são requisitos pouco
definidos. Ao longo das cerimônias, melhora-se a definição dos requisitos. Se os
requisitos fossem bem definidos, o Product Backlog seria quase imutável e não é
isso que nós verificamos.
Gabarito: E
Comentários:
Gabarito: C
product backlog.
Comentários:
Gabarito: E
Comentários:
Gabarito: E
Comentários:
Scrum é uma metodologia ágil para gerência de projetos? Sim. Baseia-se em ciclos
de 30 dias denominados sprints? Sim, o ideal seria a questão ter falado de duas a
quatro semanas, mas podemos relevar! Nas sprints, trabalha-se para alcançar
objetivos bem definidos? Sim, temos a meta da Sprint que deve ser alcançada.
Gabarito: C
11. (CESPE - 2011 – ECT - Analista de Informática – Analista de Sistemas) Para que
se obtenha sucesso na utilização do Scrum, o cliente deve se tornar parte da
equipe de desenvolvimento do software, participando diretamente do processo.
16712855225
Comentários:
Gabarito: C
fixa (time-boxes), artefatos e regras. São exemplos de eventos que têm duração
fixa: a reunião de planejamento da versão para entrega, a sprint, a reunião diária,
a revisão da sprint e a retrospectiva da sprint.
Comentários:
Cara, a questão peca um pouco em dizer que é um evento com duração fixa. Por
que, professor? Porque o conceito de time-box é aquilo que tem uma duração
máxima fixa (Ex: Sprint <= 30 dias). Eu entendo que caberia recurso nessa questão.
Gabarito: C
Comentários:
Galera, nós temos o Documento de Visão, partimos para o Product Backlog e depois
para o Sprint Backlog. No final da Sprint, durante a cerimônia de Revisão da Sprint,
verifica-se se o que foi feito está de acordo com o que foi definido.
Gabarito: C
Comentários:
Gabarito: C
Comentários:
Gabarito: C
Comentários:
Gabarito: C
Comentários:
Galera, é correto concluir que o backlog do produto está completo? Não! O Product
Backlog nunca está completo, pois os requisitos estão sempre mudando.
Gabarito: E
Comentários:
Ele pode, sim, delegar a função ao Scrum Master. Quando ele o faz, o Scrum Master
passa a ser PO (quando está fazendo o papel de PO) e Scrum Master (quando está
fazendo o papel de Scrum Master). Em outras palavras, o PO continua gerenciando
o Backlog do Produto! Se o Scrum Master (quando estiver fazendo papel de Scrum
Master) gerenciar o backlog do produto, isso é uma falha na execução dos papeis.
Deve-se dissociar o papel da pessoa e a pessoa dos papeis.
Gabarito: C
Comentários:
barito: C
Comentários:
Gabarito: E
Comentários:
Gabarito: E
Comentários:
No início, ele será pequeno, com o passar do tempo ele vai aumentando,
eventualmente diminuindo, e assim por diante. Em determinado momento,
provavelmente na última sprint, ele conterá todos os requisitos do produto final.
Gabarito: C
Comentários:
Ele deve garantir que o Scrum seja entendido e aplicado. O Scrum Master faz isso para
garantir que o Time Scrum adere à teoria, práticas e regras do Scrum.
O Scrum Master ajuda aqueles que estão fora do Time Scrum a entender quais as suas
interações com o Time Scrum são úteis e quais não são.
O Scrum Master ajuda todos a mudarem estas interações para maximizar o valor criado pelo
Time Scrum.
Ele é responsável por orientar o Product Owner na criação e ordenação do Product
Backlog.
Ele é responsável por garantir que as regras do Scrum estejam sendo cumpridas e seus
valores estajam sendo seguidos. 16712855225
Ele é responsável por ajudar a remover impedimentos que o time enfrente, fazendo
isso sem o uso de qualquer autoridade.
Ele utiliza técnicas de facilitação e coaching para que os membros do time consigam visualizar
os problemas e encontrem a melhor solução.
Durante eventos, ele é responsável por fazer com que a reunião flua adequadamente,
utilizando técnicas de facilitação, embora não seja o responsável pela condução.
Ele ajuda a treinar o time de desenvolvimento em autogerenciamento e interdisciplinaridade.
Ele auxilia o PO na comunicação clara da visão, objetivo e itens do Product Backlog para
o time de desenvolvimento.
Gabarito: C
Comentários:
Ele é responsável por garantir que o Backlog do Produto seja visível, transparente,
claro para todos, e mostrar o que o Time Scrum vai trabalhar a seguir.
Ele é responsável por garantir que o Time de Desenvolvimento entenda os itens do Product
Backlog no nível necessário.
Conforme vimos em aula, trata-se do Product Owner (PO) e, não, o Scrum Master
(SM). Vimos em aula que o Scrum Master comunica os itens à equipe, mas quem
prioriza é o PO.
Gabarito: E
ACERTEI ERREI
16712855225
Comentários:
Guia Scrum diz que o Scrum Team é dividido em Product Owner, Scrum Master e
Development Team. No entanto, a FCC deu a resposta como correto. Por que? Não
faço ideia! =(
Gabarito: A
a) pendência.
b) iterator.
c) demo.
d) história de usuário.
e) sprint.
Comentários:
Gabarito: E
a) Building Products.
b) Product Backlog.
c) Sprint.
d) Product Owner.
e) Product Backlog Cycle.
Comentários:
Gabarito: C
Comentários:
Conforme vimos em aula, essa é uma das três perguntas feitas pelo Scrum Master
e a Scrum Meeting citada é a Daily Scrum Meeting ou Reunião Diária.
Gabarito: E
a) O Sprint deve ser realizado num período máximo de 40 dias e ter uma equipe
de trabalho não superior a 10 pessoas.
Comentários:
péssima! A Daily Scrum deve ter no máximo 15 minutos? Sim, mas a questão apenas
afirma que ela não deve durar mais que 30 minutos. Se ela dura no máximo 15
minutos, ela não dura mais que 30 minutos. Bem, eu não estou dizendo que
concordo com esse raciocínio! É o tipo de coisa que não se cobra em prova para
não dar polêmica, mas a FCC é mestre em cometer esses vacilos! Sendo bastante
estrito no julgamento, o item não está errado, mas isso prejudica quem estudou e
sabe que a reunião tem no máximo 15 minutos; (d) Na verdade, não é incorreto!
Essas são, de fato, as perguntas a serem feitas; (e) Também não é incorreto! É
exatamente isso que o Scrum Master deve fazer.
Gabarito: A
b) O Sprint deve ser realizado num período não superior a 30 dias e ter um
objetivo bem claro, baseado no Backlog.
Comentários:
(a) Backlog? Qual Backlog? Da Sprint? Do Produto? A questão deveria ter dito! De
todo modo, o Product Backlog só pode ser modificado pelo Product Owner e o
Sprint Backlog só pode ser modificado pelo Development Team (em termos de
atividades e, não, objetivos); (b) Perfeito, é isso mesmo! (c) Scrum Master é apenas
um facilitador! Quem pode modificar o Product Backlog é o Product Owner; (d)
Não. É possível, sim, dissolver uma sprint; (e) Na verdade, as discussões ocorrem
mais entre as pessoas da equipe de desenvolvimento.
16712855225
Gabarito: B
Comentários:
Gabarito: C
a) Crystal.
b) XP.
c) DAS.
d) DSDM.
e) Scrum
Comentários:
Gabarito: E
Comentários:
(a) Isso é o Product Owner; (b) Isso é o Product Backlog; (c) Isso é o Product Backlog;
(d) Isso, de fato, é uma sprint; (e) Isso é o Product Backlog.
Gabarito: D
Comentários:
Gabarito: E
a) UP.
b) Crystal.
c) XP.
d) DSDM.
e) Scrum.
Comentários:
Gabarito: E
a) SCRUM.
b) DSDM.
c) Crystal.
d) FDD.
e) XP.
Comentários:
Gabarito: E
a) urgências scrum.
b) registro ágil de requisitos.
c) alterações scrum.
d) registro pendente de trabalhos (Backlog).
e) registro iterativo de desenvolvimento (sprint).
Comentários:
Gabarito: D
criado.
a) I e II.
b) III
c) II e III.
d) II.
e) I e III.
Comentários:
(I) Na verdade, o item trata do Scrum Master; (II) Na verdade, essa é uma
responsabilidade do Product Owner; (III) Perfeito, é exatamente isso!
Gabarito: B
a) product backlog.
b) scrum backlog.
c) sprint backlog.
d) daily backlog.
e) daily sprint.
Comentários:
Opa, observem que a questão fala que não é uma lista de alto nível, i.e., é uma lista
mais detalhada. Portanto, estamos falando de... Sprint Backlog.
Gabarito: C
a) process backlog.
b) scrum master.
c) product owner.
d) backlog.
e) sprint.
Comentários:
Gabarito: E
II. É uma reunião time-boxed de 3 horas para uma Sprint de um mês, sendo uma
oportunidade para o Time Scrum inspecionar a si próprio e criar um plano para
melhorias a serem aplicadas na próxima Sprint.
Sprint.
c) revisão da Sprint - planejamento da Sprint - 15 min break - retrospectiva da
Sprint.
d) retrospectiva da Sprint - planejamento da Sprint - short meeting - revisão da
Sprint.
e) planejamento da Sprint - retrospectiva da Sprint - daily Scrum - revisão da
Sprint.
Comentários:
(I) Trata-se da Revisão da Sprint; (II) Trata-se da Retrospectiva da Sprint; (III) Trata-
se da Daily Scrum; (IV) Trata-se do Planejamento da Sprint.
Gabarito: B
ACERTEI ERREI
16712855225
a) Sp-Cycles.
b) Springs.
c) Sprints.
d) Strengths.
e) Set-prints.
Comentários:
Gabarito: C
ACERTEI 16712855225
ERREI
ser projetado para essa tarefa. Os Testes de Aceitação (ou Testes de Cliente) são
especificados pelo cliente e mantêm o foco nas características e na funcionalidade
do sistema total que são visíveis e que podem ser revistas pelo cliente.
O que indica uma boa História de Usuário? O cliente deverá se preocupar com ela.
A história deverá ter valor de negócio na visão do cliente, para que possa ser
priorizada. Às vezes uma história precisa ser decomposta em partes menores para
caber em uma iteração. Se por si só a história não fornecer valor de negócio, deverá
fornece no mínimo progresso em direção a uma funcionalidade de valor ao negócio.
Por fim, elas devem ser concluídas em até uma iteração. Uma história de usuário
que não caiba em uma iteração deverá ser decomposta em duas ou mais histórias
menores. Galera, as histórias criam um ambiente de propriedade do cliente em
relação aos recursos e prioridades em um ambiente incremental e iterativo de
desenvolvimento. Podemos ver alguns exemplos acima!
Prática Descrição
Jogo do O planejamento de um release e das iterações são feitos com base nas
Planejamento histórias e conta com a colaboração de toda equipe de
desenvolvimento, inclusive o cliente, divididos em papeis: negócio e
técnico. Os clientes priorizam e os desenvolvedores avaliam e estimam.
16712855225
1
MNEMÔNICO: CorSim ComFeRe Coragem, Simplicidade, Comunicação, Feedback, Respeito.
Galera, não confundam Valores Fundamentais com Princípios Básicos! Eles também
são cinco e devem ser seguidos por equipes que forem usar XP em projetos. Os
princípios servirão pra ajudar na escolha de alternativas de solução de problemas
durante o curso do projeto. São eles:
Presumir Simplicidade: todo problema deve ser tratado para ser resolvido da
forma mais simples possível.
se cada vez mais difíceis de implementar. O Extreme Programming lida com este
problema defendendo que o software deve passar por refatoramento
constantemente.
Comentários:
A questão está quase toda correta, exceto pela última parte! O XP recomenda que
não haja especialização de membros, apresentando uma equipe coesa e
multidisciplinar, i.e., todos participam de todas as atividades.
Gabarito: E
Comentários:
16712855225
Gabarito: C
Comentários:
Gabarito: C
Comentários:
Gabarito: E
Comentários:
Gabarito: C
Comentários:
Pressman, 7ª Ed., pág. 77: “XP acceptance tests, also called customer tests, are
specified by the customer and focus on overall system features and functionality
that are visible and reviewable by the costumer. Acceptance tests are derived
from user stories that have been implemented as part of a software release”.
Gabarito: C
Comentários:
Gabarito: C
Comentários:
16712855225
Gabarito: C
Comentários:
Gabarito: E
Comentários:
A primeira parte da questão está perfeita, i.e., metáforas ajudam a transmitir ideias
complexas de maneira simples. No entanto, o objetivo dela não é obter maior foco
no tempo. Ademais, o planejamento da release é dependente do tempo, logo não
há essa distinção de foco!
Gabarito: E
Comentários:
Gabarito: C
Comentários:
Gabarito: C
Comentários:
Gabarito: E
Comentários:
16712855225
Gabarito: E
Comentários:
Gabarito: C
Comentários:
Na verdade, são cinco valores fundamentais! Todos esses e mais um: Respeito. No
entanto, a banca deu como verdadeiro!
Gabarito: C
Comentários:
Gabarito: C
16712855225
Comentários:
Gabarito: E
Comentários:
Gabarito: C
Comentários:
Gabarito: C
Comentários:
Gabarito: C
Comentários:
Gabarito: C
Comentários:
Gabarito: C
Comentários:
16712855225
Gabarito: E
Comentários:
Gabarito: C
Comentários:
Gabarito: E
ACERTEI ERREI
16712855225
Comentários:
(a) Correto, trata-se da programaçõ em pares; (b) Errado, recomenda-se o client on-
site, i.e., o cliente está sempre presente para auxiliar com seu conhecimento sobre
a área de negócio; (c) Errado, ela segue o TDD – Test-Driven Development; (d)
16712855225
Gabarito: A
Comentários:
(a) Errado, esse item não faz o menor sentido; (b) Correto, testa-se primeiro,
codifica-se depois; (c) Pelo contrário, deve-se estimular a comunicação pessoal
entre clientes e desenvolvedores e evitar outros meios mais formais; (d) Errado,
testes são feitos a todo momento; (e) Pelo contrário! XP lida bem com mudanças.
Gabarito: B
Comentários:
(a) Errado, recomenda-se a integração sempre que possível; (b) Errado, é feita por
um par de programadores; (c) Errado, as equipes são auto-organizáveis de acordo
com as suas habilidades, logo não faz sentido se organizar de acordo com outra
equipe; (d) Errado, releases devem ser simples e, não, complexas; (e) Correto, o
código é compartilhado.
Gabarito: E
Comentários: 16712855225
(a) Errado, não há nenhuma notação própria; (b) Correto, trata-se do Refactoring;
(c) Correto, trata-se da programação em pares; (d) Correto, há também respeito; (e)
Correto, teste primeiro e codifique depois.
Gabarito: A
a) PRINCE2.
Comentários:
Gabarito: C
a) propriedade coletiva, que garante uma participação nos lucros aos membros
da equipe de desenvolvimento, técnica que incentiva e aumenta o desempenho
de toda a equipe.
código
Comentários:
(a) Participação nos lucros? Quem dera! Essa prática significa que todos podem
visualizar e editar um código-fonte; (b) Errado, o envolvimento ocorre durante todo
o processo; (c) Errado, deve-se manter um ritmo sustentável, evitando horas-extras;
(d) Pelo contrário, quanto mais limpo o código, melhor; (e) Perfeito, não há nada a
acrescentar.
Gabarito: E
Comentários: 16712855225
(a) Pair Programming; (b) Não sei o que é, mas não há relação com Propriedade
Coletiva; (c) Propriedade Coletiva; (d) Ritmo Sustentável; (e) Cliente On-Site. Alguns
afirmam que a terceira opção está mais para a prática de Pair Programming e, não,
para Propriedade Coletiva. Eu admito que é um pensamento razoável, mas
nenhuma outra opção se encaixa em Propriedade Coletiva. Dessa forma, deve-se
ter essa noção nas questões da FCC, i.e., marcar a mais correta ou a menos errada.
Gabarito: D
Comentários:
Gabarito: B
I. Propriedade coletiva.
II. Integração contínua.
III. Metáfora.
a) I, apenas.
b) II, apenas.
c) I e II, apenas.
d) II e III, apenas.
e) I, II e III.
Comentários:
Gabarito: E
Comentários:
Gabarito: D
a) coragem. 16712855225
b) respeito.
c) comunicação.
d) simplicidade.
e) feedback.
Comentários:
Gabarito: D
a) Time Coeso.
b) Refatoração.
c) Integração Contínua.
d) Desenvolvimento Orientado a Testes.
e) Ritmo Sustentável.
Comentários:
Gabarito: C
a) iterações e sprint.
b) reunião de planejamento e backlog.
c) período de entrega e reunião de revisão.
d) backlog e planejamento da produção.
e) entrega e retrospectiva.
Comentários:
Gabarito: A
ACERTEI ERREI
16712855225
O FDD foi criado em 1997 por Peter Coad e Jeff de Lucca como um grande projeto
de um United Overseas Bank – um banco local de Singapura. Ela oferece um
conjunto coeso de princípios e práticas tanto para a Gestão de Projetos quanto para
a Engenharia de Software, e se harmoniza bem com abordagens mais especialistas,
como Scrum.
Possui duas grandes fases: Concepção & Planejamento (ou Modelagem) – com três
processos; e Construção (ou Implementação) – com dois processos.
Concepção & Planejamento: é uma parte crítica do processo, pois é nessa fase
que são listadas as características (Features) que serão desenvolvidas, e em um
primeiro momento é nessa fase que são definidas todas as características e fases
do sistema e projetos, respectivamente. Seus processos são:
As principais atividades neste processo não são uma sequência estrita. Como
muitas atividades de planejamento, elas são consideradas em conjunto, com
refinamentos feitos a partir de uma ou mais atividades e então considerando
os outros novamente. Após isso, a posse das classes estará completada (além
das classes principais que já foram consideradas para posse).
que suas classes suportem o projeto para esta funcionalidade. O código passa
por testes e inspeções. Após isso, é promovido à versão atual (build).
Walkthroughs do projeto;
Projeto;
Inspeção do projeto;
Código;
Inspeção de código;
Progressão para construção.
16712855225
Comentários:
Gabarito: B
a) XP.
b) SCRUM.
c) Crystal Clear.
d) ASD.
e) FDD.
Comentários:
Gabarito: E
a seguir:
III. Faz uso do teste de unidades como sua tática de testes primária.
SCRUM FDD
II, V e VII II, IV e VIII VII e IX
I, III, IV e VI II, V, VII e IX VIII
II, VII e VIII III, IV, VI e IX IeV
II, VII e VIII I, III, IV e V VI e IX
I, III, IV e VI II, VIII, VII e IX V
Comentários:
(I) XP; (II) Scrum; (III) XP; (IV) XP; (V) Scrum; (VI) XP; (VII) Scrum; (VIII) FDD; (IX) Scrum.
16712855225
Vamos comentar apenas a que nos interessa: FDD define seis marcos durante o
projeto e implementação de uma funcionalidade: walkthroughs (travessia) do
projeto, projeto, inspeção do projeto, codificação, inspeção de código e progressão
para construção.
Gabarito: B
Comentários:
Gabarito: A
a) RUP, XP e DSDM.
b) Waterfall, RUP e FDD.
c) XP, FDD e RUP.
d) Scrum, XP e FDD.
e) Scrum, Waterfall e DSDM.
Comentários:
Gabarito: D
ACERTEI ERREI
16712855225
Modelo:
I - DAS II - DSDM III - FDD IV - XP
Característica:
(P)
Define um ciclo de vida que incorpora três fases: especulação, colaboração e
aprendizado. Durante a fase de aprendizado, à medida que os membros de uma
equipe começam a desenvolver os componentes que fazem parte de um ciclo
adaptativo, a ênfase está tanto no aprendizado quanto no progresso em direção
a um ciclo completo.
(Q)
O conceito característica é uma função valorizada pelo cliente, que pode ser
implementada em duas semanas ou menos. Este modelo define seis marcos de
referência durante o projeto e implementação de uma característica: travessia
16712855225
(R)
Fornece um arcabouço para construir e manter sistemas que satisfazem às
restrições de prazo apertadas por meio do uso de prototipagem incremental em
ambiente controlado de projeto. Essa abordagem sugere uma filosofia que é
emprestada de uma versão modificada do princípio de Pareto.
A relação correta é:
a) I - P, II - Q, III - R.
b) I - P, II - R, III - Q.
c) I - Q, III - R, IV - P.
d) II - P, III - R, IV - Q.
e) II - Q, III - P, IV - R.
Comentários:
Vamos comentar apenas o que nos interessa: FDD se refere à letra Q – com seus
marcos e funcionalidades/características.
Gabarito: B
ACERTEI ERREI
16712855225
Vamos lá! Para cada parte da aplicação, adiciona-se um teste escrito antes mesmo
do desenvolvimento do código em si. Por que? Porque eles podem ajudar a reduzir
riscos de possíveis problemas no código. Executamos o teste e ele... falha! Ele deve
necessariamente falhar! Por que? Ora, porque ele é o primeiro teste e você nem
criou a funcionalidade ainda, logo ele não irá funcionar!
Então nós adicionamos uma nova funcionalidade ao sistema apenas para que ele
16712855225
passe no teste e execute novamente (agora ele deve passar no teste). Então
adicionamos um novo teste e rodamos o teste anterior e esse novo teste. Se algum
deles falhar, modifica-se o código da funcionalidade e rodam-se todos os testes
novamente, e assim por diante – a imagem abaixo mostra como funciona.
Galera, vocês percebem que o feedback sobre a nova funcionalidade é bem rápido?
Ademais, cria-se um código mais limpo, visto que o código para passar nos testes
deve ser bastante simples. Há mais segurança na correção de eventuais bugs;
2
Eventualmente chamado de Test-Driven Programming (TDP).
JUnit, TesteNG, PHPUnit, SimpleTest, NUnit, Jasmine, CUnit, PyUnit, etc. Enfim,
pessoal, essa abordagem permite diminuir eventuais riscos.
IMPORTANTE
O Test Driven Development (TDD) não é uma abordagem para realizar testes, é uma
abordagem para desenvolver softwares. Entenderam? Se alguma questão disser que trata-
se de uma técnica para realização de testes de software, está errado! É um processo para
desenvolvimento de software! Ok?
Professor, isso já caiu em prova discursiva? Sim, a prova pedia para dizer as
ntagens do emprego do TDD em relação a outras metodologias ágeis.
Poderíamos responder essa pergunta afirmando que o software desenvolvido, em
geral, apresenta maior qualidade, na medida em que é implementado direcionado
às expectativas do cliente;
O TDD pode apoiar esse princípio por fornecer detalhes para a realização dos testes
de unidade e de funcionalidade, que são importantes e necessários. Ademais, o
desenvolvimento orientado a testes apresenta relação intrínseca com a Refatoração,
tendo em vista que confere ao programador maior segurança para identificar e
remover o código duplicado, e permite, assim, a melhoria contínua do programa.
16712855225
Comentários:
Gabarito: E
Comentários:
Gabarito: E
Comentários:
Gabarito: C
Comentários:
(a) Não, são ciclos curtos; (b) Não, são produzidos primeiramente os testes e, depois,
os códigos; (c) Não, a refatoração é uma das últimas atividades realizadas em uma
iteração; (d) Escrever casos de testes é uma das atividades iniciais; (e) Perfeito, TDD
é uma das práticas recomendadas pelo XP.16712855225
Gabarito: E
Comentários:
Gabarito: E
Comentários:
Gabarito: C
Comentários:
Gabarito: C
16712855225
Comentários:
Galera! O CESPE afirma que esta questão está errada e, para uma questão estar
errada, é preciso que haja algum erro nela. Óbvio, não?! Pois é, o problema é que
eu não acho que haja nenhum erro no item. TDD é uma técnica? Sim! De
Gabarito: E
A ordem correta e cronológica que deve ser seguida para o ciclo de vida do TDD
está expressa em:
a) IV − III − II − V − I − VI.
b) V − VI − II − I − III − IV.
c) VI − V − III − II − IV − I.
d) III − IV − V − VI − I − II.
e) III − IV − VI − V − I − II.
Comentários: 16712855225
Pessoal, acredito que essa questão não possui resposta! Percebam que a opção que
melhor se encaixa é a Letra C (VI − V − III − II − IV – I), no entanto o item V afirma:
Executar todos os possíveis testes e ver a aplicação falhar. Acredito que o correto
seria dizer: Executar os possíveis testes e ver se algum deles falha.
Gabarito: C
Assinale:
Comentários:
Gabarito: A
Comentários:
Gabarito: E
ACERTEI ERREI
16712855225
16712855225
KANBAN
Antes de continuar, eu tenho que fazer uma pausa! Há uma certa polêmica sobre
se o Kanban uma metodologia de desenvolvimento de software. David J.
Anderson, pioneiro do Kanban discorda desse argumento. No entanto, é bastante
comum ver algumas bancas tratando o Kanban – sim – como uma metodologia de
desenvolvimento de software. Vamos ver algumas declarações:
“Kanban is not a software development life cycle or project management methodology! It is not a way
of making software or running projects that make software!” – David J. Anderson
“There is no kanban process for software development. At least I am not aware of one. I have never
published one.” David J. Anderson
“It is actually not possible to develop with only Kanban. The Kanban Method by itself does not contain
practices sufficient to do product development.” David J. Anderson
Como dito no início, Kanban também é uma espécie de cartaz ou placa visual
contendo vários post-its (aquele papelzinho colorido para colar lembretes). Ele
permite uma melhor visualização do fluxo de trabalho, favorecendo a transparência.
Ademais, permite mudar prioridades facilmente e entregar funcionalidades a
qualquer momento. Não há preocupação com iterações ou estimativas.
Como pode ser visto a partir da imagem abaixo, todo fluxo de trabalho se torna
visível no Kanban. Os limites do Work in Progress são estabelecidos. O fluxo é
contínuo sem requerer estimativas. A equipe assume a responsabilidade sobre o
Isso é muito diferente do que ocorre, por exemplo, no Scrum – onde se começa
definindo papéis, processos e artefatos. Isso faz do Kanban um método ideal para
utilização em conjunto com processos existentes, que podem ser desde o Scrum até
Cascata. Ele também é excelente em situações em que estruturas organizacionais
inibem mudanças radicais. 16712855225
Kanban e Scrum não são opostos. Nada impede que se comece a usar o Scrum e
utilizar o Kanban para impulsionar mudanças futuras. Os projetos com Kanban,
apesar de não insistirem no compromisso com iterações planejadas, são muito bem
Claro, há diferenças entre ambos: Scrum requer iterações; Kanban não necessitam
de iterações, mas sugere-se que haja uma cadência de entradas e entregas. Quando
o Kanban incorpora iterações, ele é tipicamente chamado Scrumban para diferenciar
do Scrum padrão, uma vez que Scrum não gerencia explicitamente o Work in
Progress e o Kanban não utiliza iterações.
- Visualize cada passo em sua cadeia de valor, do conceito geral até o software que se
possa lançar;
- Limite o Trabalho em Progresso (WIP), restringindo o total de trabalho permitido para
cada estágio;
- Torne explícitas as políticas sendo seguidas;
- Meça e gerencie o fluxo, para poder tomar decisões bem embasadas, além de visualizar
as consequências;
- Identifique oportunidades de melhorias, na qual a melhoria contínua é responsabilidade
de todos.
16712855225
PRÁTICAS DO KANBAN
Galera, nós poderíamos falar muito mais sobre Kanban! No entanto, revirei todos os
bancos de provas e só encontrei até hoje duas questões sobre esse assunto. Dessa
forma, acho melhor parar por aqui. Bem, eu utilizo o Trello para minhas atividades
pessoais e profissionais (recomendo bastante!). Há também o KanbanFlow,
Kanbanery, Leankit, Visual WIP, entre outras! Baixem e divirtam-se...
16712855225
Comentários:
- Visualize cada passo em sua cadeia de valor, do conceito geral até o software que se
possa lançar;
- Limite o Trabalho em Progresso (WIP), restringindo o total de trabalho permitido para
cada estágio;
- Torne explícitas as políticas sendo seguidas;
- Meça e gerencie o fluxo, para poder tomar decisões bem embasadas, além de visualizar
16712855225
as consequências;
- Identifique oportunidades de melhorias, na qual a melhoria contínua é responsabilidade
de todos.
Antes de continuar, eu tenho que fazer uma pausa! Há uma certa polêmica sobre se
o Kanban é uma metodologia de desenvolvimento de software. David J. Anderson, o
criador do Kanban discorda desse argumento. No entanto, é bastante comum ver
algumas bancas tratando o Kanban – sim – como uma metodologia de
desenvolvimento de software. Vamos ver algumas declarações do criador:
Gabarito: C
Comentários:
PRÁTICAS DO KANBAN
Gabarito: A
a) processo incremental;
b) processo iterativo;
c) uso de quadro de tarefas;
d) apresentação do estágio de desenvolvimento de uma tarefa;
e) valorização de feedback.
Comentários:
Claro, há diferenças entre ambos: Scrum requer iterações; Kanban não necessitam de
iterações, mas sugere-se que haja uma cadência de entradas e entregas. Quando o
Kanban incorpora iterações, ele é tipicamente chamado Scrumban para diferenciar
do Scrum padrão, uma vez que Scrum não gerencia explicitamente o Work in
Progress e o Kanban não utiliza iterações.
Gabarito: B
Comentários:
PRÁTICAS DO KANBAN
Gabarito: C
Comentários:
O Kanban pode ser visto como um acelerador para a condução de mudanças ou até
mesmo um método para implantação de mudanças. Ele não prescreve papéis,
práticas ou cerimônias específicas (como faz, por exemplo, Scrum). Em vez disso,
oferece uma série de princípios para otimizar o fluxo e a geração de valor dos sistemas
de entrega de software.
Gabarito: C
ACERTEI ERREI
16712855225
16712855225
11. (CESPE - 2011 – ECT - Analista de Informática – Analista de Sistemas) Para que
se obtenha sucesso na utilização do Scrum, o cliente deve se tornar parte da
equipe de desenvolvimento do software, participando diretamente do processo.
fase de desenvolvimento.
16712855225
a) pendência.
b) iterator.
c) demo.
d) história de usuário.
e) sprint. 16712855225
a) Building Products.
b) Product Backlog.
c) Sprint.
d) Product Owner.
e) Product Backlog Cycle.
a) O Sprint deve ser realizado num período máximo de 40 dias e ter uma equipe
de trabalho não superior a 10 pessoas.
b) O Sprint deve ser realizado num período não superior a 30 dias e ter um
objetivo bem claro, baseado no Backlog.
a) Crystal.
b) XP.
c) DAS.
d) DSDM.
e) Scrum
a) UP. 16712855225
b) Crystal.
c) XP.
d) DSDM.
e) Scrum.
a) SCRUM.
b) DSDM.
c) Crystal.
d) FDD.
e) XP.
a) urgências scrum.
b) registro ágil de requisitos.
c) alterações scrum.
d) registro pendente de trabalhos (Backlog).
e) registro iterativo de desenvolvimento (sprint).
a) I e II.
b) III
c) II e III.
d) II.
e) I e III.
a) product backlog.
b) scrum backlog.
c) sprint backlog.
d) daily backlog.
e) daily sprint.
a) process backlog.
b) scrum master.
c) product owner. 16712855225
d) backlog.
e) sprint.
II. É uma reunião time-boxed de 3 horas para uma Sprint de um mês, sendo uma
oportunidade para o Time Scrum inspecionar a si próprio e criar um plano para
melhorias a serem aplicadas na próxima Sprint.
16712855225
a) Sp-Cycles.
b) Springs.
c) Sprints.
d) Strengths.
e) Set-prints.
16712855225
Programming (XP), que se inclui entre os métodos ágeis, apresenta, entre outras,
as seguintes características: pequenos releases, projeto simples, refactoring,
programação em pares e propriedade coletiva.
informal de revisão porque cada linha de código é vista por pelo menos duas
pessoas.
a) PRINCE2.
b) Rational Unified Process.
c) Extreme programming.
d) PMBOK.
e) SCRUM.
a) propriedade coletiva, que garante uma participação nos lucros aos membros
da equipe de desenvolvimento, técnica que incentiva e aumenta o desempenho
de toda a equipe.
I. Propriedade coletiva.
II. Integração contínua.
III. Metáfora.
em:
a) I, apenas.
b) II, apenas.
c) I e II, apenas.
d) II e III, apenas.
e) I, II e III.
fortes de outras. Dentre elas, aquela em que o código fonte não tem dono e
ninguém precisa solicitar permissão para poder modificá-lo, permitindo, assim,
que a equipe conheça todas as partes do sistema, é chamada de:
a) coragem.
b) respeito.
c) comunicação.
d) simplicidade.
e) feedback.
a) Time Coeso.
b) Refatoração.
c) Integração Contínua.
d) Desenvolvimento Orientado a Testes.
e) Ritmo Sustentável.
a) iterações e sprint.
b) reunião de planejamento e backlog.
c) período de entrega e reunião de revisão.
d) backlog e planejamento da produção.
e) entrega e retrospectiva.
16712855225
a) XP.
b) SCRUM.
c) Crystal Clear.
d) ASD.
e) FDD.
III. Faz uso do teste de unidades como sua tática de testes primária.
SCRUM FDD
II, V e VII II, IV e VIII VII e IX
a) RUP, XP e DSDM.
b) Waterfall, RUP e FDD.
c) XP, FDD e RUP.
d) Scrum, XP e FDD.
e) Scrum, Waterfall e DSDM.
16712855225
Modelo:
I - DAS II - DSDM III - FDD IV - XP
Característica:
(P)
Define um ciclo de vida que incorpora três fases: especulação, colaboração e
aprendizado. Durante a fase de aprendizado, à medida que os membros de uma
equipe começam a desenvolver os componentes que fazem parte de um ciclo
adaptativo, a ênfase está tanto no aprendizado quanto no progresso em direção
a um ciclo completo.
(Q)
O conceito característica é uma função valorizada pelo cliente, que pode ser
implementada em duas semanas ou menos. Este modelo define seis marcos de
referência durante o projeto e implementação de uma característica: travessia
do projeto, projeto, inspeção de projeto, código, inspeção de código, promoção
para construção. 16712855225
(R)
Fornece um arcabouço para construir e manter sistemas que satisfazem às
restrições de prazo apertadas por meio do uso de prototipagem incremental em
ambiente controlado de projeto. Essa abordagem sugere uma filosofia que é
emprestada de uma versão modificada do princípio de Pareto.
A relação correta é:
a) I - P, II - Q, III - R.
b) I - P, II - R, III - Q.
c) I - Q, III - R, IV - P.
d) II - P, III - R, IV - Q.
e) II - Q, III - P, IV - R.
16712855225
A ordem correta e cronológica que deve ser seguida para o ciclo de vida do TDD
está expressa em:
a) IV − III − II − V − I − VI.
b) V − VI − II − I − III − IV.
c) VI − V − III − II − IV − I.
d) III − IV − V − VI − I − II.
e) III − IV − VI − V − I − II.
Assinale:
16712855225
a) processo incremental;
b) processo iterativo;
c) uso de quadro de tarefas; 16712855225
1 2 3 4 5 6 7 8 9 10
E E E E C C E C E
1 2 3 4 5 6 7 8 9 10
E C E C C E C E E C
11 12 13 14 15 16 17 18 19 20
C C C C C C E C C E
21 22 23 24 25 26 27 28 29 30
E C C E
1 2 3 4 5 6 7 8 9 10
A E C E A B C E D E
11 12 13 14 15 16 17 18 19 20
E E D B C 16712855225
E B
1 2 3 4 5 6 7 8 9 10
C
1 2 3 4 5 6 7 8 9 10
E C C E C C C C E E
11 12 13 14 15 16 17 18 19 20
C C E E C C C E C C
21 22 23 24 25 26 27 28 29 30
C C C E C E
1 2 3 4 5 6 7 8 9 10
A B E A C E C B E D
11 12 13 14 15 16 17 18 19 20
D C A
1 2 3 4 5 6 7 8 9 10
B E B A D 16712855225
1 2 3 4 5 6 7 8 9 10
B
TEST-DRIVEN DEVELOPMENT
1 2 3 4 5 6 7 8 9 10
E E C E E C C E C A
11 12 13 14 15 16 17 18 19 20
E
1 2 3 4 5 6 7 8 9 10
C A B C C
16712855225