Desenvolvimento

Ξ Deixe um comentário

Mensurando a complexidade em projetos de software

publicado por Marco Rodrigues

Figura - Mensurando a complexidade em projetos de softwareProjetos, não importa a qual indústria pertençam, possuem graus de complexidade distintos. Uns são de execução mais simples e outros de execução bem mais complexa. Neste post vamos focar numa sistemática para mensuração da complexidade em projetos de software. Essa complexidade pode ser mensurada através da análise de elementos em duas dimensões: dimensão do negócio e dimensão técnica. Essas duas dimensões se desdobram em características que podem ser atribuídas com uma pontuação que quando somadas ajudam a obter a complexidade geral do projeto. Antes de analisarmos as dimensões referidas proponho vermos dois exemplos de projetos de software:


Projeto 1 – Sistema de Eventos:
O primeiro exemplo é de um sistema para controlar eventos internos de uma instituição. Vamos às necessidades do projeto.  O sistema deverá ser usado por toda instituição, aproximadamente 900 pessoas. Para o levantamento dos requisitos serão envolvidos três profissionais de um determinado departamento. A priori o sistema não possuirá regras complexas nem será regido por leis ou regulações. Não será necessário tampouco a realização de cálculos e a tecnologia a ser utilizada na construção é de domínio do corpo técnico disponível no departamento de TI.


Vamos agora para as características do Projeto 2 – Sistema do Exame ENEM:

Pensemos num sistema para o controle do Exame do ENEM por exemplo, já de cara sabemos que o sistema terá milhares de usuários devido sua abrangência nacional. Será necessário o envolvimento de equipes da instituição e de equipes de consórcios que aplicam as provas.  As regras do sistema serão regidas por leis e algumas regras podem necessitar de adequações ano a ano. O sistema deverá exportar informações de inscrições, importar e validar informações recebidas dos aplicadores do exame, dentre outras necessidades e características.


Ao compararmos os dois exemplos de projetos, o sistema de Eventos e o sistema do ENEM, não é difícil notar que o projeto proposto para o ENEM é mais complexo. As dimensões de negócio e dimensões técnicas de um sistema para o Exame do ENEM exigirão um esforço de coordenação bem maior do que no primeiro exemplo.  Escritórios de projetos no entanto precisam ter um processo menos subjetivo para classificar a complexidade dos projetos. Apresentarei um modelo mais adiante.  Mas por que é importante  mensurar  a complexidade dos projetos de software?

É muito comum departamentos de TI de diversas instituições terem uma carteira de projetos em andamento, seja no estágio de iniciação, seja no estágio da análise de viabilidade etc. Imagine um departamento de TI com 30 projetos de software em andamento. Quais desses projetos são complexos? Ou melhor, qual seria o grau de complexidade de cada um desses projetos? Essa informação pode ser muito valiosa se o escritório de projetos precisar remanejar projetos entre os gerentes. Você não iria alocar um projeto altamente complexo para um gerente que já está tocando três projetos complexos, iria? Seria mais indicado passar o projeto para um gerente sênior com carga menor de projetos complexos. Poderíamos ter uma situação inversa, você não alocaria um projeto simples para uma gerente sênior pois seria subutilizá-lo. Podemos analisar várias situações onde a informação da complexidade do projeto é extremamente útil. Não seria nada estratégico iniciar um projeto altamente complexo sem a disponibilidade de uma equipe experiente pois isso iria maximizar os riscos do projeto. Em suma ter o grau de complexidade dos projetos é uma informação estratégica para o escritório de projetos para o departamento de TI e para a instituição. Com essa informação as tomadas de decisão em relação ao trato com o projeto podem ter maior eficácia.

Vamos agora ao modelo que proponho para mensurar com maior precisão e objetividade a complexidade dos projetos de software. É importante mencionar que para elaboração do modelo eu encontrei um rico material no site do Departamento de TI do Novo México e num artigo de Gopal  K. Kupur,  Presidente do Centro de Gerenciamento de Projetos em San Ramon na Califórnia. Os links estarão disponibilizados ao final do post.

O modelo abaixo permite criar um ranking de projetos por complexidade.

Modelo para Mensuração da Complexidade em Projetos de Software
Clique na imagem acima para visualizá-la em seu tamanho original

A aplicação do modelo é bem simples e deve ser feita por projeto.  Na verdade a aplicação do modelo se resume a responder aos questionamentos apresentados na coluna critérios de complexidade. Veja abaixo a descrição de cada uma das colunas:

  • ID – É apenas um identificador único para cada um dos critérios.
  • Critérios de Complexidade – É o desdobramento das 2 dimensões mencionadas no post. Dimensão do negócio e dimensão técnica. São 10 critérios ao todo, estando 4 critérios agrupados em características técnicas por terem aplicação prática idêntica.
  • Baixo (0) – Caso o critério analisado se equipare com alguma resposta nessa coluna o valor atribuído ao critério será correspondente a “0”
  • Médio (1) – Caso o critério analisado se equipare com alguma resposta nessa coluna o valor atribuído ao critério será correspondente a “1”
  • Alto (2-3) – Caso o critério analisado se equipare com alguma resposta nessa coluna o valor atribuído ao critério será correspondente a “2” ou “3” (Nesta coluna utilize o maior valor quando a análise tiver identificado maior complexidade)
  • Muito Alto (4-5) – Caso o critério analisado se equipare com alguma resposta nessa coluna o valor atribuído ao critério será correspondente a “4” ou “5” (Nesta coluna utilize o maior valor quando a análise tiver identificado maior complexidade)
  • Pontuação – Nesta coluna atribua o valor identificado e ao final some os valores. O mínimo é 0 e o máximo 30. Quanto maior a pontuação mais complexo é o projeto.

O modelo apresentado pode e deve ser melhorado e se necessário adequado as necessidades da instituição que ao incorporá-lo aos seus processos estará miniminizando riscos do projeto e incrementando a sua base histórica. Bom, fico por aqui, deixe um comentário, sugestão ou crítica. Vamos que vamos e até a próxima!

Referências:

Autor

Profissional de TI com 15 anos de experiência, PMP desde 2009, já atuou como programador, analista de sistemas e gerente de projetos em instituições públicas e privadas. Voluntário do PMI busca constantemente estar atualizado e alinhado as melhores práticas do mercado. Interessa-se também por mídias sociais, comunicação, música, responsabilidade social e por um mundo mais sustentável.

Marco Rodrigues

Comentários

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes