Muito bom o artigo escrito pelo Mateus Veloso no LinhaDeCodigo sobre CMMI. De forma veemente, porém, elegante, Mateus consegue colocar suas críticas ao CMMI e a modelos orientados a processos. Apesar de longo o texto é fácil de ler por causa de seu estilo coloquial na medida certa.
Gostaria de aproveitar o gancho do artigo para colocar dois pontos que a meu ver são críticos para o setor de “informática” brasileiro amadurecer e se tornar um participante ativo do crescente mercado mundial.
Estratégia das empresas e do governo
No afã de fisgar uma fatia do imenso mercado de outsourcing de TI, o governo tem incentivado uma estratégia de benchmarking das empresas indianas, dominantes neste mercado. O objetivo do governo e das empresas é “oferecer o mesmo serviço da Índia, um pouco mais caro, fisicamente mais próximo, com melhor fuso-horário e mais criativo”. Para alcançar isto, um dos programas público é justamente incentivar empresas buscarem certificação CMMI, afinal a Índia, que domina o outsourcing mundial, também domina as estatísticas de certificações CMMI.
Porém como o Mateus colocou muito bem, a única certeza que se tem ao implantar um processo “CMMI” compatível é de que seus custos vão aumentar. O problema é que nossos custos vão aumentar esta estratégia nos deixa mais perto de “oferecer o mesmo serviço da Índia, bem mais caro, fisicamente mais próximo, com melhor fuso-horário e mais criativo”. A vantagem competitiva, que já era na minha opinião muito pequena, piorou, porque agora somos “bem mais caros”.
Mas porque isto funcionou na Índia e não vai funcionar aqui? Simples, o contexto sócio-econômico é diferente. O CMMI é um processo intensivo em mão de obra, é impossível realizar todos os controles e gerar todos os artefatos exigidos sem aumentar a sua equipe. A mão-de-obra na Índia é abundante, muito bem qualificada e barata, por isto o aumento de custo compensa os benefícios de utilizar o CMMI. O mesmo não acontece no Brasil, onde a mão de obra é mais cara e não tão abundante.
Para posicionarmos o Brasil como líder em um mercado tão competitivo e volátil temos que evoluirmos em uma velocidade bem maior que os competidores e isto não possível copiando-os (ok, fazendo benchmarking...). Só possível seguindo estratégias de ruptura que nos coloquem em uma posição de vantagem competitiva. É preciso mirar em “oferecer um serviços em prazos menores, com melhor qualidade e com maior valor agregado” ou então: “oferecer produtos com alto valor agregado, com ótimo suporte e muito mais barato”. Estes sim são objetivos de quem buscar liderança no mercado.
Valorizar as pessoas
No Brasil nós não valorizamos o desenvolvedor, o profissional responsável pela produção do software. O resultado disto é baixa qualidade de código e arquitetura. E isto resulta em baixa manutenibilidade, rápido envelhecimento do software, etc. Ou seja, consequuml;ências de médio/longo prazo, que muitas vezes são desprezadas em prol do custo baixo e menor prazo. O bom profissional tem que partir para ser gerente de projeto ou analista de negócios se quiser ser valorizado e receber uma promoção. Isto não é bom, às vezes este profissional não nasceu para ser gerente, mais sim para desenvolver. O resultado é que a empresa perde um ótimo desenvolvedor e ganha um gerente medíocre, sem muito.
Se o objetivo é criar software de qualidade é preciso investir nos profissionais, oferecer condições de trabalho, oferecer uma carreira técnica na qual ele pode crescer sem precisar abandonar o que gosta de fazer. Nós ouvimos tanto falar de retenção de talentos, nós precisamos começar a aplicar estas práticas nas áreas técnicas também.
Para o artigo Mateus eu dou nota nove, porque aquele papo de não gostar de praia e nem do flamengo me deixou chateado :)
OBS.: Para quem acha que a opinião do Mateus não vale grande coisa, muito menos a minha, vale dar uma conferida no artigo do Ivar Jacobson na Dr. Dobbs que apresenta várias críticas aos processos atuais. Se o cara que liderou a criação do RUP diz "enough of process", acho que está na hora de pensarmos um pouco.