Feliz entrada de anos pra todos! Estou de ferias!

Tudo começa com uma brincadeira muito boa. No dia anterior, o Guilherme Chapiewski apresentou um pouco da atuação dos líderes Ágeis na Globo.com e é claro, mantendo a imagem de uma empresa massa pra caramba!(Foi muito massa a palestra, logo escrevo um pouco sobre ela).
Mas, mantendo seu compromisso principal com a verdade, o Antonio Carlos mostrou como é realmente o trabalho na Globo.com: A competitividade é acirrada!!
A intenção da apresentação era realmente esclarecer o conceito de Product Owner, e o artefato Product Backlog do Scrum. O nome em si não importa, mas os princípios por trás dos papéis e dos artefatos.
Alegoria interessante:
Uma equipe Scrum é formada por:
Este é o principal motivador para o crescimento de métodos Ágeis. Assim, o que queremos é a agir rapidamente a qualquer Request de mudança. Ao invés de criar procedimentos para restringir mudanças, precisamos abraçar as mudanças adaptando-se o mais rápido possível.
O papel do PO primeiro de tudo é: Ele precisa entender o Cliente Ele precisa responder às seguintes perguntas:
Além disso também, o cliente é uma Ponte entre os Clientes e o Time, inclusive na hora de buscar mais informações quando seu conhecimento do domínio do problema não é completamente compreendida. Assim, ele facilita o contato entre o Business e o Desenvolvimento.
Existe sempre uma tenção entre este PO e a equipe. Em métodos Ágeis, TUDO é baseado em confiança. E qual o paradoxo desta realidade: estamos num mundo em que confiamos muito poucos uns nos outros, e desenvolvimento Ágil para funcionar precisa muito de confiança.
Espiral negativa da vez:
É isso que precisa ser mudado para que um ambiente ágil seja produtivo. Transparência é a palavra de um projeto Ágil. Inclusive, para que se entenda melhor essa alegoria. Imagine um projeto scrum como um barco: Se ele afundar, vai todo mundo pro buraco.
É necessário criar um ciclo virtuoso em que:
Na criação desta Visão, o Product Owner deve estar preocupado em conquistar a equipe como um todo. E para isso a visão deve ser:
Você é o product owner de um projeto? Qual a visão do seu software? e a equipe, entende essa visão?
Deve ser a referência sobre o Domínio do problema. Ele deve ser o ponto focal para a equipe, quando ela estiver em dúvida. E pra isso ele deve ter poder de decisão.
Receita para o fracasso:
Um product Owner que nunca decidiu nada. Criando a "Síndrome para o PO Mensageiro": Se para tomar qualquer decisão o PO precisa se comunicar com alguém para pedir a opinião, o problema está formado. Quais as consequências disso?
É necessário que o PO imponha respeito à equipe. Tudo que está sendo dito aqui é sobre pessoas, e a interação entre elas. Esqueça ferramentas! O que importa é a relação entre esse as pessoas, a maneira como você interage com elas. Comunicação Oral é o principal! Lembre-se disso: ferramentas não vão substituir o sucesso da interação pessoal entre as pessoas. (Repetitivo? náá)
Além disso, é obrigação do PO aceitar o que for produzido pela equipe. Para isso:
Aqui, o AC indica um estudo bastante interessante: A universidade de Michigan descobriu (há quase 10 anos), que equipes multiciplinares juntas produzem mais que o dobro do que equipes separadas por salas, predios, etc. Leia a notícia
Nota importante: é o PO que organiza o Release Plan para o produto. Ele que encontrará o melhor momento para lançar uma versão nova do produto.
Sim!!! Retorno sobre investimento!
É o foco do PO! Normalmente relacionado a dinheiro. Mas não necessariamente o dinheiro em si. Acima de tudo, ROI deve estar ligado a um objetivo mensurável:
Resumindo o que apresentamos acima: O Product Owner tem como função?
Lembrando que: Product Backlog é uma lista priorizada (em qualquer mídia) e ordenada com coisas que trarão algum benefício para o usuário.
Como descrever itens do backlog? User Stories!
AC ainda explicou sobre a profundidade na elaboração do Product Backlog, já explicado na apresentação: 10 ways to screw up with Scrum and XP. (Numa imagem muito bonita: 3D, tons pastéis, Estrelinha e um "r" no logo!)
Foram citados os modelos de priorização:
Principal Bibliografia Ágil sobre o assunto: Agile Estimating and Planning por Mike Cohn
No Modelo de Kano, deve-se categorizar o product backlog através do valor percebido pelo cliente. Em três categorias:
Para cada item do Backlog, faça duas perguntas:
No método de Benefício Relativo é necessário, primeiramente, que as estórias estejam estimadas. Após isso, preencha a seguinte tabela:
| Benefício em ter | Penalidades em não ter | SUM(BV) | Estimativa | BV/Est |
---|---|---|---|---|---|
Funcionalidade 1 | 1 | 9 | 10 | 2 | 5 |
Funcionalidade 2 | | | | | |
Funcionalidade 3 | | | | | |
Funcionalidade 4 | | | | | |
A Ordenação se dá pela coluna BV/EST
Mesmo sendo um método bastante interessante, em sua experiência, Antonio acredita que no final é o chutão que conta. A Utilização de personas pode ajudar bastante.
É isso... Esses relatórios estão ficando bastante extensos... mas espero ter passado a idéia da apresentação... aos que não assistiram...
Antonio: Parabéns pela apresentação!
(Acompanhe as impressões dele sobre o evento, além inúmeras referências)Danilo Sato e Francisco Trindade, ambos brasileiros e consultores da ThoughtWorks, fizeram uma apresentação bastante interessante: Em sua experiência trabalhando só com "bucha" (sim, vida de consultor nessa empresa não é moleza) a intenção era apresentar alguns anti padrões na implantação de métodos ágeis, que normalmente ocorrem. Pode parecer simples, mas Agilidade é uma questão de coragem e atitude.
Adendo: A ThoughtWorks é uma empresa cuja missão é: Revolucionar a Indústria de Software (Otimista? não! Desafiador!)
A apresentação inicia com o Danilo descrevendo um fator crucial na adoção de métodos Ágeis: pessoas . Pode ser um modelo completamente novo, é necessário uma mudança cultural bastante grande, fato normalmente ignorado, o que gera muitos problemas.
Ótima comparação! É a personificação da maior mal entendido relacionado a métodos Ágeis, descrito maravilhosamente no Dilbert:
Neste anti-pattern, apenas os métodos "fáceis" são incorporados, e normalmente interpretados incorretamente:
Lembre-se: Agile é, acima de tudo, sobre disciplina e trabalho duro. Num processo Ágil é muito mais fácil de quebrar a cara. Enquanto num processo tradicional você pode esperar 6 meses por uma versão num software, com métodos Ágeis em 1 ou 2 semanas, você precisa entregar algo.
Caso isso não aconteça, você terá decepções bastante frequentes, já que não existe preocupação com a série de princípios por trás dessa "abordagem ágil".
No início da implantação de métodos Ágeis, todos nós buscamos uma receitinha de bolo que nos permita usufruir de todo o proder de XP, Scrum, DSDM, Cristal, etc... E lá está você, implantando todas as práticas do livro eXtreme Programming. Mas isto não será suficiente, já que as práticas de um livro, mesmo que te levem a uma melhoria significativa, não possuem conteúdo . É necessário incorporar toda a filosofia de melhoria contínua por trás das práticas, para que se possa ir além. Receitas de bolo ajudam bastante no início da adoção, mas não devem ser encaradas como dogmas. Os princípios é que são importantes! Os princípios.
Não adianta apenas dizer que "somos ágeis", entregando software em uma semana, se estamos todos presos em silos:
Dar valor demais à velocidade como uma medida de performance, causará comportamentos disfuncionais em sua equipe. Normalmente, a equipe trabalhará para mostrar ao gestor o tão sonhado número mágico , esquecendo-se do foco de projetos ágeis: interação entre as pessoas, satisfação do cliente. Assim, o incentivo será o incorreto!
A intenção da velocidade é apenas uma ferramenta para ajudar na estimativa e previsibilidade. Assim, caso "cair a velocidade" possa ser inaceitável para um gestor, a equipe facilmente deixará de lado práticas engenheiristicas de qualidade, gerando software meia-boca. Alem disso, perde-se o valor de Refactoring para seu projeto, que é fundamental para manter a saúde de um sistema. Importe-se com a qualidade , e não com as burocracias. Isto fará sua aplicação perpetuar.
Vindo de outros modelos, esta definição não é normalmente ligada ao valor de negócio que um software deve gerar. Em métodos Ágeis é necessário além de escrever código, escrever os testes automatizados, alguns de aceitação, gerar um pacote para ser implantado no servidor de aplicação e apresentado no cliente para que ele avalie. Somente neste momento uma funcionalidade é tida como Pronta
Num projeto, é preciso existir esta definição. E ela deve estar bastante clara para todos da equipe. Mais informações.
Na visão do Francisco, ser o cliente é o papel mais difícil. Principalmente pelo fato de que é necessário compreender todo o domínio do problema: a entidade perfeita . Nesta visão, seguir todas as intenções e indicações do cliente/Product Owner guiará o projeto ao sucesso. O problema está em transformar esta persona cliente em o dono da verdade, ou deixá-lo sozinho, sem ajudá-lo a compreender o próprio processo de negócio. Normalmente, para algumas funcionalidades, o PÒ não sabe ao certo como será a solução, e por isso é necessário que a equipe, com o conhecimento de software ajude-o a resolver rapidamente seu problema.
Muitas vezes podemos pensar que Software é o centro do mundo, e deixamos a cargo do cliente dar todas as resposta em como produzir software. É necessário colaboração!!
Trazemos vícios de projetos antigos (tradicionais) para os projetos "Ágeis". Assim, algumas vezes, querendo escrever um pouco de documentação sobre o domínio do problema, criamos complexidades completamente desnecessárias. Precisamos nos questionar não apenas se estamos escrevendo certo o software, mas se estamos escrevendo o software certo. (Pense em YAGNI
Pow, legal esse negócio de User Story. Entao, pensa o PO do projeto: vou escrever todas as coisas possíveis de acontecer com o projeto nessa pilha chamada Product Backlog. Na equipe, isto pode gerar um problema. O trabalho em organizar e manter um PBL pode ser bastante problemático. Preocupar-se com um backlog gigantesco trás mais problemas que soluções. Muito provavelmente itens no final da pilha nem serão implementados no decorrer do tempo, e por isso, a equipe não precisa(deve) se preocupar com o que não está no seu campo atual de visão (Sprint)
Desenvolvimento Ágil é sobre mudança! É sobre melhoria contínua! Se você está há 3 meses desenvolvendo num projeto ágil da mesma forma, você não está desenvolvendo de forma Ágil. Preocupe-se com as retrospectivas, elas são o mais importante de todo o processo. É SEMPRE necessário refletir sobre como melhorar. Nem que seja um pouco, nem que seja o mínimo.
Bem... muito boa a conversa com os caras. Realmente muita experiência e bastante vontade de compartilhar essa experiência.
Intenção da apresentação:
Ágil é sobre pessoas! Compartilhe, colabore, ouça e faça! Não apenas nos livros, descubre para a sua equipe como trabalhar melhor!
até mais
Problemas em Inicialização de Projetos & Planejamento
Problemas Técnicos & de Requisitos
Problemas na Gestão de Stakeholders & Equipes
Problemas em Gestão de Projetos
Aristóteles escreveu que "Qualidade não é uma ação, é um hábito." Mais do que isso, é um estado de espírito. É um ato de consideração e respeito para com aqueles que vão, eventualmente, utilizar o produto ou serviço. É um reconhecimento e a comemoração da integridade, habilidades, valores e eficiencia de seus produtores ou fornecedores. Num nível mais alto, qualidade é a aplicação da Regra de Ouro do trabalho, o reconhecimento de que o produtor É o consumidor, cliente e cidadão; que cada produto e servição são um trabalho de arte, a ser criado com orgulho, polido com amor e recebido com gratidão. A mais forte motivação para produzir itens de alta qualidade e serviços é o prazer gratificante de fazê-lo. Desta forma, qualidade é a consciência e intenção do produtor. É o relacionamento direto entre pessoas, produtos e a sociedade, baseado em funcionalidade, imaginação, arte e amor. Por esta razão, qualidade é a expressão de respeito para consigo mesmo como criador.
O pioneiro do movimento pela Qualidade, W. Edwards Deming, acreditava que a melhorias em qualidade requerem a delegação de responsabilidade para os empregados organizados em equipes encarregados de entregar produtos que estejam de acordo com padrões que a própria equipe criou. Os membros da equipe, no modelo de Deming são desafiados pelos líderes a fazer melhor, e eles são apoiados e recompensados por assim o fazer. Construir responsabilidade pela qualidade em todas as descrições de trabalho permite apresentar claramente que Qualidade é responsabilidade de Todos.
Horário | Palestra/Evento |
---|---|
08:30 | Cadastramento |
09:00 | Abertura |
09:15 | Java na Ponta dos Dedos: A revolução Invisível [Maurício Leal] |
10:30 | Floggy: Produtividade e Simplicidade na Persistência JavaME [Thiago Rossato, Thiago Leão Moreira e Priscila Lugon] |
12:00 | Almoço |
13:30 | Glassfish v3: A nova geração de Servidores de Aplicação modular [Kohsuke Kawaguchi] - Palestra com tradução simultânea |
15:00 | Intervalo |
15:15 | Um bate papo sobre o uso de tecnologias Eclipse (RCP, GEF, EMF, SWT, JFace) no desenvolvimento de aplicações desktop. [Eduardo José Pereira] |
16:30 | A importância do Teste de software para a garantia de qualidade das aplicações Web [Érika Tatiana Hmeljevski] |
17:30 | Encerramento |
Please join me on Friday, 19 September for An Agile Readiness Assessment, a ThoughtWorks sponsored webinar.
Taking on Agile can appear to be an overwhelming commitment with no obvious place to start. For one thing, Agile is often a significant departure from how a team is operating, requiring organisational changes, new practices, and stricter discipline. In addition, because there are so many different things to be done - from continuous integration to Story based requirements - it's difficult to know what changes to make first. Finally, organisational constraints such as phase-based governance and shared QA can create questions about the extent to which Agile practices will have an impact, and raise doubts as to whether they can be taken on in the first place.
In this webinar, we'll discuss how to overcome stationary intertia and plot a course to Agile practice adoption.
- How can we critically assess the state of our practices today?
- What goals should we target given constraints and organisational realities?
- How do we prioritise what we should do first?
I hope you can attend on the 19th.
Registration details:
Friday, 19 September 2008
Time: 1:00pm Eastern Standard Time (US-New York, GMT-4:00)
Registration URL: https://thoughtworks.webex.com/thoughtworks/j.php?ED=108081447&RG=1&UID=0
Quer trabalhar na Audaces?? Pergunte-me como!!