Tuesday, July 10, 2007 6:30 PM

Update: A matéria está disponível no web-site da Exame: http://portalexame.abril.com.br/revista/exame/edicoes/0896/tecnologia/m0132291.html

Ainda estou em estado de choque depois de ler a matéria “Fábricas de informação”, publicada na última edição da revista Exame (896, Ano 41 – No. 12), mas vou tentar expor aqui minhas opiniões de forma estruturada.

A matéria fala sobre o assunto preferido das revistas de negócios, das grandes consultorias e de algumas instituições governamentais do setor: o mercado de outsourcing de serviços de software. Este monstruoso mercado, de 50 bilhões de dólares, amplamente dominado pela Índia, enche os olhos de nossos governantes, como uma forma de engordar nossa balança comercial, e de nossas consultorias, como forma de aumentar suas receitas.

A matéria começa apresentando o dia-a-dia de um felizardo “operário” do novo milênio, que participa como uma pequena engrenagem de uma enorme linha de produção, que ao invés de produzir carros, ou geladeiras, produz aplicativos.

Segundo a revista a atividade destes operários não é lá muito glamorosa. Em sua grande maioria são programadores, com vinte e poucos anos, que passam os dias sentados em baias estreitas programando. Na maior parte das vezes ele sequer conhece o projeto como um todo, nas palavras do jornalista:

A produção é organizada como numa linha de montagem: ao cumprir uma etapa, o programador passa o serviço adiante e pega a próxima tarefa. É comum que estes profissionais nem saibam exatamente para que serve o software que estão criando, porque o desenvolvimento é quebrado em vários pedaços e distribuído entre equipes diferentes.

O autor segue nos apresentando uma fábrica no modelo clássico Taylor - fordista, completamente ultrapassado há décadas, que nem as grandes automobilísticas usam mais. Com a minha imaginação fértil já me imagino no lugar de Charles Chaplin, em seu clássico Tempos Modernos, “pirando” com o mouse e um teclado na mão (no original, Chaplin usava uma chave de boca, mais agora estamos muito mais evoluídos).

Existem alguns problemas com o tipo de organização destas fábricas de software.

O primeiro é um que já comentei aqui em Metáforas equivocadas: produzir software não é nada parecido com manufatura, absolutamente nada. Enquanto uma fábrica de geladeiras produz milhares de refrigeradores com a mesma especificação, nós produzimos milhares de aplicativos, cada um com sua própria necessidade, especificação e solução. Portanto nosso processo é muito mais parecido com o desenvolvimento da geladeira em sua fase de criação, do em sua fase de produção.

Além disso, mesmo os setores de manufatura e produção já aposentaram o modelo taylorista há anos. Qualquer engenheiro de produção recém formado conhece Deming, Teoria das restrições e Lean manufacturing. Duas edições atrás a própria Exame vinha exultando a Toyota e seu sistema de produção, nada parecido com o da fábrica de software descrita no artigo.

Portanto este modelo não só se baseia em uma metáfora equivocada, buscando práticas de um sistema de produção que não se assemelha a produção de software, como também errou o século, copiando práticas que eram super modernas, em 1960!

Mas este mercado é estratégico para o Brasil, as empresas estão investindo e o Brasil pode se tornar a melhor alternativa após a Índia. As 10 principais empresas do setor já empregam 40.000 operários, quer dizer, profissionais. Só existe um problema, não há mão-de-obra suficiente, com as qualificações necessárias, para atender a demanda. E ainda existe um agravante, a mão-de-obra brasileira é cara, com isto não conseguimos competir com o baixo custo dos Indianos.

Este problema é conseqüência de outro grande equívoco que também já comentei aqui, o Brasil está tentando copiar o modelo de sucesso indiano sem analisar as diferenças do contexto sócio-econômico entre os dois países. Com mão-de-obra especializada abundante, barata e fluente em inglês, a Índia estabeleceu um modelo de produção trabalho-intensivo. Desta forma ela conseguiu aproveitar seu maior diferencial competitivo: o custo da mão-de-obra.

