Proposta de processo de gestão de projetos para fábrica de software Alessandro Mapa dos Santos Introdução A proposta de um processo/metodologia voltado ao atendimento gerencial de uma Fábrica de Software dá-se pela necessidade dessa principalmente em mensurar o valor agregado de seus produtos, visto que em suma, o produto final de uma fábrica de software não é um bem palpável e o desenvolvimento desse dá-se, a princípio, de forma consideravelmente abstrata. O processo proposto visa garantir a máxima assertividade no planejamento, especificação e desenvolvimento dos projetos e produtos, cumprindo escopo, prazo, custo e qualidade esperados para o projeto, tal como obter status reports, com valores estatísticos de todas as etapas do processo, buscando o aperfeiçoamento constante através de lições aprendidas, dados estatísticos, novas metodologias e/ou tecnologias. Definições - Projeto: Esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. As principais características dos projetos são: . Temporários, possuindo início e fim definidos; . Planejados, executados e controlados, entregam produtos, serviços ou resultados exclusivos; . Desenvolvidos em etapas e continuam por incremento com uma elaboração progressiva; . Realizados por pessoas e com recursos limitados. - Ciclo de Vida do Projeto: Divisão em fases de um processo destinada a definir: . O que deve ser feito em cada fase; . Marcos e entregas a serem gerados; . Responsáveis e/ou envolvidos em cada fase; . Como controlar e aprovar cada fase. - Processo (Eng. Software): Conjunto de passos parcialmente ordenados, cujo objetivo é atingir uma meta: entregar um produto de software de maneira eficiente, previsível e que atinja as necessidades de negócio. - Status Report: Utilizado para reportar resultados parciais ou totais de um projeto ou outro evento, esteja ele finalizado ou ainda em andamento. - Lições Aprendidas: Repositório de experiências adquiridas que auxiliam na melhoria contínua da qualidade. Questões O primeiro passo a ser tomado quando da decisão de se criar um processo de Gestão de Projetos, é tomar conhecimento do que é desenvolvido até o momento na empresa, como é desenvolvido, quem são os responsáveis e todas as informações relativas ao corpo da fábrica, ou seja, é conhecer a si mesmo. A fim de proporcionar esse auto-conhecimento, algumas questões são relevantes, a considerar: - Qual a demanda do cliente? Esse conhecimento auxilia a empresa a definir a carga de trabalho e serve como orientação para controle do uso dos recursos da mesma de acordo com cada cliente. - Qual a capacidade de produção da fábrica? Esse conhecimento oferece a fábrica, informações a cerca da capacidade de trabalho de seus colaboradores, de acordo com o perfil funcional, o que serve como orientação para definir os perfis necessários para o atendimento de seus projetos. - Qual a quantidade de horas produzidas na fábrica? O conhecimento a cerca da quantidade de horas produzidas por perfil e por recurso da fábrica, permite a essa, a tomada de decisões referentes à contratações, bonificações, reconhecimento e mesmo treinamento de seus recursos. - Qual a produtividade da fábrica? A produtividade de uma fábrica de software deve ser calculada não apenas pelo nº de horas gastas nos projetos. Mesmo para o planejamento das atividades, deve-se fazer uso de uma ferramenta e a mais comumente utilizada é a APF (Análise por Ponto de Função), que se baseia no cálculo das informações (requisitos) considerando o peso de cada especificação. Tendo o conhecimento a cerca da sua produtividade em termos de pontos por função, é possível planejar seus projetos com maior assertividade e segurança. Entre outras questões, faz-se necessário o estudo da capacidade e qualidade da Fábrica de Software para desenvolver seus produtos de forma sistêmica e controlada. Para tratar os itens de qualidade a ser considerados, seguem novos questionamentos: - Os projetos serão divididos em tipo e / ou natureza? Caso sim, como? - Todos os artefatos dos projetos estão sendo desenvolvidos? - Qual o índice e percentual de retorno de especificações enviadas pelo cliente? - Qual o índice e percentual de erros encontrados nos testes unitários das solicitações pela central de qualidade? - Qual o índice e percentual de retorno de código com problemas pelo cliente? - Qual o índice e percentual de atraso nas entregas dos projetos? O entendimento dessas questões visa: - Garantir estimativas de prazo e custo baseadas na capacidade produtiva da Fábrica; - Oferecer padrão de estimativas embasado em históricos; - Garantir controle do uso dos recursos (Alocação e disponibilidade); - Conhecer os pontos fortes e os fracos da fábrica a fim de atuar positivamente nesses; - Controle do status de suas demandas; - Controle dos artefatos de software; - Controle do desempenho operacional; - Controle / Medição da eficiência, qualidade e produtividade da Fábrica e seus recursos; A divisão de um processo em fases proporciona melhor entendimento e controle do fluxo de produção, permitindo assim, a delimitação de cada fase através de Marcos e o gerenciamento das mesmas, com o uso das melhores estratégias de acordo com a fase. Assim, em um primeiro nível, dividimos nosso processo / metodologia em 04 (quatro) fases, sendo: – Iniciação - Planejamento - Execução e Controle - Encerramento; Fluxograma proposto: FIGURA1 Grupo de Processos - Iniciação O processo de Iniciação é a fase em que ocorre a aprovação do projeto, liberando-o para execução. O processo é formado por: - Registro de Chamado: Solicitação de serviços de TI realizada pelo cliente. - Orçamentação (Proposta Comercial): Desenvolvida a partir de uma ferramenta de Estimativas. Retorna através de cálculos automáticos a quantidade de pontos por função. - Aprovação do Orçamento: Aprovação do orçamento proposta pelo cliente de forma a autorizar o início da realização das atividades. - Project Charter (Termo de Abertura do Projeto): Documento que formaliza a autorização pelo gerente para inicio do projeto. - OS – Portal de Serviços: O cadastro das solicitações (Ordens de Serviços) em um ambiente integrado de projetos permite o acompanhamento dos projetos em um ambiente coorporativo utilizado internamente e também pelo cliente que pode acompanhar a evolução do seu projeto. - Especificação de Transação: Definição e detalhamento das principais funcionalidades, requisitos e entregas do projeto. Grupo de Processos - Planejamento O Grupo de Processos de Planejamento é a fase do projeto responsável em planejar e gerenciar o projeto, de forma a levá-lo ao sucesso. O grupo é formado pelos processos de gerenciamento conforme segue: - Plano de Gerenciamento do Projeto: O plano de Gerenciamento do Projeto contempla as ações a serem realizadas nos processos do projeto. - EAP – Escopo do Projeto: Trata a decomposição da Especificação de Transação (Escopo) em pacotes de trabalho definidos e estruturados de forma tal a permitir o controle e acompanhamento da execução de cada requisito e/ou atividade do projeto. - EAP – Prazos: Trata o gerenciamento do tempo do projeto. São tratadas as estimativas de duração para realização das atividades e pacotes de trabalho; o Seqüenciamento e as dependências das atividades. - EAP – Recursos: Trata o gerenciamento dos recursos do projeto. É definida a matriz de responsabilidades, plano de uso dos recursos e calendários dos recursos. - EAP – Custos: Trata o gerenciamento dos custos do projeto. São feitas as estimativas de custos com base na planilha de orçamentos via Análise por Pontos de Função, valor H/h e recursos extras que venham a ser exigidos para execução do projeto. - Gerenciamento de Riscos do Projeto: Inclui os processos que tratam da realização de identificação, análise, respostas, monitoramento, controle e planejamento do gerenciamento de riscos do projeto. - Gerenciamento da Qualidade do Projeto: Inclui os processos necessários para assegurar que o projeto satisfaça as necessidades para as quais foi criado. - Gerenciamento da Comunicação do Projeto: Define os processos necessários para garantir a que a informação seja gerida, coletada, disseminada e armazenada de forma oportuna e adequada aos interesses do projeto. Grupo de Processos - Execução e Controle O Grupo de Processos de Execução e Controle considera a maneira com que o projeto será executado e controlado. O grupo é formado pelos processos: - Mobilizar a Equipe do Projeto: Trata a mobilização da equipe interna conforme perfis específicos, tal como a necessidade de contratação de recursos externos. - Realizar a Garantia da Qualidade: Trata o cumprimento dos requisitos necessários para que o produto / serviço oferecido seja executado conforme o planejado e seguindo os critérios de avaliação previstos. - Realizar Controle Estatístico do Projeto: Trata a atualização de todos os dados do projeto, englobando quantidade de recursos, tempo, custo de forma a manter o controle sobre as atividades da fábrica. - Distribuir as informações: Trata a disseminação da informação no projeto, seguindo o Plano de Gerenciamento das Comunicações, garantindo que toda informação do projeto seja passada para e somente para os responsáveis e/ou aqueles que devem agir ou ter conhecimento sobre essas. - Avaliar a Equipe do Projeto: Trata a avaliação da equipe do projeto como um todo e individualmente, provendo informações pertinentes à necessidade de treinamento, desempenho e possibilita a criação de um plano de bonificação e reconhecimento. - Relatório de Status: Relatório que deve ser gerado com periodicidade e formato de conteúdo pré-definido, em que as questões essenciais do projeto devem ser apresentadas e discutidas entre os stakeholders do projeto. Os processos de controle de escopo, cronograma, custos, qualidade e riscos visam garantir que os documentos e procedimentos planejados para o projeto sejam cumpridos conforme aprovação desses pelo Sponsor e pelo Gerente do Projeto. Grupo de Processos - Encerramento O Grupo de Processos de Encerramento considera a fase de finalização do projeto, onde os processos de gerenciamento englobam relatórios finais, encerramento de contratos e dados de faturamento. Conclusão Esta proposta engloba os processos necessários para a gestão de uma fábrica de software, considerando principalmente a capacidade e qualidade dessa em fornecer serviços seguindo os padrões de melhores práticas conhecidos no ambiente corporativo. A contextualização no patamar macro dos processos possibilita uma extensa inclusão de atividades, artefatos, ferramentas e técnicas que viabilizam a execução dos projetos de TI assegurando o máximo atendimento conforme planejado pela empresa e aprovado pelo cliente. Referências Bibliográficas PMI. A guide to the Project Management Body of Knowledge. PMBOK Guide 3th Ed. 2004. Sommerville, Ian. Engenharia de Software. São Paulo: Addison Wesley, 2003. Ramos, Alberto. Metodologia 6 SIGMA. 2007 Disponível em: http://www.cathocursos.com.br/?id=23&p=info. Acesso em nov/2007 HP. Gerenciamento de Projetos com ITIL. Belo Horizonte, 2007. Curso Corporativo.