Gerência - Metodologias e Processos

Riscos calculados, problemas evitados

Saiba como perceber e evitar as armadilhas que atrasam e encarecem seu projeto.

por Mauro Vianna



Ao longo da minha vida profissional, já tive contato com diversas tecnologias e ouvi falar de diversas outras. A tecnologia muda, surgem novas siglas, fabricantes e produtos aparecem e somem do mercado, mas uma coisa não muda: boa parte dos projetos de software atrasa ou sai mais caro que o planejado.

Pesquisas indicam que apenas 26% dos projetos de software são bem sucedidos. Um total de 28% simplesmente fracassam e 46% extrapolam limites de prazo e custo. Como isso é possível, se estamos sempre usando ferramentas mais rápidas e eficientes e hardware cada vez mais potente?

O ponto chave é que, na maior parte das vezes, a causa do problema não é a tecnologia. Claro, bugs existem, incompatibilidades também, mas estes fatores não justificam os atrasos.

Antes de culparmos a tecnologia em um projeto mal sucedido, devemos nos fazer algumas das seguintes perguntas:

  • A funcionalidade do sistema atende ao objetivo proposto inicialmente?
  • A tecnologia escolhida é a mais adequada para o negócio do cliente?
  • Os técnicos e o cliente falam a mesma língua?
  • Sua equipe trabalha de forma integrada e tem boa comunicação?
  • Seu processo de desenvolvimento é flexível a mudanças?
Compare MSF e RUP
Aspecto MSF RUP
Complexidade Simples Complexo
Utilização Fácil Difícil
Modelo de processo 4 fases 4 fases com detalhamento das tarefas
Modelo de equipe 6 papéis básicos Extremamente detalhado (~30 papéis)
Análise de risco Excelente Pouco claro
Gerenciamento de mudanças Básico Detalhado
Gerenciamento de projetos Fraco Bom
Modelos de documentos Fraco Excelente

Se você respondeu não a alguma destas perguntas, vale a pena refletir sobre qual a verdadeira causa do problema. Por exemplo, se estou esbarrando em muitos bugs, por que escolhi esta tecnologia em primeiro lugar? Será que não haveria outra mais adequada? Como posso evitar as diversas armadilhas que me esperam ao longo do meu projeto? Não se desespere, você não está sozinho. Este é o dilema de todo profissional que trabalha com projetos de software hoje.

O lado bom é que várias pessoas e instituições já pensaram sobre isso e propõem abordagens para lidar com estas questões. A idéia básica é: antes de esbarrarmos em problemas, vamos evitá-los. Estas abordagens vão desde a coleção de boas práticas a metodologias de desenvolvimento completas. Duas grandes empresas propuseram soluções interessantes: Microsoft e Rational.

A Microsoft criou o Microsoft Solutions Framework (MSF) e a Rational criou o Rational Unified Proccess (RUP). Apesar de ambas serem propostas por fabricantes de produtos de software, estas duas abordagens são independentes de plataforma, ou seja, eu poderia usar MSF para desenvolver em plataforma UNIX, por exemplo. Porém ambas têm seções com foco mais voltado para as suas respectivas tecnologias.

No entanto, as duas propostas têm enfoques semelhantes, mas diferem com relação a complexidade e nível de profundidade em assuntos específicos. O interessante é que elas se complementam e são combináveis.

  • modelo de processo
  • modelo de equipe
  • análise de risco
  • gerenciamento de mudanças

Modelos de Processos

Modelos de processos são úteis para definir a uniformidade das etapas dos projetos, assim como facilitar uma linguagem comum não só para a equipe, mas também para o cliente. Os produtos gerados e os marcos no tempo são bem definidos. Isto facilita não só o entendimento unificado do projeto, mas também a aprovação desses produtos para execução das fases seguintes.

Modelo de Equipes

O modelo de equipes define os papéis e responsabilidades de cada um. Assim como o modelo de processos, ele compõe uma linguagem comum, só que em relação às atribuições. Serve também como pontos de checagem, pois a ausência de um papel pode representar um problema em potencial não abordado.

Análise de Riscos

A análise de riscos é essencial para evitar problemas no futuro. Não avaliar os riscos num projeto é como atravessar uma rua de olhos fechados. Os riscos estão lá. Ignorá-los significa que, muito provavelmente, eles deixarão de ser riscos e se tornarão graves problemas. Esta análise visa identificá-los e planejar como evitá-los e, se necessário, como lidar com eles.

Gerenciamento de Mudanças

O gerenciamento de mudanças visa lidar com as mudanças de requisitos ao longo do projeto. O fato é que as mudanças existem, seja devido a detalhamento de pontos obscuros ou porque o negócio em si sofreu alterações. Este último ponto é cada vez mais freqüente hoje em dia, devido à rapidez com que o mundo dos negócios se movimenta. Como regra geral, o MSF é mais fácil de adotar devido a sua simplicidade. Porém a ausência de detalhes nos modelos não o caracterizam como metodologia. Já o RUP é bem mais completo e detalhado, porém a adoção do mesmo não é para os fracos do coração. O interessante é que ambas as abordagens são combináveis. Ou seja, é possível adotar o MSF com sua simplicidade e complementá-lo com o RUP. Esta mistura combina a simplicidade com o nível de detalhe desejado.

Mauro Vianna

Mauro Vianna - Sócio fundador da ARCON Informática, integradora de sistemas no Rio de Janeiro. Atualmente ocupa a função de Diretor de Tecnologia. Para entrar em contato com Mauro, escreva para mvianna@arcontech.com.br.