quinta-feira, 5 de julho de 2007

CMMI e a Apropriação dos Meios de Produção


Por que, no mundo da informática, tudo que gira em torno de processos tem ganhado uma força tão grande nos últimos tempos? Por que o CMMI tem sido visto como algo que pode tirar as empresas, segundo o próprio CMMI diz, do caos?

Uma das explicações possíveis é que o CMMI tem um valor em si, ou seja, ter o certificado vai ajudar a empresa a conquistar clientes e ganhar concorrências públicas. Isto já justificaria, para a diretoria de qualquer empresa média ou grande, o esforço e o custo para tirar o certificado. Mas uma explicação como esta seria muito simples e eu penso que a coisa não é tão simples assim.


Eu acho que a principal razão está em um dos fundamentos do sistema capitalista:
a apropriação dos meios de produção. Apropriar os meios de produção é ter controle sobre o que é necessário para que se produza algo. É como ser o dono da bola! Se as pessoas não seguirem as suas regras ninguém joga! Em uma indústria é ser o dono das instalações físicas, máquinas e processos de produção. Quanto mais eficiente a empresa for em apropriar os meios de produção menos importante o empregado vai ser. Por que valorizar um tipo de trabalho que pode ser executado por qualquer pessoa? Isto garante que a empresa possa aumentar a diferença entre o que ela recebe pelo produto e o que os empregados recebem para produzí-lo. Resumindo: é a apropriação dos meios de produção que justifica os lucros no sistema capitalista, garantindo que a qualidade do produto não dependa de quem o produz.

As empresas de informática não são diferentes, elas têm que apropriar os meios de produção para justificarem os seus lucros. E, dentre elas, as fábricas de software são as que têm maior dificuldade para se justificarem. Elas não têm know how em nenhuma área de negócio específica. Então por que pagar muito para uma empresa que não agrega nada além do trabalho dos seus funcionários? E já que ela não está agregando nada, por que não contratar diretamente as pessoas? Ou seja, qual a justificativa para o lucro se a empresa não apropriou os meios de produção?

Aí entra o CMMI, ele é a grande justificativa destas fábricas de software. O que ele vende é que com a definição de um modelo de maturidade de processos a qualidade vai passar a ser propriedade das empresas e não dos seus funcionários. Com ele as fábricas vão ficar mais confortáveis para cobrar muito, pagar pouco e o mercado vai engolir isto.
Com o CMMI as empresas vendem a idéia que apropriaram os meios de produção de software e podem justificar lucros cada vez maiores. Os clientes não vão mais fazer questionamentos do tipo: "A baixa qualificação das pessoas que vão trabalhar no meu projeto não vai afetar a qualidade?" ou "A sua alta rotatividade de mão de obra não vai afetar a qualidade?". E, mesmo se os fizerem, vão ouvir uma resposta padrão:"Não se preocupe nós somos CMMI nível x. A qualidade está garantida pelos nossos processos!".

O que não está sendo levado em conta na adoção deste modelo são os problemas que a sua implantação gera. Alguns já são problemas clássicos da produção industrial tradicional e outros são decorrentes da sua aplicação na produção de software. Dentre os problemas clássicos podemos destacar a alienação do trabalho e dentre os específicos da informática a perda de qualidade.


É o trabalho que diferencia o ser humano dos outros animais, somos o que somos pela nossa capacidade de transformar o meio que nos cerca. É isto que nos realiza e não é por acaso que as grandes civilizações sempre realizam grandes obras, das pirâmides do Egito às torres gêmeas do World Trade Center, tudo isto para mostrar a força do seu trabalho. Quem não sente prazer ao realizar algo que considera interessante? Por isto quando trabalhamos no modelo industrial no qual o nosso trabalho é dividido, nós perdemos a visão do todo e passamos a ter a impressão de que o nosso trabalho não transforma nada, não serve para nada! O reflexo disto é um altíssimo nível de insatisfação e consequentemente alta rotatividade.
O trabalho no sistema industrial passa a ser uma obrigação, sem realização pessoal e prazer; é simplesmente trabalho alienado, substituível e sem importância!

Apesar da alienação no trabalho a produção industrial é muito eficaz porque, mesmo com a insatisfação dos trabalhadores, a apropriação dos meios de produção garante a qualidade. Já na informática a qualidade não pode ser atingida simplesmente com a adoção de processos, porque o grau de subjetividade das atividades é muito grande em comparação com uma indústria tradicional. Por exemplo, em uma montadora de automóveis é possível definir um processo para pintura de um carro que vá conter exatamente a lista de atividades que o empregado deve fazer, mas eu pago para ver um processo de criação de modelo de entidades e relacionamentos (para citar um artefato bem simples) que tenha uma lista de atividades que o empregado vai seguir que gerará um modelo com qualidade. As empresas que adotarem este modelo vão ficar no pior dos mundos porque a rotatividade vai aumentar, os melhores profissionais vão sair e os processos não vão conseguir garantir a qualidade.

