Matheus Tardivo

Code is poetry.

O Mercado Esta Mudando Ou é Impressão Minha?

[edit] O Vinícius Teles acabou de postar no blog dele o mesmo texto. Tirando a minha introdução – e incluindo a dele, o conteúdo é o mesmo. Segue o link para o post: O mercado está mudando? [/edit]

O título desse post é o assunto de um email, enviado para a lista Scrum-Brasil, que gerou uma discussão bem interessante.

Pra quem, assim como eu, tem interesse em métodos ágeis de desenvolvimento de software, o texto abaixo serve para mostrar o quanto é complicado conseguir mudar a cultura das empresas que utilizam métodos ultrapassados tradicionais.

Continuo acreditando e defendendo a idéia que Scrum, XP, (coloque aqui sua métodologia ágil preferida), dão uma visão muito mais realista para o desenvolvimento de software, afinal, desenvolver software é essencialmente diferente de construir prédios. Infelizmente, comparar o desenvolvimento de software com a construção civil ainda é a análogia mais usada – tanto na prática quanto no meio acadêmico.

O texto abaixo foi escrito pelo Vinícius Teles que é uma das pessoas com mais experiência no assunto “ágil” no Brasil. Pra quem já leu algum post desse blog já deve ter lido sobre ele.

É um texto extenso, mas de leitura obrigatória pra quem tem interesse por metodologias ágeis e quer ter uma idéia realista do que terá que enfrentar na maioria das empresas brasileiras.

“Minha resposta curta para a sua pergunta é: sim, o mercado está mudando. Ele está sempre mudando. :–) Mas, talvez não tanto assim quanto gostaríamos e, possivelmente, não na direção que desejamos. Uma das mudanças mais perceptíveis é que cada vez mais gente tem ouvido falar de desenvolvimento ágil. Mas, isso não quer dizer necessariamente que cada vez mais gente esteja adotando métodos ágeis. Certamente, cada vez mais gente DIZ estar usando métodos ágeis. Mas, a distância entre o DIZER e o FAZER é imensa, sobretudo nesta área. Acredito que, daqui por diante, veremos cada vez mais gente falando sobre desenvolvimento ágil, mas continuaremos a ver poucos usando. Há algumas razões fundamentais para isso.

