Beruflich Dokumente
Kultur Dokumente
Introduo Introdu Engenharia de Software Unidade III Exemplo de um Processo de Software - Scrum
Pedro de Alcntara dos Santos Neto pasn@ufpi.edu.br
Roteiro
Explicaremos o SCRUM seguindo a seguinte estrutura:
Um breve histrico hist Detalharemos os Papis Pap Detalharemos todas as cerimnias prescritas pelo processo
Ritual com formalidades a serem seguidas
Uso inicial do scrum na Easel em 1993 IDX e mais de 500 pessoas usando scrum
Ken Schwaber
Os requisitos so listados em um Product Backlog Backlog No h prtica de engenharia prescrita (o Scrum h pr adequa-se a todas) adequaUsa regras generativas na criao de um ambiente gil cria para a entrega de projetos uma das metodologias geis geis
Os Papis... Pap
Multi-funcional MultiProgramadores, testadores, webdesigners, etc. Programadores, testadores, webdesigners, Tempo integral
Trocas s na mudana de Sprints mudan Todos devem sentar junto. junto. Ter funes variveis fun vari
podendo ser fixas em um sprint
As Cerimnias...
A Reunio Inicial
Definio das Defini estrias/funcionalidades est do produto
Product backlog
A Reunio Inicial
Como obter informaes sobre o produto? informa
Estudando e lendo materiais relacionados Analisando softwares pr-existentes pr Perguntando...
Geralmente feito com a participao de toda a participa equipe + product owner e, opcionalmente, outros membros representante dos clientes Um ou mais dias de conversas, com registro dos dados em um documento
Equivalente ao levantamento de requisitos Nos processos tradicionais
O qu perguntar?
Tente seguir os passos do negcio para se fazer algo neg
Sempre que um passo for descrito, questione o que necessita para aquilo ser exeqvel exeqvel Se existe algo anterior, questione sobre ele Repita esses passos at que tudo tenha sido coberto... at
A Reunio Inicial
Como registrar?
Diagrama de casos de uso fornece uma boa viso sobre os atores do sistema e funcionalidades Composto por atores e casos de uso
Atores so papis associados ao uso do sistema (e no pap pessoas!) Casos de uso so as funcionalidades do produto, que possuem um valor para seus usurios, sem lacunas usu nem superposio com outros casos de uso superposi
Nmero de ordem 1. 2. 3.
Descrio Cadastro das solicitaes de leitos para pacientes com necessidades de internao.
Nmero de ordem 1. 2. 3. 4. 5. 6. 7. 8. 9.
Ator
Intensivista Regulador Auditor Gerente Plantonista Mdico Enfermeira Auxiliar Chefe de Setor
Definio
Mdico plantonista que coordena a UTI no hospital e faz a solicitao das vagas. Mdico regulador da Central de Leitos, que recebe, avalia e gerencia as solicitaes e eventuais internaes. Mdico da Central de Leitos, que visita os hospitais e verifica se as informaes no sistema correspondem realidade. Mdico regulador da Central de Leitos que atua em casos excepcionais, controla leitos e usurios do sistema . Profissional da sade escalado em planto, responsvel por verificar a necessidade de internao de um paciente em UTI. Profissional da medicina escalado em Planto. Profissional de enfermagem, escalado em Planto e responsvel por auxiliar o Intensivista em suas tarefas. Enfermeira escalada em Planto responsvel por auxiliar o Intensivista em suas tarefas. Profissional de sade responsvel por controlar as escalas de planto de um hospital.
Autorizao de envio Registro da autorizao da solicitao para constar na lista de para lista de espera espera por leitos. Controle da Lista de Controle da lista de espera por leitos, com registro de evoluo dos pacientes, alm de registro de entrada ou Espera encaminhamento em leitos hospitalares e eventual remoo da lista. Controle da Lista de Controle dos encaminhamentos de pacientes para leitos, com remoo automtica da reserva associada caso no seja Encaminhamento realizado o registro de entrada no prazo previsto. Controle de Internaes Controle de Leitos Controle das internaes em leitos, com possibilidade registro de alta, e conseqente liberao do leito, alm de transferncias para outros leitos. Bloqueio e liberao de leitos.
4.
5.
6.
A Reunio Inicial
Principal resultado: Product Backlog
Representa os requisitos do produto
Uma lista de todo o trabalho desejado no projeto
A Reunio Inicial
Principal resultado: Product Backlog
Tem po Estimado Tempo Gasto 12 2 1 4 6 8 10 8 14 8 8
Cada item deve ter seu peso de acordo com a vontade dos usurios usu Priorizado pelo dono do produto Repriorizado no incio de cada Sprint in
Product Backlog
N ome Preparar ambiente para integrao contnua Criar projeto base no C VS Modelar Contrato e Remunerao Implementar Gesto de Contrato Implementar Gesto de Remunerao Testes F uncionais Gest o de Contrato Testes F uncionais Gest o de Remunerao
Prioridade 40 10 10 20 20 50 50
Planejamento
Planejamento
A equipe seleciona itens do Product Backlog com os quais compromete-se a concluir comprometeDefinio da carga de trabalho da equipe Defini O Sprint Backlog criado
Com criao dos cartes cria
Planejamento
importante a participao do product owner, participa owner, para entender o funcionamento... Para determinao da carga de trabalho do determina grupo, devemos calcular o tempo disponvel dispon
Definir tamanho do Sprint (em dias)
Normalmente usa-se 2 semanas (10 dias teis) usa Esse nmero pode ser menor, quando precisamos ter n respostas mais rpidas e para obter dados sobre r produtividade Ou maiores, quando as coisas j esto mais estveis j est
Tarefas identificadas e estimadas Criao do grfico de acompanhamento Cria gr Definio do local e horrio das reunies dirias Defini hor di Definio do conceito de feito Defini feito Organizao do quadro do projeto Organiza
Planejamento
Um grande problema: Tarefas no planejadas!
Tarefas que surgem durante o sprint e que necessitam ser realizadas Muito comum nos locais que tem softwares em operao opera Como resolver essa questo, visto que temos que planejar as atividades?
Previso de tempo para tais tarefas Podem ou no fazer parte do sprint Registro do tempo gasto, para facilitar novas estimativas O fator de ajuste pode ser utilizado nessa direo! dire
Planejamento
Fator de ajuste
Percentual de tempo produtivo efetivamente utilizado para computar carga de trabalho da equipe Colaboradores que trabalham 8h/dia, dificilmente passam 8h realizando tarefas diretamente relacionadas ao desenvolvimento
Existe tempo para ler e-mails e Conversar com colegas Tomar caf, ir ao banheiro, etc... caf
Planejamento
Dedicao dos membros da equipe Dedica
Colaboradores com cargos chaves no processo precisam ter sua carga de trabalho analisada
Scrum masters normalmente gastam metade do tempo til em tarefas relacionadas conduo do condu processo Quando um colaborador assume o papel de Product owner, provavelmente gaste tambm metade do owner, tamb tempo til com tarefas de verificao e eliminao de verifica elimina dvidas, alm do contato com os usurios do produto al usu
Planejamento
Exemplo
Objetivo Durao Fator de ajuste
Product owner Fator de ajuste reduzido por conta do no cumprimento dos prazos
Dedicao diria 4 8 8 4 6
Total 24 48 48 24 36
180
Scrum Master
Planejamento
Total do Sprint
180
Planejamento
Grfico de acompanhamento Gr
Representa a quantidade de horas associadas s tarefas do Sprint Idealmente, as tarefas deveriam ser finalizadas ao longo dos dias do Sprint O grfico ideal uma reta que inicia na carga de gr trabalho da equipe (180h no exemplo) e finaliza em 0 no ltimo dia do Sprint A cada tarefa concluda e verificada, devemos conclu descer a quantidade de horas no grfico gr
Grfico de acompanhamento Gr
Grfico de Acompanhamento
180 170 160 150 140 130 120 110 100 90 80 70 60 50 40 30 20 10 0
5 Dias do Sprint
10
Planejamento
Devem ser utilizados cartes para representar as tarefas
Criados no planejamento
ID NOME
Planejamento
Diviso dos cartes
ID: identificador da tarefa Utilizado para acompanhamento em ferramentas que controlam a apropriao de horas apropria Nome Descrio: texto simples e objetivo descrevendo a tarefa Descri Como verificar: indicao de como deve ser feita a verificao dessa indica verifica tarefa, quando a mesma estiver concluda conclu Embora parea dispensvel, quando existem muitas tarefas a pare dispens vel verificar, podemos perder o foco no que importante
Fortemente aconselhvel para toda e qualquer equipe aconselh Base para construo dos testes para a funcionalidade constru
DESCRIO
COMO VERIFICAR
Tempo Estimado
Tempo Real
Planejamento
Diviso dos cartes
Tempo estimado: tempo especificado pela equipe para realizao da tarefa realiza
Como estimar tal tempo? Jogo do planejamento
Todos da equipe possuem cartas Discute-se sobre a tarefa e solicita-se que todos joguem Discutesolicitacartas representando sua estimativa (viradas para que ningum veja a estimativa antes que todos estimem!) ningu
Planejamento
Diviso dos cartes
Tempo estimado:
Pode-se considerar a mdia, descartar alguns valores Podem (maior e menor, por exemplo) O importante estabelecer parmetros de aceitao aceita
Um ? indica que mais explicaes so necessrias explica necess Um 0 indica algo to pequeno que no merece estimar Uma xcara indica necessidade de tempo pra pensar... x Tarefas acima de 16h merecem ser divididas Estimativas muito diferentes merecem explicaes explica
Planejamento
Diviso dos cartes
Tempo real:
Tempo efetivamente utilizado para realizao da tarefa realiza Fundamental seu registro para auxiliar estimativas futuras
Planejamento
Como selecionar tarefas para o Sprint? Sprint?
Deve-se selecionar do Backlog as tarefas mais Deveimportantes Encaixando dentro da carga de trabalho indicada pela equipe De forma a termos o maior aproveitamento dessa carga de trabalho
Responsvel Respons
Colaborador encarregado de realizar a tarefa A princpio no deve ser pr-estabelecido princ pr
Cada um faz o que mais lhe agrada das tarefas
Planejamento
Como selecionar tarefas para o Sprint? Sprint?
As tarefas selecionadas representam um compromisso assumido com o Product Owner Para isso, todos devem concordar e acreditar nas estimativas
Mais uma vez o bom senso deve imperar Se algum no acredita no que foi dimensionado algu para o Sprint, fale sobre isso!!! Sprint,
Planejamento
Definio de Feito (DoD) Defini (DoD)
Todo projeto deve ter uma definio claro sobre o defini que considerado feito! feito! Para uma tarefa de modelagem, por exemplo: modelagem, exemplo:
Diagrama representando a modelagem feito na ferramenta JUDE Diagrama contido no CVS Reviso em conjunto com o Scrum Master
Planejamento
Definio de Feito (DoD) Defini (DoD)
Para uma tarefa de implementao no modelo: implementa modelo:
Criao das classes no projeto Cria Criao do teste de unidade Cria Incluso do teste na integrao contnua integra cont Classes no CVS
Planejamento
Definio de Feito (DoD) Defini (DoD)
Podem haver definies de feito gerais na defini organizao organiza
Podendo haver especializaes por projeto especializa
importante deix-las clara no planejamento, para deix planejamento, que todos saibam que existe e com isso garantir sua utilizao! utiliza o! Dependendo do projeto, novas definies precisam projeto, defini ser criadas
O que feito para uma tarefa de documentao? documenta o?
Planejamento
Definio do local e horrio das reunies Defini hor dirias di
No planejamento fundamental especificar tais dados Essas reunies so vitais para o bom andamento do projeto Organizar a equipe de forma que todos participem
Problemas quando temos pessoas dedicadas parcialmente
Planejamento
Definio da data, horrio e local para Defini hor apresentao dos resultados do Sprint apresenta Definio da data, horrio e local para Defini hor apresentao dos resultados do Sprint apresenta Todos devem saber das datas!
Planejamento
Organizao do quadro do projeto Organiza
Planejamento
Organizao do quadro do projeto Organiza
Os quadros devem ter as seguintes divises para tarefas
No iniciadas, Em execuo, Concludas, Verificadas iniciadas, execu o, Conclu das,
Planejamento
Organizao do quadro do projeto Organiza
rea para Objetivo do Sprint rea para o Grfico de Acompanhamento Gr rea para especificar a Equipe rea para detalhar a data de incio e fim do sprint in rea para especificar dia da apresentao dos apresenta resultados rea para especificar local e horrio das reunies hor dirias di rea para especificar o dia da retrospectiva
A Reunio Diria Di
Importante: Deve ser diria! Importante: diria!
Em torno de 15 minutos
A Reunio Diria Di
Todos respondem 3 perguntas: perguntas:
1 2
Todos em p!
Facilita o gerenciamento do tempo
O que foi feito de ontem pra hoje? O que foi feito de ontem pra hoje?
O que ser feito de hoje at amanh? O que ser feito de hoje at amanh?
3
Existe algum impedimento? Existe algum impedimento?
A Reunio Diria Di
Problemas so detectados e discutidos inicialmente Impedimentos so registrados Itens no planejados tambm so registrados tamb para acompanhamento Todos falam, sob a superviso do scrum master falam,
Acompanhamento do Projeto
Alm das reunies dirias, o Scrum Master Al di possui outras tarefas rotineiras:
Verificar tarefas concludas conclu Atualizar grfico de acompanhamento gr Resolver impedimentos Atuar quando houver desvio no planejamento
Acompanhamento do Projeto
Verificao das tarefas concludas Verifica conclu
Idealmente deve ser feito pelo Scrum Master + Product Owner Utilizar a definio de como verificar existente no defini verificar carto Seguir a definio de feito defini
Se algum item no coincidir com o especificado, indicar ao responsvel para efetiva concluso respons Muito cuidado com os testes!
Acompanhamento do Projeto
Atualizao do grfico de acompanhamento Atualiza gr
Para cada tarefa verificada, baixar nmero n correspondente estimativa no grfico gr
Estimativa e no o tempo efetivamente gasto!!! Mas pode-se ter uma outra linha com o tempo podetrabalhado
Existem controvrsias sobre controv o que utilizar, assim, use as duas linhas
Acompanhamento do Projeto
Resoluo de impedimentos Resolu
Durante as reunies dirias impedimentos podem di ser identificados Cabe ao Scrum Master garantir sua resoluo resolu
Isso pode significar atuar junto gerncia
Acompanhamento do Projeto
Atuao nos desvios de planejamento Atua
Durante a atualizao do grfico de atualiza gr acompanhamento podem ser notados grandes desvios
O Scrum Master deve atuar para tentar identficar causas Tentando propor contramedidas para reduzir os atrasos
Acompanhamento do Projeto
Os membros da equipe devem:
Pegar uma tarefa e indicar isso atravs do quadro Pegar atrav Mudando para rea em execuo e registrado-se como execu o registradoresponsvel respons Atualizar registro de tempo gasto na tarefa Registrando no meio indicado pela empresa (atualmente no Quantum) Onde no existe meio eletrnico, pode-se usar marcas poderepresentando tempo gasto (*, |_|, etc.) Informar a finalizao de uma tarefa, com registro do tempo finaliza gasto Lembrando que ela pode voltar para em execuo, caso execu o no seja aprovada...
Ou seja, no finalize no Quantum tarefas ainda no verificadas...
Sem slides
Cerimnias: Retrospectiva
Retrospectiva
Durante o Sprint, necessrio observar o que funciona necess e o que no funciona Na retrospectiva, isso deve ser discutido por todos retrospectiva, Tipicamente uma reunio rpida, com cerca de 1h pida, Feita aps cada Sprint ap Toda a equipe participa
ScrumMaster Dono do produto Membros da equipe Clientes e outros
10
Retrospectiva
A equipe tenta responder a trs questes
O que voc achou muito bom no Sprint e que deveria continuar sendo feito O que voc achou muito ruim e no deveria mais ser feito (ou mudado) O que no est sendo feito est mas deveria iniciar
Retrospectiva
Continuar Continuar fazendo fazendo Parar de fazer Parar de fazer Iniciar a fazer Iniciar a fazer
Continuar Continuar fazendo fazendo Parar de fazer Parar de fazer Iniciar a fazer Iniciar a fazer
Retrospectiva
Para cada questo registrar as 3 respostas mais utilizadas Elas devem ser utilizadas pelo Scrum Master na conduo dos condu novos Sprints
Evitar o que foi considerado ruim Garantir que as coisas boas continuam Garantir que o que foi sugerido iniciar realmente iniciou
Final do Sprint
Continuar Continuar fazendo fazendo Parar de fazer Parar de fazer Iniciar a fazer Iniciar a fazer
Introduo Introdu Engenharia de Software Unidade III Exemplo de um Processo de Software - Scrum
Pedro de Alcntara dos Santos Neto pasn@ufpi.edu.br
11