Sommerville
16 pág.

Sommerville


DisciplinaProjeto de Software108 materiais571 seguidores
Pré-visualização9 páginas
CAPÍTULO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
22.1 Gerenciamento de riscos
22.2 Gerenciamento de pessoas
22.3 Trabalho de equipe
Co
nt
eú
do
Gerenciamento de projetos
Objetivos
O objetivo deste capítulo é introduzir o gerenciamento dos proje-
tos de software e duas importantes atividades de gereciamento, cha-
madas gerenciamento de riscos e gerenciamento de pessoas. Com a 
leitura deste capítulo, você:
t\ufffd saberá as principais tarefas dos gerentes de projetos de software; 
t\ufffd conhecerá a noção de gerenciamento de riscos e alguns riscos 
que podem surgir nos projetos de software;
t\ufffd entenderá os fatores que in\ufb02uenciam a motivação pessoal e o que 
eles podem signi\ufb01car para os gerentes de projeto de software;
t\ufffd compreenderá as questões principais que in\ufb02uenciam um traba-
lho de equipe, como comunicação, organização e composição 
de equipe.
O gerenciamento de projetos de software é uma parte essencial da engenharia de software. Os projetos precisam ser gerenciados, pois a engenharia de software pro\ufb01ssional está sempre sujeita a orçamentos organizacionais e 
restrições de cronograma. O trabalho do gerente de projetos é garantir que o projeto de software atenda e supere essas 
restrições, além de oferecer softwares de alta qualidade. O sucesso do projeto não é garantido por um bom gerencia-
mento. No entanto, a mau gerenciamento costuma resultar em falha do projeto \u2014 o software pode ser entregue com 
atraso, custar mais do que o inicialmente estimado, ou não se conseguem satisfazer as expectativas dos clientes.
Os critérios de sucesso para o gerenciamento de projetos, certamente, variam de um projeto para outro, mas, para a 
maioria dos projetos, estas são as metas mais importantes:
1. Fornecer o software ao cliente no prazo estabelecido.
2. Manter os custos gerais dentro do orçamento.
3. Entregar software que atenda às expectativas do cliente.
4. Manter uma equipe de desenvolvimento que trabalhe bem e feliz. 
Esses objetivos não são exclusivos para a engenharia de software, mas são os objetivos de todos os projetos de enge-
nharia. No entanto, a engenharia de software é diferente dos outros tipos de engenharia de muitas formas que tornam o 
gerenciamento de software particularmente desa\ufb01ador. Algumas dessas diferenças são: 
1. O produto é intangível. Um gerente de uma construção de navio ou de um projeto de engenharia civil pode ver 
o produto que está sendo desenvolvido. Se ocorre um atraso no cronograma, o efeito sobre o produto é visível 
\u2014 partes da estrutura \ufb01cam, obviamente, inacabadas. O software é intangível. Ele não pode ser visto ou tocado. 
415Capítulo 22 Gerenciamentos de projetos
Os gerentes de projeto de software não podem ver o progresso, simplesmente olhando para o artefato que está 
sendo construído. Em vez disso, eles dependem de outros para produzir provas que eles possam usar para revisar 
o progresso do trabalho.
2. Os grandes projetos de software são, muitas vezes, \u2018projetos únicos\u2019. Geralmente, os grandes projetos de software 
são diferentes dos projetos anteriores em alguns aspectos. Portanto, até mesmo os gerentes que têm grande 
experiência prévia podem achar difícil antecipar problemas. Além disso, as rápidas mudanças tecnológicas em 
computadores e comunicações podem tornar obsoleta a experiência de um gerente. As lições aprendidas em 
projetos anteriores podem não ser transferíveis para novos projetos.
3. Os processos de softwares são variáveis e de organização especí\ufb01ca. Os processos de engenharia para alguns 
tipos de sistemas, tais como pontes e edifícios, são bem compreendidos. No entanto, os processos de software 
variam signi\ufb01cativamente de uma organização para outra. Embora tenham surgido progressos signi\ufb01cativos na 
padronização e melhorias de processos, ainda não somos con\ufb01antes em prever quando um processo de software, 
em particular, conduzirá a problemas de desenvolvimento, especialmente quando o projeto de software é parte 
de um projeto de engenharia de sistemas mais amplo.
Não se surpreenda se alguns desses projetos de software estiverem atrasados, acima do orçamento e fora do cronoga-
ma, devido a esses problemas. Os sistemas de software costumam ser tecnicamente inovadores. Os projetos de engenha-
ria (como novos sistemas de transportes) que são inovadores frequentemente têm problemas de cronograma. Dadas as 
di\ufb01culdades envolvidas, é notável que tantos projetos de software ainda sejam entregues dentro do prazo e do orçamento!
É impossível fazer uma descrição do trabalho-padrão para um gerente de projeto de software. O trabalho varia muito, 
de acordo com a organização e o produto de software que está sendo desenvolvido. No entanto, a maioria dos gerentes 
assume a responsabilidade em algum momento para algumas ou todas as atividades apresentadas a seguir:
1. Planejamento de projeto. Os gerentes de projetos são responsáveis por planejamento, elaboração de estimativa 
e de cronograma de desenvolvimento de projeto e atribuição de algumas tarefas para as pessoas. Eles supervi-
sionam o trabalho para garantir que seja realizado conforme os padrões exigidos e acompanham o progresso 
realizado para veri\ufb01car se o desenvolvimento está no prazo e dentro do orçamento.
2. Geração de relatórios. Geralmente, os gerentes de projeto são responsáveis pela geração de relatórios sobre o an-
damento de um projeto para os clientes e para os gerentes da empresa que desenvolve o software. Eles precisam 
ser capazes de se comunicar em vários níveis, desde informações técnicas detalhadas até resumos de gerencia-
mento. Eles devem escrever documentos concisos e coerentes que abstraem as informações críticas dos relatórios 
de projeto detalhados. Eles devem ser capazes de apresentar essas informações durante as revisões de progresso.
3. Gerenciamento de riscos. Os gerentes de projeto devem avaliar os riscos que podem afetar um projeto, controlar 
esses riscos e agir quando surgem problemas.
4. Gerenciamento de pessoas. Os gerentes de projeto são responsáveis por gerenciar uma equipe de pessoas. Eles devem 
escolher as pessoas para sua equipe e estabelecer formas de trabalhar que levem a um desempenho e\ufb01caz da equipe.
5. Elaboração de propostas. O primeiro estágio de um projeto de software pode envolver o processo de escrever uma 
proposta visando ganhar um contrato para executar um item de trabalho. A proposta descreve os objetivos do 
projeto e como ele vai ser realizado. Geralmente, ela inclui estimativas de custo e cronograma e justi\ufb01ca por que 
o projeto deve ser con\ufb01ado a uma determinada organização ou equipe. A elaboração da proposta é uma tarefa 
crítica pois a sobrevivência de muitas empresas de software dependem do aceite de propostas su\ufb01cientes e de 
ter vários contratos assinados. Não pode haver um conjunto de diretrizes de\ufb01nidas para essa tarefa; a elaboração 
de propostas é uma habilidade que você adquire através da prática e da experiência.
Neste capítulo, eu discuto o gerenciamento de riscos e o gerenciamento de pessoas. O planejamento de projeto é um 
tema importante em si mesmo, o qual é discutido no Capítulo 23.
22.1 Gerenciamento de riscos
O gerenciamento de riscos é um dos trabalhos mais importantes para um gerente de projeto. Ele envolve 
antecipar os riscos que podem afetar o cronograma do projeto ou a qualidade do software que está sendo de-
senvolvido e tomar medidas para evitar tais riscos (HALL, 1998; OULD, 1999). Você pode pensar em um risco como 
algo que você preferiria que não acontecesse. Os riscos podem ameaçar o projeto, o software que está sendo 
desenvolvido ou a organização. Existem três categorias de risco relacionadas:
416 Engenharia de software
1. Riscos de projeto. Riscos que afetam o cronograma ou os recursos de projeto. Um exemplo de um risco de projeto é 
a perda de um projetista experiente. Encontrar um projetista substituto com competência