Lá e de Volta Conteúdo desconexo e aleatório…

13abr/09Off

A produção de software no Brasil e o porquê da Índia ser melhor

Ano passado um russo veio à Bangalore visitar o Instituto onde estudo, vindo de Vitória, ES, cidade onde morei praticamente toda minha infância. É isto mesmo. Fiquei tão impressionado com a coincidência que 3 horas em um restaurante próximo não foram suficientes para tanto assunto. O sujeito é pesquisador na Universidade de Berkeley (Califórnia) e conheceu a esposa lá. Ela é carioca, a propósito.

Obviamente a origem da esposa foi mais do que motivo suficiente para ele iniciar um trabalho de pesquisa no Rio. Não me recordo quanto tempo ele ficou na cidade, mas o foco do estudo era no entendimento da metodologia adotada pelos cariocas no processo de desenvolvimento de software. Por que o Rio? Bem, além do fato da esposa ser de lá, outro motivo, segundo ele, é que mais cidades no mundo podem ser comparadas ao Rio, ao contrário da grandiosa São Paulo, o que possibilita um uso mais diverso do resultado. Outro aspecto que ele considera curioso no Rio é a maneira como a cidade se coloca no mercado, à sombra de sua vizinha paulista.

Entre um arroz biryani e outro, ele me apresentou a sua visão do mercado brasileiro de software – bem interessante, por sinal. Por que, por exemplo, os brasileiros produzem software para o mercado interno enquanto a Índia fatura horrores com a exportação? Certamente a língua não é o principal fator. Segundo ele, o fato do software estar em português, o que implicaria em algum custo para tradução (principalmente se o software não foi originalmente projetado para várias línguas) não é (ou não deveria ser), de longe, o principal entrave à exportação. Vencido este primeiro obstáculo, são inúmeras as etapas a serem cumpridas para que o software possa ser comercializado internacionalmente. A língua é, literalmente, o de menos...

Mas então, por que não vendemos software lá fora?

A culpa é do nosso pequeno mercado e da maneira como as empresas brasileiras atuam nele. Ele é, na verdade, ao mesmo tempo uma benção e um calo no pé. É claro que o fato de possuirmos um mercado interno estimula a produção de software local e sem ele nossas atuais empresas provavelmente não existiriam. Entretanto, graças a ele também é que estas mesmas empresas acabam se acomodando: “O meu cliente está logo ali, para que ir mais longe?”.

Outra característica peculiar de nossas empresas de software está na relação com os clientes. Primeiro que elas nascem ou já com um cliente em mente ou pensando em arrumar um cliente. Raramente uma empresa de software no Brasil surge com um plano de negócios focado em um mercado para produzir software numa economia de escala. O foco da empresa no cliente está na natureza de nossas relações. Dificilmente negamos as solicitações dos clientes o que acaba resultando em versões customizadas de um mesmo produto para cada um deles. É mais ou menos como se a relação precisasse ser informal, em tom de amizade [en]. Parece familiar? Pois é, para mim também. Este comportamento acaba fazendo com que as empresas de software do Brasil aceitem praticamente todas as solicitações dos clientes, indo ao extremo de detalhar no software particularidades exclusivas de cada um se preciso.

Além disto, o nosso principal cliente, o governo, tem características muito distintas que exigem grande esforço e investimento na relação comercial. Este mesmo governo também dita o tipo de serviço prestado pelas empresas locais. Nas décadas de 80 e começo de 90, por exemplo, quando o governo impunha severas restrições à entrada de hardware no Brasil, houve uma demanda pela produção interna dele.

Este tipo incentivo tem grandes desvantagens. Primeiro que incentivar a produção de tecnologia em detrimento do uso, acaba favorecendo apenas um setor da indústria quando vários poderiam se beneficiar se o incentivo do governo estivesse no uso da tecnologia. Segundo que, no caso particular da produção de hardware, o mercado internacional é altamente competitivo e dominado por grandes empresas principalmente estabelecidas nos EUA.

