Gestão de Projetos: Gerenciando Projetos de Software

Anotar Marcar como concluído

Artigos Engenharia de Software Gestão de Projetos de Software

Gestão de Projetos

Gestão de projetos é um conjunto de práticas que serve de guia a um grupo para trabalhar de maneira produtiva. Ela compreende métodos e ferramentas que organizam as tarefas, identificam sua sequência de execução e dependências existentes, apóia a alocação de recursos e tempo, além de permitir o rastreamento da execução das atividades e medição do progresso relativo ao que foi definido no plano de projeto.

Uma quantidade significativa das atividades atuais é orientada a equipes e envolve múltiplas organizações, sendo estas características determinantes das atividades futuras de projetos. Lidar com equipes e com ambiente corporativo diverso, visando desenvolvimento de (novos) sistemas ou produtos de software, requer uma habilidade que combina arte e ciência e a isso se denomina gestão de projetos (de software).

Três pilares formam a base da gestão de projetos: ter foco no cliente, fazer a equipe trabalhar bem (leia-se de forma produtiva e colaborativa) e administrar os recursos (de tempo, pessoal, financeiro) do projeto. A gestão de projetos de software compreende atividades que visam assegurar que o (sistema ou produto de) software seja entregue ao cliente no prazo pré-definido e esteja de acordo com os requisitos definidos pelo cliente. Essa necessidade da gestão de projetos se deve ao fato de o desenvolvimento de software estar sempre sujeito às restrições de qualidade, tempo e orçamento.

Além disso, dada a natureza flexível do software, uma boa prática é adotar um processo de desenvolvimento orientado para arquitetura para que as funcionalidades e restrições existentes no projeto e implementação do sistema possam ser adequadamente tratadas. Este artigo caracteriza a gestão de projetos de software, destaca sua importância e mostra como ela pode impactar diretamente no sucesso do projeto e produtividade das empresas do setor.

Qualquer que seja o projeto com o qual você esteja envolvido, o plano de projeto é um documento essencial o qual o gerente de projeto ´vive e respira´ ao longo de todo o projeto. É obrigatório o seu desenvolvimento e manutenção. O plano de projeto define os marcos de projeto (isto é, os ´milestones´) e as principais atividades necessárias à execução do projeto. Este documento define a data de cada marco de projeto, as atividades associadas, os artefatos gerados e respectivos responsáveis.

Perceba que é, até certo ponto, natural àqueles que desenvolvem novos produtos e sistemas de software iniciarem as atividades de desenvolvimento antes mesmo que eles entendam o que tem de ser feito, ou seja, antes mesmo de saberem qual é o problema a ser tratado. Esse tipo de atitude, comumente, resulta no insucesso de projetos. Estudos apontam que cerca de 40% de insucesso de projetos são devidos ao mau planejamento ou, até mesmo, a inexistência de plano de projeto, enquanto que quase 20% se deve a uma gestão inadequada do projeto. Interessante destacar que aproximadamente 50% dos problemas e insucesso de projeto se devem a uma ´pobre´ comunicação entre os principais envolvidos no projeto (ou seja, os stakeholders). Num projeto, as questões essenciais que um gerente deve se fazer são:

Que problema precisamos solucionar? Quais recursos necessito para resolver? Quanto tempo disponho para o projeto e implementação da solução?

A lição que fica é: sem o entendimento completo do problema a ser tratado e um bem elaborado plano de projeto em mãos, você (gerente) e sua equipe não saberão onde querem e precisam chegar. A consequência é você (juntamente com sua equipe) deparar-se com a inserção de defeitos logo cedo no desenvolvimento, os quais virão, apenas bem mais tarde, a serem descobertos, resultando em atraso no projeto e/ou comprometendo a qualidade do produto final.

Saiba mais: Curso Gerência de Projetos

Essas situações apontadas ocorrem, com frequência, quando não há qualquer ‘preocupação’ com a gestão de projeto do software. Essas, dentre outras, são razões pelas quais muitos projetos se transformam em casos de insucesso.

Por que a Gestão de Projetos é Essencial?

A gestão de projetos é uma atividade ortogonal às demais atividades de projeto e atua como guia para a boa execução do projeto. Todas as pessoas envolvidas com um projeto têm a necessidade de acesso às suas informações. Quando lidamos com projeto de médio a grande porte e de natureza complexa, uma atividade chave é a coordenação. Um gerente de projeto precisa coordenar:

Múltiplas pessoas de formação diversa;

