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
insatisfeitos e elevar custos internos.
deixar
clientes
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:
Tarefa
Duração(dias)
Dependências
T1
8
T2
15
T3
15
T4
10
T5
10
T2, T4 (M2)
T6
5
T1, T2 (M3)
T7
20
T1 (M1)
T8
25
T4 (M5)
T9
15
T3, T6 (M4)
T10
15
T5, T7 (M7)
T11
7
T9 (M6)
T12
10
T11 (M8)
T1 (M1)
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
8 dias
M1
T1
14/07/2006
15 dias
T3
T9
M4
5 dias
T6
M3
15 dias
M6
04/08/2006
25/08/2006
25/07/2006
04/07/2006
20 dias
Início
7 dias
T7
T2
T11
15 dias
11/08/2006
25/07/2006
M2
T4
M7
10 dias
T5
T10
10 dias
M5
18/07/2006
M8
05/09/2006
10 dias
T12
15 dias
25 dias
T8
19/09/2006
Fim
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
importante ocasiona o atraso do projeto.
atividade
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
T4
T1
T2
T7
T3
T8
T6
T5
T9
T10
T11
T12
12/9
19/9
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.
Tarefa
Desenvolvedor
T1
Maria
T2
Paula
T3
Maria
T4
João
T5
Ana
T6
Paula
T7
José
T8
João
T9
Maria
T10
Paula
T11
João
T12
João
Programação de Projeto
Pode então ser produzido um diagrama de barras que mostra
os períodos nos quais o pessoal está designado para o
projeto.
4/7
João
11/7
18/7
25/7
1/8
8/8
15/8
22/8
29/8
5/9
12/9
T4
T8
T11
T12
Maria
T1
T3
T9
Paula
T2
T6
José
Ana
T7
T5
T10
19/9
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.
Download

Programação Projeto