terça-feira, 23 de novembro de 2010

What Killed Waterfall Could Kill Agile - Meus 2 cents

O Robert Martin, conhecido como Uncle Bob, escreveu um artigo interessante e  aderente ao momento que estamos vivendo, principalmente após a saída do Tobias Mayer da Scrum Alliance.

Em seu artigo, Mayer escreveu:
...who (or what) is the Scrum Alliance?  There is no leadership, no guidance. There is no purpose, no vision, no direction. The SA appears to exist to certify new trainers who will teach more CSM classes so the membership grows, and the demand for more CSM classes grows, so more trainers can be certified, and so on ad infinitum. Each trainer, each certification adds more money to the SA bank account. And I don’t see where anything is being given back to the community. ...
Com isso, as cartas foram colocadas na mesa. A maioria dos agilistas brasileiros que conheço são contra certificações, pois afirmam ser uma máquina de dinheiro e que, na verdade, não certificam nada, pois não colocam o candidato para pensar, fazendo com que seja necessário "apenas" decorar e conhecer algumas regras, exatamente como nossos vestibulares e concursos públicos. Claro que existem exceções, mas esta parece ser a regra. Compartilho desta opinião.

E o artigo do Uncle Bob vai exatamente nesta direção. Ele diz que em meados dos anos 90, o processo chamado waterfall dominava o mundo do desenvolvimento. A engenharia de software era definida pelo waterfall e pela gama de documentação de análise e desenho. Código era detalhe.

Com isto, foi formada uma elite de engenheiros, arquitetos e analistas de sistema que eram responsáveis pela engenharia "real", satisfazendo as duas primeiras fases do waterfall.

No Scrum, o time manda. O "elitismo" do waterfall havia sido atacado. Nem Scrum ou o XP (eXtreme Programming) tinham papeis para cargos de autoridade sem responsabilidade. No Scrum, o poder do time é maior que o poder do arquiteto. Contribuições são bem vindas, mas não necessariamente seguidas.

Uncle Bob segue explicando que no Scrum, existe a figura do coach. A responsabilidade desse cara é defender o processo. Ele deve lembrar todos de seu comprometimento. Quando o cronograma escorrega e o cliente está chateado, é responsabilidade do coach lembrar o time de que será possível voltar ao cronograma e tranquilizar o cliente mantendo a disciplina. No Scrum esse é o papel do Scrum Master. O coach tem a responsabilidade de lembrar e não de comandar.

O problema, segundo Uncle Bob, foi a criação do CSM (Certified Scrum Master). Lembrando que o ideal é o SM emergir do próprio time, disse que na prática, os CSMs já possuem um background gerencial e, em essencia, adicionaram o CSM ao PMBOK.

O problema, na verdade, está onde quase todas as certificações falham: como em um passe de mágica, um CSM já será capaz de gerenciar um time Scrum. Ele tem autoridade para gerenciar times Scrum. E isso vai de contra o real significado do papel do SM, que deveria ser o de um "gentle reminder" do processo e da disciplina.

Um verdadeiro coach no XP não gerencia o processo. Na verdade, esse papel torna-se opcional, quando a equipe já amadureceu o suficiente para não depender mais de lembranças.

O problema do Scrum, segundo Bob, é que o papel do SM se tornou tão importante que passou a ser necessário uma certificação. Se o seu time não tem um Certified Scrum Master, provavelmente tem alguma coisa errada com você.

Isso é muito grave pois, em primeiro lugar, arrumaram mais uma máquina de dinheiro. E ainda mais grave pois, para conseguir fazer a máquina gerar mais dinheiro, elevaram a importância de um papel que deveria ser opcional.

Concordo com quase todo o texto. Só não concordo com a conclusão, onde Uncle Bob diz que isso pode ameaçar o movimento ágil. Acredito que o movimento é mais forte que a Scrum Alliance e até mais forte que o próprio Scrum. Acredito que suas técnicas, principalmente as de desenvolvimento, como o TDD e integração contínua, vieram para ficar. Se a metodologia que você está adotando está entregando rapidamente mais valor de qualidade para o cliente, pouco importa o nome que ela tem.


http://cleancoder.posterous.com/what-killed-waterfall-could-kill-agile