Múltiplas tarefas onde ocorre relação de dependência;

Uso de múltiplos recursos (como equipamentos, ferramentas, laboratórios);

Decisão e aprovação em múltiplos pontos num projeto;

Alocação adequada de recursos humanos e financeiros a tarefas.

Portanto, é preciso dar visibilidade e compartilhar informações de projeto, pois as decisões precisam ser tomadas com base de informações bem entendidas e explicitadas. A qualidade resultante de um produto ou sistema é determinada a partir do início de seu desenvolvimento. Uma criteriosa análise, feita logo cedo no projeto, visa encontrar erros, identificar inconsistências e averiguar quão correto e completo é o entendimento do problema e adequada é a solução trabalhada. Isto torna a gestão de projeto uma atividade essencial à execução de projetos e sucesso de produtos. A gestão de projetos de software pode ser vista sob duas perspectivas: técnica e pessoal onde a ênfase se dá sobre atividades de planejamento e execução, conforme ilustrado na Figura 1.

Figura 1. Perspectivas da gestão de projetos

Perceba que a visão ilustrada na Figura 1 é uma visão simplificada das reais necessidades de projetos. Dominar as habilidades necessárias a uma boa gestão de projetos requer tempo, experiência e reciclagem. Embora algumas pessoas sejam levadas a acreditar que a capacidade para fazer a gestão de projetos seja um mito, isso não passa de uma falácia. Não se trata de característica inata que o indivíduo traz consigo, mas de um conjunto de habilidades que podem ser reconhecidas, classificadas e desenvolvidas pelas pessoas.

O reconhecimento desses fatos tem motivado os profissionais a buscarem atualizar-se, bem como às empresas a considerarem a gestão de projetos no plano estratégico da instituição. Hoje em dia, profissionais e empresas buscam a capacitação em gestão de projetos que seguem as orientações da principal referência mundial no assunto: o PMI (Project Management Institute) o qual tem tido um crescimento quase exponencial no número de afiliações, que hoje conta com mais de 240 mil profissionais membros.

Gestão de Projetos e PMI

O PMI (Project Management Institute) é uma instituição sem fins lucrativos, criada em 1969, que tem como principal objetivo contribuir para melhoria contínua da gestão de projetos. O PMI tem sido responsável por catalogar e divulgar o conhecimento e práticas de gestão de projetos visando melhorar a taxa de sucesso de execução de projetos e assim melhor capacitar os profissionais envolvidos (isto é, gerentes de projeto).

Saiba mais: Introdução ao PMI, PMBoK e ao PMP

Uma das principais metas do PMI é a de continuamente ampliar o corpo de conhecimento da área e para tanto, diversos eventos têm sido promovidos a nível mundial para promover a prática de se fazer uma ´boa´ gestão de projeto. Esse esforço de identificar as melhores práticas de gestão de projetos juntamente com sua divulgação por meio do catálogo do conhecimento em gestão de projetos, conhecido como PMBOK (Project Management Body of Knowledge), tem trazido resultados satisfatórios quanto melhoria na condução de projetos.

O PMBOK compreende um guia contendo todo corpo de conhecimento de práticas tradicionais, avançadas e inovadoras em gestão de projetos, ou seja, o PMBOK serve como guia que contém um conjunto de diretrizes para gestão de projetos e uma estrutura de como ela é decomposta em áreas de conhecimento. Segundo as diretrizes do PMBOK, a gestão de projetos compreende um conjunto de processos que contém áreas que constituem o corpo do conhecimento da gestão de projetos.

Cinco fases compõem a gestão de projetos: inicialização, planejamento, execução, controle e encerramento. A inicialização, como o próprio nome já diz trata de iniciar um novo projeto onde um gerente de projeto é designado, são identificados os principais envolvidos e interessados (isto é os stakeholders), além de finalizar o documento de caso de negócio que trata da solução a ser implementada. No planejamento, o gerente de projeto define o escopo do projeto, a equipe envolvida, a WBS (Work Breakdown Structure, quando se define o escopo e organização de todo o projeto numa estrutura de árvore), um conjunto das atividades mais prioritárias e um cronograma de projeto.

Saiba mais: Curso de Gerenciamento de Projetos PMBOK

A fase de execução é dedicada à implementação da solução definida para o projeto, no uso adequado dos recursos e liderança junto à equipe. O controle é uma importante fase já que o gerente monitora o andamento do projeto, os resultados alcançados, os artefatos gerados, todo e qualquer desvio que possa ocorrer em relação ao que foi definido no plano de projeto e, estas informações, são usadas para produzir relatório de status e progresso. Na fase de encerramento, o gerente é encarregado de obter a aceitação final do cliente, avaliar e relatar as lições aprendidas na execução do projeto.

