Planejamento/Gerenciamento

39
Planejamento/ Gerenciamento Alexandre Mota ([email protected])

description

Planejamento/Gerenciamento. Alexandre Mota ([email protected]). Tempo de Desenvolvimento. A partir da rede de atividades Grafo interligando tarefas com tempo Determinar o caminho crítico O caminho que leva mais tempo para concluir - PowerPoint PPT Presentation

Transcript of Planejamento/Gerenciamento

Page 1: Planejamento/Gerenciamento

Planejamento/Gerenciamento

Alexandre Mota ([email protected])

Page 2: Planejamento/Gerenciamento

Tempo de Desenvolvimento A partir da rede de atividades

Grafo interligando tarefas com tempo Determinar o caminho crítico

O caminho que leva mais tempo para concluir

Gerente deve dar especial atenção às tarefas contidas no caminho crítico

É crucial ter folgas no caminho crítico

Page 3: Planejamento/Gerenciamento

Identificação de RiscosRisco Probabilida

deEfeitos

Pessoal doente Moderada Sério

Tamanho do software desconhecido

Alta Tolerável

... … …

Pessoal qualificado não disponível

Alta Catastrófico

Page 4: Planejamento/Gerenciamento

Estratégias de Gerenciamento

Risco Estratégia

Pessoal doente

Reorganizar equipe para ter sobreposição de pessoas/trabalho

Recrutamento

Alertar cliente sobre possível atraso

… …

Mudança nos requisitos

Analisar rastreamento entre requisitos para determinar impacto

Page 5: Planejamento/Gerenciamento

Sumário de Gerenciamento Manter informação sempre

atualizada Principalmente tempo e riscos

Colocar pessoas ociosas para revisar trabalho de pessoas ativas (extreme programming) – Qualidade

Avaliar trabalho futuro HOJE Estar sempre com o plano em mãos

Page 6: Planejamento/Gerenciamento

Por que Mensurar? Indicar a qualidade do produto Avaliar produtividade Formar base para estimativas Determinar benefícios derivados de

novos métodos e ferramentas da ES Justificar aquisição de ferramentas e

treinamento

Page 7: Planejamento/Gerenciamento

Utilização de Métricas

Projeto Esforço $ KLOC Págs.docum. Erros Pessoas

projA-01 24 168 12.1 365 29 3

projB-04 62 440 27.2 1224 86 5

projC-03 43 314 20.2 1050 64 6

MÉTRICAS DERIVADAS

PRODUTIVIDADE =

QUALIDADE =

CUSTO =

DOCUMENTAÇÃO =

KLOC / Pessoas-mês

Erros / KLOC

$ / LOC

Págs.docum. / KLOC

Page 8: Planejamento/Gerenciamento

Métricas de Software

Método de Wideband-Delphi

Método de Lógica-Fuzzy

Pontos por Função

COCOMO

Page 9: Planejamento/Gerenciamento

Wideband-Delphi Originado pela Rand Corporation e

refinado por Boehm Consiste em obter consenso a

partir de estimativas individuais As estimativas são geradas após

reuniões entre os desenvolvedores O consenso se dá através de

discussões em grupo sobre as estimativas individuais (anônimas)

Page 10: Planejamento/Gerenciamento

Wideband-Delphi O procedimento é:

1. Grupo de especialistas recebe especificações e formulário de estimativa

2. Há uma reunião para discutir objetivos, limitações e características do projeto

3. Daí, anonimamente, cada um lista as tarefas e suas estimativas

4. Estimativas são agrupadas por um moderador e apresentadas ao grupo

5. Só a estimativa do especialista é marcada no formulário. As outras ficam iguais.

Page 11: Planejamento/Gerenciamento

Wideband-Delphi O procedimento é:

6. Há outra reunião para discutir resultados. Cada especialista revê sua lista de tarefas mas não as estimativas

7. Este processo volta ao passo 3 Até que as estimativas estejam próximas o suficiente

Page 12: Planejamento/Gerenciamento

