2 ABRANGÊNCIA DO GERENCIAMENTO DE PROJETOS
Esta questão requer não apenas disponibilidade, mas um corpo de recursos humanos providos de qualificação e motivação para atender às demandas existentes.
À medida que avaliamos a participação do software na organização podemos caracterizá-la de diferentes formas. Obviamente que ainda há uma grande gama de possibilidades de utilização de software como diferencial estratégico em uma parcela significativa de organizações de diversas áreas. Diante deste quadro há uma forte tendência de gestão de projetos com base nas seguintes diretrizes (SAAD, 2006):
• Redução de custos: com a comoditização dos serviços é possível otimizar os custos, porém é recomendável realizar uma análise de retorno sobre os investimentos e optar pela simplificação e considerar possibilidades de parcerias.
• Investimento em tecnologias com aplicabilidade comprovada: utilizar soluções e tecnologias inovadoras pode oportunizar diferencial estratégico, porém o risco de fracasso também é alto.
• Investimento na redução de vulnerabilidades: com o aumento da dependência dos recursos de software, o impacto da indisponibilidade aumenta, logo, é necessário investimentos em prevenção.
Um fator que tem preocupado as organizações em relação às atividades de desenvolvimento de software é a falta de gente para atender às demandas existentes nas organizações. Mas afinal o problema está na falta de gente ou no excesso de demanda? O que ocorre provavelmente é o reflexo do produto de ambos, pois as organizações têm demandas cada vez maiores por recursos de software e por outro lado a carência de pessoal é crescente.
Acredita-se que atualmente o software tem papel importante nas atividades das organizações. O software tornou-se um requisito básico para a sobrevivência e crescimento das organizações. Como o crescimento das organizações se dá tipicamente através de projetos, é fundamental que estes sejam geridos com sucesso. Porém, o que é um projeto de sucesso?
A pergunta não é simples de responder, pois dependerá do ponto de vista
102
UNIDADE 2 | DESIGN E DESENVOLVIMENTO DE SOFTWARE
O julgamento do que é um projeto de sucesso pode gerar discordâncias de opiniões. Um projeto pode ter custado mais do que o previsto e ter demorado mais tempo para ser entregue e mesmo assim ser considerado um projeto de sucesso.
Newton (2011) indica três categorias de critérios que podem ser consideradas para qualificar um projeto de sucesso ou não:
• Fornecer as entregas/resultados: as entregas de um projeto não se limitam àquelas definidas no escopo do projeto, mas podem conter uma grande quantidade de outros itens implícitos e que fazem parte do processo de construção do projeto que poderão ter grande importância após a conclusão deste.
• Realizar os benefícios associados: realizar as entregas do projeto pura e simplesmente também não é garantida de sucesso, é necessário que estas entregas levem à obtenção dos benefícios esperados com o projeto.
• Satisfazer o cliente: os resultados e benefícios obtidos com o projeto devem ser percebidos e entendidos pelos clientes e estes devem estar satisfeitos com os resultados, caso contrário de nada adiantou fornecer entregas e realizar os benefícios associados se o cliente não ficou satisfeito com estas entregas.
No final da década de 1980, Pinto e Slevin (1987) utilizaram o pressuposto de que a implementação de um projeto é considerada de sucesso caso atenda a quatro critérios: tempo, custo, eficácia e satisfação do cliente. A partir desse pressuposto estabeleceram um modelo que relaciona dez fatores críticos de sucesso para um projeto: fatores. As perguntas podem ser avaliadas e um grau de atendimento pode ser associado. Este grau de atendimento pode ter uma escala simples, indicando se o fator é atendido em grau baixo, médio ou alto.
Destes fatores críticos de sucesso será dado destaque à questão de pessoal que se refere ao recrutamento, seleção e treinamento de pessoal para atuação em projetos de software. No fator crítico que se refere à pessoal há cinco perguntas que podem ser feitas para medir o grau de participação deste fator:
TÓPICO 3 | GERENCIAMENTO DE PROJETOS DE SOFTWARE
• Os membros da equipe compreendem seus papéis na equipe?
• Existe potencial humano suficiente para terminar o projeto?
• Os membros da equipe compreendem como serão avaliados?
• A descrição do trabalho tem sido feita, distribuída e compreendida pelos membros da equipe?
• O treinamento técnico/gerencial tem sido disponibilizado para os membros da equipe?
Estas perguntas podem ser realizadas em qualquer projeto e atenção deve ser dada aos aspectos cujo grau de atendimento da resposta for pontuado como baixo. As perguntas pontuadas com grau de atendimento baixo deveriam ter ações planejadas para serem enquadradas na devida importância.
3 DEFINIÇÃO DE PAPÉIS E RESPONSABILIDADES
A definição clara de papéis e responsabilidades dentro de um projeto de software é um elemento importante para que os componentes da equipe do projeto canalizem suas energias em realizar o escopo do projeto e não percam tempo com outras preocupações.
No organograma deverão constar todos os níveis da estrutura hierárquica relevante do projeto. O registro dos papéis e responsabilidades pode ser feito, por exemplo, em uma ata de reunião. É importante que esteja destacado na relação de papéis e responsabilidades quem será a pessoa da equipe do projeto responsável pelas atividades.
Em projetos maiores é aconselhável que as preocupações de realizar o trabalho operacional sejam delegadas para um membro da equipe e que o responsável pelo projeto possa realizar o acompanhamento efetivo do progresso do projeto tomando decisões de forma ágil e imediata à necessidade.
Uma ferramenta muito importante no gerenciamento de projetos maiores é a matriz RACI (Responsible, Accountable, Consult and Inform), pois possibilita uma visão clara das responsabilidades de cada envolvido no projeto. Essa visão, por ser uma visão gráfica, pode ser rapidamente consultada em caso de dúvidas.
104
UNIDADE 2 | DESIGN E DESENVOLVIMENTO DE SOFTWARE
Tipicamente o ciclo de vida de um projeto começa no momento da decisão de realização dele e converge no encerramento do projeto. Para garantir que os requisitos dos grupos de pessoas envolvidos no projeto estejam refletidos no planejamento, execução e operação de um projeto, a equipe do projeto deve ser multidisciplinar e representar todas as áreas de conhecimento necessárias.
Esta representação pode variar de acordo com o tamanho do projeto e quantidade de pessoas envolvidas na construção dele. O “projeto perfeito” (isto é, seguindo o custo, prazo, qualidade e escopo pré-estabelecidos) não pode ser garantido a menos que sejam incorporadas informações procedentes de todos os grupos envolvidos que devem, planejar, executar e operar o projeto de maneira lucrativa.
A equipe do projeto é identificada pelo responsável pelo projeto no início da fase de definição do escopo. Todos os representantes são formalmente designados para a equipe, e a participação é considerada uma parte essencial do trabalho. Os principais membros da equipe de projetos devem ser designados para essa finalidade em tempo integral.
É recomendável que a equipe do projeto tenha uma estrutura vertical ou uma estrutura mista vertical e matricial. Seja qual for a estrutura empregada, todos os membros da equipe se reportam diretamente ao responsável pelo projeto.
Se a equipe for estruturada verticalmente, os membros da equipe se reportam diretamente ao responsável pelo projeto, sem relação com qualquer outra função.
Se for usada uma estrutura mista, o responsável pelo projeto e os membros da equipe que representam competências principais devem estar alocados com exclusividade ao projeto. Outros membros da equipe são designados para projetos quando necessário e se reportam diretamente ao responsável pelo projeto, embora mantendo uma relação com seus gerentes funcionais.
As funções e responsabilidades de cada membro da equipe devem ser definidas e claramente comunicadas a todos na equipe. Os objetivos da organização e do projeto devem ser definidos e compreendidos por todos os membros da equipe, que aceitaram participar do projeto. Uma equipe integrada de projeto exibe também características de trabalho em equipe, inclusive cooperação, comunicação aberta e alto nível de confiança entre os vários representantes que participam da equipe.
A rotatividade de membros-chave da equipe do projeto pode ter um efeito significativo sobre os resultados do projeto. Para evitar a rotatividade de pessoal, o processo de desenvolvimento do projeto deve incluir dispositivos para manutenção da continuidade da equipe. Para manter a continuidade de conceitos, filosofias e decisões, os membros da equipe não devem ser substituídos por pessoas diferentes.
TÓPICO 3 | GERENCIAMENTO DE PROJETOS DE SOFTWARE
A substituição de membros da equipe pode ser perturbadora e dispendiosa.
Se for necessária a substituição, deve ser planejado um período de transição a fim de manter a eficiência e evitar perturbação no fluxo de trabalho. A mudança deve ocorrer com tranquilidade para a equipe e para os demais participantes do projeto.
Observar atentamente a agenda de disponibilidade de recurso pode ser vital no momento do planejamento de recursos humanos para o projeto, pois pode coincidir de um profissional importante ao projeto não estar disponível para atuar nele. Dessa forma, evita-se a necessidade de contratação de outro profissional cuja capacidade, histórico e perfil sejam desconhecidos.
5 GESTÃO DE PESSOAS
No mundo do trabalho, as habilidades das pessoas podem ser divididas em habilidades técnicas também conhecidas por "hard skills" e habilidades pessoais, também conhecidas como "soft skills" (COATES, 2006). Cada vez mais se pode perceber que as habilidades pessoais têm influência no sucesso profissional.
Uma pessoa que cultive apenas as habilidades técnicas poderá tornar-se muito boa naquele assunto. O limite do crescimento profissional dela tipicamente está relacionado ao somatório das habilidades técnicas com as habilidades pessoais.
Isto é realmente polêmico, mas o que normalmente se percebe na área de software é esta relação, pois mesmo que o profissional seja muito bom tecnicamente haverá momentos em que ele precisará interagir com pessoas. Se as habilidades pessoais forem muito limitadas, isso poderá influenciar negativamente no crescimento profissional dela.
As habilidades técnicas se referem à capacidade de desempenhar determinada atividade que exija que sejam seguidos métodos ou procedimentos.
Exemplos incluem a operação de máquinas, utilização de padrões de segurança, a realização de procedimentos financeiros, a administração de vendas, entre outras.
106
UNIDADE 2 | DESIGN E DESENVOLVIMENTO DE SOFTWARE
fornecendo feedback, cooperando como membro de uma equipe, resolvendo problemas, contribuindo em reuniões, resolvendo conflitos, entre outras (COATES, 2006).
No início de carreira, as habilidades técnicas são importantes para obtenção de oportunidades de crescimento. Por outro lado, à medida que se cresce na profissão são as habilidades pessoais que passam a se tornar mais importantes. Esta questão é ainda mais importante em organizações maiores, onde há mais pessoas com habilidades técnicas similares competindo por uma promoção (IYER, 2009).
Habilidades pessoais têm grande importância para as oportunidades e desenvolvimento da carreira, bem como conhecimentos técnicos aprofundados.
Habilidades pessoais se referem às características que melhoram a empregabilidade, abre portas para oportunidades que muitas vezes não estão diretamente relacionadas ao seu trabalho. Habilidades pessoais se referem às habilidades de se relacionar com outras pessoas, seja através da organização de atividades, comunicação, obtenção de informações, entre outros (TITTEL, 2008).
Habilidades pessoais podem ser consideradas as coisas que você precisa saber como fazer, para fazer o melhor em seu trabalho, não importando o quão específico o trabalho seja (TITTEL, 2008). Líderes de todos os níveis precisam ter habilidades pessoais, por exemplo, para construção de equipes, facilitar reuniões, encorajar inovações, resolver problemas, tomar decisões, planejar, delegar, observar, instruir, encorajar, motivar, entre outras (COATES, 2006).
Profissionais com formação na área de computação e informática possuem grande enfoque no desenvolvimento de habilidades técnicas, fundamentos científicos e raciocínio analítico. Em consequência de tal formação, boa parte dos profissionais possui:
• Falta de ênfase em pessoas e processos.
• Falta de cobertura de aspectos relacionados a negócios e gerenciamento.
• Falta de foco em soft skills, ou seja, trabalho em equipe, gerenciamento, comunicação, entre outros.
É frequente encontrar líderes de projetos de software provenientes de formação técnica. Alguns destes profissionais possuem um perfil mais reservado, não tendo habilidades naturais para estabelecimento de relações interpessoais.
Nestes casos, há necessidade de maior esforço por parte do profissional para aquisição das habilidades e competências requeridas.
Além disso, consideram que escrever de forma clara e correta, não é importante ou relevante e de que, quem vai ler tem que ter capacidade para entender o que foi escrito. Ortografia e concordância, também são relegadas,
TÓPICO 3 | GERENCIAMENTO DE PROJETOS DE SOFTWARE
pois se um computador tem capacidade de entender uma série de instruções de programação, como uma pessoa não terá a capacidade para entender o que foi escrito de uma maneira muito mais amigável.
Uma das consequências é que, ao se depararem com questões complexas relacionadas ao gerenciamento de projetos, tais profissionais preferem tratar de questões técnicas a tentar resolver os problemas. Muitos dedicam no máximo 35% do seu tempo de trabalho em atividades gerenciais (MANDL-STRIEGNITZ, 2001). Este quadro demonstra a importância de entender o perfil do profissional com o qual se está lidando para que os resultados sejam os mais efetivos possíveis.
Entender o perfil do profissional que atuará em seu projeto é fundamental para que as tratativas sejam efetivas. O trabalho em equipe é entendido como uma ação conjunta de pessoas que agem com espírito de cooperação, atuando com base em limites de coordenação. Ameaças ao trabalho em equipe incluem (KERZNER, 2002):
• Excesso de mudanças no escopo do trabalho.
• Falta de comunicação por parte do Gerente de Projetos sobre o progresso do projeto para que os indivíduos se sintam parte da equipe.
O trabalho em equipe nas empresas de excelência em gestão de projetos apresenta as seguintes características (KERZNER, 2002):
• Gerentes e membros da equipe do projeto trocam ideias e estabelecem altos índices de inovação e criatividade nos grupos de trabalho.
• Gerentes e membros da equipe do projeto possuem lealdade e confiança mútuas e também em relação à empresa.
• Gerentes e membros da equipe do projeto são dedicados ao trabalho e aos compromissos assumidos.
• Gerentes e membros da equipe do projeto têm por hábito trocar informações por iniciativa própria.
• Gerentes e membros da equipe do projeto possuem alto grau de franquesa em suas relações.
108
UNIDADE 2 | DESIGN E DESENVOLVIMENTO DE SOFTWARE
fazem parte do projeto em que estamos trabalhando, pois a confiança é a chave para o sucesso na gestão informal de projetos. Caso isso não seja possível, será necessário documentar tudo que ocorre para que se tenha certeza de que cada um está fazendo o trabalho que lhe foi atribuído.
• Comunicação: É de suma importância que a comunicação que circula pela empresa seja apenas a necessária para a gestão e tomada de decisão. Os extremos são igualmente prejudiciais, ou seja, falta ou excesso de informação.
A falta de comunicação impede que a gestão ocorra ou que decisões possam ser tomadas. Já o excesso de informações tende a reduzir a qualidade e consistência, em função das diversas procedências e do volume excessivo para a gestão e tomada de decisão.
• Cooperação: A cooperação é algo que depende exclusivamente do indivíduo, não tendo qualquer relação com uma eventual intervenção de um sujeito com autoridade. Ela depende da disposição das pessoas em trabalharem em conjunto em função do sucesso do projeto. Numa equipe de projeto em que há cooperação, cada indivíduo sabe exatamente o que deve ser feito e o faz.
• Trabalho em equipe: O trabalho em equipe se dá através da coordenação da cooperação entre os indivíduos. O trabalho em equipe está muito relacionado à atitude dos indivíduos em relação ao trabalho. Isso significa que tão importante quando cada indivíduo realizar um bom trabalho é a atitude dos indivíduos em relação ao trabalho.
De acordo com o PMBoK (2008), o gerenciamento da equipe do projeto é o processo de acompanhamento do desempenho dos membros da equipe, resolução de problemas, fornecimento de feedback e realização de mudanças de forma a melhorar o desempenho do projeto.
Os membros da equipe do projeto se reportam ao gerente do projeto e têm, assim, interfaces contínuas com o mesmo. Dependendo da estrutura da equipe ser vertical ou mista, os membros da equipe podem ter uma relação com as funções que representam. Além disso, os membros da equipe precisam fazer interface frequente uns com os outros para manter um fluxo constante de informações necessárias.
Como em quaisquer relações onde há a colaboração de duas ou mais entidades esta é uma meta difícil de ser obtida, porém não impossível. As relações tipicamente se deterioram quando o egoismo passa a falar mais alto. Manter um espírito de equipe em uma equipe de projeto é um grande desafio para a gestão de pessoas.
Organizar uma equipe de projetos pode ser uma tarefa bastante árdua, dependendo da quantidade de recursos disponíveis para atuação no projeto.
Quanto maior a equipe maior a probabilidade de ocorrência de problemas na gestão desta, em função de uma série de fatores, principalmente das falhas relacionadas à comunicação.
TÓPICO 3 | GERENCIAMENTO DE PROJETOS DE SOFTWARE
As falhas em relação à comunicação da equipe se dão em virtude da quantidade de canais de comunicação existentes e a probabilidade de ruídos nestes canais. Com o aumento dos canais de comunicação a tendência é a de que se tenham mais problemas a serem gerenciados.
A comunicação é um dos aspectos bastante relevante e que deve ser seriamente considerado em todo e qualquer projeto. Alguns obstáculos para uma comunicação eficiente pode incluir (CHAN, 2002):
• Falta de tempo e planejamento: a sobrecarga de atividades faz com que, uma pessoa ao receber um e-mail, leia-o no menor tempo possível para não atrasar ainda mais a entrega das suas atividades. A leitura excessivamente rápida de um e-mail pode ocasionar uma interpretação equivocada da mensagem, fazendo com que não se dê a devida importância a determinados assuntos. No dia a dia é frequente as pessoas enviarem e-mails sem pensar adequadamente sobre o que estão escrevendo, especialmente quando estão sobrecarregadas de atividades. Eventualmente as mensagens de tais e-mails podem ser claras, mas frequentemente elas não são. Se uma pessoa espera que o destinatário de um e-mail entenda a mensagem enviada, então primeiro é necessário estar certo que se sabe exatamente o que se pretende dizer.
• Competição de mensagens: a maioria dos profissionais recebe um grande número de mensagens diariamente. As mensagens chegam de todas as direções, competindo por sua atenção. O telefone toca e um e-mail chega à caixa de mensagens, enquanto o profissional está tentando realizar uma explanação para um membro da equipe de trabalho. Manchetes dos jornais chamam a atenção, o rádio distrai a atenção enquanto se está tentando ajudar um colega a resolver um problema. Eliminar as mensagens desnecessárias é bastante difícil, mas é necessário colocá-las em segundo plano, caso contrário será difícil prestar atenção às mensagens importantes e relevantes.
• Diferenças de conhecimento, perspectivas, necessidades, expectativas, prioridades, posição social ou profissional, cultura e gênero: da mesma forma, pode ser difícil estabelecer uma comunicação clara com alguém cujo nível de conhecimento seja muito diferente ou com pontos de vista muito diferentes sobre determinado assunto. A comunicação seria bem mais fácil se os envolvidos possuíssem o mesmo nível de conhecimento, experiência, senso do que é importante e perspectiva de mundo. A realidade é que as pessoas
110
UNIDADE 2 | DESIGN E DESENVOLVIMENTO DE SOFTWARE
• Medos: em muitos momentos, ao invés de dizer o que realmente se pretende, utiliza-se de meias palavras como forma de comunicar indiretamente, ou pretender que o receptor entenda a mensagem dentro da mensagem. Com isso pode-se omitir elementos chave da informação, dizendo sim quando se pretendia dizer não. O medo também leva as pessoas a não fazer perguntas quando não estão entendendo o que outra pessoa está dizendo. Este é um comportamento a que invariavelmente se está sujeito. Nem sempre as pessoas dizem o que pretendem em função do medo das consequências em fazê-lo. Obviamente que não se deve ser excessivamente direto a ponto de ferir sentimentos, desapontando as pessoas ou deixando-as ofendidas. A ideia não é tornar a comunicação indelicada, mas, sim, mais clara. A comunicação indireta, incompleta ou vaga pode dificultar ou tornar impossível a obtenção de uma boa comunicação.
• Medos: em muitos momentos, ao invés de dizer o que realmente se pretende, utiliza-se de meias palavras como forma de comunicar indiretamente, ou pretender que o receptor entenda a mensagem dentro da mensagem. Com isso pode-se omitir elementos chave da informação, dizendo sim quando se pretendia dizer não. O medo também leva as pessoas a não fazer perguntas quando não estão entendendo o que outra pessoa está dizendo. Este é um comportamento a que invariavelmente se está sujeito. Nem sempre as pessoas dizem o que pretendem em função do medo das consequências em fazê-lo. Obviamente que não se deve ser excessivamente direto a ponto de ferir sentimentos, desapontando as pessoas ou deixando-as ofendidas. A ideia não é tornar a comunicação indelicada, mas, sim, mais clara. A comunicação indireta, incompleta ou vaga pode dificultar ou tornar impossível a obtenção de uma boa comunicação.