A Tabela 1 destaca as três fases mais importantes. Perceba que há um conjunto de nove áreas de conhecimento (integração, escopo, tempo, custo, qualidade, recursos humano, comunicações, riscos e aquisições).

Áreas de Conhecimento Planejamento Execução Controle Integração Desenvolvimento de plano de projeto Execução de plano de projeto Controle integrado de mudanças Escopo Planejamento do escopo Verificação do escopo Detalhamento do escopo Controle de mudança do escopo Tempo Definição das atividades Controle do cronograma Sequenciamento das atividades Estimativa de duração das atividades Desenvolvimento do cronograma Custo Planejamento dos recursos Controle de custo Estimativa dos custos Projeção de orçamento Qualidade Planejamento da qualidade Garantia da qualidade Controle da qualidade Recursos humanos Planejamento organizacional Desenvolvimento da equipe Montagem da equipe Comunicações Planejamento das comunicações Distribuição das informações Relato de desempenho Risco Planejamento dos riscos Controle e Monitoração de riscos Identificação dos riscos Análise qualitativa dos riscos Análise quantitativa dos riscos Planejamento de respostas a riscos Aquisições Planejamento das aquisições Requisição de propostas Preparação das aquisições Seleção de fornecedores Administração de contratos

Tabela 1. Conhecimento da gestão de projetos baseado no PMI

Uma das atividades que requer devida atenção do gerente de projetos é a gerência de riscos que impacta diretamente sobre as demais atividades. A ocorrência e a natureza dos riscos podem acarretar em dificuldades sérias no projeto envolvendo elevação de custos projeto e atraso, dentre outros. Tais fatores são indesejáveis ao cliente e podem comprometer significativamente o sucesso do projeto. Esta atividade, especificamente, será tratada na seção seguinte.

Cabe aqui destacar que um dos documentos mais importantes para a gestão de projetos é o plano de projeto pertinente à gerência de integração. O plano de projeto é um guia essencial à condução do projeto sem o qual o gerente fica perdido. Com o plano, há um entendimento dos riscos e compromissos inerentes. O plano constitui uma base para execução sistemática do projeto além de servir como mecanismo eficiente de comunicação entre membros da equipe e entre empresa desenvolvedora e (empresa) cliente.

Um plano de projeto, geralmente, contém um conjunto de informações que permitirá ao gerente não apenas executar o projeto, mas também monitorar seu progresso. A Tabela 2 apresenta uma relação dos itens que são imprescindíveis de compor um plano de projeto. Note que não há aqui a intenção de ser completo. Entretanto, os itens relacionados na Tabela 2 são considerados como obrigatórios num plano de projeto de empresa.