O contexto sócio-econômico do Brasil é outro, não temos esta super oferta de mão-de-obra, portanto o modelo Indiano não é competitivo, quando a aplicado no Brasil. Mas isto não é problema, as empresas já estão pressionando o governo para baixar o custo de contratação de profissionais, pois este mercado é estratégico! Se o Brasil não atuar logo, outros países tomarão o espaço! É bem provável que o governo ceda a pressão, oficializando o modelo de contratação PJ, ou uma variante parecida, prostituindo de vez nosso mercado de trabalho.

Mas as empresas não estão paradas, esperando o governo fazer alguma coisa, estão buscando alternativas. Algumas já começaram a procurar potenciais empregados em cursinhos de idiomas, pois segundo Humberto Luiz Ribeiro, vice-presidente da Politec:

Aprender a programar é mais fácil do que aprender a falar outra língua fluentemente.

Eu sei, eu sei, respire fundo, conte até dez e guarde este revólver! Não faça nenhuma besteira, da qual se arrependerá mais tarde.

O Brasil não pode competir neste mercado com a variável custo, nem com a conversinha mole de que nós somos mais criativos que os outros, até porque não estamos demonstrando criatividade nenhuma com este benchmarking idiota. É necessário um modelo que quebre os paradigmas e leve as barreiras de produtividade, qualidade e custo para outro nível.

A questão não é fazer o mesmo aplicativo um pouco melhor, ou um pouco mais barato. É fazer um aplicativo muito melhor, com muito mais qualidade e muito mais barato! O valor agregado no serviço oferecido pela Índia e pelo Brasil é mínimo! Por isto mesmo a competição é feita na base de custo, o que não é a melhor forma de conquistar um mercado.

Não tenho dúvidas que daqui a alguns anos este modelo atual de outsourcing estará totalmente ultrapassado. E nós estaremos aqui com uma indústria ultrapassada, vendendo commodity e explorando mão-de-obra barata e desqualificada.

Desculpem-me o pessimismo, mas depois desta leitura não consigo fazer melhor que isto.

< Negócios >

Comments

At 7/11/2007 9:22 AM, Paulo Quicoli said:

# re: Remando contra a maré

Concordo com você. E só para te animar mais um pouco, olha o que o pessoal da Politec fez aqui na minha região. Alguns anos atrás, eu estava na faculdade quando vi um anúnico de que um grande fábrica de software iria se instalar na região e estava precisando de profissionais. Bem, eu já estava empregado e bem onde estava e não liguei para o anúncio. Porém, escutei os alunos comentarem que a Politec estava decidindo em qual cidade da região iriam se instalar, se Araraquara ou Taquaritinga. Pouco tempo depois foi decidido Taquaritinga, a cidade onde a faculdade de tecnologia do estado (FATEC) está localizada. Agora, você pensa que é por isso que foi escolhida ? Não, nem vergonha alguma divulgaram que Taquaritinga foi escolhida por ter, de acordo com um senso, o menor índice salarial do estado de São Paulo, ou seja, se instalaram em Taquaritinga, porque é onde menos gastariam com funcionários. Não importava se a FATEC é "ali" pertinho, que teriam "bons" profissionais a disposição, mas sim, quanto que pagariam por esses profissionais.
At 7/11/2007 10:50 AM, Ricardo Oneda said:

# re: Remando contra a maré

