[Agile 2008 Conference] Mary Poppendieck: The five dimensions of a system

Agile 2008 - Mary PoppendieckPela primeira vez tive a oportunidade de assistir uma apresentação da Mary Poppendieck, e devo dizer que fiquei impressionado pela qualidade da apresentação… A mulher é simplesmente uma enciclopédia humana!

A Mary começou falando sobre histórias de “plank roads” (estradas de tábuas de madeira). Há muito tempo, quando todas as estradas eram de terra e cheia de buracos, alguém teve a idéia de fazer estradas de tábuas de madeira. Os benefícios foram muitos e enormes para a época: os transportes ficaram muito mais rápidos, o desgaste dos carros ficou muito menor, e por aí vai. Como essas estradas tinham um custo muito alto para serem produzidas, estimou-se que seriam necessários dez anos para que elas se pagassem. No entanto, quando as estradas ficaram com cinco ou seis anos começaram a se deteriorar, e era seria necessário fazer uma grande reforma para que elas voltassem a ser usáveis. Desta forma as estradas de tábuas se mostraram um péssimo negócio, pois com esse ciclo de implementação e manutenção jamais se pagariam. E aí a Mary levantou uma questão: assim como acreditava-se que as estradas de tábuas de madeira resolveriam todos os problemas do mundo até que os pontos negativos foram percebidos, será que o desenvolvimento ágil também não é uma estrada de tábuas e a qualquer momento vamos achar seus problemas?

Isso foi o gancho para ela mostrar várias histórias de estradas de tábuas, ou seja, histórias de coisas que acreditava-se que eram excelentes mas que depois foram mostrando seus problemas. Ela citou vários exemplos desde o waterfall até as ferramentas RAD, e levantou vários pontos sobre porque essas idéias fracassaram.

O que estamos tentando fazer hoje com desenvolvimento ágil é uma tentativa de resolver vários desses fracassos que tivemos em experiências passadas. A experiência com esses problemas e o entendimento das suas causas fez com que nascessem várias das linhas de desenvolvimento ágil que temos hoje como o XP, Lean Software Development e Scrum. Ainda acredita-se que o desenvolvimento ágil está no caminho de resolver vários problemas, portanto, respondendo à pergunta inicial, na opinião da Mary ainda não existem evidências de que o desenvolvimento ágil é uma “estrada de tábuas”.

Para encerrar, a Mary falou das cinco dimensões de um sistema e algumas questões sobre essas dimensões. Se você responder sim para todas essas perguntas (ou pelo menos a maioria), você está no caminho certo para desenvolver software de qualidade, de forma eficiente e que atende aos seus clientes.

Motivo/Razão do sistema

  • Os especialistas técnicos estão sempre atualizados com o objetivo geral do sistema?
  • Os técnicos do time vão checar por sí mesmos qual é o verdadeiro problema que o sistema deverá resolver?
  • Existe um líder técnico que é responsável por atingir o objetivo do sistema e que guia o time tecnicamente caso necessário?
  • Existem ciclos de aprendizado para descobrir se o sistema está servindo para o que se propõe e melhorá-lo de acordo com os objetivos?

Estrutura

  • O time tem uma boa visão do todo sobre o que eles estão produzindo, sobre a empresa e sobre como o seu trabalho se encaixa no todo?
  • Existem ciclos de aprendizado que munem os desenvolvedores com feedback sobre o uso do sistema?
  • Os desenvolvedores menos experientes são treinados e supervisionados para garantir que eles produzirão código de boa qualidade que incorpora a aprendizagem de erros cometidos anteriormente?
  • O trabalho é revisado por alguém apropriado?

Integridade do sistema

  • A integridade do sistema é parte integrante do desenvolvimento, e quando ele é finalizado pode-se assumir que o sistema já está completamente testado?
  • O sistema é desenvolvido de tal forma que é necessário um tempo desprezível para merges e testes no final?
  • As falhas são raras e são investigadas a fundo para descobrir padrões que podem servir para resolver e previnir problemas similares no futuro?
  • Esse conhecimento é capturado, consolidado e disseminado de uma maneira efetiva?