Itens de um Plano de Projeto Conteúdo Introdução Contém uma descrição dos objetivos do documento, o público ao qual ele se destina e em linhas gerais o propósito do projeto a ser desenvolvido. Pode adicionalmente conter termos e abreviações usadas, além de informar como o plano deve evoluir. Escopo do projeto Esta seção descreve em linhas gerais o projeto a ser desenvolvido, comunicando o propósito do mesmo, e a importância do projeto para todas as partes envolvidas. O escopo do projeto que será executado é apresentado com uma descrição dos requisitos técnicos (isto é, os requisitos do produto a ser desenvolvido) que podem ser funcionais, não funcionais (desempenho, usabilidade, portabilidade, confiabilidade, etc.) e tecnológicos (Tecnologia a ser utilizada). Também, apresentam-se requisitos não técnicos (como, por exemplo, treinamento) e o escopo não contemplado. Organização do projeto Apresenta-se uma descrição da estrutura organizacional do projeto, incluindo organograma e a definição de papéis e responsabilidades. Equipe e infraestrutura Contém descrição da equipe e da infraestrutura utilizada para o desenvolvimento do projeto, incluindo: pessoal, equipamentos, ferramentas, software de apoio, materiais, dentre outros. Isto visa garantir uma estrutura adequada para a execução das atividades previstas no plano. Nesta seção também é apresentada o planejamento da alocação de pessoal no projeto. Acompanhamento do projeto Esta seção do plano de projeto relaciona os momentos para realização das atividades de verificação do projeto, as quais poderão ser feitas pela equipe técnica das instituições envolvidas (desenvolvedora e cliente), e também a forma como estas atividades serão realizadas. Estas atividades incluem a realização de reuniões e geração de relatórios descrevendo informações sobre o progresso do projeto. Marcos do projeto Contém uma descrição de marcos importantes do projeto (incluindo as datas de início e fim do projeto), bem como os artefatos que serão entregues pela empresa desenvolvedora nestes marcos, quando aplicável. Apenas marcos relevantes devem ser listados, ou seja, aqueles que contribuirão para a medição do desempenho do projeto. Por exemplo: reuniões de revisão, apresentação de protótipos ou realização de testes de aceitação. Note que é possível inserir uma visão do cronograma do projeto neste item, destacando apenas os marcos importantes e suas datas alvo. Gerência de riscos Os riscos identificados para o projeto estão detalhados e monitorados nos relatórios de progresso. Exemplos de riscos compreendem: risco de pessoal, risco tecnológico e de escopo, dentre outros. Um caso de risco de escopo é a falta de clareza na definição do escopo de projeto que pode resultar em inúmeras solicitações de mudança de escopo. Qualidade do produto (ou sistema) Informa-se a metodologia de desenvolvimento adotada no projeto. Caso, por exemplo, alguma ferramenta específica de desenvolvimento venha a ser utilizada no projeto, isso deve ser descrito neste item. Adicionalmente, informam-se como os artefatos serão gerados por este projeto, os padrões adotados, formatos dos arquivos e templates a serem empregados. Também, neste item, costuma-se informar os critérios de aceitação do projeto. Testes do produto (ou sistema) Este item apresenta uma descrição do projeto de testes do projeto, incluindo detalhamento da estratégia de implementação dos testes, com estágios e tipos de testes a serem realizados para garantir a conformidade do produto com as especificações de requisitos funcionais, não funcionais e requisitos de aceitação do projeto. Referências Apresenta-se uma relação dos documentos pertinentes ao projeto.

Tabela 2. Relação de itens de um plano de projeto

Gerência de Riscos

Risco é entendido como a probabilidade de que uma situação indesejável irá acontecer. Nesse sentido, a gerência de riscos está interessada em identificar riscos e buscar mecanismos que possam atenuar ou, até mesmo, eliminar os riscos. Os riscos podem ser de três naturezas: riscos de projeto, de produto ou de negócios. O foco desta seção recai, especificamente, no primeiro. Questões que motivam decisões e são consideradas na gerência de riscos compreende:

Como mudanças de requisitos ou tecnologia podem afetar o cronograma e o sucesso de um projeto?

Quais métodos ou ferramentas devem ser empregados num projeto?

Quais atributos da qualidade devem ser priorizados?

Quantas pessoas devem ser alocadas no projeto e quais suas habilidades mínimas?

Em muitas empresas,. Como não há a prática da gerência de riscos, em tais casos, os riscos costumam ser identificados e analisados de forma aleatória, sem quaisquer disciplinas. Geralmente, o que é feito é apenas um brainstorming que pode resultar na não antecipação de futuras ocorrências que podem impactar o produto ou sistema que está sendo desenvolvido.

A boa prática da gestão de projetos recomenda a inclusão no processo de engenharia de sistemas de software da gerência de riscos que compreende quatro atividades:

Identificação de riscos onde se busca identificar riscos de projeto ou de negócios. Para cada risco identificado, associa-se uma magnitude de risco que serve para indicar o grau de severidade e, portanto, de prioridade de tratamento do risco. Análise de risco que visa obter a probabilidade de ocorrência do risco e correspondente impacto sobre o projeto. Note que o impacto pode ser o atraso no projeto, que é tanto indesejável ao cliente quanto implica em custo adicional. Administração de risco que tem duas metas: Desenvolver uma estratégia de controle que serve para mitigar ou reduzir o impacto de um risco;

Elaborar um plano de contingência o qual recomenda as decisões (alternativas) a serem tomadas caso o risco aconteça. Monitoração de risco que faz uso de indicadores com o objetivo de monitorar e detectar a ocorrência ou probabilidade de ocorrência de um risco.

Diversas fontes de riscos são consideradas num projeto de software. Dentre elas podemos destacar o conjunto ilustrado na Tabela 3.

