180 likes | 279 Views
Gerenciamento de Projetos >> Programação de Projeto Engenharia de Software – Profa. Viviane Dal Molin de Souza. Programação de Projeto.
E N D
Gerenciamento de Projetos >> Programação de Projeto Engenharia de Software – Profa. Viviane Dal Molin de Souza
Programação de Projeto A programação de projeto consiste em dividir o trabalho total de um projeto em atividades distintas e avaliar o tempo necessário para completar essas atividades. De modo geral, algumas dessas atividades são realizadas em paralelo. É preciso coordenar essas atividades e organizar o trabalho, de modo que a força de trabalho seja otimizada. O ideal é que as atividades de um projeto durem no mínimo uma semana e no máximo oito a dez semanas. Uma boa regra para realizar estimativas é criá-la como se nenhum problema fosse acontecer e então acrescentar mais tempo para acomodar as incertezas. Uma regra seria acrescentar de 30% a 50% ao tempo previsto.
Programação de Projeto A programação de projeto é normalmente representada como um conjunto de diagramas mostrando a estrutura analítica do trabalho, dependências de atividades e alocação de pessoal. Sobre a data final do projeto: * Pode ter sido definida antes do planejamento do projeto. (O esforço é distribuído no tempo disponível.) * Foi estabelecida por limites cronológicos aproximados que foram discutidos após o cálculo das estimativas. (O esforço é distribuído para que possa tirar melhor proveito dos recursos e a data final é definida após cuidadosa análise.) Infelizmente a primeira opção é a mais freqüente. Um cronograma descumprido pode deixar clientes insatisfeitos e elevar custos internos.
Programação de Projeto • Mito de software: “... Se nos atrasarmos, sempre poderemos acrescentar mais programadores e posteriormente sairmos do atraso do projeto.” • Acrescentar pessoas tardiamente pode ter um efeito contrário, fazendo com que o cronograma fuja ainda mais do controle. • As pessoas que são incluídas: • Devem aprender sobre o sistema • As pessoas que ensinam são as mesmas que estão realizando o trabalho • Enquanto estão ensinando nenhum ou pouco trabalho é feito • Isto pode atrasar o projeto!
Programação de Projeto Os diagramas de barras e as redes de atividades são notações gráficas utilizadas para ilustrar a programação do projeto. Os diagramas de barras mostram quem é responsável por cada atividade e para quando está programado o início e o término desta atividade. As redes de atividades mostram a dependência entre as diferentes atividades. Vamos utilizar um exemplo!!!
Programação de Projeto >> Exemplo: Rede de Atividades Suponhamos a tabela abaixo:
Programação de Projeto Esta tabela mostra as tarefas e suas interdependências. Vemos, por exemplo, que a tarefa T3 depende da tarefa T1. Isto significa que T1 deve ser concluída antes que T3 seja iniciada. Considerando as dependências e as durações estimadas, pode ser produzida uma rede de atividades que mostre as seqüências destas atividades. Essa rede mostra quais atividades podem ser realizadas em paralelo e quais devem ser executadas em seqüência devido a dependência.
Programação de Projeto T3 M1 T9 8 dias 15 dias 15 dias T1 14/07/2006 M4 5 dias M6 04/08/2006 T6 M3 25/08/2006 25/07/2006 04/07/2006 20 dias Início T11 7 dias T7 T2 15 dias 11/08/2006 25/07/2006 M7 M8 05/09/2006 M2 10 dias T4 T5 10 dias T10 10 dias T12 M5 15 dias 25 dias 18/07/2006 T8 Fim 19/09/2006
Programação de Projeto Os marcos de referência são indicados com cantos arredondados. As datas nesse diagrama mostram a data de início da atividade. Todas as atividades devem terminar em marcos. Uma atividade pode iniciar quando um marco precedente (que pode depender de diversas atividades) tiver sido atingido. Antes de prosseguir de um marco pra outro todos os caminhos que levam até ele precisam estar completos. O tempo mínimo necessário para terminar o projeto pode ser estimado considerando o caminho mais longo do diagrama (o caminho principal.
Programação de Projeto O caminho crítico é mostrado com uma seqüência de contornos em negrito. A programação total do projeto depende do caminho principal. Qualquer atraso na execução de qualquer atividade importante ocasiona o atraso do projeto. Porém, atrasos ocorridos nas atividades que não estão no caminho principal não precisam causar um atraso geral de programação. Contanto que esses atrasos não estendam as atividades a ponto de o tempo total exceder o tempo no caminho principal, a programação do projeto não será afetada.
Programação de Projeto As redes de atividades também são utilizadas para alocar pessoas ao projeto. Elas podem fornecer esclarecimentos sobre dependências que não são intuitivamente óbvias. Uma maneira alternativa de representar as informações sobre a programação do projeto é um diagrama de barras (também chamado de diagrama de Gantt). Ele mostra um calendário de projeto e a data de início e término das atividades.
Programação de Projeto 4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9 T4 T1 T2 T7 T3 T8 T6 T5 T9 T10 T11 T12
Programação de Projeto >> Exemplo: Diagrama de Barras Para alocar pessoas em um projeto de software cria-se inicialmente uma tabela que determina qual desenvolvedor irá trabalhar em cada tarefa.
Programação de Projeto 4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9 Pode então ser produzido um diagrama de barras que mostra os períodos nos quais o pessoal está designado para o projeto. T4 João T8 T11 T12 T1 Maria T3 T9 Paula T2 T6 T10 José T7 Ana T5
Programação de Projeto As empresas podem empregar um desenvolvedor para trabalhar em vários projetos. Desta forma se um projeto atrasar isto pode gerar atraso de um outro projeto onde o desenvolvedor seria alocado.
Programação de Projeto • >> Rastreamento e Controle do Cronograma • “Os projetos de software atrasam-se em seu cronograma um dia de cada vez.” • O atraso de um dia na programação raramente trará problemas, porém os dias se somam e então pequenos atrasos podem resultar em grandes problemas. • Para acompanhar o andamento do cronograma o Engenheiro de Software pode: • Realizar reuniões periódicas sobre a situação do projeto, em que cada membro da equipe relate o progresso e os problemas. • Determinar os marcos de referência que foram atingidos até a data programada. • Comparar a data de início real com a data de início planejada para cada tarefa do projeto.
Programação de Projeto • Reunir-se informalmente com profissionais para obter suas avaliações sobre o progresso até o momento e os problemas que aparecerem. • Quando ocorrerem problemas o Engenheiro de Software deverá tentar resolvê-los. Depois que os problemas tiverem sido diagnosticados, recursos adicionais podem ser concentrados na área de problema ou a programação do projeto redefinida.