É interessante como quando falamos em agilidade, temos dois lados praticamente muito diferentes, e que se tocam quase sempre somente nos valores. Esses lados são o lado de pessoas (humanas) e o lado da engenharia (exatas).
Do lado humano estudamos técnicas de coaching, mentoring, negociação, facilitação, comunicação, liderança, resolução de problemas, psicologia, etc.
Do lado técnico estudamos padrões de arquitetura e de projetos, linguagens, paradigmas de programação, arquitetura de software, técnicas de interface gráfica, testes automatizados, modelagem de dados, etc.
Os dois lados são agilidade. Um não vive sem o outro.
De nada adianta você ter somente o lado humano, você vai ter um processo facilitado, onde todo mundo se comunica bem, se entende, produzindo um software ruim e insustentável.
Também não adianta ter os melhores testadores, codificadores, arquitetos, capazes de produzir um software tecnicamente impecável, mas que são incapazes de colaborar com o cliente e entre eles, que não consegue se comunicar, que não entrega ROI, que não consegue decidir o que tem que ser feito ou realizar um trabalho coeso.
Vejo com frequência times que focam muito em um lado, e esquecem o outro. Para mim estes dois lados são como as duas asas de um pássaro, sem as duas ele não levanta vôo.
Vejo times que adotam Scrum, e esquecem a engenharia, trabalham com Scrum flácido. Um time que nunca escreveu um teste automatizado, tendo oportunidade para fazê-lo, não é ágil. E vejo times com grande foco em TDD, em OO, altamente técnicos em HTML e Javascript, mas que não se preocupam em realizar um bom contato com o cliente. Os dois falham.
Para entregar os dois lados da agilidade você precisará de pessoas com perfis muito distintos. Muito raramente encontramos pessoas com os dois lados bem desenvolvidos, e quando elas aparecem são resultado de muito estudo e muita experiência.
Você tem essas pessoas no seu time hoje?
Giovanni Bassi
Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.