Aula 01
Aula 01
Aula 01
• Representam frameworks
Indivíduos e Processos e
interações ferramentas
Documentação
Software funcionando
Maior compreensível
do
que
Colaboração do Negociação
cliente de contrato
Responder as
Seguir um plano
mudanças
Fonte:<https://agilemanifesto.org/iso/ptbr/manifesto.html>
Metodologias
• Kanban
• Scrum
• Lean
• EXtreme Programming (XP)
• Test Driven Development (TDD)
Scrum
O uso dessa metodologia Scrum, conforme Pressman (2016), vem de uma formação que
ocorre durante uma partida de rugby. Essa formação ocorre após uma parada ou quando a bola
sai de campo, e o técnico reúne a equipe de jogadores.
A metodologia Scrum foi desenvolvida em 1990 por Jeff Sutherland e Ken Schwabe e,
segundo eles, Scrum é um framework para desenvolver e manter produtos complexos. Uma
metodologia ágil de software que concentra as atenções no produto final com um rápido
desenvolvimento e nas interações dos indivíduos.
Essa metodologia segue os princípios do Manifesto Ágil e conforme Pressman (2016, pg, 78)
“são usados para orientar as atividades de desenvolvimento dentro de um processo que
incorpora as seguintes atividades metodológicas: requisitos, análise, projeto, evolução e
entrega”.
Sobre o Scrum
Scrum não é uma metodologia:
Não é um processo padronizado, que metodicamente segue uma série de etapas
sequenciais, que garanta a produção, no prazo e no orçamento, de um produto de
alta qualidade e que encanta os clientes.
Scrum é um framework:
Para organizar e gerenciar trabalhos complexos, tal como projetos de
desenvolvimento de software.
Parte 1: o Product Owner define suas prioridades com base na história do usuário (requisitos),
selecionando os itens do backlog que serão desenvolvidos e qual o objetivo da sprint. Esta
primeira parte da reunião responde a questão “o quê” deve ser feito.
É uma reunião de balanço sobre tudo o que foi feito durante uma print. Nessa
reunião o time deve mostrar os resultados da sprint para o Product Owner e seus
convidados”. Nessa reunião, são mostrados somente os itens concluídos, ou seja,
caso tenha faltado uma atividade, o item não deve ser apresentado.
Participam da reunião: Product Owner, Scrum Master, Team e convidados. Ela tem
duração estimada de quatro horas e é sempre marcada no final da sprint.
Durante a Revisão da Sprint, é avaliado o projeto com base nos objetivos da Sprint,
que foram determinados durante o Planejamento da Sprint. É verificado se o Team
completou cada um dos itens do Product Backlog e se o objetivo geral da Sprint foi
atingido.
Cerimônias do Scrum
SPRINT RETROSPECTIVE OU RETROSPECTIVA DA SPRINT
A reunião Retrospectiva da Sprint tem por objetivo verificar o que foi bom e o que
pode ser melhorado na sprint. Para Brod (2013), é uma reunião em que se "lava a
roupa suja", ou seja, onde se procura entender o que deu errado e o que pode ser
ajustado nas sprints para melhorar.
Participam dessa reunião: o Team e o Scrum Master, o Product Owner pode
participar, caso seja convidado. Ela acontece após a reunião de revisão da Sprint e
possui uma duração aproximada de três horas. Durante a reunião o Scrum Master
deve tomar nota de tudo e o time deve priorizar os itens apontados em uma ordem
de mudança. A retrospectiva é uma excelente forma de garantir a melhoria contínua
do processo
Cerimônias do Scrum
SPRINT
• O trabalho é realizado em iterações ou ciclos de até um mês, chamado de Sprints;
• O trabalho realizado em cada sprint deve criar algo de valor tangível para o cliente
ou usuário;
• Sprints são timeboxed (duração fixa), com início e fim em data fixa, geralmente
todos com a mesma duração;
• Um novo Sprint segue imediatamente a conclusão do Sprint anterior;
• Via de regra, não deve permitir nenhuma alteração de escopo ou pessoal durante
um Sprint, embora esta regra possa ser quebrada devido à algumas necessidades de
negócio.
Artefatos do Scrum
PRODUCT BACKLOG
Desa o:
https://miro.com/
fi
Método Kanban
• A palavra japonesa kanban significa “sinalização” ou “cartão” e poderia ser usada para
fazer referência a um sistema de sinalização que utiliza cartões.
• Os cartões que já começaram a ser trabalhados são considerados como WIP, que significa work
in progress;
• Com isso, uma nova tarefa poderá ser feita, caracterizando um sistema puxado de trabalho;
• Limitar o trabalho em progresso (WIP) é importante para que não haja excesso de trabalho
dentro do fluxo: ao limitar o WIP, a entrada de novas tarefas é baseada na disponibilidade de
espaços de trabalho no fluxo;
Quadro
O quadro nada mais é do que a junção visual das colunas e cartões, representando
o sistema kanban como um todo.
Cada quadro é um kanban e uma única equipe pode trabalhar com vários quadros simultaneamente.
Método Kanban
Como funciona?
Além disso, outro ponto importante é o caráter limitante do sistema kanban, porque uma
linha produtiva pode ter uma demanda muito maior do que a capacidade de produzir;
• Simplicidade
• Coragem
Enquanto o Scrum tem maior foco nas práticas ligadas ao gerenciamento e organização e
Kanban é focado no fluxo, o XP dá mais atenção às práticas de programação.
XP - eXtreme Programming
Comunicação: Valoriza a comunicação aberta e constante entre todos os membros da equipe de
desenvolvimento, incluindo programadores, clientes e gerentes. A comunicação é vista como uma chave para
entender requisitos, resolver problemas e manter todos alinhados com os objetivos do projeto.
Feedback: Prioriza o feedback rápido e contínuo. Isso envolve a realização de revisões de código, testes
automatizados e a obtenção de feedback dos clientes para garantir que o software atenda às expectativas e seja
de alta qualidade.
Coragem: Encoraja a coragem da equipe para tomar decisões ousadas e enfrentar desafios difíceis. Isso pode
incluir a vontade de refatorar o código, fazer mudanças significativas e buscar melhorias contínuas, mesmo que
isso signifique sair da zona de conforto.
TDD- Test Driven Development
TDD- Test Driven Development ou Desenvolvimento Dirigido por Testes, você testa o código antes de colocá-lo em
execução. O objetivo principal é a especificação, não a validação.
Muitos o consideram uma técnica de desenvolvimento. Alguns também o consideram como uma forma de criar um
código limpo. Mas o fato preponderante é que atua como um grande apoio na qualidade do desenvolvimento de
software.
• .NET - NUnit
• PHP - PHPUnit
• Java - JUnit
• Python - PyUnit
Bibliogra a:
PAULA FILHO, Wilson de Pádua. Engenharia de Software: Fundamentos, Métodos e Padrões. LTC, 2009.
SBROCCO, José Henrique Teixeira de Carvalho; MACEDO, Paulo Cesar de. Metodologias ágeis :
engenharia de software sob medida . São Paulo: Érica, 2012.
fi