"Outra coisa que o pessoal faz é bater em morto. Ficam martelando e martelando essa questão da cascata. Por favor, métodos ágeis não são a solução para a cascata. A solução é desenvolver de forma iterativa incremental, e isso já existe há muito tempo, foi criado muito antes do agile."
Prestem atenção ao texto em negrito. Acontece que os métodos ágeis como o XP são iterativos e incrementais, portanto, o autor afirma uma coisa na primeira sentença e se contradiz na segunda sentença !!!
Outra coisa, os métodos ágeis não são uma alternativa aos métodos em cascata, per si, mas sim uma alternativa aos métodos burocráticos, inchados e cheios de artefatos que não agregam valor ao desenvolvimento de software. O autor nem mesmo conhece os preceitos básicos do movimento ágil, trata-se, portanto, de uma argumentação equivocada contra o movimento ágil.
"Então o pessoal pega uma solução que já existia e já é solucionada e vende isso como uma solução nova para um problema velho, mas que na verdade é a única solução, pelo menos é o que os caras dizem. Pura mentira! E digo mais, o RUP já era iterativo incremental e já resolvia o problema que os ditos métodos ágeis resolvem. Mas isso eles não gostam muito de falar, por sinal alguns só falam em UP, por que acreditam que essa letra R é profana."
O parágrafo acima é tão problemático que vou ter que fatiá-lo. Vejamos,
"Então o pessoal pega uma solução que já existia e já é solucionada e vende isso como uma solução nova para um problema velho, mas que na verdade é a única solução, pelo menos é o que os caras dizem. "
As idéias são recicladas continuamente em informática. Esta é a regra e não há mal nenhum. As idéias centrais do XP já eram utilizadas aqui e ali em vários projetos durante vários anos. XP não é 100% original, assim como o RUP não é.
"E digo mais, o RUP já era iterativo incremental e já resolvia o problema que os ditos métodos ágeis resolvem."
Finalmente o autor falou algo verdadeiro. Só que na ânsia de "desancar" o movimento ágil ele se esqueceu de ver que o XP também é iterativo e incremental.
"... Mas isso eles não gostam muito de falar, por sinal alguns só falam em UP, por que acreditam que essa letra R é profana."
De onde o autor tirou uma besteira dessas?
O "R" de RUP vem de Rational, que é um produto, e marca registrada, da IBM. As pessoas usam Unified Process (UP) para evitar potenciais problemas com copyright. Além disso, o UP é usado para descrever o processo genérico do qual o RUP é um refinamento.
"O manifesto ágil é tão abrangente quanto especifico e claro como uma bula de remédio tarja preta, ou seja, deslocamento total da realidade. Os caras têm a incrível habilidade de dizer que tudo que era bom que existia antes de 1995 já era Agile e tudo de bom que vai existir nos próximos 100 anos vai ser agile também."
O autor coloca os carros na frente dos bois aí (isto está cansando...).
Não é que o movimento ágil ache que tudo de bom que existia antes de 1995 era ágil. Não é isso. O que acontece é que o movimento ágil pegou tudo de bom que existia antes e inseriu nas metodologias (isso é pecado?). E tudo de bom que aparecer nos próximos 100 anos pode e deve ser incorporado em métodologias ágeis ou em métodologias "pesadas" como o (R)UP. Isto se chama evolução.
"O pensamento é mais ou menos assim: se é bom e funciona, é agile, se é ruim, não é agile. As pessoas não têm nem a humildade de assumir que projetos ágeis falham por defeitos do próprio processo, que é, ao mesmo tempo, definido e indefinido."
Projetos (ágeis ou não) falham por uma série de fatores, dentre os quais o principal é o fator humano. É claro que se o processo desconsidera o fator humano então ele possui uma falha grave. Agora, afirmar que os processos utilizados em metodologias ágeis são definidos e indefinidos (ao mesmo tempo!) é burrice. Pegue o Scrum, por exemplo, onde temos os Sprints, os encontros diários, etc. As regras estão lá, basta conhecê-las.
"Falando de CMMI, como os caras têm aversão a isso! Tal aversão pode ser comparada aos maiores fervores religiosos do nosso mundo. Ter documentação não é ruim, ter um pilha com 50 mil folhas de documentação e papel e diagramas não é ruim, desde que isso tenha valor."
Sim, uma pilha de 50 mil folhas de documentação e papel e diagramas não é ruim, a princípio, pois depende da complexidade do software, mas QUEM vai atualizar isso?
A documentação deve evoluir junto com o software e não ser emoldurada na parede. O que acontece é que estas 50 mil folhas acabam mofando em um canto do escritório enquanto o software já está lá na frente, evoluindo. Mesmo que essas 50 mil folhas tenham algum valor, ele irá se perder com o tempo, pois são necessários recursos humanos para manter tamanha quantidade de documentação alinhada com a evolução e mudança dos requisitos.
O tópico "Quarto passo: a Arrogância Agile (AA)" é o único que salva deste artigo tosco. Não existem muitas meias-verdades nem muitas falácias nesta parte, portanto podemos pulá-la sem dó.
"CMMI não funciona, ou demora muito, ou é complicado. Em alguns cenários usar agile pode ser como usar veneno, ou seja, só vai matar o projeto mais cedo. Não se esqueçam de que o projeto que deu a vida ao XP foi um projeto fracassado."
Ah, entendi. Vamos incutir o medo: não usem isso ou o projeto de vocês vai fracassar também. Divertido, mas fracassa como argumentação. O autor volta ao tema do "one size fits all" que nunca é a solução. Use metodologia ágil onde for viável!
Eu conheço uma tentativa de usar CMMI em uma corporação que foi um fracasso. Por isso eu não devo nem olhar mais para CMMI? É claro que não!
"CMMI nada mais é do que uma grande régua, ou seja, ele serve para medir o seu processo, ele vai ao nível do "O que" e não do "Como", mas não deixa de ser uma boa maneira de evoluir a sua empresa e qualidade."
Dizer que CMMI é uma grande régua é a mesma coisa que dizer que giraffa é um cavalo com pescoço grande. CMMI é um meta-framework de integração de modelos de processos, onde existe muito mais coisas que simplesmente métricas. Dizer que usa CMMI não é a mesma coisa que usar CMMI.
"Você não deve pensar "puxa, não vou usar métodos tradicionais porque isso pesa, vou ser ágil". Isso é uma besteira sem tamanho. "
Concordo. Pessoas inteligentes não fazem isso.
"Na prática, processo é != de concreto. "
Não diga! Nossa, você merece um prêmio por tamanho insight! Quando é que eu iria imaginar que, na prática, a teoria != prática.
"A cada projeto você vai customizar o processo para as necessidades do projeto e eu faço isso com CMMI. "
Você quer dizer CMMI-SW, certo? Ou você usa também CMMI-SE, CMMI-IPPD, e CMMI-SS? Isso eu duvido muito que alguém consiga utilizar 60% de tudo que tem no CMMI-SW, por exemplo.
"Em todo o projeto você vai ter que balancear formalismo e disciplina."
E quanto às disciplinas formais? Elas já são automaticamente balanceadas?
"Determinados projetos precisam de mais formalismo e outros não, isso vai muito de cada organização, cada projeto e necessidade. "
Peraí! Esta eu lembro, é uma afirmação que se encontra em 10 de cada 10 livros de engenharia de software nacionais e internacionais, certo?
"O pensamento certo é ser pragmático, e não dogmático."
Mas esse é um dos princípios do movimento ágil: pragmatismo. Em projetos de software significa eliminar as gorduras do projeto, isto é, atividades e artefatos que não adicionam valor ao projeto. Detalhe: esse "valor" depende de cada projeto, é óbvio.
"Estimar não é ruim, não é errado; "
XP e Scrum fazem estimativas durante o ciclo de vida do projeto.
"gerenciar riscos é um boa prática, ter um gerente não significa ter um capataz. "
XP, Scrum e RUP põem os riscos no centro da discussão. As próprias stories do XP são priorizadas em termos de valor para o cliente e risco de implementação. Quanto ao gerente/capataz, trata-se de um problema cultural que passa até mesmo ao largo de quaisquer metodologias.
"Gestão é comunicação e liderança, e isso se faz mesmo na metodologia ágil."
Concordo.
"No final das contas você tem que ter agilidade/produtividade, senão o projeto não vinga."
Caramba! O cara simplesmente manda desconsiderar tudo que ele escreveu antes!!! Assim papai não aguenta...
"Você tem que produzir, mas isso não tem nada a ver com utilizar ou não utilizar métodos ágeis, tem a ver com processo, com balanço de disciplina e formalismo."
Este parágrafo está quase bom, realmente, a não ser pela parte disciplina x formalismo. De novo não!!!
"Ah, e os casos de uso e as ferramentas cases também não são vilões. Você não precisa colocar tudo em post-it. "
Um dos gurus do movimento ágil, Alistair Cockburn, é defensor ferrenho do uso de casos de uso em metodologias ágeis. Leia, meu filho, leia e aprenda!
"Esse não é um objetivo. O objetivo é atender ao cliente, e muitas vezes este atender não é feito com software, mas sim com processo. "
OK. Mas em metodologias de desenvolvimento de software o objetivo é entregar software de qualidade no prazo e custo acordado. Agora, se o problema for fazer reengenharia de processos, então o software é apenas parte da equação.
"Você pode usar isso e não é para apoiar e para agregar e para lhe dar benefícios."
Alguém sinceramente entendeu esse parágrafo?
"E pense bem, nem todo o projeto será de equipes colocadas, ou seja, equipes que estão no mesmo espaço físico."
Espere um pouco, me dê um minuto que vou pensar um pouco nisso que você escreveu. É muita informação nova para mim ... [ modo irônico = ON ].
"Sempre precisamos ponderar se a solução que os ditos métodos ágeis estão dando é uma solução única ou se existem outras opções. Não é inteligente se apegar a dogmas. Em uma caixa de ferramenta não existem só as familias de chaves... "
Ah, uma coisa inteligente no meio de tanta besteira...