O que é Software Craftsmanship?

Por meio de um twitter de @lucabastos, terminei vendo uma apresentação de @sandromancuso & @activelylazy sobre essa nova onda rolando a algum tempo já, e terminei conhecendo por acaso esse movimento chamado de Software Craftsmanship.

Confesso que não conhecia ainda esse movimento mas pela apresentação que vi no slideshare me pareceu bastante interessante e já simpatizei de cara (inclusive depois de estudar um pouco o movimento eu assinei o manifesto, e no momento que assinei existia 213 brasileiros que já haviam assinado) .

Se formos traduzir literalmente Software Crafsmanship significa algo em como “Software Artesanal” e o movimento gira em torno de sermos melhores artesões.

Apesar do manifesto do Software Craftsmanship só ter sido criado em 2009, suas raízes vem desde 1999, com a publicação do conhecido livro Pragmatic Programmer, que trata sobre como ser um programador melhor, em diversos sentidos da palavra.

Uma definição de software craftsmanship é a seguinte:

It’s a lifestyle where developers choose to be responsible for their own careers and for improving their craft, constantly learning new tools and techniques. Software Craftsmanship is all about putting responsibility, professionalism, pragmatism and pride back into software development.

Figuras renomadas, como Robert C. Martin (ou Uncle Bob) que inclusive participou da criação do manisfesto ágil , apoiam o movimento. O próprio Uncle Bob escreveu:

The original torch of the Agile message has changed hands, and is now being carried by the Software Craftsmanship movement.

Segundo ele mesmo colocou, o movimento do software craftsmanship seria uma “extensão” do manifesto ágil, obviamente sem anular os pontos que foram citados no manifesto ágil. Dessa forma, vamos analisar o “manifesto do software artesanal”, que tem os seguintes valores:

Not only working software, but also well-crafted software;
Not only responding to change, but also steadily adding value;
Not only individuals and interactions, but also a community of professionals;
Not only customer collaboration, but also productive partnerships.

Muito legal esse manifesto, e como podemos perceber o ponto central por trás desses valores é sermos melhores programadores, e consequentemente nossos artesanatos serão bem melhores do que são hoje em dia. Além disso, é preciso parcerias onde possamos nos desenvolver, formando uma comunidade de artesãos de software capacitados.

@sandromancuso & @activelylazy em sua apresentação falaram das características do papel de artesão de software. Listei algumas aqui:

  • Nós controlamos nossas carreiras;
  • Artesão de software não é uma profissão comum daquelas que dá 18:00 e vamos pra casa;
  • Intolerância a código ruim;
  • Somos profissionais e somos pragmáticos;
  • Nós estamos continuamente aprendendo e interessados em aprender;
  • Nós nos importamos e somos orgulhosos do nosso trabalho 🙂

Para sermos melhores artesãos, é sempre preciso:

Criatividade, Visão Crítica, Base teórica e Habilidades Práticas;

Além disso, é preciso estar ligado no que Software Craftmanship NÃO É:

  • NÃO É um certificado
  • NÃO É um curso
  • NÃO É um livro

Software Craftmanship é ATITUDE!

Anúncios

6 comentários sobre “O que é Software Craftsmanship?

  1. Brother, vc tá ficando cada vez melhor!!! muito bom esse post!!! adorei o movimento e depois de pesquisar um pouco, já assinei! Ainda tenho muito o que melhorar profissionalmente mas olhando para a lista que vc fez, parece que tava falando de mim. odeio código mal feito, eu piro… fico doido para fazer um refactoring. qualquer brecha eu aproveito para melhorar o código. alguns colegas dizem: porpino para com isso, termina logo esse trosso. heheheh. Que bom que isso eh um manifesto!! agora posso dizer que nao sou só eu! hehehehe

    Parabens cara!!!

    • valeu porpino! muito legal mesmo saber que cada vez mais desenvolvedores estão deixando de querer somente fazer…. e sim querendo quere fazer da MELHOR forma possível! 🙂 well-crafted software! Artesanato bem feito!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s