Tempo de vida do sistema

  • O tempo de vida e possíveis futuras modificações são considerados no projeto e desenvolvimento do sistema?
  • As pessoas que vão operar o sistema estão envolvidas no seu projeto?
  • O time de desenvolvimento permanece envolvido com o sistema a longo prazo?
  • As recompensas estão estruturadas de forma que desenvolver um sistema robusto que funcione bem ao longo dos anos é o comportamento mais encorajado?

Resultados do sistema

  • O sistema atinge muito bem o seu objetivo e os clientes conseguem antecipar algum retorno sobre o investimento?
  • O sistema atinge seus objetivos financeiros, dentro do seu custo e prazo planejados?
  • O sistema funciona sem falhas e há confiança que ele continuará assim?
  • O sistema atende plenamento àqueles que o operam, usam, suportam, mantém e criam algum valor com ele?

Você pode encontrar os slides da apresentação no site da Mary Poppendieck.

Tags: , , , , ,

4 Responses to “[Agile 2008 Conference] Mary Poppendieck: The five dimensions of a system”

  1. Luca Bastos says:

    Muito bom seu relato da apresentação.

    Sabe que com toda minha idade eu nunca tinha ouvido falar em estrada de tábuas? No Rio, a região do Jardim Botânico onde tem canal ao lado do Jockey Clube, era chamada de ponte de tábuas.

    Nunca conheci nenhum sistema para o qual se pudesse dizer SIM a todas as questões, principalmente nos quesitos Resultados do sistema.

    E obrigado por compartilhar o link do PDF.

  2. Olá,

    Achei muito pertinente este post. Acompanho o seu blog a algum tempo e sei que você é um grande proponente de metodologias ágeis, então acho que não vou fazer amigos com o que vou dizer :)

    A minha impressão de metodologias ágeis é que elas deixam tantas ou mais questões em aberto do que as que elas se propõem a responder. Metodologias ágeis são apenas uma solução, que se aplicam a situações muito específicas. Elas não são o Santo Graal do desenvolvimento de software. O problema que se tem com metodologias ágeis hoje em dia é o mesmo problema que houve com todas as tecnologias/metodologias ‘da moda’ no passado: as pessoas acham que elas vieram para resolver todos os problemas.

    Não vieram. E daque a alguns anos, as pessoa que colocaram todas as esperanças e fichas nas metodologias ágeis vão estar escrevendo sobre como elas são falhas e não servem para nada.

    Eu não assumo o radicalismo em nenhum dos extremos. Acho que as metodologias ágeis têm seu nicho, e com o tempo elas vão se restringir ao seu nicho.

    Tendo dito isso, você tem feito um grande trabalho!!! Você e sua equipe são definitivamente um caso de sucesso!

    Um grande abraço,

  3. Domingos,

    Assim como você eu também não acho que as metodologias ágeis são o Santo Graal, mas tenho que concordar com o ponto da Mary Poppendieck que afirma que ainda não existem evidências de que elas são mais uma “estrada de tábuas”.

    Não sei se em alguns anos as metodologias ágeis serão consideradas tão ruins como você falou e nem arrisco um palpite – todas as pessoas que fazem isso no nosso mercado SEMPRE erram. Mas sinceramente não vejo esse futuro que você fala.

    Deixando os radicalismos, paixões e gostos de lado e só analisando friamente dados e fatos, é preciso admitir que as metodologias ágeis são o que há de melhor para lidar com desenvolvimento de software, e pelo que eu sei (que, modéstia a parte, não é tão pouco assim) continuará desse jeito por um bom tempo :)

    [ ]s, gc

  4. Deborah Grochovski says:

    Conquistou mais uma leitora para o seu blog… Mesmo não sendo da área, mas com interesses sobre como funciona esse mundo…
    Gostei do modo como escreve seus textos e expões suas opiniões… acaba sendo de fácil compreensão, chamando para leitura.
    Abraços.

Leave a Reply