DevSecOps

24 dez, 2015

Qual é o segredo do desenvolvimento de software de sucesso?

Publicidade

Este artigo foi publicado em 02/07/2015. Por ter sido considerado um dos melhores artigos de 2015, foi republicado hoje.

Se alguém te perguntasse qual é o segredo do desenvolvimento de software de sucesso, qual seria o ponto chave para que a coisa realmente funcionasse? Já fiz essa pergunta para alguns especialistas, e cada um puxou a coisa para seu lado: o DBA falou que o mais importante é o banco de dados, o arquiteto falou que o mais importante é blue-print da arquitetura, o gestor já falou que o mais importante é o plano do projeto e o programador já defendeu o Java, afirmando que é uma boa plataforma.

Infelizmente, nenhum deles acertou. Para desenvolver um software, realmente é necessária toda a “parafernálias” chamadas de infraestrutura. Um bom banco de dados, uma boa arquitetura, um plano de gestão coerente e adaptativo e uma ótima plataforma como Java, .NET ou PHP. Mas o segredo não está neles.

Você pode ter a melhor infraestrutura do planeta e os melhores profissionais, mas se for construindo o software fora da expectativa, nada disso vai resolver.

O segredo está na colaboração!

Colaboração se divide resumidamente em 3 itens:

Comunicação

Como o cliente interage e repassa as informações das suas necessidades para a equipe de desenvolvimento vai afetar tudo. Como o cliente interage e repassa as mudanças das necessidades para equipe de desenvolvimento vai afetar tudo.

Feedback

Como a equipe de desenvolvimento interage e repassa o entendimento do precisa ser feito para o cliente vai afetar tudo. Como a equipe de desenvolvimento interage e repassa os riscos técnicos acerca daquilo que precisa ser feito vai afetar tudo.

Expectativas

Como as mudanças de necessidades, negócios e tecnológicas são esclarecidas e alinhadas entre o cliente e a equipe de desenvolvimento vai afetar tudo.

“Um bom software não se origina de ferramentas CASE, programação visual, prototipagem rápida, uso de tal plataforma ou tecnologia de objetos. Um bom software é resultados de pessoas. Assim como é o caso de software ruins (…), já que software é criado por pessoas e usado por pessoas, uma melhor compreensão das pessoas, como colaboram, como trabalham em conjunto é a base para melhorar o desenvolvimento de software (tradução minha)”. – Livro The Peopleware papers: notes of human side of software. Larry Constantine.