Planejamento/Gerenciamento

download Planejamento/Gerenciamento

If you can't read please download the document

description

Planejamento/Gerenciamento. Alexandre Mota ([email protected]). Objetivos. Evitar os erros clássicos Que é projeto? Ciclo de vida de projetos Elementos essenciais Objetivos gerais do planejamento e gerenciamento do projeto de software. Erros Clássicos. - PowerPoint PPT Presentation

Transcript of Planejamento/Gerenciamento

  • Planejamento/GerenciamentoAlexandre Mota ([email protected])

  • ObjetivosEvitar os erros clssicosQue projeto?Ciclo de vida de projetosElementos essenciaisObjetivos gerais do planejamento e gerenciamento do projeto de software

  • Erros ClssicosDesenvolvimento de Software uma atividade complicada ...

  • PessoasMotivao incoerenteEsforo do pessoal e chefe de frias Pessoal fracoSeleo apressada ao invs de conveniente Pessoal problemticoUma pessoa pode desconcentrar uma equipe HerosmoPosso fazer tudo, no preciso da equipe

  • PessoasMais pessoas no final do projetoEm pequeno incndio, jogue gasolina Escritrios barulhentosMeu nvel de concentrao excelente Atrito entre desenvolvedores e clientesSe voc no adicionar isso, no quero mais

  • PessoasExpectativas irreaisVamos terminar o projeto em 6 meses Falta de interao com o usurioIsso ambguo , mas vamos decidir sozinhos Crena cegaEssa parte do sistema muito simples, em 1 ou 2 dias removemos todos os erros

  • ProcessoCronogramas altamente otimistasGanhamos tempo na anlise de requisitos e no projeto Gerenciamento de riscos insuficienteSe o risco A se concretizar, resolvemos Falha de contratosCom o mdulo M, a ser criado pela empresa E, vamos melhorar nosso cronograma

  • ProcessoPlanejamento insuficienteEsse sistema simples, no h o que planejar Abandono de plano sob pressoDevido ao cronograma, vamos codificar j da especificao de requisitos e no vamos testar

  • ProcessoGarantia de qualidade prejudicadaS precisamos fazer os testes a partir da GUI Controle de gerenciamento insuficienteO que j fizemos? No sei, mas sem problema Sem estimativas para tarefas necessriasNo precisamos registrar o tempo para tarefa T

  • ProcessoPlanejamento para controlar depoisFizemos em 3 meses, o que planejamos fazer em 2, mas depois ns ganhamos tempo Programao sem padronizaoVou codificar de qualquer jeito; ganho tempo

  • ProdutoRequisitos demaisSei que o usurio no pediu, mas vamos melhorar a performance do sistema Desenvolvedor exageradoSei que o sistema no precisa e que no domino a tecnologia, mas vou usar o recurso R Desenvolvimento orientado a pesquisaSei que vou desenvolver funcionalidade F, estado-da-arte, mas minha estimativa razovel

  • TecnologiaSndrome da bala de prataVou usar o gerador de GUIs e no terei problemas quanto ao desenvolvimento das GUIs Estimativa otimista com novas ferramentas ou mtodosVou usar ferramenta F, no lugar de G, da vou ganhar tempo

  • TecnologiaTroca de ferramentas no meio do projetoVou usar a nova verso de F, pois tem mais recursos Falta de controle sobre o cdigo-fonteVamos trabalhar em paralelo no mdulo M (nico arquivo), para ganharmos tempo

  • Projeto: Definio PMIUm empreendimento temporrio realizado para criar um produto ou servio nico

  • Ciclo de VidaDelimitar incio e fim de um projetoControlar administrao do projetoEstudo de viabilidadeUma primeira fase do projeto?DefineTrabalho a ser feito X envolvidos

  • Por que Planejar?Criar propostas que sejamEconmicas eRealizadas com recursos financeiros pr-estabelecidosE que estejam de acordo com as necessidades requisitadasRepresentar precisamente o que se pode fazer

  • Planejando um projeto de softwareInicie com uma declarao explcita do trabalho a ser feito e verifique se corresponde ao que o cliente esperaEm projetos mdios e grandes, criam-se subprojetos menores e estima-os separadamenteBaseie suas estimativas com dados histricos de projetos semelhantes

  • Planejamento e EstimativaRegistre suas estimativas para comparar com os resultados reais no final do projeto Planejamento continua durante desenvolvimento e manutenoPlanejamento inicial no suficientePlanejamento detalhado mais cedo possvel s ocorre aps a especificao de requisitos

  • Planejamento e o Processo de Software

  • Estimativa de EsforoH vrias tcnicas para estimar o esforo (tamanho) exigido no desenvolvimento de um produto de softwareUma das mais recentes a baseada em casos de uso

  • Classificando AtoresAtor SimplesSistema reusado onde h uma API bem definida para a interaoPeso 1

  • Classificando AtoresAtor MdioSistema reusado onde a interao envolve um protocolo, por exemplo TCP/IPPeso 2

  • Classificando AtoresAtor ComplexoSer humano que necessita de uma GUI ou Web pagePeso 3

  • Classificando Casos de UsoCasos de uso simplesSe quantidade de passos no fluxo for no mximo 3, ouNecessitar de at 5 classes de anlisePeso 1

  • Classificando Casos de UsoCasos de uso mdioSe quantidade de passos no fluxo estiver entre 4 e 7 (inclusive), ouNecessitar de 5 a 10 classes de anlisePeso 2

  • Classificando Casos de UsoCasos de uso complexoSe quantidade de passos no fluxo for maior que 7, ouNecessitar mais de 10 classes de anlisePeso 1

  • Fatores Tcnicos

  • Fatores Ambientais

  • Calculando os UCPsAtores (UAW)Casos de uso (UUCW)UUCP = UAW + UUCWFatores tcnicos (TCF=0.6+0.01*TF)Fatores ambientais (EF=1.4-0.03*EF)UCP = UUCP * TCF * EF

  • Convertendo UCP em HorasKarner1 UCP => 20 hEste valor deve estar entre 15 e 30h e deve ser ajustado de acordo com histrico da empresaPortanto, um projeto comUCP = 1.07 * 0.62 * 264 = 175.14Demanda 175.14*20h = +/-3503h

  • Ferramenta para CalcularEZEstimatehttp://www.openrage.com/main/ezestimate_full.htm

  • O que um plano?Documento que define o trabalho que e como deve ser feitoCom uma estimativa de tempo e recursos exigidos, e um contexto para gerenciamento de controle e reviso, para cada maior tarefaServir de benchmark para comparar com projetos anteriores, quando documentado apropriadamenteMelhorando erros em estimativas e sua preciso

  • Estrutura Bsica de um PlanoIntroduoOrganizao do ProjetoRequisitos com Recursos (Pessoas, SW, HW)Detalhamento das TarefasAnlise de RiscosCronograma do ProjetoMilestones/DeliverablesAtribuio de tarefas a pessoasEstimativa de tempoCusto do Projeto

  • RecursosPessoasRicardo, Larissa, Joo, Mrcia e AlbertoEspecialidadesSoftwareJBuilder, .NETHardwareLaptop, PC, PDA

  • TarefasDividir para conquistarNormalmente atribuda a uma pessoaEstimativa de tempo/esforo precisaPode-se associar especialidade(s) necessria(s) para sua realizaoPodem gerar (parte de) resultado desejvel (milestone)

  • Exemplos de TarefasEntrevistar cliente CLReunioProjetar a GUI GiCriar o relatrio RAtualizar o siteTestar mtodo M da classe C

  • Por que Gerenciar?Para atingir objetivos e produzir resultadosConcentrar responsabilidade e autoridade para atingir objetivosCoordenar e integrar todas as atividades para chegar aos resultados

  • Objetivos do GerenciamentoCustoDesempenhoTempoObjetivo: Limite de oramento Prazo de entrega Desempenho Almejado

  • Qualidades de GerenteLideranaComunicaoResolver problemasNegociaoInfluenciar a organizaoMentorEspecialista tcnico e em processo

  • Gerenciamento das TarefasMilestonesPonto final de uma atividade do processo de software (um marco no cronograma)DeliverablesResultado do projeto a ser entregue ao cliente. Usualmente entregue ao final de uma fase.

  • Tarefas: Durao e DependnciasTarefaDurao (dias)DependnciasT18T215T315T1 (M1)T410T510T2, T4 (M2)T65T1, T2 (M3)T720T1 (M1)T825T4 (M5)T915T3, T6 (M4)T1015T5, T7 (M7)T117T9 (M6)T1210T11 (M8)

  • Rede de Atividades

  • Alocao de Pessoal

  • Tempo de DesenvolvimentoA partir da rede de atividadesGrafo interligando tarefas com tempoDeterminar o caminho crticoO caminho que leva mais tempo para concluirGerente deve dar especial ateno s tarefas contidas no caminho crtico crucial ter folgas no caminho crtico

  • Acompanhamento das TarefasATENO: Existe uma tabela semelhante com tempo estimado

  • Ferramenta para AcompanhamentoUma vez definidas as atividades e estimativas de tempo para suas realizaesPode-se usar a ferramenta web XPlanner para o acompanhamento (http://www.xplanner.org/)

  • Custo do ProjetoRecursos humanos (R$/hora)Instalaes (fone, luz, etc.)Reunies (tempo, pessoas, etc.)Material de escritrio/informticaEtc.

  • RiscosIdentificao de RiscosIdentificar riscos de projeto, produto e negcioAnlise de RiscosAvalia as conseqncias dos riscosPlanejamento de RiscosAlternativas para evitar ou minimizar seus efeitosMonitoramento de RiscosAcompanhar os riscos durante o projeto

  • Processo de Gerenciamento de Riscos

  • Identificao de RiscosRiscos com TecnologiaRiscos com PessoalRiscos OrganizacionaisRiscos nos RequisitosRiscos nas Estimativas

  • Principais reas de RiscosPessoalCronograma e CustoFuncionalidade do SistemaFalta de entendimento da aplicaoAnlise de requisitos inadequadaEstabilidade dos RequisitosCliente tenta alterar requisitos o tempo todoQualidade de Componentes ExternosDIFICULDADE EM ANTECIPAR TUDO!!!

  • Anlise de RiscosAvaliar a probabilidade e seriedade de cada riscoA probabilidade pode variar de muito baixo (0-20%), baixo (20-40%), mdio (40-60%), alto (60-80%) e muito alta (80-100%)Os efeitos dos riscos podem ser catastrficos, srios, tolerveis ou insignificantes

  • Planejamento de RiscosPara cada risco, elaborar estratgia para gerenci-loEstratgias para EvitarA probabilidade de ocorrncia reduzidaEstratgias para MinimizarO efeito do risco no projeto ou produto reduzidaPlanos de ContingnciaSe o risco ocorrer, o que devemos fazer?

  • Monitoramento de RiscosAvaliar cada risco periodicamente para determinar se est mais ou menos provvel de ocorrerAvaliar os efeitos pois podem mudarCada risco crtico deve ser discutido em reunies gerenciais de progresso do projeto

  • Identificao de Riscos

  • Estratgias de Gerenciamento

  • BibliografiaSommerville, I. Software EngineeringHumphrey, W. A Discipline for Software EngineeringMcConnel, S. Rapid Development