Wideband-DelphiProjeto: Extensão do RoseEstimador: AlexandreData: 01/03/2003Aqui está o limite das estimativas da 1a rodada

0 20 40 60 80 100

X X* X! X X

X – estimativasX* - sua estimativaX! – estimativa mediana

Page 13: Planejamento/Gerenciamento

Método de Lógica-Fuzzy Estimativa é baseada em dados

históricos Sistemas são divididos em

categorias de tamanhos A escala de tamanhos é dada por

logaritmos e ajustadas Divisão vai até ponto onde sistema

atual pode ser encaixado em alguma categoria

Page 14: Planejamento/Gerenciamento

Exemplo de Lógica-Fuzzy Suponha que seu menor programa

tenha 173 LOC e o maior 10341 E deseja-se dividir essa região em

5 categorias Calculam-se, log 173=2.238 e

log 10341=4.014 E dividem-se (4014 – 2238) por 4

para obter o incremento (0.444)

Page 15: Planejamento/Gerenciamento

Exemplo de Lógica-Fuzzy

Categoria LOC

Muito pequeno 173

Pequeno 481

Médio 1338

Grande 3719

Muito grande 10341

Page 16: Planejamento/Gerenciamento

Método de Lógica-Fuzzy Considerações Importantes:

Ter dados históricos sobre um grande número de projetos para ter como comparar com as várias categorias

Deve-se atualizar as categorias tão logo haja dados suficientes

As categorias também devem ser ajustadas de acordo com os projetos futuros esperados

Page 17: Planejamento/Gerenciamento

Modelos de ciclo de vida Construa e Conserte (Code-and-Fix,

Build-and-Fix) Cascata (“Waterfall”)

Cascata Modificado Prototipação Espiral Formal Baseado em reuso

Page 18: Planejamento/Gerenciamento

Construa e Conserte

ConstruaVersão 1

Modifique atécliente estarsatisfeito

Fase demanutenção

Desvantagens Sem especificação Sem projeto Não gerencia riscos

Vantagens Baixa sobrecarga de

desenvolvimento Não precisa de

especialização Para sistemas muito

pequenos

Page 19: Planejamento/Gerenciamento

Modelo Cascata

Definição deRequisitos

Projeto doSistema

ImplementaçãoE testes

Integração eTestes

Operação emanutenção

Page 20: Planejamento/Gerenciamento

Características do Modelo Cascata Desvantagens

Partição inflexível do projeto em estágios distintos

Dificuldade para lidar com as mudanças nos requisitos do sistema

Não gerencia riscos Vantagens

Orientado a documentação Manutenção é mais simples

Page 21: Planejamento/Gerenciamento

Características do Modelo Cascata* Desvantagens

Milestones podem tornar-se ambíguos Atividades em paralelo podem levar a

problema de comunicação, suposições errôneas e ineficiência

Vantagens Atividades podem ser sobrepostas Mais fácil de lidar com mudanças nos

requisitos Capacidade para gerenciar riscos

Page 22: Planejamento/Gerenciamento

Processo Evolucionário Desenvolvimento exploratório (Protótipo

evolucionário) Construa, avalie e evolua para produto

Trabalhar com os clientes até se obter o produto final a partir de uma especificação bem-definida e completa do sistema.

Protótipo descartável Construa, use e descarte

Obter requisitos do cliente. Inicia-se com uma especificação incompleta e simples do sistema

Page 23: Planejamento/Gerenciamento

Processo EvolucionárioAtividades

concorrentes

Especificação

Desenvolvimento

Validação

Versãoinicial

Versãofinal

Versõesintermediárias

Descriçãosuperficial

Page 24: Planejamento/Gerenciamento

Perspectivas Desvantagens

Falta de visibilidade do processo Sistemas são geralmente mal estruturados Conhecimentos específicos (ling. de prot.

rápida) podem ser necessários Aplicações

Sistemas interativos de pequeno e médio porte

Partes de sistemas grandes (interface com usuário)

Sistemas com vida útil curta

Page 25: Planejamento/Gerenciamento

Processo Formal Transformação de uma

