Uma reflexão sobre Software Craftsmanship

Muitas pessoas dentro e fora da comunidade de Software Craftsmanship referem-se a Craftsmanship como uma “Metáfora” para o Desenvolvimento de Software. Nós mesmos frequentemente nos referimos ao Software Craftsmanship como uma metáfora sem pensar muito no que isso significa para nós. Pensando mais profundamente, e olhando para nossos comportamentos e valores dentro da comunidade, não consideramos Craftsmanship como uma metáfora para o Desenvolvimento de Software. Dizer que Craftsmanship é uma metáfora para o desenvolvimento de software é dizer que é como um ofício, mas não literalmente um ofício. Essa não é a nossa perspectiva - achamos que o desenvolvimento de software é um ofício.

Em primeiro lugar, vejamos a definição do dicionário de Craftsmanship. No dicionário Oxford English, Craftsmanship é definido como “habilidade em um ofício específico”. Isso levanta a questão: “O que é um ofício?”. O mesmo dicionário define Craft como “Uma atividade que envolve habilidade em fazer coisas à mão.”. Então, rotulamos o desenvolvimento de software como um ofício porque fazemos software manualmente? Há mais na frase “fazer as coisas à mão” do que o óbvio imediato.

“Fazer as coisas à mão” é uma parte inata de como trabalhamos. Envolve a manipulação ou modelagem de um material com uma forma-tipo em nossas mentes para alcançar um determinado resultado. Há feedback sensorial constante, seja por meio do toque, visão, sensação ou uma combinação deles. Trata-se de uma evolução constante do resultado desejado, em nossas mentes, de acordo com nossa compreensão variável do material e do resultado desejado. É uma conexão constante entre a mão, os sentidos e a mente. É um ato de fazer. Nós argumentaríamos que o desenvolvimento de software é um ato de fazer e, portanto, pode ser rotulado como um ofício. Isso não é uma metáfora, é um rótulo para quem vê o ato de fazer software por essa perspectiva.

Uma vez que entendemos que Software Craftsmanship não é uma metáfora, também quebramos as restrições que uma metáfora impõe. As práticas associadas ao desenvolvimento de software não precisam estar vinculadas a outros ofícios ao longo da história. Podemos aprender com esses ofícios e práticas associadas, adotar e adaptar os que são relevantes e ignorar os que não são. Podemos criar nossas próprias práticas (por exemplo, práticas Agile e XP) que são diferentes porque nosso ofício é diferente dos outros, assim como outros ofícios são diferentes uns dos outros. Na verdade, já temos essa visão e não estamos seguindo cegamente as práticas arcaicas de artesanato do passado. No entanto, estamos aprendendo lições dessa história para levar nosso ofício para o futuro.

Para nós, Software Craftsmanship não é sobre uma hierarquia de mestre para aprendiz. Nossos aprendizes não têm mestres craftsperson que os ordenem. Na verdade, não temos mestres craftsperson. Nossos aprendizes têm mentores que os ajudam em sua jornada para aprender habilidades específicas. Também reconhecemos que os mentores não são superiores aos nossos aprendizes. Na verdade, vemos que todos somos mentores em alguns aspectos e aprendizes em outros. Nossos aprendizes podem ensinar uma ou duas coisas para os funcionários mais graduados de nossa empresa. A razão pela qual os chamamos de aprendizes é porque sentimos, junto com os aprendizes, que os aprendizes podem se beneficiar de um período concentrado de aprendizado antes de termos certeza de que estão prontos para trabalhar com os diversos desafios que enfrentamos com nossos clientes .

Aprendemos com nossa história e entendemos que alcançar a perfeição versus fazer o trabalho é um dilema enfrentado pelo Craftsmanship ao longo dos tempos. Valorizamos o pragmatismo e entendemos que o ato de fazer software é agregar valor ao negócio, às pessoas diretamente afetadas e ao ambiente no qual nosso software viverá e evoluirá. Entendemos que o ato de fazer software é um esforço social e não apenas um esforço técnico. Na verdade, sabemos que sem uma equipe coesa podemos esquecer de fazer software de maneira significativa.

Entendemos que nosso ofício é jovem, mas também muito importante para o nosso futuro como humanidade. Entendemos que precisamos aprender uns com os outros e ajudar uns aos outros a avançar em nosso ofício. Sabemos que, como em qualquer outro setor, certos grupos estão sub-representados em nosso ofício. Nós, como comunidade, estamos totalmente comprometidos com a diversidade e a inclusão. Estas não são apenas palavras vazias. Nossos membros estão ativamente envolvidos em nutrir, encorajar e orientar pessoas desses grupos a ingressarem em nosso setor. Temos orgulho de ser amigáveis, prestativos, abertos e sensíveis a todos.

Entendemos a importância da comunidade e da inclusão para garantir que nosso ofício se baseie na bela diversidade que a humanidade nos oferece. Dizemos isso porque vemos isso nas comunidades de Software Craftsmanship das quais tivemos o prazer de fazer parte. O espírito dessa mesma comunidade vive em nossa empresa. Dedicamo-nos a ensinar e aprender, seja dentro de nossa comunidade ou de nossos clientes que são invariavelmente atraídos para nossa comunidade quando a experimentam em primeira mão.

Nosso ofício é jovem, mas gostamos de pensar que estamos fazendo a diferença para um futuro melhor.