Assim, quando se iniciou no Brasil um processo de abertura comercial, muitas das empresas de hardware brasileiras tiveram que encolher consideravelmente ou simplesmente fechar as portas. Com políticas mais recentes do governo, este quadro está se revertendo um pouco. De 2000 para cá é evidente o crescimento de nossa indústria de hardware e software.

No caso do mercado externo, entretanto, são duas razões principais para nossas pífias exportações: 1) lá fora as empresas de software brasileiras não conhecem ninguém, o que dificulta qualquer aproximação mais pessoal da maneira como fazemos no Brasil; e 2) elas muitas vezes não possuem o interesse pois o mercado brasileiro é aparentemente suficiente para elas....

Normalmente uma empresa brasileira inicia alguma operação no mercado internacional apenas quando a oportunidade bate a sua porta. Ou seja, se algum comprador internacional procurar a empresa brasileira, demonstrando bastante interesse, então a ela terá a motivação necessária para tal empreitada.

Como em toda regra, entretanto, esta também possui suas exceções. O melhor exemplo talvez seja a linguagem de programação Lua. Ela foi criada na PUC do Rio em 1993 e desde o seu nascimento foi projetada em inglês, para o mercado externo. Para se ter uma idéia, nem existe manual em português. Aliás, os melhores livros dela só são encontrados fora do Brasil e sem tradução para nossa língua. Segundo o site oficial, Lua é usada em várias aplicações de grande porte (por exemplo, o Adobe Photoshop Lightroom) e é a linguagem de script dominante na criação de jogos. Menos de 10% dos mais de 1300 assinantes da lista de discussão são do Brasil.

Para fechar, o meu amigo russo acha que os brasileiros das empresas de software são megalomaníacos (ele fala um bom português e literalmente usou esta palavra). São todos cheios de grandes planos, sonham em atingir o mercado internacional, mas pouco fazem na prática para tornar os sonhos concretos. É a perfeita justificativa, segundo ele, para que nosso país continue sendo o “país de futuro”, sem planos no presente.

***

O estudo do pesquisador ocorreu essencialmente no Rio de Janeiro. Embora alguma extrapolação seja possível, a generalização oculta outros padrões que se destacam principalmente em algumas regiões do Sul do Brasil, em São Paulo, e em Recife. Ainda assim, estamos muito atrás da Índia na indústria de software. Temos grandes empresas mas a maioria ainda é estrangeira (inclusive as Indianas Wipro e Satyam) e que só agora começam a se organizar para tornar o país competitivo. O resultado deste individualismo e falta de pró-atividade é um mercado menor que a metade do mercado Indiano (cerca de US$ 20 bilhões em comparação aos US$ 50 bi Indianos), com déficit na balança comercial, e  ainda bastante dependente do governo para se sustentar.

Para mais informações:

Posts Relacionados:

Comentários (12) Trackbacks (0)
  1. Bom dia Filho
    Gostei do texto.
    Abraços.

  2. Muito bom, Ricardo.
    De fato, um pouco antes de me formar em Ciência da Computação, há 10 anos atrás (1999), eu percebia algo que, infelizmente, ainda vejo hoje. No Brasil, a maioria das empresas desenvolve sistemas de informação customizados. Não vemos muitas empresas desenvolvendo produtos. Estou me referindo não somente a sistemas de informação, mas outros softwares. Por exemplo, durante muito tempo eu vi as pessoas utilizando o ER-Win (em resumo, uma ferramenta de projeto de bancos de dados relacionais), reclamando de seu alto custo e de suas limitações, mas não vi alguém desenvolvendo um produto para competir com ele no mercado internacional. Não estou dizendo que não existam iniciativas aqui ou ali. LUA, citado pelo Ricarod, é um bom exemplo. Mas não vejo a ousadia que gostaria. Será que continuaremos acomodados enquanto utilizadores das ferramentas, enquanto poderíamos ser seus construtores? Lembrei de um trecho da aula inaugural de Jayadev Misra, um indiano que é hoje professor na Universidade do Texas (http://www.cs.utexas.edu/~misra/). Ele disse para os alunos que estavam entrando no curso de ciência da computação:

    “What are the short-term skills you need: Familiarity with some popular programming languages, APIs, ability to use operating systems, downloading and installing packages, and deciphering their manuals and applying them in a specific context. And, then there are software engineering skills: how to do a code walk-through, collaborate, communicate with people of different skills and manage projects. Many of these skills are transitory, and often specific to one company. We will be abdicating our responsibilities if that is all we taught you. Teaching students to be familiar with a specific package is common in lower-ranked schools; their concerns are more short-term and the students they educate are destined for organizations where the skills required are installing and maintaining packages. We expect that you will be the developers of packages. How will you design a language without knowing about grammars, networking systems without knowing some graph theory or message transmissions from spacecrafts without knowing error-correcting codes?” (http://www.inf.ufes.br/~raulh/ufes/teaching/courses/lpii/page/texts/337.pdf)

    Ou seja, embora eles precisassem utilizar sistemas operacionais, pacotes e outras ferramentas, eles estavam sendo preparados para serem aqueles que iriam construir os novos sistemas e pacotes que seriam utilizados pelos outros.

    Enfim, embora seja inevitável me identificar com uma série de questões pontuadas pelo artigo do Ricardo, a que mais me fez parar para pensar foi que, apesar de continuar confiante de que conseguiremos (a começar por mim) mudar nosso foco e alcançar nossos sonhos, sem ações mais concretas no presente, talvez nossos sonhos não passem de ilusões. Depende nós…

    Abraços,
    Fabrício.

  3. Eu gostaria de saber em que quesito, tirando o futebol, o Brasil está a frente de algo!!!

  4. Muito bom o texto Ric.
    Vou um pouco além. No Brasil quase todas as relações comerciais são assim. Não só o desenvolvimento de software.

  5. @Fabrício, este é um problema que de fato persiste. E acho que tem muito a ver com o governo, como disse no texto. A Índia não teve tudo de mão beijada então as empresas daqui tiveram que se modernizar e correr atrás de outros mercados muito mais exigentes que o deles. No Brasil sempre tivemos tudo muito mais facilitado. O governo é uma mãe e as empresas brasileiras não querem largar da barra da saia dela.

    @Fabio, acho que somos bons em muitas coisas. Gosto sempre de pontuar o que está bom e o que não está. Quanto mais específico melhor pois permite identificar exatamente o que está bom e deve ser mantido e aprimorado e o que está ruim e deve ser descartado ou revertido para um quadro positivo. Em termos de indústrias, para mantermos um pouco do foco, somos excepcionais na aviação e nos combustíveis. Também temos umas das agriculturas mais produtivas e eficientes do planeta. Até mesmo se olharmos na indústria de software somos fortes em algumas áreas – software livre, por exemplo. E a linguagem Lua do texto acima serve novamente para ilustrar.

    @Bernardo, primo, obrigado. Você provavelmente tem razão. A diferença, na minha opinião, é que esta nossa natureza nas relações complica muito mais a indústria de software do que qualquer outra. A natureza do software é outra, não temos como modelá-lo como fazemos com um carro ou prédio, por exemplo. Não dá para “ver” o software antes do mesmo ficar pronto. A construção do software (principalmente no caso de sistemas de informação) é um processo inerentemente social sujeito portanto a interpretações, contextos, indecisões, mudanças, dentre outros. Não são regras físicas que governam o processo. Neste sentindo, o livro de Brooks (1995) continua sendo ainda uma grande verdade: http://en.wikipedia.org/wiki/The_Mythical_Man-Month

  6. Também andei escrevendo um texto comparando o Brasil e a Índia:

    http://claudinhaf.blogspot.com/2009/04/os-cegos-do-castelo-querem-meu-sangue.html

  7. Acredito que fizestes uma excelente análise qualitativa do assunto.
    Destaco como estão organizadas as relações comerciais, a forma contratual e a organização do processo de produção, essa ainda
    me parece inexistente em nosso Mercado. Qualidade, produção em
    grande escala, atendimento ao mercado internacional necessita
    de organização, isto as empresas brasileiras não possuem.

    J. A.

  8. (Este comentário foi publicado originalmente em: http://marcogomes.com/blog/2008/campanha-programar-e-gratis#comment-54522)

    @Ricardo,

    Este é apenas para contrabalançar sua afirmação sobre a qualidade da produção de Software na Índia:

    Minha experiência profissional na Indústria de Embarcados Automotivos, onde tive contato direto com Fábricas de Software Indianas, e a experiência que me foi compartilhada por colegas da Indústria de T.I. quando trabalhei numa empresa de Internet, me levam a dizer que a qualidade do software indiano, embora na média seja melhor que a do Brasil, está muito, mas muito abaixo do que se exige no Mercado Internacional – pelo menos nos setores que mencionei.

    Quando trabalhei na Indústria Automotiva, juro por Deus, todo e qualquer serviço que foi terceirizado para a Índia teve que ser refeito DO ZERO pela extrema tosquice do código fonte dos caras. Não respeitavam interfaces, usavam mensagens assíncronas como se fossem chamadas síncronas de função, uma zona.

    (A bem da verdade, parte da culpa também foi nossa: alguma sumidade da empresa havia pedido uma estupidez, e os caras ao invés de tentar explicar que aquilo era estúpido, perderam tempo tentando fazer aquilo funcionar).

    Na Indústria de T.I., meus colegas que tiveram experiência com softwares de empresas estabelecidas (e que cobravam *caro pra cacete* pelo produto), me disseram que dava pra saber quando um componente era feito na Europa, E.U.A ou Índia: bastava observar a quantidade de bugs estranhos ou intermintentes.

    Por outro lado, um dos melhores desenvolvedores que já tive o prazer de conhecer (e conheci de várias nacionalidades, na época que trabalhei em projetos da então Siemens Mobile) era um indiano.

    Observer que não estou contradizendo sua opinião: sim, na média, a qualidade do software indiano é melhor que a brasileira. O que estou dizendo é que, na média, a qualidade do software brasileiro é ainda mais baixa do que gostaríamos de admitir.

  9. Lisias,

    Eu não sei que média de qualidade é esta a que você esta utilizando. Qual é o parâmetro? Se for CMMi, a Índia é a melhor do mundo, com o maior número de empresas CMMi nível 5 (o mais alto), cerca de 60. O Brasil tem apenas 2 ou 3 empresas neste nível. Se for por exportações, o Brasil exporta US$ 2 bi (mais ou menos), a Índia US$ 40 bi. Não dá nem para comparar e torna muito descabida sua afirmação que a qualidade Indiana está abaixo do que o mercado internacional exige. Por que então as exportações crescem mais de 10% todo ano desde o começo da década de 90?

    A avaliação que você faz é muito subjetiva e o exemplo que você citou muito restrito. Não acho razoável desqualificar um setor inteiro por conta de UMA experiência negativa e opiniões isoladas de outros profissionais. Você está indo, sem fundamentação, contra décadas de pesquisas que mostram o contrário. Para citar apenas alguns exemplos, a Índia é o país que mais envia profissionais de TI para os EUA, a que mais tem empresas CMMi nível 5, a que mais tem centros de pesquisa e desenvolvimento na área de TI fora dos EUA, e a que mais forma doutores na área (talvez esteja atrás da China apenas).

    Além disto, no seu caso em particular, me baseando só no que você escreveu, entendo que a culpa é mais da sua empresa do que dos Indianos. Dependendo de como foi o contrato, não caberia a eles questionar o que foi pedido, apenas executar. Além do mais, o cliente (no caso, a sua empresa), tem a obrigação de acompanhar todo o processo de desenvolvimento de software para garantir que o resultado seja o desejado. Sentar de braços cruzados e esperar pelo produto apenas no final é certeza de fracasso.

    É óbvio que existem empresas ruins aqui. Existem aos montes nos EUA e na Europa também. Posso falar por experiência própria. Aliás, não é o próprio Windows cheio de bugs e problemas? E meus colegas falam de vários problemas criados pelos americanos que eles precisam resolver aqui.

    Não acho que seja possível determinar uma média mas acho que ainda somos muito, mas muito piores que as empresas Indianas. E temos muito a aprender com eles.

  10. @Ricardo,

    Certificações CMMi são importantes, mas por si não garatem presença ou ausência de qualidade.

    Eu lembro da época do ISO 9000, em que o Brasil se tornou o país (ou um dos países, não lembro) com o maior número de certificações ISO 9000 no mundo.

    Mas a qualidade do produto brasileiro não havia melhorado na mesma medida. Se não me falha a memória, o que aconteceu foi que algumas empresas implementaram o ISO 9000 e foram certificadas, mas depois da certificação jogaram o processo na gaveta e tudo continuou como antes.

    (Esta falha foi corrigida pela ISO, que passou a exigir que o processo seja cumprido para não perder a certificação.)

    Vivenciando a implantação de CMM-2 numa das empresas em que trabalhei, posso afirmar que ter uma certificação destas *ajuda muito* no cotidiano da empresa (mas pode atrapalhar tanto quanto, se o processo não for bem pensado).

    Mas também é que um processo *corroa* a qualidade de um produto se suas regras especificadas pela empresa não forem compatíveis com a tecnologia usada. Acontece, muitas vezes o processo não é revisado ao passo que as tecnologias adotadas pela empresa vão mudando.

    Mas voltando ao assunto, vou aceitar sua crítica sobre minha opinião por não ter estressado, mais de uma vez, a frase “pelo menos nos setores que mencionei”. Mas pra falar a verdade, eu deveria ter sido mais específico ao invés de falar “Indústria de T.I.”, e concordo com você: generalizei demais e vou ter que conviver com esta idiotice que publiquei.

    Prometo melhorar.

    Mas o que descrevi não foi um caso isolado, presenciei vários problemas com terceirização para lá. Nenhum tão trágico quanto minha última experiência (e, dizendo de novo, nós também fizemos bobagens monumentais no projeto). Mas ficamos tristes com eles mais de uma vez.

    A relação custo/benefício deles é melhor que a nossa, sem dúvida. Mas pelo menos nos projetos que tive a oportunidade de trabalhar ou observar, o resultado final eventualmente estava aquém do necessário. Em alguns momentos, muito mesmo.

    Não vou aceitar sua crítica de que o problema teria sido o contrato, porque a empresa foi consultada em cada fase da especificação dos componentes. Não que tenhamos, nós, feito um trabalho impecável na especificação …

    O projeto mais problemático que participei teve acompanhamento, com profissionais da empresa contratada vindo trabalhar em nossos laboratórios. Foi quando descobrimos que a solução proposta desde o começo era simplemente inviável e começou nossa “death march” para reescrever quase tudo.

    Mas volto a dizer que um dos melhores e mais experientes desenvolvedores que conheci era indiano. E tenho certeza que têm muitos outros como ele mundo afora.

    Mas a opinião que eu queria ter sido capaz de expor é que uma corrente é tão forte quanto seu elo mais fraco: se nós vamos trabalhar com os indianos (porque eu acho que não podemos competir com eles e não podemos fazer de conta que eles não existem), nós precisamos ser melhores do que somos. Muito.

    Não vou discutir sua opinião sobre a Indústria de Software Indiana. Não vou nem cogitar. Você está aí, eu não.

    Mas, corrigindo minha infeliz generalização, gostaria de contribuir com a minha – baseada em experiências que datam desde 2002.

  11. No meu post anterior, onde está escrito “Mas também é que um processo *corroa*” que se leia “Mas também é possível que um processo *corroa*”

  12. Amei mmtmtmtmtmtmtmtmtmttmtmtmtmtmtmtmttm

    Quero ir pra la daqui 1 ano com minhas miguxas e ganhar o 1° NTX de ouro o mais recente q vai existir desculpe naum tem nd a ver com a legoland….Mas enfim eu quero uma viagem pra la com tudo pago ate refeiçao e tb amei as fotos…!!!Vcs me dao a viagem??

    Bjao e amei as fotus…


Deixar um comentário


Trackbacks estão desabilitados