Tipo de Risco Exemplo Equipe Membro chave da equipe não estará disponível quando necessário. Escopo Falta de clareza no escopo resultará em várias mudanças de escopo. Gerência Falta de experiência do gerente de projeto resultará em atraso no cronograma. Tecnológico A tecnologia empregada é relativamente nova e pouco conhecida dos membros da equipe que pode resultar em atraso. Equipamento Dispositivos necessários não serão entregues no prazo programado. Cliente Recursos do cliente não estarão disponíveis como planejado. Físico Um vírus de computador infectará o ambiente de desenvolvimento do projeto. Entrega Os requisitos da capacidade do sistema excederão a capacidade disponível.

Tabela 3. Possíveis riscos de projeto

Para os riscos apresentados, é importante identificar a probabilidade de sua ocorrência, o impacto que eles podem trazer (ao projeto), o grau de severidade e como eles podem ser administrados. Por exemplo, se considerarmos o risco da perda de um membro importante da equipe, isto pode ser diagnosticado quando ocorrem reclamações por parte do membro da equipe, bem como quando ele solicita ser realocado para outra atividade. Em outras situações, outros gerentes na mesma empresa consultam sobre a disponibilidade de membros de sua equipe. Em tais circunstâncias, o gerente de projeto deve fomentar junto ao grupo o forte senso de trabalho em equipe e também destacar a importância do projeto e a participação dos membros naquela equipe.

Gerente de Projetos – Também um Líder

Um conjunto de itens que auxilia o sucesso de um projeto compreende: objetivos ‘claros’ do produto ou sistema a ser desenvolvido, escopo bem delimitado, uso de infraestrutura de software padrão, uso de estimativas confiáveis, apoio da alta direção, envolvimento de usuários e experiência do gerente.

Aqui, vale ressaltar que o gerente tem um papel de suma importância para o sucesso do projeto que envolve a aplicação de conhecimentos, habilidades, e técnicas para projetar atividades que visem atingir os objetivos do projeto. O gerente acompanha o projeto fazendo uso de processos tais como: iniciação, planejamento, execução, controle e encerramento. Além disso, ele tem de conceber e manter um ‘esquema’ de trabalho que lhe permita alcançar as metas de negócio e executar efetivamente as atividades que se encontram estabelecidas no plano de projeto (escopo, riscos, cronograma, qualidade, dentre outras).

Todavia, um excelente profissional não tem apenas o papel de gerente. Ele é bem mais que isso. Ele é também um líder de uma equipe e hábil negociador. Portanto, a gestão de projetos deve ser orientada para o cliente (como apontado no início desse artigo) e considerar:

Pensamento estratégico corporativo;

Valor do cliente e estratégia de relacionamento;

Táticas e estratégias de negociação;

Análise e planejamento estratégico;

Indicadores de desempenho e mercadológico.

O gerente de projeto é uma peça fundamental para coordenação da execução de um projeto. Ele precisa não apenas conhecer, mas também externar o pensamento da corporação de modo a ‘atrair’ e reter o cliente. Precisa ainda saber como se relacionar com o cliente (do projeto). Nesse sentido, o gerente precisa dispor de táticas de negociação. Adicionalmente, indicadores de desempenho e mercadológicos podem ser considerados.

O gerente de projeto é considerado um líder, isto é, uma pessoa visionária, quando o rumo (do projeto) não é conhecido. Também é um colaborador quando o consenso é necessário e ele é capaz de motivar aqueles que estão ao seu redor de forma a canalizar os esforços da equipe para realização e sucesso do projeto. Liderança é, portanto, uma característica essencial para os gerentes de projeto. Para tanto, é necessário conhecer a cultura organizacional e o desejo de mudanças. Nesse sentido, vale lembrar um pensamento do lendário Peter Drucker que dizia: “a coisa mais importante na comunicação é ouvir o que não é dito”. Pense nisso.

Conclusão

Quando as organizações têm dificuldade em entregar produtos ou sistemas de qualidade, dentro do prazo e orçamento previamente estabelecidos, e que satisfaçam às necessidades de seus usuários, isto é sinal da falta de gestão de projetos. Por outro lado, a adoção da disciplina da boa gestão seguindo as diretrizes do PMI tem resultado na melhoria da prática da engenharia de software uma vez que o desenvolvimento de sistemas ou produtos de software é realizado de forma sistemática e com adequada monitoração dos recursos alocados. Além disso, soluções de problemas que têm sido descobertas e testadas, também têm sido catalogadas, aumentando o ‘corpo de conhecimento’ da engenharia de software. Essa catalogação de práticas de engenharia de software e, especificamente, da gestão de projetos constitui um sinal de amadurecimento da área.

Saiba mais: Guias sobre Engenharia de Software

Leave a comment