Вы находитесь на странице: 1из 22
Metodologia, modelagem, aplicações, SCRUM

Metodologia, modelagem, aplicações,

SCRUM

Metodologia, modelagem, aplicações, SCRUM

RESUMO DO PROCESSO

Cerimônias Papéis • Planejamento da Sprint • Product Owner • Reunião diária • Scrum Master
Cerimônias
Papéis
• Planejamento da Sprint
• Product Owner
• Reunião diária
• Scrum Master
• Reunião de revisão da Sprint
• Equipe Scrum
• Reunião de retrospectiva da
Sprint
Artefatos • Product backlog • Sprint backlog • *Burndown (gráfico de desempenho) Review Daily Sprint
Artefatos
• Product backlog
• Sprint backlog
• *Burndown
(gráfico de
desempenho)
Review
Daily
Sprint
Sprint
Scrum
Planning
Meeting
Retrospective
Meeting
Meeting
Sprint
Meeting
24
horas
Product
Sprint
Produto ou
Visão
Backlog
Backlog
Geral
2 a 4
semanas
uma versão
dele

RESUMO DO PROCESSO

RESUMO DO PROCESSO  *Burndown (gráfico de desempenho):

*Burndown (gráfico de desempenho):

RESUMO DO PROCESSO  *Burndown (gráfico de desempenho):
RESUMO DO PROCESSO  *Burndown (gráfico de desempenho):

QUEM REALMENTE FAZ O QUE?

QUEM REALMENTE FAZ O QUE?
QUEM REALMENTE FAZ O QUE?
QUEM REALMENTE FAZ O QUE?

METODOLOGIA DE DESENVOLVIMENTO USADA JUNTO COM O SCRUM: FDD

METODOLOGIA DE DESENVOLVIMENTO USADA JUNTO COM O SCRUM: FDD  O FDD é um dos tipos

O FDD é um dos tipos de modelagem de software que pode ser utilizada

junto com o SCRUM.

O SCRUM e o FDD (Feature Driven Development) são complementares sob alguns pontos de vista.

O SCRUM geralmente é utilizado para o gerenciamento do projeto. Enquanto o FDD é responsável por utilizar práticas de engenharia de software para organizar as etapas de desenvolvimento de software.

 

O QUE É FDD?

FDD ou desenvolvimento guiado por funcionalidades, é uma metodologia ágil para

FDD ou desenvolvimento guiado por funcionalidades, é uma metodologia ágil para

gerenciamento e desenvolvimento de software.