Em resumo: é impossível, hoje, apropriar os meios de produção na informática com uma visão industrial de processos porque os processos na informática têm um grau de subjetividade que impede a sua divisão em tarefas simples e objetivas. Além disto esta visão industrial de processos é incompatível com valorização da mão de obra. Você não pode investir em processos indutriais e em mão de obra, você investe em processos industriais para não investir em mão de obra. E, na falta desta, a qualidade não pode ser atingida. Por isto o software ainda depende da habilidade e experiência de um bom profissional. Felizmente produzir software ainda não é como apertar parafusos em um linha de montagem!

12 comentários:

Leo M. disse...

Prezados,

Já havia lido outros textos com críticas ao modelo e práticas do CMMI e a Fábrica de Software, mas nenhum foi tão direto ao ponto.
A realidade ainda é o que resume sua última frase, desenvolver softwares, "FELIZMENTE, ainda não é como apertar parafusos".
Após tantos anos e com tantas críticas ao modelos de produção em série, criam-se modelos para tentar fazer uma linha de montagem do pensamento criativo.
Obrigado por escrever um texto tão elucidativo.

Leonardo Maurício Cerqueira.
Analista de Sistemas.

Urubatan disse...

Parabéns.
Simplesmente espetacular o texto ...

Unknown disse...

Embora a computação envolva o raciocínio matemático em sua base (essencialmente exato), cercear a cognição através de modelos de referência é de fato metade do caminho para a frustração (essencialmente humana).
Em sintonia com a conclusão do texto, basta lembrar que a estrutura do pensamento não é mecânica. Ao contrário de braços, pernas e mãos (sujeitos a processos industriais), a mente não é determinista.

Marcelo Bernardes Vieira, D.Sc. em Ciência da Computação

Anônimo disse...

Até parece que é segredo que o objetivo do CCMI é garantir que uma empresa não vá para o saco (e tenha que demitir todo mundo) só porque o geniozinho da implementação foi embora. É óbvio que o CMMI quer dar às empresas uma forma de manter nela o conhecimento usado para construir seus produtos!!! Se eu entendi bem o primeiro parágrafo, sua preocupação é que o CMMI reforça o capitalismo. Faz o seguinte: monta a sua empresa de software, depois você fala como é não ter controle de nada. Daí vamos ver o que você acha do capitalismo. Vamos ver quanto dinheiro você vai gastar até ter que fechar as portas de demitir todo mundo.

Anônimo disse...

Gostei muito do seu texto. Ele se aplica em 90% dos casos de implementação de CMMI, mas discutir uma idéia "filosoficamente" não é o mesmo que atestar seus bons ou maus resultados.

Um dia, se o Grande Djkstra quiser ;), vamos conseguir ter dados numéricos que devem mostrar que CMMI pode ser bem ou mal implementado. Eu ainda aposto no uso de práticas ágeis usando as boas idéias do CMMI como referência.

Abração,

-- Yuri

Mael Caldas disse...

O artigo é fantástico. É exatamente a nossa realidade!
Tomem como base o comentário anônimo. O nível intelectual do profissional que o CMMI (ou seria CCMI?? Ou VMMI???) permite se esconder atrás dos processos, e processos de criação de processos e criação de artefatos de entrada e saída e....
Enquanto isso, o geniozinho da implementação vai mantendo o emprego dele...
É... realmente empresas como Google, ThoughWorks e mais algumas desta pequena listinha:
http://www.agilealliance.org/corp_members estão gastando muito dinheiro, mas... estranho... ainda não fecharam as portas e demitiram todo mundo... Ah! Mas elas vão fechar! Elas não têem CMMI nível 5!

Unknown disse...

Anônimo acredito que o objetivo do autor não é criticar o capitalismo ou a linha de produção de ford mas sim a aplicação de processos que derão tão certo em outras areas para o controlhe de proficionais que tem como seu principal instrumento de trabalho a criação,onde o processo CMMI apenas dificulta e encarece o processo de desenvolvimento de software.
!CMMI é util?sim,para editais excludentes de concorrencia!

heffner disse...

Concordo com o autor em praticamente tudo.

Muitas vezes o CMMI pode ser um modelo cômodo, conformista numa visão gerencial em uma empresa. Muita gente nem sabe o que é isso, mas "sabe" que "dá certo".

CMMI é uma receita de bolo que muitas vezes dá certo, e é isso que os donos se importam principalmente (na maioria dos casos).

Só acho que é normal em uma empresa existir a divisão de tarefas (não da forma extremista posta pelo autor), mas de forma que cada um trabalhe no que é melhor, podendo, claro, aprender mais e mudar de cargo na empresa.

Deixemos o anonimo abrir a empresa dele e gastar mais de 1 milhao pra ser CMMI 1.

Unknown disse...