Desenvolvimento ágil não tem a ver com Scrum, XP, FDD, Lean ou seja lá qual for o nome. Tem a ver, acima de tudo, com a maneira como encaramos desenvolvimento de software. Tem a ver com a compreensão da verdadeira NATUREZA do desenvolvimento de software. Os anos passam, mas a maioria absoluta das pessoas não consegue se livrar da idéia de que desenvolver software seja igual a construir prédio. As conseqüências desta dissonância cognitiva são infinitamente mais sérias do que a maioria de nós gostaria de acreditar. Escrevi exaustivamente sobre isso na minha dissertação (http://www.improveit.com.br/xp/dissertacaoXP.pdf, cápitulos 3 e 4), então, não vou me estender aqui. Apenas resumirei porque isso é tão prejudicial.

O que uma empresa produz é resultado de como ela está estruturada. Quem tem autoridade para dizer como deve ser a estrutura de uma empresa é quem está no topo. Então, a estrutura de qualquer é empresa é, no fim das contas, o resultado do modo de pensar, da mentalidade, de quem está no comando. A mentalidade da maioria dos empresários, diretores e gerentes no mundo inteiro é, com raríssimas exceções, arcaica e incompatível com o trabalho de desenvolver software. Quando o topo da empresa não entende o tipo de mentalidade necessária para se desenvolver software de forma bem sucedida, não há santo que possa fazer milagre. E eu garanto, a maioria absoluta das pessoas que estão no comando das empresas não entende uma vírgula do que significa desenvolver software. Isso inclui, certamente, a maioria absoluta dos CIOs. Não é à toa que eles buscam recorrentemente coisas como CMMI, PMBOK, MPS.BR, ITIL etc, todos absolutamente incompatíveis com a NATUREZA do desenvolvimento de software. A mentalidade por trás destas aberrações é inútil, quando o assunto é software, mas casa perfeitamente com a mentalidade da maioria dos gestores. E não pára por aí. Nas universidades, a situação é igual ou pior.

Veja o caso da UFRJ, por exemplo. Neste semestre, o professor de engenharia de software, percebendo a crescente movimentação em torno de métodos ágeis, resolveu gastar boa parte do seu tempo para mostrar aos alunos que métodos como o XP não funcionam. Afinal, se fôssemos fazer um prédio com XP, aconteceria mil e uma coisas horrendas. Nisso ele está certo. O problema, como sempre, é a maldita distinção entre construir prédio e desenvolver software, a qual, seria óbvia para uma criança, mas é impossível de ser percebida por um Ph.D(eus). Olha que loucura, em uma universidade do quilate da UFRJ, o cidadão, só porque é Ph.D.(eus), não precisa se dar ao trabalho de estudar sobre métodos ágeis, nem muito menos usá-lo, para já saber, desde criancinha, que não pode dar certo. E claro, um conhecimento destes, tão valioso, não pode ser mantido só para ele. Também é preciso passar adiante para os alunos, como se fosse necessário. Afinal, eles já estão todos estagiando em empresas entupidas de documentos e péssimas práticas de desenvolvimento até o último fio de cabelo.

Sempre fui muito otimista, em tudo. Mas, em se tratando de desenvolvimento ágil, acho que meu otimismo se foi. Foram precisos seis anos para isso acontecer, devo dizer, mas se foi. E a razão está lá em cima, no topo das empresas, no topo das universidades. Está lá onde a mediocridade e a incompetência imperam, ao menos em se tratando de desenvolvimento de software e gestão de pessoas. Percebi, com o tempo, que podemos fazer diferença na base, sim, mas é muito pequena e, freqüentemente efêmera.

Fiquei tempo suficiente nesta área para ver equipes adotarem XP, funcionarem super bem durante algum tempo e, mais a frente, serem impedidas de continuar porque a organização passa minar o andamento do grupo. É como um corpo estranho, que é expelido naturalmente pelas nossas células. Só para dar um exemplo. Em 2003, nós fizemos um projeto XP para a Vale do Rio Doce. Foi um projeto lindo, com tudo que se tinha direito. Até contrato de escopo negociável. As áreas de negócio amaram tudo o que foi feito. Adoravam os desenvolvedores. Depois que o sistema foi colocado no ar, foram encontrados apenas 3 bugs durante os seis meses seguintes. Isso é nada em um projeto de mais de um ano, com mais de dez pessoas envolvidas. O projeto foi um sucesso em praticamente todos os quesitos que se pudesse imaginar. Mas, aí é que estava o problema. A última coisa que alguém quer é um projeto de sucesso! Afinal, como ficam os demais? Quando o projeto acabou, tudo foi feito dentro da Vale para que nunca mais isso se repetisse. Acredite, não foi a única vez que vi isso acontecer. Em seis anos, eu vi muita coisa começar bem e, mais a frente, acabar. Por que?

Porque desenvolver software com a mentalidade ágil não é compatível com a mentalidade de quem manda. Isso é mais do que suficiente para limitar as mudanças na área de software. Acredito que vai levar muito tempo para que as empresas passem a ter gestores que compreendam não apenas o que é fazer software. Mas, o que é fazer um trabalho do conhecimento. A maioria absoluta dos gestores tratam seus funcionários como se fossem crianças. Fica parecendo que os piores imbecis são justamente os que mais freqüentemente são escolhidos para comandar as empresas. Não parece apenas, isso realmente acontece e dói ver o quanto isso é comum. Enquanto estes estiverem lá em cima, vamos ouvir falar muito sobre desenvolvimento ágil. Mas é só. Aliás, não é não. Tem coisa pior. Vamos ver pessoas fazendo barbaridades e dizendo que estão usando desenvolvimento ágil.

Para quem ainda estiver no ramo de consultoria, isso não é necessariamente ruim. Essa área vai bombar. Vamos ter cada vez mais espaço para cursos e consultoria em desenvolvimento ágil. O interesse só vai crescer daqui por diante. Não necessariamente pelos méritos, mas porque alguém ouviu dizer que agora o grande lance é fazer software com a ___________ (preencha com a metodologia ágil preferida).

O problema dos gestores não afeta apenas o desenvolvimento de software. Ele é muito mais sério e muito mais abrangente que isso. Entre em qualquer empresa grande e o que você verá é um bando de trabalhadores do conhecimento sendo tratados como pedreiros por um bando de incompetentes que não conseguem fazer nada melhor que jogar tempo e dinheiro na lata de lixo. O nível de desperdício de talento, tempo, dinheiro, oportunidades etc é tão colossal que eu realmente não consigo compreender como alguém consegue trabalhar em uma empresa grande atualmente. Claro, existem exceções. Pouquíssimas, mas existem. São apenas isso, exceções.

Desejo muita sorte e sucesso para quem continua lutando para mudar este panorama. Não tenho dúvidas de que as coisas irão melhorar ao longo do tempo. Mas, acho bastante improvável que uma mudança significativa aconteça no curto ou médio prazo. Enquanto as pessoas chegarem no topo das empresas com a mentalidade que temos hoje em dia, enquanto os professores universitários continuarem ensinando lixo, enquanto as empresas continuarem a ganhar dinheiro apesar das práticas de administração arcaicas que utilizam, enquanto nós aceitarmos trabalhar para estes idiotas, vai ser complicado.

Desculpa pelo pessimismo. Não foi sempre assim. Foram necessários seis anos, seis turmas de XP na UFRJ, literalmente centenas de apresentações de XP em todo o Brasil, um mestrado, não sei quantos cursos, vários mentorings, alguns projetos de desenvolvimento XP, algumas conferências no exterior, um livro e mais um monte de coisas que eu não lembro, para me dobrar. E antes que alguém pense que o problema era o XP e que tudo poderia ser diferente se tivesse sido Scrum, FDD, Lean etc, não se enganem. O buraco é mais embaixo. Se você conseguiu chegar até aqui e prestou atenção ao que estou dizendo, tudo se resume a uma coisa: mudar é difícil? É. Mas, ainda é a parte fácil. O difícil mesmo é mudar de vez.

O Kent Beck tem um exemplo ótimo. Segundo ele, parar de fumar é fácil. Tanto que tem gente que já parou várias vezes. :–) O problema é parar e nunca mais voltar a fumar. É a mesma coisa. Um monte de gente vai conseguir mudar para desenvolvimento ágil. Poucos conseguirão sustentar esta mudança. E eu adoraria estar falando isso de orelhada. Mas, é que eu vi as pessoas voltarem a fumar um número suficiente de vezes para saber que é ótimo ver mais movimentação atualmente sobre desenvolvimento ágil. Mas, acredito que seja ingênuo achar que isso implique em uma mudança significativa. Muitos tentarão e a maioria vai voltar às práticas antigas, simplesmente porque todos os incentivos nas empresas giram em torno delas e isso continuará assim por muito tempo.

Apesar de tudo o que disse, torço, profundamente, para estar absolutamente equivocado! No mais, redobrem seus esforços! O desafio é bem maior do que parece à primeira vista.

Pra quem quiser ler a discussão na íntegra, segue o link: http://br.groups.yahoo.com/group/scrum-brasil/message/656 E pra quem quiser se inscrever na lista de discussão Scrum-Brasil, segue o link: http://br.groups.yahoo.com/group/scrum-brasil