BAND | Projetos TI
v 1.0
update: 06/12/2010
Band – Projetos TI
Natanael Rodrigues
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Preview
 Visão do Produto;
 User Stories versus Use Cases;
 Captura, Identificação e Especificação de Requisitos;
Features > “Use Cases” ou “User Story”
 Priorizar Backlog e Sprint Backlog.
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Software Running
Artefatos e
Entregáveis
Version Control
Minor bug fix
Minor feature addition
Minor system adaptation
Visões do Produto
Product
Owner
PRODUT
BACKLOG
- Features
- Mudanças
Plano de Projeto:
- Regras do Jogo, Apoio, Papeis,
Ambiente e Responsabilidades
Fábrica de Software
Team
Documento de Visão do Produto
- A equipe precisar ter a visão do todo!
- Visão do Escopo do Projeto e
expectativa do produto a ser entregue.
Requisitos (Features & Use Cases);
Especificações para o Time:
- Regras de negócio bem claras;
- Fluxo e estruturas bem definidas;
- Estórias ou Casos de Usos;
- Critérios de Aceite e Testes;
Sprint
BackLog
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Requisitos de Software e o SCRUM
Em que fase do SCRUM é feito a especificação dos Requisitos/Features/Item de Backlog ?
Obrigatoriamente Antes da Planning:
- Identificação dos workitens, estórias ou Use Cases do próximo Sprint.
- No Planning Pocker, os desenvolvedores precisam ter pelo menos uma
noção do que vão desenvolver para poder estimar, mesmo que os casos de
uso ou estórias não estejam totalmente especificadas.
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Fases Customizadas por Projeto
KANBAN
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Product BackLog
Priorizando Valores de Negócio
O BackLog:
• Lista de features, estórias ou Use Cases
a ser implementada;
• Definir a ordem e prioridade das
implementações e releases;
• Dar visibilidade do escopo e visão do
produto ao cliente.
Product
Owner
Attack Plan
Plano de “Attack”, ajuda:
• Visão do que agrega valor ao negócio;
• Na Construção Incremental;
• Definir Prioridades;
• Visão dos Componentes de Negócio;
Problema:
Num processo de construção incremental,
cuidar para não deixar falhas ou “gaps”
perdidos, ou que suas implementações
posteriores gerem muito retrabalho.
Planejar para Agregar Valor
nas Entregas Incrementais!
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Product BackLog - Montagem
Estórias versus Use Cases
Estórias:
• Puramente descritivo, objetivo e sucinto para
entendimento do negócio;
• Tem mais clareza na conversa de objetivos com usuários!
• Difícil visualizar e contextualizar escopo / idéia do fluxo,
processo e contexto de negócio;
• Dificuldades em estimativas, prazos e custos;
Épico
Use Cases:
• Melhor entendimento funcional com uso de UML;
• Clareza no fluxo, escopo e regras de negócio;
• Melhor para uso de métricas de estimativas
de software (UCP)  Prazos e Custos!
• Priorização por componentes de negócio (Packages);
• Ferramentas Cases e Uso da UML para especificação;
Componente de Negócio (Package)
Estória
Critérios de Aceite
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Product BackLog - Montagem
Estórias versus Use Cases
Problemas:
Como medir, formar
processos,
contextualizar 
(componentes de
negócio  Features
 protótipo 
modelos/Domínios)
Estórias na prática:
Estória:
Eu
como
gerente
financeiro,
preciso
aprovar
uma
Estória:
Eu
como
gerente
financeiro,
preciso
aprovar
uma
Estória:
Eu
como
gerente
financeiro,
preciso
aprovar
uma
requisição
de
compra.
Estória:
Eu
como
gerente
financeiro,
preciso
aprovar
uma
requisição
de
compra.
requisição
de
compra.
requisição de compra.
Critérios
de
Aceite:
Critérios
dede
Aceite:
Critérios
Aceite:
- -AACritérios
requisição
maior
que
R$
200,00;
deprecisar
Aceite:ser
requisição
precisar
ser
maior
que
R$
200,00;
A
requisição
precisar
ser
maior
que
R$
200,00;
- -Ao
aprovar
o
status
da
requisição
deve
estar
igual
aa
A
requisição
precisar
ser
maior
que
R$
200,00;
Ao
aprovar
o
status
da
requisição
deve
estar
igual
- -Ao
o ostatus
dada
deve
“Aprovada”
eevoltar
para
orequisição
solicitante;
Aoaprovar
aprovar,
status
requisição
deveestar
estarigual
iguala a
“Aprovada”
voltar
para
o
solicitante;
edeverão
voltar
ooordenadas
solicitante;
- -AsAs“Aprovada”
requisições
estar
por
prioridade
“Aprovada”
edeverão
voltarpara
para
solicitante;
requisições
estar
ordenadas
por
prioridade
As
requisições
deverão
estar
ordenadas
por
eeurgência
de
aprovação;
- urgência
As requisições
deverão estar ordenadas porprioridade
prioridade
de
aprovação;
eeurgência
de
aprovação;
urgência de aprovação;
Features;
Funcionalidades;
Telas;
Processos;
Serviços;
• Regras de Negócio;
• {Constraints}
• Validações e Consistências;
• Plano de Testes;
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Product BackLog - Montagem
Estórias versus Use Cases
Use Case na prática:
Componente de Negócio (Package)
•Features;
•Funcionalidades;
•Telas;
•Processos;
•Serviços;
Ferramentas e Semânticas
apropriadas para descrever:
• Fluxo do processo e Cenários;
• Caminhos/Cenários alternativos;
• Regras de Negócio {Constraints};
• Requisitos de atendimento
ao negócio;
• Requisitos de testes;
• Escopo;
• Prazos;
• Estimativas e valoração;
Use Case Points
Descrever de
Forma sucinta
e Objetiva!
Use Cases
“magrinhos” e
simples são
ágeis!!!
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Review
 Definir as Features;
 Agrupá-las em Componentes de Negócio / Módulos / Pacotes;
 Identificar e Especificar Casos de Uso (ou “User Stories”)
 Alimentar Documento de Visão do Produto