Ela é objetiva e possui somente duas fases: Concepção & planejamento (pensar um

pouco antes de fazer (1 a 2 semanas) e Construção (tipicamente em iterações de 2

semanas).

O lema da FDD é: “Resultados freqüentes, tangíveis e funcionais.

É descrito por 5 processos que são bem definidos e integrados: DMA; CLF; PPF; DPF; CPF.

DMA (Desenvolver um Modelo Abrangente):

Análise Orientada por Objetos

CLF (Construir a Lista de Funcionalidades):

Decomposição Funcional

PPF (Planejar por Funcionalidade):

Planejamento Incremental

DPF (Detalhar por Funcionalidade):

Desenho (Projeto) Orientado por Objetos

CPF (Construir por Funcionalidade):

Programação e Teste Orientados por Objetos

Desenho (Projeto) Orientado por Objetos CPF (Construir por Funcionalidade): Programação e Teste Orientados por Objetos

ONDE O FDD É APLICADO NO SCRUM:

ONDE O FDD É APLICADO NO SCRUM: Review Daily Sprint Sprint Scrum Planning Meeting Retrospective Meeting
Review Daily Sprint Sprint Scrum Planning Meeting Retrospective Meeting Meeting Sprint Meeting 24 horas
Review
Daily
Sprint
Sprint
Scrum
Planning
Meeting
Retrospective
Meeting
Meeting
Sprint
Meeting
24
horas
Product
Sprint
Produto ou
Visão
Backlog
Backlog
Geral
2 a 4
semanas
uma versão
dele

MODELAGEM DESCRIÇÃO DOS PROCESSOS (DMA)



DMA -Desenvolver um Modelo Abrangente: Pode envolver desenvolvimento de requisitos, análise orientada por objetos, modelagem lógica de dados e outras técnicas para entendimento do domínio de negócio em questão. O resultado é um modelo de objetos (e/ou de dados) de alto nível, que guiará a equipe durante os ciclos de construção.

-> Tem-se mais forma do que conteúdo.

Neste estágio usa-se a UML Color para modelar os objetos, os fluxos e relacionamentos entre eles.

A UML Color é um conjunto de quatro cores associadas a UML (Unified Modeling Language). O sistema de coloração indica quais vários arquétipos se aplicam ao objeto UML. UML tipicamente identifica um

estereótipo com um comentário entre parênteses, para cada objeto, que identifica se é uma classe,

interface, etc.

As cores utilizadas são: Rosa (significa momento, intervalo); Amarelo (papéis); Azul (descrição); Verde

(parte, lugar ou coisa).

Ao longo de centenas de modelos de domínio, ficou claro que quatro grandes "tipos" de classes apareceu de

novo e de novo -apenas um nome diferente para se adequar ao domínio. Estes eram chamados de

arquétipos (depois de muita discussão), que serve para transmitir que as classes de um arquétipo dado seguem mais ou menos da mesma forma.

Isto é, atributos, métodos, associações e interfaces são bastante semelhantes entre as classes de um

determinado arquétipo.

EXEMPLO DE UML EM CORES

EXEMPLO DE UML EM CORES

MODELAGEM DESCRIÇÃO DOS PROCESSOS (CLF)

MODELAGEM – DESCRIÇÃO DOS PROCESSOS (CLF)  CLF -Construir uma Lista de Funcionalidades: decomposição funcional

CLF -Construir uma Lista de Funcionalidades: decomposição funcional do modelo do domínio, em três camadas típicas: áreas de negócio, atividades de negócio e passos automatizados da atividade

(funcionalidades). O resultado é uma hierarquia de funcionalidades que representa o produto a ser

construído (também chamado de product backlog, ou lista de espera do produto).

Neste estágio é construído o FBS (Feature BreakDown Structure) que é uma prática para engenharia de requisito. O FBS cria uma estrutura de análise de funcionalidades e cada feature (funcionalidade) deve representar um item do product backlog. Figura representativa no próximo slide.

A funcionalidade não pode ser muito grande, deve ter o tamanho suficiente para que possa ser realizada

em, no máximo, 1 iteração. Ela oferece um valor para o cliente.

Ela basicamente localiza passos em uma atividade de negócio. Logo ela pode ser um dos passos de um caso de uso pode ser um passo dos casos de uso (por exemplo, Manutenção de cliente -> Passo: cadastrar cliente ou Cadastrar produto -> Passo: Gerenciar login de permissão) ou pode ser o próprio casos de uso (solicitar saque, por exemplo)

Seu conceito assemelha-se ao de um requisito funcional, na análise OO. Modelo:

<ação><resultado><objeto>, por exemplo: -Calcular total da compra do cliente; -Liberar pagamento; - Verificar saldo etc.

EXEMPLO DE FBS

EXEMPLO DE FBS

MODELAGEM DESCRIÇÃO DOS PROCESSOS (PPF)

MODELAGEM – DESCRIÇÃO DOS PROCESSOS (PPF)  PPF -Planejar por Funcionalidade:abrange a estimativa de complexidade

PPF -Planejar por Funcionalidade:abrange a estimativa de complexidade e dependência das funcionalidades, também levando em consideração a prioridade e valor para o negócio/cliente. O resultado é um plano de desenvolvimento, com os pacotes de trabalho na seqüência apropriada para a construção.

Eles avaliam o peso de cada funcionalidade a ser implementada no sistema através do

Business Value que eles atribuem às mesmas, além disso, o product owner gerencia o retorno sobre o investimento (ROI) através do business value.

O Business Value será uma moeda de troca durante o projeto e o cliente empresta um determinado valor dessa moeda para a equipe e esta por sua vez, terá que devolver o valor

correspondente em forma de software, ou seja, é uma dívida que a equipe assume com o

cliente e que deverá ser amortizada a cada ciclo(Sprint), até que a mesma seja totalmente liquidada (zerada).

Exemplo de atribuição de valor às funcionalidades no próximo slide.

EXEMPLO DE ATRIBUIÇÃO DE VALOR À FUNCIONALIDADE VINDO

DO DETALHAMENTO DO PRODUCT BACKLOG:
DO DETALHAMENTO DO PRODUCT BACKLOG:

Business

Área de negócio

 

Value

Item

100

Pedido

Os clientes poderão fazer o pedido de vários produtos

60

Pedido

Os clientes poderão cancelar o pedido

40

Pedido

Os clientes poderão ver o status do pedido

60

Pedido

Os clientes poderão alterar o pedido

80

Pagamento

Os clientes poderão pagar via boleto ou cartão

80

Produto

Os produtos deverão ser cadastrados

70

Cliente

Os clientes deverão ser cadastrados

60

Cliente

Os clientes poderão alterar seus dados de cadastro

MODELAGEM DESCRIÇÃO DOS PROCESSOS (DPF)

MODELAGEM – DESCRIÇÃO DOS PROCESSOS (DPF)  DPF -Detalhar por Funcionalidade: já dentro de uma iteração

DPF -Detalhar por Funcionalidade: já dentro de uma iteração de construção,

a equipe detalha os requisitos e outros artefatos para a codificação de cada

funcionalidade, incluindo os testes. O projeto para as funcionalidades é inspecionado. O resultado é o modelo de domínio mais detalhado e os

esqueletos de código prontos para serem preenchidos.

Agora, o que foi escolhido para ser feito no sprint é desenhado e modelado de forma mais detalhada, e tem mais conteúdo do que a forma em si, enquanto no DMA, houve o desenho de modo geral do sistema a ser

desenvolvido.

MODELAGEM DESCRIÇÃO DOS PROCESSOS (CPF)

MODELAGEM – DESCRIÇÃO DOS PROCESSOS (CPF)  CPF -Construir por Funcionalidade:cada esqueleto de código é

CPF -Construir por Funcionalidade:cada esqueleto de código é

preenchido, testado e inspecionado. O resultado é um

incremento do produto integrado ao repositório principal de

código, com qualidade e potencial para ser usado pelo

cliente/usuário.

Finalmente vai sair uma versão do código ou software em sua

versão final, funcionando e testado.

VANTAGENS DO SCRUM

VANTAGENS DO SCRUM  Clientes se tornam parte da equipe de desenvolvimento (os clientes devem estar

Clientes se tornam parte da equipe de desenvolvimento (os clientes devem estar genuinamente interessados na saída);

Entregas

frequentes

desenvolvidas;

e

intermediárias

de

funcionalidades

100%

Planos frequentes de mitigação de riscos desenvolvidos pela equipe;

Discussões diárias de status com a equipe;

A discussão diária na qual cada membro da equipe responde às seguintes

perguntas:

-> O que fiz desde ontem? -> O que estou planejando fazer até amanhã? -> Existe algo me impedindo de atingir minha meta?

VANTAGENS DO SCRUM

VANTAGENS DO SCRUM  Transparência no planejamento e desenvolvimento;  Reuniões frequentes com os stakeholders

Transparência no planejamento e desenvolvimento;

Reuniões frequentes com os stakeholders (todos os envolvidos

no processo) para monitorar o progresso;

Problemas não são ignorados e ninguém é penalizado por reconhecer ou descrever qualquer problema não visto;

Locais e horas de trabalho devem ser energizadas, no sentido

de que "trabalhar horas extras" não necessariamente significa

"produzir mais".

VANTAGENS DO SCRUM

VANTAGENS DO SCRUM  Motivação maior dos programadores;  Diminuição dos bugs;  Prioridades podem ser

Motivação maior dos programadores;

Diminuição dos bugs;

Prioridades podem ser alteradas;

As funcionalidades de maior valor são entregues de forma mais rápida.

DESVANTAGENS DO SCRUM

DESVANTAGENS DO SCRUM  Projeto não documentado* .  Prazo .  Falta planejamento do escopo*

Projeto não documentado*.

Prazo.

Falta planejamento do escopo*.

Papéis indefinidos, no sentido de que os integrantes da equipe não possuem tarefas fixas e podem ter diferentes posições a cada sprint.

* O FDD conserta estas desvantagens, mas o SCRUM usado puro não possui nem documentação nem planejamento prévio.

APLICABILIDADE

APLICABILIDADE Software comercial Desenvolvimento interno Desenvolvimento contratado (terceirização) Projetos de preço
APLICABILIDADE Software comercial Desenvolvimento interno Desenvolvimento contratado (terceirização) Projetos de preço

Software comercial Desenvolvimento interno Desenvolvimento contratado (terceirização) Projetos de preço fixo Aplicações Financeiras Aplicações certificadas pela ISO 9001

Financeiras Aplicações certificadas pela ISO 9001 Sistemas embarcados Sistemas disponíveis 24x7
Financeiras Aplicações certificadas pela ISO 9001 Sistemas embarcados Sistemas disponíveis 24x7
Financeiras Aplicações certificadas pela ISO 9001 Sistemas embarcados Sistemas disponíveis 24x7
Financeiras Aplicações certificadas pela ISO 9001 Sistemas embarcados Sistemas disponíveis 24x7
Financeiras Aplicações certificadas pela ISO 9001 Sistemas embarcados Sistemas disponíveis 24x7

Sistemas embarcados

Aplicações certificadas pela ISO 9001 Sistemas embarcados Sistemas disponíveis 24x7 Desenvolvimento por hackers

Sistemas disponíveis 24x7 Desenvolvimento por hackers solitários Video games

24x7 Desenvolvimento por hackers solitários Video games Sistemas para suporte à vida Sistemas para controle de
24x7 Desenvolvimento por hackers solitários Video games Sistemas para suporte à vida Sistemas para controle de

Sistemas para suporte à vida

Sistemas para controle de satélites

Websites

Software para handhelds

Telefones celulares

Aplicações para redes

Algumas das maiores

aplicações em produção

EMPRESAS QUE USAM O SCRUM

EMPRESAS QUE USAM O SCRUM
EMPRESAS QUE USAM O SCRUM
EMPRESAS QUE USAM O SCRUM
EMPRESAS QUE USAM O SCRUM
EMPRESAS QUE USAM O SCRUM
EMPRESAS QUE USAM O SCRUM