A realidade é que como Marcelo citou vivemos em um ambiente estocástico e utilizamos o processo de cognição que também não poderia ser definido como determinístico uma vez que nosso compreensão de tal processo é ainda muito limitada e o ambiente e o agente ainda se confundem como muitas vezes em um ambiente assim, definir tarefas atômicas tornaria o processo inviável uma vez que o mesmo seria descrito com muita imprecisão, "Planejar é essencial, mas o plano tem pouco valor" isso é à medida que tentamos descrever o processo de desenvolvimento de softwares vemos o quanto o mesmo é subjetivo e incompleto assim criar um plano preciso e completo torna a tarefa inviável CMMI gera um alto grau de controle para aqueles que acreditam que a criação é tão bem definida como a hierarquia de um formigueiro.
Concordo que a maioria das empresas de computação no Brasil dependam de certificados para concorrer e sobreviver, mas aqueles que são grandes no cenário internacional sabem a verdadeira falta de valor da maioria desses certificados ,estão usando agile e se preocupam apenas paradoxo de ícarus.
E se fosse montar uma empresa ia contratar gênios mesmo pq de nego ruim basta eu na empresa.... mas se vc acha que as pessoas são sobre um processo então vá em frente e demita todos...sua empresa ainda vai funcionar...o processo garanti isso pois afinal a qualidade do software não depende da capacidade dos envolvidos e sim do processo....

Ricardo Cardim disse...

Acho impressionante como as pessoas que criticam o CMMI e outros modelos de processo aparentemente nunca leram sobre o mesmo.

Em uma palestra sobre modelos de maturidade um gerente de informática veio perguntar porque o modelo em questão não previa a qualidade do produto e apenas a qualidade do processo.

A resposta da palestrante foi clara embora ela teve que repetir várias vezes até o gerente compreender: "O foco é a garantia da qualidade do processo e não do produto".

Isto não significa, em hipótese alguma, que a empresa não deve ter uma forma de garantir a qualidade do produto, apenas que esse não é o foco desses modelos.

Se alguem em algum momento disse que se a sua empresa for CMMI nível 5, o produto que ela irá lhe entregar é de qualidade, ou essa pessoa é um grande mentiroso ou mal informado.

O que o CMMI garante é que a empresa que tem essa certificação tem maturidade (por isso maturity) suficiente para implementar um processo com as características que o CMMI no nível 5 possui.

E o que eu faço para ter garantia de que o produto será entregue com qualidade? Tenha uma forma de auditar o produto entregue(isso não está previsto no CMMI porque não é a fábrica de software que deve realizar)

O que deve ser percebido é que o processo é um dos pilares para que se alcance produtos de qualidade. Isso não significa que não devem ser considerados, gerencia de recursos humanos ou a qualidade de seus profissionais.

Outro fator é que os modelos de processos não impedem que seus processos sejam ágeis. Eles naõ dizem como resolver seus problemas apenas lhe dão um caminho a seguir.

Mas se você ainda acredita que estipular prazos ao vento e não ter acordo nenhum com seu cliente quando entregar o produto(quem nunca passou por...Ah...não era bem isso que eu queria). Boa sorte sem processo definido algum...

Anônimo disse...

Mael Caldas: o problema não é ter CCMI, ou não. O problema é ter processo. Todas as empresas que você citou tem processo para tudo (além do quê, todo mundo é igual à Enron: um sucesso, até fracassar definitivamente). Até mesmo as que vão à falência têm. Evidentemente, meu comentário não deixou claro que eu defendo a adoção de processo - seja ele interno ou padrão. E os grandes males do Brasil são falta de processo e horror ao lucro, à riqueza. Finalmente, todos vocês foram educados para achar a resposta correta e compará-la com o gabarito. Pensamento crítico e criativo não faz parte da vida de vocês - pudera: foram castigados a vida toda por pensar e acabaram habituando-se a seguir a manada. Heisenberg (o tal do princípio da incerteza) dizia que a língua alemã obrigava-o a ser muito explícito e preciso, que era uma verdadeira camisa-de-força, mas que essa camisa-de-força o libertava. É isso que um processo faz: ao cuidar do repetitivo, liberta para a criatividade. Mas o mundo é mundo: a Gisele Bundchen é rica graças à sua aparência e charme (um apelativo animalesco - sexo). Uma BMW é sinal de status porque é cara. Coisas baratas e refinadas não têm valor: são baratas. As pessoas não dão valor ao saber, mas ao ser (poderoso, belo, influente) e a ter (dinheiro, pessoas). E ai, meus caros, criatividade nenhuma no mundo vai dar dinheiro...

Anônimo disse...

Thank you for that entry. I just about passed your weblog up in Yahoo but now I am glad I checked it out and got to go via it. I am surely a little far better knowledgeable now. I realize fairly a few men and women which will wish to examine it out. They'll for certain appreciate the heck out of what I just go through as well. LOL. --Matt

--------------------------------------------
my website is
http://chineseastrology.us

Also welcome you!