25 outubro 2008

Falando em Agile: David Anderson parte 2

Continuando de onde parei, mais David Anderson.

No último post, expliquei o ponto de Como estimular 'Quase Zero' defeitos em uma equipe.

Após isso, o David apresentou sua visão sobre Priorização, seguindo a receitinha que ele apresentou no início da palestra.
Para conseguir priorizar corretamente, primeiro é necessário identificar o seu mercado. Citando Michael Poter, identifica-se 3 players diferentes:

  • Líderes em custo: Menores preços, maior abrangência. Não necessariamente com qualidade diferenciada.

  • Líderes em diferenciação: Possuem itens que os diferenciam completamente no mercado

  • líderes em nichos: Atuação em grupos bastante específicos de clientes


Mas como priorizar? Seguindo o Planejamento Estratégico!

Bastante interessante essa abordagem, e a justificativa é: Por que utilizar aqueles diferenciadores comuns de prioridade. MoSCoW?? Prioridade 1, 2 ou 3?? Não né!! É necessário que esta informação seja o mais próxima da realidade do mercado em que o produto se encontra. Por tanto, ao invés das prioridades mais comuns que usamos para as funcionalidades, tente a seguinte abordagem:

  • Commodities: Funcionalidades que todos os demais players tem. São aqueles requisitos básicos para o seu produto. Ex: um editor de textos moderno precisa ter a possibilidade de impressão.

  • Diferenciadores: Funcionalidades que os concorrentes não possuem. É o crème de la crème da sua aplicação. Lembre-se: normalmente, não é o mais necessário

  • Spoilers: Funcionalidades que os outros têm e que você gostaria de ter também. Que tal extrair uma fatia do mercado do concorrente? Esse é o espírito para esta prioridade

  • Redutores de custos: Itens que farão você, como empresa, produzir mais e mais barato!



Assim, podemos pensar que, impreterivelmente, Commodities serão produzidos primeiro no seu projeto. E as demais prioridades sendo alocadas à medida que o projeto avança no tempo. Pense a respeito... vou ter colocar isso pra rodar na empresa... vamos ver no que dá.

Segundo David, variação causa muito desperdício, por tanto, também precisa ser combatido. Entenda variação como falta de pradronização nos processos produtivos, falta de comunicação, objetivos não claros ou conhecimento não compartilhado. Como resolver: simples! Agile Neles!!

Práticas para redução de veriação:

  • Pair Programming

  • Design, Codificação e testes utilizando Peer review

  • Trabalho colaborativo com grupos multidispciplinares

  • Análise estática e dinâmica de código

  • Ciclos rápidos de Feedback, através de Integração Contínua

  • Kanbam!!



Bem... este foi o "resumo" da apresentação do David, que também fez um treinamento de 2 dias com alguns sortudos... recebi ótimas e péssimas referencias sobre o curso... pena não ter ido.


Até mais!

3 comentários:

  1. Nao me convenceu a abordagem das prioridades. Acho que mais geraria confusao que outra coisa. Algumas veces um redutor de custo pode ser mais importnte que um commodity ou vice-versa.

    Me parece que as prioridades de cada funcionalidade devem ir de acordo com o retorno que elas irao oferecer: mais retorno = maior a prioridade.

    E como se mede mais ou menos? Com numeros. Por tal motivo acho que priorizar com numeros e melhor.

    ResponderExcluir
  2. Pois é, isso me veio à mente tb... Gostei da abordagem justamente pq ela eleva um pouco a discussao sobre até funcionalidades, dando uma visão de negócio ao produto. Talvez seja mais fácil para uma equipe de desenvolvimento entender o porque uma funcionalidade deva ser incorporada, ou ainda para que o cliente também entenda quando é a hora de investir mais em arquitetura de software, ou programar um release planning "seco", quer dizer, igual aos concorrentes...

    Até mesmo no diagrama apresentado na apresentação, o david indicou um caminho interessante:
    Produzir commodities inicialmente, e ir incorporando nas sprints cost reductors e spoiler...

    Avaliar por números, na minha visao, seriam bastante complexo... e justamente por isso, Tudo é prioridade máxima para os clientes...
    Essa abordagem pode ser mais uma na tentativa de esclarecer melhor "o que devemos produzir"

    ResponderExcluir
  3. Este comentário foi removido pelo autor.

    ResponderExcluir