(Requisitos Funcionais e Não Funcionais)
 Priorizar Backlog e Sprint Backlog;
 Levar à Planning Pocker;
Documento
de Visão
Componentes
de Negócio
Features
Product BackLog
Use Cases
ou Estórias
Planning
Pocker
Sprint BackLog
Visão do Produto
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Processo de Desenvolvimento
Artefatos e Sequência de Trabalhos
Responsáveis
Scrum Master
& Scrum Team
Product Owner
& Analista Funcional (A&D)
Plano de
Projeto
Documento
de Visão
Features
Product BackLog
Use Cases
ou Estórias
{Critérios de
Aceite}
Domain
Model
Planning
Pocker
Sprint
BackLog
Visão do Produto
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Templates
 Documento de Visão do Produto;
 Documento de Requisitos de Software (Features);
 Especificação de Use Cases no EA (Hands On);
Outros:
 Atas
 Issue Report;
 Documento de Entregas
 Documento de Aceite
Pasta na Rede:
\\sbdsao-app140\Informatica\Desenvolvimento\ProjetosTI\_PMO_Band\Templates\10_DocumentosProjeto
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Samples: Product Vision
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Samples: Business Component Vision
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Samples: Domain Model
Aggregate Root
class Account Domain Model
ContaBanco
Account
Common::Cidade
+
+
+
Codigo: string
Nome: string
Estado: Estado
+
+
Cidade()
~Cidade()
Dispose() : void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ID: int
Nome: string
CpfCnpj: string
InscricaoEstadual: string
Rg: string
Sexo: char
DataNascimento: datetime
Email: string
+Pai
Email2: string
Senha: string
Telefone: string
Celular: string
Recado: string
Saldos: IList<Saldo>
Enderecos: IList<Endereco>
Pedidos: IList<Pedido>
Pai: Account
Ativo: bool
ContasBanco: IList<ContaBanco>
+
+
Account()
~Account()
Dispose() : void
+
+
+
0..* +
+
+
+
+
+
+ContasBanco
+
+
«enumeratio...
Common::
TipoMov imento
Credito = "C"
Debito = "D"
ContaBanco()
~ContaBanco()
Dispose() : void
+TipoMovimento
Mov imento
Saldo
+Saldos
+
0..* +
+
+
+
NumeroAgencia: string
DigitoAgencia: string
NomeAgencia: string
NumeroConta: string
DigitoConta: string
VariacaoConta: string
Titular: string
CPFCNPJ: string
Banco: Banco
DataFechamento: datetime
SaldoAnterior: float
TotalCredito: float
TotalDebito: float
SaldoAtual: float
+
+
+Lancamentos +
+
0..* +
+
Data: DateTime
Descricao: string
Valor: float
Doc: string
TipoMovimento: TipoMovimento
Parcela: Parcela
+Cidade
+Enderecos
1..*
Endereco
«enumeration»
Common::TipoEndereco
Comercial = "C"
Residencial = "R"
Cobranca = "B"
+TipoEndereco
+
+
+
+
+
TipoEndereco: TipoEndereco
Endereco: string
Bairro: string
Cep: string
Cidade: Cidade
+
+
Endereco()
~Endereco()
Dispose() : void
© 2010 – BAND | Projetos TI
Natanael R. Silva
BAND | Projetos TI
Pensamento Final
Não somos mestres, nem sois aprendizes!
Nosso objetivo é equalizar conhecimentos e compartilhar
experiências, aproveitando o conhecimento e habilidade de
cada um, para formar uma equipe forte, unida e com um
só objetivo.
© 2010 – BAND | Projetos TI
Natanael R. Silva
Download

WorkShop(Requisitos-de