Eduardo, eu li essa matéria no site (http://portalexame.abril.com.br/revista/exame/edicoes/0896/tecnologia/m0132291.html) e iria escrever exatamente sobre ela no meu blog, mas você foi mais rápido :)

Também entrei em estado de choque, conforme lia o artigo. O piores pontos que eles destacaram foram os "operários" não saberem exatamente o que fazem, serem compostos por pessoas jovens (talvez porque os mais velhos não queiram se submeter a isso?) e, além de tudo, estarem felizes com isso, afinal, estão ganhando mais do que a maioria da população. É o cúmulo do conformismo! Dura realidade...
At 7/11/2007 11:02 AM, Leonardo Lima said:

# re: Remando contra a maré

O pior de tudo é que esses caras formam opinião, imagina os caras que estão saindo da faculdade agora, além de estarem com a mente condicionada ao modelo acadêmico que muitas vezes prega modelos ultrapassados (seja na area de engenharia ou mesmo de gerência) ainda tem matérias como essa corroborando com o que eles já estão condicionados. Esse profissional vai demorar um tempo (talvez muito tempo) para tentar mudar os seus paradigmas e passar a ver o desenvolvimento de software com outros olhos, olhos da realidade.
At 7/31/2007 12:45 PM, Thiago Arrais said:

# Pior é que o cara está certo

Pelo menos de acordo com a definição dele de programação, o vice-presidente da Politec tem toda a razão. Se programar é traduzir mecanicamente especificações detalhadas em código-fonte, então aprender a programar é extremamente mais fácil do que aprender uma língua estrangeira. Segundo esta visão, aprender a programar deve ser mais fácil até do que reconhecer a foto de um gato.

Calma. Sem espantos. Não precisa me bater.

Ainda.

"Programar" para estes caras não é nada mais do que traduzir especificações detalhadas em uma linguagem que o computador possa executar. Se você for olhar direitinho, é o que os compiladores vem fazendo há muito tempo. Computadores são muito bons neste tipo de trabalho mecânico e repetitivo. Afinal de contas, eles foram projetados para isso. Apesar disso, eles não conseguem reconhecer a foto de um gatinho no meio de outras (este é um dos vários esquemas CAPTCHA em uso atualmente). Computadores (que são seres extremamente burros) conseguem realizar muito bem a primeira tarefa, mas não a última. Portanto, "programar" é muito mais fácil do que sabe que é um gato na foto.

Pensando por este lado, este modelo de negócio é completamente despropositado. Por que diabos você iria colocar pessoas para fazer o trabalho que computadores podem fazer e gastar muito mais dinheiro para isso? Por mais que você trate programadores como tradutores burros de código e por menos que pague a eles, nunca vai ser menos do que você pagaria a um computador. No fim das contas, alguém vai precisar fazer as especificações detalhadas. Se elas são detalhadas a ponto dos programadores que as recebem serem tratados como máquinas sem cérebro e capacidade criativa, o que lhe impede de usar máquinas realmente sem cérebro e capacidade criativa (os bons e velhos computadores)?
At 7/31/2007 12:50 PM, Thiago Arrais said:

# re: Remando contra a maré

Pelo menos de acordo com a definição dele de programação, o vice-presidente da Politec tem toda a razão. Se programar é traduzir mecanicamente especificações detalhadas em código-fonte, então aprender a programar é extremamente mais fácil do que aprender uma língua estrangeira. Segundo esta visão, aprender a programar deve ser mais fácil até do que reconhecer a foto de um gato.

Calma. Sem espantos. Não precisa me bater.

Ainda.

"Programar" para estes caras não é nada mais do que traduzir especificações detalhadas em uma linguagem que o computador possa executar. Se você for olhar direitinho, é o que os compiladores vem fazendo há muito tempo. Computadores são muito bons neste tipo de trabalho mecânico e repetitivo. Afinal de contas, eles foram projetados para isso. Apesar disso, eles não conseguem reconhecer a foto de um gatinho no meio de outras (este é um dos vários esquemas CAPTCHA em uso atualmente). Computadores (que são seres extremamente burros) conseguem realizar muito bem a primeira tarefa, mas não a última. Portanto, "programar" é muito mais fácil do que sabe que é um gato na foto.

Pensando por este lado, este modelo de negócio é completamente despropositado. Por que diabos você iria colocar pessoas para fazer o trabalho que computadores podem fazer e gastar muito mais dinheiro para isso? Por mais que você trate programadores como tradutores burros de código e por menos que pague a eles, nunca vai ser menos do que você pagaria a um computador. No fim das contas, alguém vai precisar fazer as especificações detalhadas. Se elas são detalhadas a ponto dos programadores que as recebem serem tratados como máquinas sem cérebro e capacidade criativa, o que lhe impede de usar máquinas realmente sem cérebro e capacidade criativa (os bons e velhos computadores)?
At 7/31/2007 3:34 PM, Eduardo Miranda said:

# re: Remando contra a maré

Thiago,

O seu argumento só é válido se você acredita no conceito de fábrica de software e na sua premissa inicial: É possível desenvolver software através de tarefas isoladas, realizadas por diferentes "operários". Eu sei que você não concorda, está apenas tentando entender a lógica do ponto de vista do camarada.

Por um outro lado também já vimos diversas tentativas, todas frustadas, de se fazer com que os computadores fizessem as tarefas mecânicas do processo, dada uma especificação. É caso das ferramentas case.

Ainda tem um porém, se programar é tão fácil, porque que boa parte dos bugs acontece justamente na tradução do requisito em código-fonte. Ou seja, o programador entendeu o requisito, mas o algoritmo escrito está errado e gera o bug. A medida que estas "besteirinhas" vão acumulando no código do aplicativo e acabam deterionando a qualidade final.

Este artigo, muito bom, fala um pouco sobre a diferença entre ser programador e desenvolvedor: http://msdn.microsoft.com/msdnmag/issues/07/06/EndBracket/default.aspx?loc=pt
At 8/9/2007 9:00 AM, Christiano Milfont said:

# re: Remando contra a maré

Essa é a realidade da maioria das empresas e do mercado brasileiro, se nós profisionais não tomarmos medidas de combatermos isso, eles ficam falando sozinhos e ditando como as coisas serão feitas
At 6/1/2008 1:19 AM, Rogério said:

# re: Remando contra a maré

Desculpe senhores mas acho que estão analisando a questão com olhos de fora.
Quem esta dentro de uma fábrica ve que tudo funciona sim e ao contrario do que se pensa a qualidade imposta é altissima e sempre é alcançada.
Algumas correções:
1) Programador não faz tradução do requisito para o código fonte. Entre estas fases há o projeto e modelagem, a unica coisa que programador faz é olhas todos os diagramas criados com classes e interfaces e banco prontas, basta apenas que ele siga a documentaação.
2) A maioria dos erros não são gerados na codificação e sim no requisito, onde ocorrem erros no levantamento ou na especificação.
3) Não é possível usar computadores para codificar pela necessidade de interpretação da regra de negocio imposta nos diagramas mas cada vez mais com o uso de bibliotecas e reutilização de código o trabalho do programador esta menor, principalmente na correção e qualidade de codigo com os atuais sistemas de controle de codigo fonte.

mas cada um tem sua maneira de pensar creio que com as necessidade de custo, tempo e garantia na produção de sistema as fabricas sao a melhor alternativa no momento, melhor que a produção artesanal de software que na grande maioria das vezes nao possui garantias de qualidade.
At 6/1/2008 4:12 PM, Eduardo Miranda said:

# re: Remando contra a maré

Rogério,

Como você mesmo disse cada um tem sua maneira de pensar e suas experiências. E devemos respeitar estas opiniões.

Sua experiência tem sido boa e parece que você está desenvolvendo software de alta qualidade.

Inferir, no entanto, que todos os outros comentários são de pessoas que não conhecem uma fábrica de software é errado e acaba te influenciando na forma como você lê as outras opiniões.

Não tenho como falar pelo outros mas posso te garantir que já fui parte integrante e também cliente de algumas fábricas de software de nomes bem conhecidos do mercado. E minha opinião é também baseada nestas experiências.

Outro ponto importante é que existem diversas alternativas de processos de desenvolvimento além da fábrica de software e do "artezanal", seja lá o que significa isto. Eu mesmo trabalho em uma das maiores empresas de software do mundo e nós não nos organizamos em forma de fábrica de software e nem desenvolvemos software "artezanalmente".
At 1/7/2010 9:30 AM, Programmer said:

# re: Remando contra a maré

Prestem atenção ao conteúdo da matéria: ela está falando sobre O QUE ACONTECE, e não QUAL SERIA O IDEAL, como alguns querem defender.

Eu já trabalhei em diversas fábricas de software e ainda vejo tudo isso acontecendo.

Contra fatos não há argumentos. Ou a pessoa tem pouca experiência profissional e por essa razão não sabe que isso realmente acontece, ou está completamente iludida e empolgada em sua incipiente profissão.

Quer dar um contra-exemplo ao que fala a reportagem? Procure as empresas citadas e constate. Mas lhes adianto que trabalho em uma dessas citadas na reportagem e atesto sua veracidade.
Post Comment
Title *
Name *
Email (never displayed)
Website
Comment * (Allowed tags: blockquote, a, strong, em, p, u, strike, super, sub, code)  
Please add 6 and 8 and type the answer here: