Upload
thiago-barros-psm
View
87
Download
1
Embed Size (px)
Citation preview
Administrador
Centro Paula Souza – Etec Pirassununga-SP
Analista de Sistemas IFSP – Instituto Federal de São Paulo
Mestrando em Ciências da Computação / Engenharia de Software
UFSCar – Universidade Federal de São Carlos
Professional Scrum Master Certified Scrum.org
Thiago Silva Barros
Como surgiu os métodos ágeis.◦ Tradicional x Ágil
Scrum◦ Motivação◦ Papeis◦ Processo
Ferramentas livre para o uso do Scrum◦ AgileFant
https://github.com/Agilefant/agilefant◦ ScrumDO
https://github.com/ScrumDoLLC/ScrumDo◦ PrimeScrum
https://github.com/Barrostsb/Prj_Prime_Scrum◦ LibreBoard
http://git.libreboard.com/libreboard/libreboard
Certificações Scrum
Objetivos
Criados para organizar processos de desenvolvimento de software.
Cliente recebe o produto com 100% do projeto cumprido.
Tarefas divididas para serem realizadas de forma ordenada (Cascata), seguindo um passo a passo.
Processos Tradicionais
São preventivos (Antecipa o erro por meio de documentações, análise e testes antes do código).
Resistente a mudanças.
Foco no processo.
Processos Tradicionais
Standish Group´s 2011 CHAOS Report analisou projetos de desenvolvimento de software entre 2002 e 2010 e identificou que apenas 37% tinham sucesso.
Processos Tradicionais
Fonte: Software in 30 days Ken Schwaber and Jeff Sutherland
Projetos falham.
Requisitos mudam.
Funcionalidades que nunca serão utilizadas.
Apenas 42% das funcionalidades previstas no início estavam no produto final.
http://www.projectsmart.co.uk/docs/chaos-report.pdf
Processos Tradicionais
Dezessete especialistas em processos de desenvolvimento de software estabeleceram valores e princípios comuns criando o manifesto ágil.
“O Manifesto Ágil é uma declaração sobre os princípios que servem como base para o
desenvolvimento ágil de software”
http://www.agilemanifesto.org/
Manifesto Ágil
Indivíduos e interações X Processos e Ferramentas
Software funcionando X Documentação Extensa
Colaboração com o cliente X Negociação e Contrato
Adaptação a mudanças X Seguir Planos Rígidos
Manifesto Ágil - Valores
SCRUM é um modelo ágil de processo que esta de acordo com o manifesto ágil. Sommerville – Eng de Software
SCRUM é um framework estruturado para apoiar o desenvolvimento de produtos complexos. Scrum.org - Scrum Guide
SCRUM destina-se ao GERENCIAMENTO DE PROJETOS ÁGEIS. Wikipedia
SCRUM - Definição
AGREGAR VALOR para o cliente aos poucos e efetivamente, através dos REQUISITOS
REALMENTE NECESSÁRIOS
SCRUM - Motivação
Fonte: Software in 30 days Ken Schwaber and Jeff Sutherland
35% em média dos requisitos de um projeto de software sofrem alteração durante o desenvolvimento do software.
60% das funcionalidades previamente planejadas e implementadas no software não são utilizadas ou são pouco utilizadas pelos usuários finais.
Incorpora algumas características do XP.
Processo iterativo e incremental (Sprints).
Processo de gerenciamento e controle empírico (tentativa e erro).
Necessidades de negocio determinam as prioridades (P. O.).
SCRUM - Características
O cliente é proativo durante o processo.
Equipe focada na entrega do produto no menor tempo.
Inspeção Contínua do produto em intervalos (Sprints) de 2 a 4 semanas.
Equipes pequenas e auto gerenciáveis.
SCRUM - Características
SCRUM se apoia em 3 pilares:
1)Transparência: Aspectos significativos do processo devem estar visíveis aos responsáveis pelos resultados
2) Inspeção: Os usuários Scrum devem, frequentemente, inspecionar os artefatos Scrum e o progresso em direção ao objetivo, para detectar indesejáveis variações.
3) Adaptação: Se a inspeção identificou desvios, o processo deve ser ajustado
SCRUM - Características
É alguém que CONHECE do produto e SABE como este produto pode AGREGAR VALOR AO NEGÓCIO.
Sabe como e quais funcionalidades podem agregar valor ao produto.
É o responsável pelo ROI do produto.
SCRUM – Product Owner
Outras características:
Gerenciar o backlog do produto. Priorizar e manter o backlog do produto. Define as requisitos do produto. Prioriza funcionalidades. Ajusta características/funcionalidades.
É o time que desenvolve o incremento do produto.
É responsável pelo SPRINT BACKLOG. Não possui gerente e é auto-organizável e
tem o poder de organizar o seu próprio trabalho.
Deve ser TRANSFUNCIONAL. Entre 3 e 9 membros. Pode haver mudanças.
SCRUM Team
É o responsável pela aplicação do Scrum.
Garante que o SCRUM seja entendido por todos e aplicado de forma correta.
É um papel gerencial, mas ele não é o gerente do projeto ou da equipe.
Facilitador (líder servo) que busca garantir que todas as regras e práticas do SCRUM seja seguido pelo time SCRUM.
Comanda o Daily Meeting.
Ele elimina os obstáculos.
SCRUM – Scrum Master
É uma lista contendo todas as funcionalidades, ou requisitos o que pode ser necessário no produto.
É definida e ordenada pelo Product Owner.
É definido no início do projeto, porém pode ser alterado e ter itens adicionados durante todo o projeto.
SCRUM – Product Backlog
Deve conter a descrição, prioridade e estimativa de esforço inicial dos itens.
◦ “Grooming” – trabalho de adicionar detalhes, estimativas e prioridades feita “extra sprint” pelo product owner apoiado pelo development team.
SCRUM – Product Backlog
Sprint Backlog é a escolha das funcionalidades que deverão ser implementadas na próxima Sprint.
Se traduz em uma lista de tarefas que o development team irá executar para contemplar o subconjunto de itens do product backlog selecionado.
O SB pode crescer ou diminuir durante uma SPRINT a medida que o time de desenvolvimento vai entendendo melhor quais atividades são necessárias para realizar a entrega do incremento.
SCRUM – Sprint Backlog
É o período de 2 ou 4 semanas no qual se realizam as tarefas do Sprint BackLog, e ao termino entrega-se o incremento.
Durante a Sprint acontecem as 4 outras cerimônias/eventos:◦ Sprint Planning◦ Dailiy Metting◦ Sprint Review◦ Sprint Retrospective
SCRUM – Sprint
Reunião que acontece no início de cada Sprint◦ –É aqui que o trabalho a ser realizado na SPRINT é planejado por todo o
time SCRUM.
É dividida em duas partes:
◦ O que será entregue como resultado do incremento da próxima Sprint?
Product Owner ordena o product backlog (antecipadamente). Development team faz a previsão de esfoços dos itens que entrarão no
sprint backlog (Planning Poker) Scrum Team define o “Objetivo da Sprint”
◦ Como o trabalho necessário para entregar o incremento será realizado?
O time quebra em unidades menores os primeiros itens do sprint backlog.
SCRUM – Sprint Planning
É uma reunião em pé de 15 minutos realizada diariamente;
Tem o objetivo de comunicar o andamento dos trabalhos deixando-o transparente para todos da equipe de desenvolvimento. (Kanban Board)
Cada membro responde 3 perguntas. •O que foi completado desde a última reunião? •O que será feito até a próxima reunião? •Quais os impedimentos/obstáculos que estão no caminho?
SCRUM – Daily Meeting
Acontece no final da SPRINT
◦ inspecionar o incremento e adaptar o Backlog do Produto (se necessário).
◦ Apresentar o que foi desenvolvido pela equipe durante o sprint:
◦ O Product Owner decide quais itens do backlog foram completados;
◦ Discute a melhor forma de repriorizar o product backlog para a próxima sprint;
◦ A Equipe de Desenvolvimento discute o que foi bem durante a Sprint, quais problemas ocorreram dentro da Sprint, e como estes problemas foram resolvidos;
◦ O Backlog do Produto pode também ser ajustado completamente para atender novas oportunidades.
SCRUM – Sprint Review
Inspecionar como a última Sprint foi em relação as pessoas, relações, processos e ferramentas.
Identificar e ordenar os principais itens que foram bem e as potenciais melhorias.
Verificar desempenho da equipe.
Criar um plano para implementar melhorias no modo que o Time Scrum faz seu trabalho.
SCRUM – Sprint Retrospective
É tudo aquilo que foi desenvolvido durante a sprint somado (integrado) com o que já foi desenvolvido nas sprints anteriores.
SCRUM – Increment
Ferramenta Web para a gestão de desenvolvimento agíl de projetos.
Rica em recursos: Possui, Backlog, planning, burndown e ainda gestão de protifólios.
Desenvolvida em Java
AgileFant
Ferramenta Web para a gestão de projetos ágeis com Scrum.
Possui, Backlog, planning, Taskboard, burndown.
Foco no Scrum
Desenvolvida em Python
ScrumDo
Ferramenta Web para gestão de projetos Scrum
Possui Gerenciamento de equipe, backlog, planning, taskboard, burndown.
Desenvolvida em Java, com bibliotecas JSF2 – PrimeFaces e JPA Hibernate.
Sistema desenvolvido como trabalho de conclusão de curso.
PrimeScrum
https://br.linkedin.com/pub/thiago-barros-psm/44/996/553
GitHubhttps://github.com/Barrostsb
E-Mail: [email protected] [email protected]
Obrigado!
Pressman. “Engenharia de Software” 6 Edição.
Sommerville. “Engenharia de Software” 8 Edição.
Schwaber, Sutherland. “Software in 30 Days: How Agile Managers
“Manifesto for Agile Software Development”. 2001. Disponível em http://www.agilemanifesto.org. Último acesso em 21 de Março de 2015.
Scrum Guide http://www.scrumguides.org/.
Canal IGTI youtube https://www.youtube.com/watch?v=gAGdRGin_tE
http://www.projectbuilder.com.br/
Bibliografia