BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Processos de software destroem a paixão dos desenvolvedores?

Processos de software destroem a paixão dos desenvolvedores?

Favoritos

Em um post recente, James Turner, editor da O'Reilly, criou polêmica afirmando que processos de software destroem a paixão dos desenvolvedores. O principal motivo apontado foi o foco demasiado em processos pela indústria de software sem a consideração dos seus reais benefícios, e a consequente perda de motivação pela equipe.

O autor afirma que a indústria tem se voltado à criação de processos e métricas como única forma de garantir a qualidade de código. E que, se forem seguidas à risca as atuais melhores práticas, provavelmente estará sendo feito o desenvolvimento orientado a testes, exigindo-se um percentual de cobertura de código, fazendo-se code reviews periódicos e utilizando-se ferramentas de inspeção contínua, entre outras práticas recomendadas. E se a empresa usa Scrum, ele acrescenta, os desenvolvedores provavelmente estarão gastando boa parte dos seus dias gerando histórias e tarefas e planejando e mensurando o tempo consumido, com o objetivo de gerar gráficos gerenciais de burn-down e cumprir outras atividades gerenciais.

Em resumo, desperdiça-se grande quantidade do tempo das equipes em processos, e se dedica cada vez menos tempo à codificação de aplicações.

Segundo Turner, estaríamos vivendo uma espécie de loop gerencial que gera pioras progressivas:

Programadores motivados, "apaixonados", escrevem código excelente, mas o processo destrói a paixão e a motivação. Desenvolvedores insatisfeitos criam código fraco e os gerentes, por sua vez, reagem adicionando mais processos ao ciclo de desenvolvimento, na tentativa de melhorar a qualidade. Isso reduz ainda mais a moral da equipe – e o ciclo se repete.

A aplicação cega de melhores práticas em todo o processo de desenvolvimento estaria, ele argumenta, transformando um trabalho que deveria ser criativo em uma espécie de prisão. E acrescenta:

As empresas precisam reconhecer que existe uma diferença qualitativa entre os desenvolvedores. Exigir que todos, independentemente do seu nível, utilizem os mesmos processos é prejudicial à moral e à eficiência da equipe. [...] Talvez desenvolvedores iniciantes devessem se ater à escrita de testes unitários, liberando assim os mais experientes para trabalhar na verdadeira implementação das aplicações.

O artigo gerou uma grande quantidade de comentários no próprio blog do autor e no SlashDot. Edgar Zambrano, consultor da Tata Consulting, realizou em seu blog algumas considerações importantes, entre elas:

Estarão mesmo os processos de software destruindo a paixão dos desenvolvedores? Devemos repensar a forma como produzimos software? E seria realmente possível confiar que os desenvolvedores seriam permanentemente criativos, ao mesmo tempo garantindo que as mudanças na forma de produção não teriam impacto negativo sobre receitas e prazos?

Zambrano afirma, ainda, que embora não haja uma solução simples para o problema, deve-se buscar um equilíbrio entre a quantidade de processos e o estímulo à criatividade.

Se os processos estão oprimindo os desenvolvedores, é possível que não estejam sendo aplicados corretamente, ou que ainda não tenham sido adaptados à natureza do projeto.

Embora a criatividade e a paixão sejam essenciais, argumenta, talvez não sejam suficientes para o sucesso dos projetos. 

Deve-se focar em processos que aumentem as chances de que os projetos sejam finalizados no tempo previsto e com alta qualidade – lembrando que a criatividade pode também ser usada para a elaboração de processos melhores e de novas formas de trabalho. É dessa maneira que a engenharia de software abraça a criatividade e a pesquisa.

Zambrano conclui que o equilíbrio entre a paixão e o uso de processos deve ser buscado para cada projeto, através do aprendizado baseado em experiências anteriores. Recomenda ainda que deve manter uma abertura a novas ideias, padrões emergentes e lições aprendidas durante crises.

E você, leitor, sente-se no seu dia-a-dia beneficiado ou prejudicado pelos processos? É capaz de imaginar – ou mesmo trabalha – em um projeto de grande porte sem processos estabelecidos?

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT