Escolar Documentos
Profissional Documentos
Cultura Documentos
TODOLOGIAS ÁGEIS
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 ndiví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 abilidades ndividuais o
trabalho em equipe são inseparáveis em rojetos 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!
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 ermitem ue mudanças ossam er
rapidamente inseridas no rojeto, de forma que atendam às novas necessidades.
Por fim, o manifesto enfatiza que os tens direita têm eu alor, tretanto os tens
à esquerda são ais alorizados! 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.
Para entender essa diferença, eu gosto de utilizar dois exemplos! O Usain Bolt é
tricampeão olímpico, mundial, etc... ou seja, ele é geralmente o mais rápido, mas
ele tem um problema: sua largada! Ele reage mais ento ue seus dversários
Comentários:
a) Correto. Aqui temos a teoria e a prática: no início, tanto a teoria quanto a prática
não recomendavam que as metodologias ágeis fossem aplicadas a sistemas
grandes. No entanto, atualmente, isso já não é mais uma limitação. Hoje em dia, as
metodologias ágeis adquiriram maturidade suficiente para desenvolver sistemas
grandes e complexos. Porém, isso ainda está na teoria, por isso as questões ainda
cobram.
c) Correto. Não vislumbro qualquer erro nesse item. Ora, metodologias ágeis são
iterativas e incrementais, dividindo o sistema em pequenas partes e sempre
entregando versões que agreguem valor aos usuários. Se você errou esse item, fique
tranquilo - o vacilo foi da banca!
O que eria exatamente ambiente omplexo? Existe uma coisa chamada Modelo
Cynefin que explica bem s ipos e 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.
realizado o mais breve possível para minimizar mais desvios. Como udanças
sempre ocorrem, recomenda-se a adaptação em vez de evitá-las.
Vamos esumir s rês pilares que sustentam osso ramework! udo o crum
deve ser ransparente 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?
2
Os times de desenvolvimento não contêm subtimes dedicados a domínios específicos de conhecimento, tais
como teste ou análise de negócios. O Scrum não reconhece títulos para os integrantes do time de
desenvolvimento além do desenvolvedor, independentemente do trabalho que esteja sendo realizado.
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 etirar os mpedimentos ue aparecem o decorrer do
nosso rojeto. 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 ue será feito o ue não será feito. ocê o esponsável pelo ue 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 ra que vai riorizar o ue deve ser ito rimeiro. Você
éo a que coloca ou ira atividades da lista atividade a serem ealizadas. Você é
o único cara que pode simplesmente cancelar determinada atividade. Pessoal, há
pequenas diferenças, mas a metáfora é evidente.
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.
É omum er árias estrições, reocupações e dependências, c mo atas
importantes, tens ntratuais, logística, tre 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 e inicia imediatamente após conclusão da
sprint ior e tem durações coerentes em todo o esforço de desenvolvimento.
Durante a sprint é proibido realizar mudanças que afetem eta.
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 nsiste em duas artes e elas evem
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, roduct Owner nsegue 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 eio e uma
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 adurecimento rganizacional e a habilidade do
time de resolver mpedimentos odem zer m ue alguns tens ejam
acrescentados. Diferentemente do Definition of Ready, é imperativo haver um
Definition of Done. Compreenderam?
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, s nidades utilizadas ão e esforço
(em horas) planejado pelo tempo decorrido.
Por fim, é salutar enfatizar que o ciclo de vida do nosso framework é baseado em
três fases principais:
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.
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:
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:
Galera, vamos falar um pouquinho mais sobre as histórias de usuário! User tories
são tefatos de desenvolvimento tilizados sistemas geridos segundo
metodologias geis. Nós podemos dizer que são uma descrição resumida de
alguma funcionalidade fornecida pelo sistema do ponto de vista de um usuário
desse sistema.
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 ma história precisa ser decomposta em artes menores para
caber ma 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.
Presumir implicidade: todo problema deve ser tratado para ser resolvido da
forma mais simples possível.
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 oeso de princípios e práticas tanto para a Gestão e Projetos uanto para
a Engenharia de Software, e se harmoniza bem com abordagens mais especialistas,
como Scrum.
Walkthroughs do projeto;
Projeto;
Inspeção do projeto;
Código;
Inspeção de código;
Progressão para construção.
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 udar 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
passe no teste e execute novamente (agora ele deve passar no teste). Então
adicionamos m ovo este e rodamos este anterior 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, ia-se um ódigo ais impo, isto ue o ódigo ara passar os estes
deve ser astante simples. Há mais segurança na correção de eventuais bugs;
5
Eventualmente chamado de Test-Driven Programming (TDP).
Professor, isso já caiu em prova discursiva? Sim, prova pedia para dizer
vantagens do mprego o DD elação outras etodologias 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;
d) III − IV − V − VI − I − II.
e) III − IV − VI − V − I − II.
Comentários:
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:
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 deal ara
utilização njunto om processos istentes, que podem ser desde o Scrum até
Cascata. Ele também é excelente em situações em que estruturas organizacionais
inibem mudanças radicais.
Kanban e Scrum não são opostos. Nada impede que se mece a usar crum
utilizar anban para impulsionar udanças turas. Os projetos com Kanban,
apesar de não insistirem no compromisso com iterações planejadas, são muito bem
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, tilizo Trello ara minhas ividades
pessoais profissionais recomendo astante!). Há também o KanbanFlow,
Kanbanery, Leankit, Visual WIP, entre outras! Baixem e divirtam-se...
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.
e) III − IV − VI − V − I − II.
Assinale: