55
O Ciclo de Vida dos Requisitos [email protected]

Gestão de Tempo AplicaçõEs Jad

Embed Size (px)

Citation preview

Page 1: Gestão de Tempo AplicaçõEs Jad

O Ciclo de Vida dos Requisitos

[email protected]

Page 2: Gestão de Tempo AplicaçõEs Jad

Conceito de Requisito

Requisito é uma condição ou capacidade

• necessária para um usuário resolverum problema ou alcançar um objetivo;

• para satisfazer uma especificação em um sistema ou em um componente;

• com uma representação documentada.

Em: The IEEE Standard Glossaryof Software Engineering Terminology, 1997.

Roc

co, 2

004

Page 3: Gestão de Tempo AplicaçõEs Jad

Comunicação

Page 4: Gestão de Tempo AplicaçõEs Jad

Gestão

Definição

Necessidade

Ciclo-de-vida dos REQUISITOS

Utilização

Avaliação

Page 5: Gestão de Tempo AplicaçõEs Jad

Requisitos de Software

A Norma ISO/IEC 9126 define seis características de qualidade de software que devem ser avaliados: Funcionalidade (finalidade do produto) Usabilidade (esforço para utilizar, aprender o

produto) Confiabilidade (freqüência de falhas,

recuperabilidade) Eficiência (desempenho) Manutenibilidade (esforço necessário para

modificar) Portabilidade (capacidade de transferir o produto

para outros ambientes)

Page 6: Gestão de Tempo AplicaçõEs Jad

Níveis de Requisitos

Requisitos de negócioobjetivos de alto nível requeridos pelos clientes

Requisitos de usuáriotarefas que os usuários são habilitados a realizar

Requisitos funcionaisfuncionalidade que o software deve prover

• funcionais (comportamento e propriedade)• não funcionais (qualitativos, quantitativos, restritivos)

Roc

co, 2

004

Page 7: Gestão de Tempo AplicaçõEs Jad

Como os Projetos Podem Ter Sucesso?Como os Projetos Podem Ter Sucesso?

Análise do Problema Entenda o problema Obtenha concordância dos envolvidos

Levantamento dos Requisitos Identifique quem usará o sistema (atores) Descubra como o sistema será usado (casos de uso)

Gerência de Requisitos Especifique os requisitos completamente Gerencie expectativas, mudanças e erros Controle o aumento do escopo Defina a equipe e a mantenha informada

Análise do Problema Entenda o problema Obtenha concordância dos envolvidos

Levantamento dos Requisitos Identifique quem usará o sistema (atores) Descubra como o sistema será usado (casos de uso)

Gerência de Requisitos Especifique os requisitos completamente Gerencie expectativas, mudanças e erros Controle o aumento do escopo Defina a equipe e a mantenha informada

Page 8: Gestão de Tempo AplicaçõEs Jad

EspecificaçãoEspecificaçãoAquisiçãoAquisição

Processo de Engenharia de Requisitos

EspecificaçãoEspecificaçãodos Requisitosdos Requisitos

UdIUdI

Informações

ElicitaçãoElicitaçãoElicitaçãoElicitação ModelagemModelagemModelagemModelagem

ValidaçãoValidaçãoValidaçãoValidação AnáliseAnáliseAnáliseAnálise

Representações

Roc

co, 2

004

Page 9: Gestão de Tempo AplicaçõEs Jad

Fase de Aquisição

Habilidade em:

- trabalhar com especialistas humanos- tratar o conhecimento tácito e resolver conflitos

Técnicas: - análise de documentos- entrevistas- reuniões- observações

Roc

co, 2

004

Page 10: Gestão de Tempo AplicaçõEs Jad

Fase de Representação

Propósito de:

- documentar os conceitos do negócio- descrever correta, completa e consistentemente

Modelos: - escritos- gráficos- matemáticos formais- cenários ou protótipos de uso

Roc

co, 2

004

Page 11: Gestão de Tempo AplicaçõEs Jad

Gerência de Requisitos

Atividades de:

- acompanhar o desenvolvimento- controlar as mudanças dos requisitos

Ações:

- planejamento desenvolvimento (“baseline”)- rastreabilidade com componentes de software- definição do estado e avaliação da qualidade- análise impacto e controle versões de mudanças

Roc

co, 2

004

Page 12: Gestão de Tempo AplicaçõEs Jad

ELICITAR

ANALISAR

MODELAR

Documento de Requisitosdo Sistema

Decisões daAnálise

Métodos,Técnicas eFerramentas

Modelo deAnálise doSistema

Principais Atividades da Engª de Requisitos

Page 13: Gestão de Tempo AplicaçõEs Jad

Elicitação dos requisitos

Nesta fase o engenheiro de requisitos procura captar os requisitos do

software, buscando obter conhecimento do domínio do problema.

ELICITAR: descobrir, tornar explícito, obter o máximo de informações para

o conhecimento do objeto em questão.

Cabe à elicitação a tarefa de identificar os fatos relacionados aos

requisitos do Sistema, de forma a prover o mais correto e mais completo

entendimento do que é demandado do software.

Para alcançar tal objetivo, esta fase utiliza três atividades principais:

identificação das fontes de informação; coleta de fatos e comunicação,

além de ferramentas, pessoal e métodos.

Page 14: Gestão de Tempo AplicaçõEs Jad

Elicitação dos

Requisitos

Obter informação sobre domínio do problema e sistema

atual (Antes de manter as reuniões com os clientes e

usuários e identificar os requisitos, é fundamental conhecer o

domínio do problema e os contextos organizacional e

operacional (situação atual). A equipe responsável pelo

levantamento deve se familiarizar com o vocabulário próprio

do domínio a ser considerado.

Preparar e realizar reuniões de levantamento /negociações

(Utilizar técnicas específicas para o levantamento de

requisitos e técnicas de negociação).

Identificar e revisar os objetivos do sistema (Identificar e

revisar quais informações relevantes para o cliente que o

sistema deverá gerir e armazenar.)

Identificar e revisar os requisitos funcionais

Identificar e revisar os requisitos não funcionais

Elicitação dos requisitos

Page 15: Gestão de Tempo AplicaçõEs Jad

Necessidades da Elicitação

FazFaz Coleta de Fatos

FazFaz Identificação de Fontes de Informação

FazFaz Comunicação

Faz/UsaFaz/Usa Ferramentas

UsaUsa Pessoal

UsaUsa Métodos

Depende deDepende de Pontos de Vista

Page 16: Gestão de Tempo AplicaçõEs Jad

Identificação das Fontes de Informação

O que são Stakeholders do sistema? Qualquer pessoa afetada de

alguma forma pelo sistema (atores, cliente, usuário final, desenvolvedor)

A análise dos Stakeholders ajuda a determinar o impacto que um novo sistema de informação terá.

Page 17: Gestão de Tempo AplicaçõEs Jad

Outras fontes de Informação: Documentação do macrosistema Políticas Manuais Memos, atas, contratos... Livros sobre tema relacionado Outros sistemas da empresa, sistemas

externos.

Identificação das Fontes de Informação

Page 18: Gestão de Tempo AplicaçõEs Jad

Importante: Priorizar as Fontes de Informação. Heurísticas:

Atores mais importantes Documentos mais mencionados Rede de comunicações entre os

componentes do macro-sistema ...

Identificação das Fontes de Informação

Page 19: Gestão de Tempo AplicaçõEs Jad

Coleta de Fatos

Entrevistas Coleta e Leitura de documentos Observação Questionários Análise de Protocolos Enfoque antropológico (estudo do ser humano) Reuniões Reutilização Recuperação (eng. reversa) do projeto do software

Page 20: Gestão de Tempo AplicaçõEs Jad

Características das Técnicas

Brainstorm útil no início do processo levantamento de

requisitos reunião conjunta objetivo estimular a imaginação e a geração de

idéias não avalia um conjunto de soluções

Entrevistas não-estruturadas estruturadas

Page 21: Gestão de Tempo AplicaçõEs Jad

JAD - Joint Application Development

INTRODUZ TEMA

MOSTRAR EXEMPLOS

DISCUSSÃO

CONSENSO

DOCUMENTAÇÃO

PENDÊNCIAIMPASSE

Responsável

Gerência

ProcessoProcesso

Usuários e desenvolvedores trabalham juntos em uma reunião com o objetivo de: identificar o problema propor elementos de solução negociar diferentes abordagens especificar um conjunto

preliminar de requisitos de solução

Envolve: preparação para reunião a partir

de uma requisição geral do produto

reunião

Page 22: Gestão de Tempo AplicaçõEs Jad

Comunicação

Apresentação: A forma como a informação é apresentada

Entendimento: Estabelecimento de contexto comuns. Ex. Planta; Ordem de 5,10,2,9,8,4,6...

Linguagem Nível de Abstração

Retro-alimentação

(...entre clientes/agentes e os eng. soft.)

Page 23: Gestão de Tempo AplicaçõEs Jad

Apresentação

Diferentes formas de apresentação ajudam ou dificultam o entendimento.

Distribuição de Vendas

0%5%

10%15%20%25%30%35%40%45%

Produto A Produto B Produto C Produto D

Pe

rce

ntu

al

•Produto A •15%•Produto B •40%•Produto C •20%•Produto D •25%

Distribuição de Vendas

Page 24: Gestão de Tempo AplicaçõEs Jad

Linguagem

A linguagem é reflexo da cultura de uma sociedade.

Para entendermos algo de importante para uma sociedade temos que entender sua linguagem.

Deve-se compreender a linguagem antes de elicitar as necessidades.

Exemplos

Conta-mãe, Dzero, Fecha a mesa, Passagem de Resultados, Zipar, FTP, TCP/IP

Page 25: Gestão de Tempo AplicaçõEs Jad

Nível de Abstração

A comunicação pode ser ruidosa se os indivíduos estiverem dialogando em diferentes níveis de abstração.

Conflito presente entre generalistas e especialistas.

Exemplo

Devemos conquistar mercados (Diretoria)X

Distribuir os vendedores (Gerência de Vendas)

Page 26: Gestão de Tempo AplicaçõEs Jad

Retroalimentação

Obrigar ao receptor da informação a recolocar a comunicação até que o emissor responda positivamente a recolocação.

Resumir, parafrasear, confirmar.?

a

a

Page 27: Gestão de Tempo AplicaçõEs Jad

Técnicas de Levantamento Técnicas de Levantamento

- Entrevistas- Questionários-Observação / Visitas instalações (próprias ou outras)- Demonstrações- Pesquisa extena- Análise da Documentação- Joint Application Design (JAD) - IBM- Brain Storm - Brain Writing

Page 28: Gestão de Tempo AplicaçõEs Jad

QuestionáriosQuestionários

- Fontes sólidas e confiáveis.- Questionário objetivo, dirigido e diferenciado*

* para compatibilizar as informações fornecidas pelos três níveis de decisão

Page 29: Gestão de Tempo AplicaçõEs Jad

Análise DocumentalAnálise Documental

Estudo dos registros existentes, (documentos e relatórios, atuais ou históricos).

Inclui a análise das informações em meio magnético (discos, fitas...)

Page 30: Gestão de Tempo AplicaçõEs Jad

Entrevistas Entrevistas

Funções

- Obtenção de informações: atitudes, comportamento, fatos vivenciados, tendências e experiências- Informações sobre a empresa, atividades e a funções- Visão mais concreta da realidade- Coordenação de informações recebidas de fontes diversas

Page 31: Gestão de Tempo AplicaçõEs Jad

A entrevistaA entrevista

- Forma mais comum: pessoal / direta

- Documentação dos resultados: copiar tudo? gravar? filmar? realizar anotações ?

- Pessoas certas que estão nos locais certos

- Perguntas certas, respostas certas

- Seqüência dos entrevistados

- Planejamento do tempo

- Coleta prévia de tantos dados quanto possíveis

Page 32: Gestão de Tempo AplicaçõEs Jad

Entrevistas Entrevistas

- Planejar a entrevista: objetivo, perguntas e tempo - Escolher o local: privacidade é essencial - Agendar a entrevista, informando o entrevistado da agenda- Obter informações sobre as características do pessoais e funcionais do entrevistado

Procedimentos preliminares

Page 33: Gestão de Tempo AplicaçõEs Jad

Durante a entrevistaDurante a entrevista

- Apresentar-se

- Repassar a agenda (objetivos, patrocinador, motivo da escolha do entrevistado)

- Postura do entrevistador: credibilidade, isenção, discrição; não criar ressentimentos

- Deixar o entrevistado falar (redução da interferência)

- Direcionar a discussão para os objetivos

- Evitar perguntas fechadas

- Não ultrapassar o tempo

- Notar sinais de impaciência

Page 34: Gestão de Tempo AplicaçõEs Jad

Um estilo para entrevistarUm estilo para entrevistar

- Relacione a parte da entrevista c/ partes do sistema

- Obtenha pontos de vista alternativos

- Solicite detalhes do item que você estiver interessado

- Estabeleça a dependência do assunto com outros

- Confirme os dados obtidos

- Focalize os requisitos (não os problemas técnicos)

- Não confunda sintomas com o problema

Page 35: Gestão de Tempo AplicaçõEs Jad

ProblemasProblemas

- Você está tomando tempo demais

- Você está ameaçando meu emprego

- Você não conhece a nossa empresa

- Você está tentando mudar o modo que as coisas são feitas aqui

- Não queremos esse sistema

- Mudei de opnião

- Aqui não há consenso de como a coisa deve ser feita

Page 36: Gestão de Tempo AplicaçõEs Jad

Brainstorm Brainstorm

- Reunião onde todos têm liberdade de expressar suas opiniões- Nenhuma crítica prévia deve ser feita- São válidas colocações por impulso: o que vale é a quantidade de idéias- Relacionadas as idéias, passa-se para a interpretação dos resultados

Page 37: Gestão de Tempo AplicaçõEs Jad

BrainwritingBrainwriting

- Dividir os participantes em grupos de 4 ou 5 pessoas- Os grupos recebem uma questão

O trabalho- Escrever a sua opinião sobre a questão- Ao terminar, colocar a folha no centro da mesa- Pegar a folha de respostas de outro integrante do grupo- Criticar as colocações encontradas

Page 38: Gestão de Tempo AplicaçõEs Jad

BrainwritingBrainwriting

- Criticar todos os trabalhos do grupo, por escrito- Completado o ciclo, o grupo pode receber nova pergunta- O presentes criticam todas as posições dos grupos

Obs: - Pode haver um relator por grupo- Cada grupo pode receber uma questão diferente- Exige um relator do trabalho final

Page 39: Gestão de Tempo AplicaçõEs Jad

JAD Joint Application Design

Page 40: Gestão de Tempo AplicaçõEs Jad

OBJETIVO

Identificar as características do JAD e as suas aplicações .

Page 41: Gestão de Tempo AplicaçõEs Jad

SUMÁRIO

1. Introdução2. Desenvolvimento a. Conceitos b. Definição c. Histórico d. Metodologia e. Implementação3. Conclusão

Page 42: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO a. Conceitos

METODOLOGIA

Técnicas Método

Ferramentas

Page 43: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO b. Definição

Técnica que reúne determinado número de pessoas em sessões bem estruturadas para, com tempo e esforço reduzidos, consolidar

um objetivo pré-determinado.

Page 44: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO b. Definição

PESSOAS ESTRUTURA PLANEJADA +

Habilidades Diversas Ambiente e Material (Logística)

OBJETIVOOBJETIVO

Mínimo Tempo e Esforço

Entendimento e Consenso

Page 45: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO c. Histórico

Dificuldade da solução das diferenças de ponto de vista entre usuários

A metodologia JAD foi desenvolvida pela IBM, no Canadá, em 1977.

Buscando a obtenção de consenso entre um grande grupo de pessoas

Page 46: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO d. MetodologiaAlguns princípios para o JAD:

• Envolvimento de todas as pessoas necessárias para

atingir o objetivo;

• Líder experiente e imparcial;

• Representante da alta gerência;

• Sessões com no máximo 15 pessoas;

• Planejamento logístico;

• Decisões pelo consenso;

• Documentação dos resultados produzidos;

Comprometimento.

Page 47: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO d. Metodologia

Componentes da equipe do JAD

(são as estrelas do espetáculo)

• Facilitador;

• Patrocinador;

• Especialistas da Informação;

• Documentador;

• Representantes dos usuários/clientes;

• Outros convidados.

Page 48: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO d. Metodologia

Organização do JAD

• Reunião Inicial;

• Reunião de Revisão;

• Reuniões para a Realização das Sessões do

Projeto;

Page 49: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO d. Metodologia

REUNIÃO INICIAL

• Primeira fase dos trabalhos.

• Reunião com duração aproximada de 3 h,

participação das pessoas do nível estratégico.

• Definem os objetivos, participantes, agenda e

distribuição de tarefas.

Page 50: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO d. Metodologia

REUNIÃO DE REVISÃO

• Dura normalmente 3 h, com os mesmos

participantes da reunião inicial.

• Revisão de todos os pontos combinados na

reunião inicial.

• Correções e ajustes dos problemas detectados.

• Verificação do cumprimento de tarefas.

Page 51: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO d. Metodologia

REUNIÕES DAS SESSÕES DE PROJETO

(formato) • São reuniões orientadas pelo líder/facilitador.

• Usa dinâmica de grupo para gerar idéias.

• Os analistas de informações ajudam a controlar e

registrar os trabalhos.

• Participação de todos relacionados no plano para

o JAD (definidos nas reuniões inicial e de revisão).

Page 52: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO d. Metodologia

REUNIÕES DAS SESSÕES DE PROJETO

(seqüência) 1. Abertura dos trabalhos.

2. Apresentação e distribuição do organograma da

empresa.

3. Recordação do fluxo atual.

4. Problemas, defeitos e empecilhos.

5. Definição dos objetivos.

Page 53: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO d. Metodologia

REUNIÕES DAS SESSÕES DE PROJETO

6. Racionalização do fluxo atual.

7. Proposição do novo fluxo.

8. Cronograma, prazos e responsabilidades.

9. Encerramento.

Page 54: Gestão de Tempo AplicaçõEs Jad

2. DESENVOLVIMENTO

Recomendado uma Abordagem em 4 etapas :

• Execução de um projeto piloto.

• Determinação da natureza do grupo de suporte.

• Incorporação do JAD.

• Ampliação do uso do JAD.

e. Implementação

Page 55: Gestão de Tempo AplicaçõEs Jad

3. CONCLUSÃO

A eficiência comprovada com o uso do JAD proporciona os seguintes benefícios:

• Acelera o processo na obtenção dos resultados.

• Solução de conflitos com rapidez.

• Espírito de equipe.

• Compromisso dos participantes com o projeto.