especificação formal em um programa executável

Pode ser empregado de duas formas: Através de um cálculo de

refinamentos Implementação é derivada por

construção, garantindo corretude Através de passos de refinamento

Versão mais concreta do sistema é proposta e depois deve-se verificá-la em relação a anterior

Page 26: Planejamento/Gerenciamento

Processo Formal

Definição derequisitos

Especificaçãoformal

Transformaçãoformal

Integração etestes

Page 27: Planejamento/Gerenciamento

Perpectivas Desvantagens

Necessita de profissionais altamente qualificados para aplicar a técnica

Alguns aspectos ainda são difíceis de especificar (GUI)

Vantagens Garantia de segurança e confiabilidade

Aplicações Sistemas críticos e complexos

Page 28: Planejamento/Gerenciamento

Processo baseado em Reuso Baseado no reuso sistemático de

componentes existentes na própria empresa ou no mercado

Estágios do processo Análise dos componentes Modificação dos requisitos Projeto do sistema com reuso Desenvolvimento e integração Validação

Essa abordagem está se tornando cada vez mais importante, mas ainda faltam casos experimentais bem-sucedidos

Page 29: Planejamento/Gerenciamento

Processo baseado em Reuso

EspecificaçãoDe requisitos

Análise decomponentes

ModificaçãoDe requisitos

Projeto comreuso

Desenvolv. Eintegração

Validação doSistema

Page 30: Planejamento/Gerenciamento

Processo Iterativo Os requisitos do sistema SEMPRE

mudam durante o desenvolvimento

Iteração pode ser aplicado a qualquer um dos processos de desenvolvimento

Duas abordagens são destacadas: Desenvolvimento incremental Desenvolvimento em espiral

Page 31: Planejamento/Gerenciamento

Desenvolvimento Incremental Ao invés de entregar o sistema

completo, divide-se o sistema em partes de tal forma a cada entrega corresponder a alguma funcionalidade do sistema

Requisitos do usuário são priorizados e os quanto maior a prioridade mais cedo tal funcionalidade deve ser entregue

Uma vez que o desenvolvimento de um incremento seja iniciado, esses requisitos são fixados enquanto que os posteriores são deixados serem modificados

Page 32: Planejamento/Gerenciamento

Desenvolvimento Incremental

Desenvolv.incremento

Validaçãoincremento

Integraçãoincremento

Validação dosistema

Requisitossuperficiais

Requisitos emincrementos

Projeto daarquitetura

Sistema incompleto

Sistemacompleto

Page 33: Planejamento/Gerenciamento

Vantagens Solicitações dos clientes são entregues

a cada incremento. Assim, as funcionalidades são entregues o mais cedo possível

Incrementos iniciais servem de protótipo para obter requisitos para incrementos posteriores

Diminuição do risco de falha de todo o projeto

Serviços de maior prioridade tendem a receber maior ênfase em testes

Page 34: Planejamento/Gerenciamento

Modelo Espiral Forma Simplificada

Modelo cascata mais análise de riscos Precede cada fase por

Alternativas Análise de riscos

Procede cada fase por Avaliação Planejamento da fase seguinte

Page 35: Planejamento/Gerenciamento

Modelo Espiral Simplificado

Se os riscos não podem ser resolvidos, projeto é terminado imediatamente

Page 36: Planejamento/Gerenciamento

Modelo Espiral Completo Dimensão Radial

Custo acumulado atualizado Dimensão Angular

Progresso através da espiral

Page 37: Planejamento/Gerenciamento

Modelo Espiral Completo

Page 38: Planejamento/Gerenciamento

Características do Modelo Espiral Desvantagens

Bem aplicado somente a sistemas de larga escala

Sistemas devem ser produtos internos da empresa

Vantagens Fácil de decidir o quanto testar Não faz distinção entre desenvolvimento

e manutenção

Page 39: Planejamento/Gerenciamento

Bibliografia Leitura adicional

Software Engineering. I.Sommerville A Discipline for Software Engineering.

W.S.Humphrey