<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Antonio Carlos Silveira BLOG &#187; Process</title>
	<atom:link href="http://www.acarlos.com.br/blog/tag/process/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.acarlos.com.br/blog</link>
	<description>Comments and thoughts about Internet, Gadgets and Technology</description>
	<lastBuildDate>Wed, 10 Mar 2010 12:53:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mais pensamentos sobre Agile UX</title>
		<link>http://www.acarlos.com.br/blog/2009/01/mais-pensamentos-sobre-agile-ux/</link>
		<comments>http://www.acarlos.com.br/blog/2009/01/mais-pensamentos-sobre-agile-ux/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 04:30:33 +0000</pubDate>
		<dc:creator>Antonio Carlos Silveira</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[agil]]></category>
		<category><![CDATA[processo]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.acarlos.com.br/blog/?p=339</guid>
		<description><![CDATA[Continuando no tema de Agile UX, estive pensando bastante sobre a forma de trabalhar quando usamos técnicas ágeis comparando com o ambiente tradicional (waterfall), em paralelo conversei com algumas pessoas (UX guys) para saber o que eles acham, e minhas impressões seguem abaixo.
Adicionando um pouco de contexto, o foco deste post é conversar sobre duas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.acarlos.com.br/blog/2008/12/agile-ux-como-integrar-ux-e-desenvolvimento/">Continuando no tema de Agile UX</a>, estive pensando bastante sobre a forma de trabalhar quando usamos técnicas ágeis comparando com o ambiente tradicional (waterfall), em paralelo conversei com algumas pessoas (UX guys) para saber o que eles acham, e minhas impressões seguem abaixo.</p>
<p>Adicionando um pouco de contexto, o foco deste post é conversar sobre duas formas de trabalhar em ambientes que envolvam UX no desenvolvimento de projetos Web:</p>
<p style="text-align: center;"><img class="size-full wp-image-359 aligncenter" title="Agile UX versus Traditional UX" src="http://www.acarlos.com.br/blog/wp-content/uploads/2009/01/ux_vs1.png" alt="ux_vs1" width="250" height="250" /></p>
<p>Quando pensamos com mais calma sobre estas comparações, acho que a conclusão fica meio óbvia, principalmente se o objetivo é ter a melhor qualidade possível como &#8220;saída&#8221; do nosso trabalho. Explicando: ao desenvolvermos um projeto novo o que é mais fácil? Fazer pequenas partes muito bem, com foco total e com o decorrer do tempo ir desenvolvendo as outras partes enquanto se ve o software funcionando, OU fazer um grande projeto com milhões de partes de uma só vez, para depois de um tempo razoável entregar todas as telas e suas variações para a próxima área responsável? É importante lembrar que em times ágeis o que é definido como entrega é software funcionando e não um monte de telas, especificações, casos de uso ou documentações.</p>
<p>Fazendo um paralelo com o nosso dia a dia (pelo menos eu sou assim), quando tentamos fazer muitas coisas ao mesmo tempo, geralmente não fazemos nada com profundidade e no final acaba tudo ficando &#8220;meia boca&#8221;. Ao ir desenvolvendo novas funcionalidades ou melhorias a cada 15 dias (citando um exemplo da duração de um Sprint aqui no <a href="http://www.yahoo.com">Yahoo!</a>), podemos pensar bem a respeito do funcionamento de cada item e, mais importante, temos a chance de envolver todos no time nas decisões: desenvolvedores, designers, Produto, QA, etc. Com isso eu sinceramente acredito que a qualidade geral do produto e das decisões tomadas aumentam exponencialmente e ficam cada vez mais consistentes com o tempo.</p>
<p>Sempre que vi um projeto sendo feito da forma tradicional, existia um batalhão de Designers que faziam &#8220;milhões&#8221; de telas, para que todas as variações possíveis fossem mapeadas antes de serem entregues para a equipe de desenvolvimento, muitas vezes chamavamos estas pessoas de &#8220;replicadores de telas&#8221;. É óbvio que quando se faz um trabalho em massa, como se fosse uma fábrica, nem tudo terá a melhor solução e alguns parafusos deverão ser apertados mais tarde, algumas partes vão precisar de alguns remendos para encaixarem e com certeza várias das telas criadas nunca serão implementadas representando total perda de tempo e dinheiro. O mesmo acontece com as fábricas de software, elas fazem com que os desenvolvedores trabalhem em paralelo como se cada um fosse uma máquina (os famosos <a href="http://en.wikipedia.org/wiki/Code_Monkeys">Code monkeys</a>). Os designers &#8220;Replicadores de telas&#8221;, nada mais são do que uma versão da fábrica de software aplicada ao UX.</p>
<p>Estes são conceitos bem básicos sobre desenvolvimento ágil e que podem ser melhor visualizados através das duas figuras abaixo:</p>
<div id="attachment_362" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-362" title="Agile software development sprints" src="http://www.acarlos.com.br/blog/wp-content/uploads/2009/01/sprints.png" alt="Agile software development sprints" width="500" height="123" /><p class="wp-caption-text">Figura 1: Sprints com entregas constantes</p></div>
<p>Na Figura 1, temos o modelo ágil onde ao final de cada Sprint sempre haverá uma entrega de software funcionando, ou seja, com entrega de valor para o cliente, valor perceptível e paupável, pois estes poderão ver seu produto funcionando e se tornando real de forma evolutiva. Uma situação interessante é que se o orçamento acabar no Sprint 3, pelo menos o produto terá 3 Sprints completos de funcionalidades entregues e funcionando em produção.</p>
<p style="text-align: center;">
<div id="attachment_363" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-363" title="Waterfall, metodo tradicional de desenvolvimento de software" src="http://www.acarlos.com.br/blog/wp-content/uploads/2009/01/waterfall1.png" alt="Figura 2: Metodologia Waterfall" width="500" height="140" /><p class="wp-caption-text">Figura 2: Metodologia Waterfall</p></div>
<p>Na Figura 2, temos o método tradicional, onde vemos que o produto só vai funcionar ao final de quase todas as etapas, o que pode levar a tomadas de decisão preciptadas. Aplicando a mesma situação, se o orçamento acabar na fase 2 (Arq. da Informação e Design) o que podemos entregar para o cliente é uma série de documentos e PSDs, nada de software funcionando.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acarlos.com.br/blog/2009/01/mais-pensamentos-sobre-agile-ux/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Falando em Agile 2008</title>
		<link>http://www.acarlos.com.br/blog/2008/10/falando-em-agile-2008/</link>
		<comments>http://www.acarlos.com.br/blog/2008/10/falando-em-agile-2008/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 12:39:19 +0000</pubDate>
		<dc:creator>Antonio Carlos Silveira</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[agil]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[processo]]></category>

		<guid isPermaLink="false">http://www.acarlos.com.br/blog/?p=280</guid>
		<description><![CDATA[ Esta semana vou fazer uma palestra no Falando em Agile 2008, evento organizado pela Caelum do Paulo Silveira e do Alexandre Magno. Esta é a primeira edição deste evento com foco em agilidade e processos de desenvolvimento de software, um assunto cada vez mais recorrente no nosso dia a dia e tema constante em [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="border: 0pt none; margin: 5px;" title="Falando em Agile 2008" src="http://www.caelum.com.br/falando-em-agile/images/falando-agile-site_06.gif" alt="" width="114" height="127" /> Esta semana vou fazer uma palestra no <a href="http://www.caelum.com.br/falando-em-agile/" target="_blank">Falando em Agile 2008</a>, evento organizado pela <a href="http://www.caelum.com.br/" target="_blank">Caelum</a> do Paulo Silveira e do <a href="http://amagno.blogspot.com" target="_blank">Alexandre Magno</a>. Esta é a primeira edição deste evento com foco em agilidade e processos de desenvolvimento de software, um assunto cada vez mais recorrente no nosso dia a dia e tema constante em todos os eventos relacionados a tecnologia que participo e leio a respeito.</p>
<p>Apesar de ser a primeira edição do evento, a Caelum trás na bagagem a experiência de realizar o Falando em Java, evento já bem conhecido dos desenvolvedores e muitos anos de participação na comunidade de desenvolvedores no Brasil.</p>
<p>Como não poderia deixar de ser, a agenda esta excelente. Vou poder reencontrar alguns velhos amigos e trocar idéias com pessoas que estão buscando se aprimorar e conhecer mais sobre processos ágeis de desenvolvimento, entre os palestrantes estão <a href="http://blog.fragmental.com.br" target="_blank">Phillip Calçado</a>, <a href="http://gc.blog.br" target="_blank">Guilherme Chapiewski</a>, <a href="http://bardusco.wordpress.com" target="_blank">Danilo Bardusco</a> e o <a href="http://www.agilemanagement.net/">David Anderson</a>, um dos criadores do <a href="http://www.infoq.com/fdd" target="_blank">FDD (Feature Driven Development)</a>. <a href="http://www.caelum.com.br/falando-em-agile/programacao.jsp" target="_blank">Aqui esta a agenda completa</a>.</p>
<p>Eu vou falar sobre o Product Owner e seu papel dentro de um time ágil, e discutir alguns pontos que sempre surgem quando se fala sobre a sua atuação: o Product Owner pode ser técnico? O PO é parte do Time ou deve ficar de fora do Time? Como se planejar para entregar um release em uma data específica?</p>
<p>Vejo vcs lá!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acarlos.com.br/blog/2008/10/falando-em-agile-2008/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Distância ainda é importante</title>
		<link>http://www.acarlos.com.br/blog/2008/07/distancia-ainda-importante/</link>
		<comments>http://www.acarlos.com.br/blog/2008/07/distancia-ainda-importante/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 06:02:19 +0000</pubDate>
		<dc:creator>Antonio Carlos Silveira</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Globo]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[processo]]></category>

		<guid isPermaLink="false">http://www.acarlos.com.br/blog/?p=174</guid>
		<description><![CDATA[Eu não sou muito a favor do uso de ferramentas eletrônicas no gerenciamento de projetos tocados por equipes ágeis, no entanto, até o momento não tivemos que lidar com grandes distância entre membros de um mesmo time ou entre times na Globo.com. Existem diversas ferramentas digitais que se propõem a ajudar os times que estão [...]]]></description>
			<content:encoded><![CDATA[<p>Eu não sou muito a favor do uso de ferramentas eletrônicas no gerenciamento de projetos tocados por equipes ágeis, no entanto, até o momento não tivemos que lidar com grandes distância entre membros de um mesmo time ou entre times na <a href="http://www.globo.com" target="_blank">Globo.com</a>. Existem diversas ferramentas digitais que se propõem a ajudar os times que estão distantes, a estruturar melhor a informação, gerar relatórios gerenciais e por ai vai. Algumas destas ferramentas são por exemplo o <a href="http://studios.thoughtworks.com/mingle-project-intelligence" target="_blank">Mingle da Thoughtworks</a>, o <a href="http://www.versionone.com/" target="_blank">VersionOne</a>, o <a href="http://www.greenpeppersoftware.com/confluence/display/GH/Plugin" target="_blank">Jira com Greenhopper</a> entre outros, vc pode ver uma lista mais extensa dessas ferramentas no <a href="http://weblogs.asp.net/wallen/archive/2008/02/05/agile-pm-tool-costs.aspx" target="_blank">blog do Wayne Allen</a>.</p>
<p><a href="http://www.flickr.com/photos/acarlos1000/2673615514/"><img class="alignleft" style="margin: 5px;" src="http://farm4.static.flickr.com/3182/2673615514_424c907320_m.jpg" alt="" width="143" height="240" /> </a>Ainda acho que tudo se resolve com um bom e velho whiteboard, lembrando um dos princípios do <a href="http://www.agilemanifesto.org" target="_blank">Agile Manifesto</a> &#8220;<strong><em>Individuals and interactions over processes and tools</em></strong>&#8220;. Se for necessário gerar um report do andamento do projeto (ou do sprint) tire uma foto do whiteboard todos os dias e envie para quem precisa deste report. Não tem nada mais claro para verificar problemas e andamento de um time do que o whiteboard.</p>
<p>Hoje em dia a Globo.com esta recoberta de Whiteboards e os burndown charts podem ser vistos por toda a empresa, o que mostra como as coisas estão mudando por aqui. Mas isso não tira mérito das pessoas que tentam encontrar formas de melhorar o trabalho quando times precisam atuar em um mesmo projeto e estão separados geograficamente.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/acarlos1000/2673615514/"> </a><a href="http://www.flickr.com/photos/acarlos1000/2235290261/"><img class="alignnone" title="Scrum whiteboard" src="http://farm3.static.flickr.com/2002/2235290261_c62eeb5067_m.jpg" alt="" width="240" height="180" /> </a><a href="http://www.flickr.com/photos/acarlos1000/2092642957/"><img class="alignnone" src="http://farm3.static.flickr.com/2086/2092642957_b3691eb69d_m.jpg" alt="" width="240" height="180" /></a></p>
<p>Nas minhas leituras esporádicas de RSS encontrei um post sobre um projeto interessante do <a href="http://blog.crisp.se/henrikkniberg/" target="_blank">Henrik Kniberg</a> chamado <a href="http://www.whiteboardwiki.org/" target="_blank">Whiteboard Wiki (http://www.whiteboardwiki.org)</a>, que se propõe a recriar online, de uma forma simples e direta, o ambiente de um whiteboard.</p>
<p>De qq forma ainda acho que se vc tiver uma opção de manter o time co-locado, nem pense em outra alternativa, &#8220;<em>Take It</em>&#8220;. Em linha com isso esta um paper do Gary e Judith Olson chamado <a href="http://www.crew.umich.edu/publications/00-04.pdf" target="_blank">Distance Matters</a>, onde eles apresentam um estudo sobre o uso de tecnologia como forma de diminuir os problemas da distância. Abaixo segue a conclusão deste Paper:</p>
<blockquote><p>Collaborative work at a distance will be difficult to do for a long time, if not forever.There will likely always be certain kinds of advantages to being together. However, as a wide range of collaborative tools emerges, we will find useful ways to use them to accomplish our goals. If at some point in the past we had written a similar article about telegraphy, the telephone, radio, television, or fax machines, we would have had tables that catalog their shortcomings. However, in their own ways, all of them have turned out to have been useful for a variety of purposes, and they worked their ways into social and organizational life in enduring fashion. Indeed, some of the most profound changes in social and organizational behavior in this century can be traced to these tools. The rich repertoire of present and future collaborative technologies will have a similar fate. We will find uses for them, and descriptions of collaborative work in the future will enumerate the emergent social practices that have put these technologies to useful ends. But it is our belief that in these future descriptions distance will continue to matter.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.acarlos.com.br/blog/2008/07/distancia-ainda-importante/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SCRUM e Toyota</title>
		<link>http://www.acarlos.com.br/blog/2008/07/scrum-and-toyota/</link>
		<comments>http://www.acarlos.com.br/blog/2008/07/scrum-and-toyota/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 19:13:08 +0000</pubDate>
		<dc:creator>Antonio Carlos Silveira</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[toyota]]></category>

		<guid isPermaLink="false">http://www.acarlos.com.br/blog/?p=173</guid>
		<description><![CDATA[Isso com certeza não é novidade mas talvez alguns não tenham lido, o Boris Gloger fez um paper há alguns anos fazendo um paralelo entre os 14 princí­pios de sucesso da Toyota, citados no livro The Toyota Way do Jeffrey Liker.
As metodologias ágeis tem tudo a ver com o TPS (Toyota Production System) e sempre [...]]]></description>
			<content:encoded><![CDATA[<p>Isso com certeza não é novidade mas talvez alguns não tenham lido, o <a href="http://scrum4you.wordpress.com" target="_blank">Boris Gloger</a> fez um paper há alguns anos fazendo um paralelo entre os 14 princí­pios de sucesso da Toyota, citados no livro <a href="http://www.amazon.com/Toyota-Way-Jeffrey-Liker/dp/0071392319/" target="_blank"><em>The Toyota Way</em></a> do Jeffrey Liker.</p>
<p>As metodologias ágeis tem tudo a ver com o <a href="http://en.wikipedia.org/wiki/Toyota_Production_System" target="_blank">TPS (Toyota Production System)</a> e sempre que alguém fala de formas ágeis de desenvolvimento acaba citando a Toyota como uma das criadoras destes princípios. Na verdade o link entre estas duas coisas vem do fato de que a Toyota foi uma das grande empresas que começaram a empregar o Lean Thinking na década de 1970, nas palavras de <a href="http://en.wikipedia.org/wiki/Taiichi_Ohno" target="_blank">Taichi Ohno</a> um dos criadores do TPS, o foco da Toyota era &#8220;<em>the absolute elimination of waste, where waste is anything that prevents the value-added flow of material from raw material to finished goods&#8221;. </em></p>
<p>Esse é o grande foco das metodologias ágeis em relação aos processos em cascata (waterfall), eles são focados no valor adicionado pelo desenvolvimento seguindo os principios constantes no <a href="http://www.agilemanifesto.org" target="_blank">Agile Manifesto</a>.</p>
<p>Enfim, este paper do Boris é uma leitura simples, rápida e fácil e que ajuda a enriquecer um pouco mais nossa cultura sobre SCRUM e suas origens.</p>
<p>Aqui esta o link para o paper: <a title="http://www.glogerconsulting.de/downloads/Gloger_TototaScrum-170706.pdf" rel="nofollow" href="http://www.glogerconsulting.de/downloads/Gloger_TototaScrum-170706.pdf">Scrum Delivers or Scrum and the Toyota Way.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acarlos.com.br/blog/2008/07/scrum-and-toyota/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>O perigo do mini-waterfall em times ágeis</title>
		<link>http://www.acarlos.com.br/blog/2008/07/o-perigo-do-mini-waterfall/</link>
		<comments>http://www.acarlos.com.br/blog/2008/07/o-perigo-do-mini-waterfall/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 06:48:21 +0000</pubDate>
		<dc:creator>Antonio Carlos Silveira</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[processo]]></category>
		<category><![CDATA[waterfall]]></category>

		<guid isPermaLink="false">http://www.acarlos.com.br/blog/?p=164</guid>
		<description><![CDATA[Hoje estou finalmente tirando o atraso do meu Google Reader e lendo alguns artigos e posts sobre Scrum e Agile development, me deparei com uma excelente iniciativa do Mark Levison chamada Agile/Scrum Smells (baseada em um projeto do Mike Cohn) com o objetivo de catalogar os principais problemas encontrados durante a implantação e dia-a-dia de [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje estou finalmente tirando o atraso do meu Google Reader e lendo alguns artigos e posts sobre Scrum e Agile development, me deparei com uma excelente iniciativa do <a href="http://www.notesfromatooluser.com/" target="_blank">Mark Levison</a> chamada <a href="http://www.notesfromatooluser.com/2008/06/agilescrum-smells.html" target="_blank">Agile/Scrum Smells</a> (baseada em um <a href="http://www.mountaingoatsoftware.com/article_view/11-toward-a-catalog-of-scrum-smells" target="_blank">projeto do Mike Cohn</a>) com o objetivo de catalogar os principais problemas encontrados durante a implantação e dia-a-dia de práticas ágeis, em especial práticas ligadas ao <a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">SCRUM</a>.</p>
<p>A lista esta sucinta, mas já constam diversos problemas muito comuns no dia a dia de equipes ágeis. Um dos problemas que me chamaram a atenção e é um problema que temos que evitar a todo custo é a formação do que venho chamando de <strong>mini-waterfalls</strong>. As pessoas com o tempo, mesmo quando estão dentro de times ágeis, tendem a voltar a fazer as coisas como sempre fizeram, principalmente quando aparecem problemas, <a href="http://www.controlchaos.com/" target="_blank">Ken Schwaber</a> descreve esta reação no seu livro <a href="http://www.amazon.com/Enterprise-Scrum-Ken-Schwaber/dp/0735623376/" target="_blank">The Enterprise and Scrum</a>, e a chama de &#8220;Muscle Memory&#8221;:</p>
<blockquote><p>Expect muscle memory to exert itself. When a project is going well, everyone is happy with Scrum. However, when stress, a problem, or an unexpected failure occurs, everyone tends to throw away Scrum and revert to their muscle memory. Teams don&#8217;t want to self-manage. They want to be told what to do. Managers don&#8217;t want to let teams self-manage. They want to command the teams in all matters, <a name="snippet"></a><a name="is abandoned"></a>down to the minutest detail. Teamwork is dumped for individual heroics. Quality is abandoned. Everyone draws on what they think has worked best in the past. (SCHWABER, The Enterprise and Scrum, Chapter 4).</p></blockquote>
<p>Bem, detalhamento um pouco mais, entre as <a href="http://agileconsortium.blogspot.com/2008/06/whats-team.html" target="_blank">caracteristicas de um time ágil</a> temos que ter um número pequeno de profissionais, com todas as habilidades necessárias para que se atinja o goal/visão definida pelo Product Owner e entregando o maior valor de negócio possível no menor tempo possí­vel, aplicando sempre o princí­pio de implementar &#8220;<a href="http://damonpoole.blogspot.com/2008/07/simplest-thing-that-could-possibly-work.html" target="_blank">The simplest thing that could possible work</a>&#8220;.</p>
<p>É neste ponto onde começam os problemas que vão gerar o <strong>mini-waterfall</strong>, geralmente as pessoas trabalharam toda a sua vida em empresas que empregam o princípio do <a href="http://www.agilemodeling.com/essays/bmuf.htm" target="_blank"><strong>Big Design Up Front (BDUF)</strong></a>, ou seja, primeiro as pessoas querem planejar todas as possí­veis variações do projeto, em todas as telas, todas as mensagens de sistema, todos os fluxos, todas as queries, todo o modelo de dados antes mesmo de começarmos a &#8220;meter a mão na massa&#8221; no projeto. Isso leva a departamentalização e ao faseamento do desenvolvimento em steps especializados: Levantamento de requisitos, análise, arquitetura da informação, design, provas de conceito, desenvolvimento, testes, produção. Com isso criamos um processo em cascata que incentiva o veneno deste tipo de abordagem: <strong>falta de compromisso com o todo</strong>, com o Goal e com a Visão, cada um faz a sua parte, e que o próximo na fila no processo dá o seu jeito para entregar para o próximo e assim por diante, as pessoas passam a ser responsáveis pelas suas <a href="http://scrumalliance.pbwiki.com/Specialized+Job+Roles" target="_blank">especialidades</a> e não pelo produto, pela entrega final. É triste ver um time, antes ágil, começando a criar hábitos cascateados e viciados.</p>
<p style="text-align: center;"><img style="border: 0pt none; margin: 0px; vertical-align: middle;" src="http://www.cartoonstock.com/lowres/vsh0700l.jpg" alt="" width="400" height="385" /></p>
<p>O que fazer? Este exemplo usado pelo Mark Levison mostra como seria uma postura ágil:</p>
<blockquote><p>A successful Scrum team does not need to be comprised entirely of generalists. However, for a team of specialists to be successful each specialist must accept general responsibility for the system as a whole. I may not know how to solve our project&#8217;s most intricate Oracle problems but I am going to do whatever I can to help, which may simply include taking on some of our database specialist&#8217;s other responsibilities to free her to solve the complex problems.</p></blockquote>
<p>Enfim, temos que nos policiar contantemente e observar se não estamos voltando aos nossos velhos hábitos, e lembrar que é muito difícil mudar a cultura das pessoas e da organização, e que isso é um trabalho de paciência e perseverança.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acarlos.com.br/blog/2008/07/o-perigo-do-mini-waterfall/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>O ScrumMaster e seu papel</title>
		<link>http://www.acarlos.com.br/blog/2008/04/o-scrummaster-e-seu-papel/</link>
		<comments>http://www.acarlos.com.br/blog/2008/04/o-scrummaster-e-seu-papel/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 06:20:42 +0000</pubDate>
		<dc:creator>Antonio Carlos Silveira</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[globo.com]]></category>
		<category><![CDATA[processo]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.acarlos.com.br/blog/?p=133</guid>
		<description><![CDATA[O Guilherme Chapiewski escreveu um post esta semana bem polêmico e a discussão esta correndo solta no Blog. O ponto é, até onde vai o papel do ScrumMaster quando este pode ajudar o time resolvendo, quando possível, impedimentos técnicos ou discutindo uma dada solução técnica.
Nas últimas semanas, venho conversando muito com o Guilherme e com [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://gc.blog.br/2008/04/06/scrum-master-tecnico/" target="_blank">Guilherme Chapiewski escreveu um post </a>esta semana bem polêmico e a discussão esta correndo solta no Blog. O ponto é, até onde vai o papel do ScrumMaster quando este pode ajudar o time resolvendo, quando possível, impedimentos técnicos ou discutindo uma dada solução técnica.</p>
<p>Nas últimas semanas, venho conversando muito com o <a href="http://gc.blog.br">Guilherme</a> e com a Patricia Fontes (nossa Product Owner nos projetos de vídeos da <a href="http://www.globo.com" target="_blank">Globo.com</a>) sobre estas questões de relacionamento entre Time, ScrumMaster e PO, até onde vai o papel de cada um. Nas nossas conversas geralmente temos pontos de vistas diferentes e as vezes opostos, mas o resultado destas conversas tem sido muito enriquecedor, pelo menos para mim. No final de cada conversa sinto que estamos mais unidos e concientes de onde queremos chegar e sempre que discutimos tentamos manter como nossa referência o que é a melhor solução/decisão/atitude para os produtos que estamos construindo.</p>
<p>O <a href="http://blog.fragmental.com.br/2008/04/07/sem-respostas-faceis/" target="_blank">Phillip Calçado</a><a href="http://blog.fragmental.com.br/2008/04/07/sem-respostas-faceis/" target="_blank"> também fez um post</a> onde coloca o seu ponto de vista sobre ter um SM que também é um líder técnico. Neste post dele gosto muito da frase:</p>
<blockquote><p>Quem assume que isso é uma verdade absoluta está buscando respostas fáceis ao invés de tentar resolver o problema. Isso não é diferente em nada do cidadão que usa todos os templates, artefatos e papéis do RUP no seu projeto, ou daquele que acredita que um selo como CMMI ou MPS.BR traz qualidade.</p></blockquote>
<p>E replicando meu comentário no blog do Phillip, para mim não existem verdades absolutas, e sim evolução e aprendizado contínuo, aprendizado quer dizer que erramos e acertamos em ciclos infinitos, e se estivermos no caminho certo, mais acertamos do que erramos, e estes erros que cometemos não deveriam se repetir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acarlos.com.br/blog/2008/04/o-scrummaster-e-seu-papel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile na SD West 2008</title>
		<link>http://www.acarlos.com.br/blog/2008/03/agile-na-sd-west-2008/</link>
		<comments>http://www.acarlos.com.br/blog/2008/03/agile-na-sd-west-2008/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 16:36:11 +0000</pubDate>
		<dc:creator>Antonio Carlos Silveira</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[Globo]]></category>

		<guid isPermaLink="false">http://www.acarlos.com.br/blog/2008/03/agile-na-sd-west-2008/</guid>
		<description><![CDATA[Como alguns de vcs sabem estou nos Estados Unidos nesta semana, tivemos algumas reuniões em San Francisco com a ADOBE, onde vimos algumas das novidades que vão acontecer durante 2008 e inicio de 2009 nas plataformas da empresa.
Em seguida, vim para Santa Clara para participar da SD West 2008, um evento com diversos tracks legais [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm3.static.flickr.com/2149/2311437037_b2b5e1e48b_m.jpg" align="left" border="0" height="180" hspace="5" vspace="5" width="240" />Como alguns de vcs sabem estou nos Estados Unidos nesta semana, tivemos algumas reuniões em San Francisco com a <a href="http://www.adobe.com">ADOBE</a>, onde vimos algumas das novidades que vão acontecer durante 2008 e inicio de 2009 nas plataformas da empresa.</p>
<p>Em seguida, vim para Santa Clara para participar da <a href="http://www.sdexpo.com/2008/west/">SD West 2008</a>, um evento com diversos tracks legais e super sintonizados com o momento de transição que estamos passando na <a href="http://www.globo.com">Globo.com</a>, particularmente estou assistindo a maioria das apresentações do track chamado <a href="http://www.sdexpo.com/2008/west/ppm.htm">People, Process and Methods</a>, onde são discutidas práticas ágeis de gerenciamento do desenvolvimento do Software, como o SCRUM, <a href="http://alistair.cockburn.us/index.php/Crystal_methodologies_main_foyer">Crystal Clear</a> e XP entre outros assuntos. Hoje assisti várias palestras e aproveitei para tirar algumas dúvidas com uns dos maiores nomes do mundo Agile, como <a href="http://blog.mountaingoatsoftware.com/">Mike Cohn</a>, <a href="http://www.alistaircockburn.com">Alistair Cockburn</a>, <a href="http://www.agilelogic.com/index.html">Paul Hodgetts</a> entre outros.</p>
<p><img src="http://farm3.static.flickr.com/2260/2313485729_49a61d52e9_m.jpg" align="left" border="0" height="135" hspace="5" vspace="5" width="240" />Na primeira palestra que participei foi a &#8220;<a href="https://www.cmpevents.com/SDw8/a.asp?option=C&amp;V=11&amp;SessID=6471">Agile Transitions</a>&#8220;, que na verdade foi um round de discussão de como realizar a mudança para uma metodologia ágil, independente de qual vc estaria interessado. Foi muito bom ver que grande parte das perguntas feitas eu consegui responder corretamente, o que mostra que estamos avançando no quesito de conhecimento sobre práticas ágeis. Uma das perguntas que fiz foi a respeito de qualidade versus número de features, justamente perguntando se na situação onde o time vê a necessidade de melhorar a qualidade do software criando uma estória de refactoring , por exemplo, é correto dropar uma feature e escolher a qualidade?</p>
<p>A resposta foi em linha com o que pensava, todos foram categóricos com o fato de que com qualidade não se discute e que isso é uma decisão do Time juntamente com o PO, mas que o PO precisa entender o que esta em jogo e o que se ganha ao realizarmos um refactoring ou automatizar um teste que na maior parte das vezes é muito sutil, porque só se percebe o <a href="http://blog.fragmental.com.br/2008/02/17/gerenciando-debitos/">Technical Dept</a> quando ele já esta muito alto e coloca o projeto todo em risco, é função do Time mostrar este valor para o PO.</p>
<p>Na segunda palestra <a href="https://www.cmpevents.com/SDw8/a.asp?option=C&amp;V=11&amp;SessID=6059">Prioritizing Requirements</a>, com Mike Cohn, foram apresentadas técnicas de priorização do Product Backl<a href="http://mountaingoatsoftware.com/presentation/76-prioritizing-requirements"><img src="http://farm3.static.flickr.com/2002/2314299098_e323afd4f3_m.jpg" align="right" border="0" height="135" hspace="10" vspace="10" width="240" /></a>og, em resumo é possível dividir estas técnicas em dois grupos: <strong>Financeiras e as Não-Financeiras</strong>. Na parte de técnicas financeiras nenhuma grande novidade, ele falou bem superficialmente sobre NPV, FV, IRR, etc. Mas na parte de técnicas não-financeiras achei interessante o Método de Kano e tb o reforço no método do <a href="http://www.acarlos.com.br/blog/2008/02/papel-do-product-owner-e-priorizacao-do-product-backlog/">Beneficio Relativo</a>. Para saber mais sobre este assunto leia o livro do Mike &#8220;<a href="http://www.amazon.com/Agile-Estimating-Planning-Robert-Martin/dp/0131479415/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1204802476&amp;sr=8-1">Agile estimating and planning</a>&#8220;.</p>
<p>A terceira palestra foi sobre o <a href="http://alistair.cockburn.us/index.php/Crystal_methodologies_main_foyer">Crystal Clear</a>, ministrada pelo <a href="http://alistair.cockburn.us/index.php/Main_Page">Alistair Cockburn</a> (Lê-se Co-burn), onde ele apresentou um overview sobre a metodologia Crystal, que em resumo tem os seguintes propriedades:</p>
<ul>
<li><strong>Frequent Delivery</strong></li>
<li><strong>Reflective Improvement</strong></li>
<li><strong>Close Communications</strong></li>
</ul>
<p>Estes principios todos são muito comuns a diversas metodologias ágeis, mas este último tópico (Close Communications) foi muito interessante, onde ele discutiu e mostrou alguns papers como este <a href="http://www.crew.umich.edu/publications/00-04.pdf" title="Distance Matters">aqui da Universidade de Michigan chamado Distance Matters</a>, onde é provado que quanto mais proximos estão os membros de um time melhor é o rendimento e a qualidade e por consequencia o retorno sobre o investimento.</p>
<p><img src="http://farm4.static.flickr.com/3020/2313487351_dd66447f67.jpg" border="0" height="281" width="500" /></p>
<p>A última apresentaçao que fui, ministrada por um consultor da <a href="http://www.netobjectives.com/">Net Objectives</a>, não teve grandes novidades, mas foi muito interessante para ajudar a verificar como podemos estruturar o conteúdo sobre SCRUM para os nossos treinamentos internos para os Team Members.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acarlos.com.br/blog/2008/03/agile-na-sd-west-2008/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cone da Incerteza e SCRUM</title>
		<link>http://www.acarlos.com.br/blog/2008/02/cone-da-incerteza-e-scrum/</link>
		<comments>http://www.acarlos.com.br/blog/2008/02/cone-da-incerteza-e-scrum/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 21:58:52 +0000</pubDate>
		<dc:creator>Antonio Carlos Silveira</dc:creator>
				<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[estimation]]></category>
		<category><![CDATA[estimativa]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[processo]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.acarlos.com.br/blog/2008/02/cone-da-incerteza-e-scrum/</guid>
		<description><![CDATA[Nos últimos meses eu tinha como foco implementar SCRUM na minha equipe, tudo começou com o Phillip Calçado me explicando o conceito de SCRUM, seguido de um curso com o Bloris Gloger que ele e alguns da equipe fizeram, e depois entramos em um caminho sem volta e nos focamos em implementar o SCRUM da [...]]]></description>
			<content:encoded><![CDATA[<p>Nos últimos meses eu tinha como foco implementar SCRUM na minha equipe, tudo começou com o <a href="http://blog.fragmental.com.br" target="_blank">Phillip Calçado</a> me explicando o conceito de <a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">SCRUM</a>, seguido de um curso com o <a title="Boris Gloger" href="http://www.glogerconsulting.de/" target="_blank">Bloris Gloger</a> que ele e alguns da equipe fizeram, e depois entramos em um <a href="http://blog.eof.com.br/2008/01/30/scrum-um-caminho-sem-volta/" target="_blank">caminho sem volta</a> e nos focamos em implementar o <a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">SCRUM</a> da melhor forma possível no nosso time. Acho que posso dizer que estamos muito bem neste momento, claro que ainda faltam detalhes mas o time esta andando e esta entregando software de qualidade a cada ciclo de desenvolvimento.</p>
<p>A próxima meta é escalar o <a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">SCRUM</a> para toda a empresa, enquanto estava lendo sobre o assunto acabei me desviando e cai em alguns artigos muito interessantes que discutiam um tema que afeta todo e qualquer projeto de desenvolvimento de software: como estimar com precisão o tempo total para se entregar um software em produção?</p>
<p>Acabei caindo na teoria do <a title="Cone of Incertainty" href="http://www.construx.com/Page.aspx?hid=1648" target="_blank">Cone da Incerteza</a>, que explica o fenômeno onde nós da indístria de software quando iniciamos um novo projeto não fazemos a menor idéia de quando vamos terminá-lo. Quanto mais o tempo passa e mais perto do fim melhor e mais preciso são as nossas estimativas, ou seja, isso culmina na conclusão de que você só tem 100% de certeza de que terminará o projeto apenas um dia antes de efetivamente terminá-lo.</p>
<p style="text-align: center;"><img src="http://www.construx.com/File.ashx?cid=1649" border="0" alt="" width="448" height="328" /></p>
<p>Esta figura é facilmente associada ao desenvolvimento de um software, ou seja, se começa um projeto sem ter a menor idéia do tamanho dele ai vai se detalhando, escreve-se montanhas de papel com requisitos, desenha-se milhões de telas no Photoshop para fechar o design do projeto, ai finalmente depois de alguns meses é que se começa a escrever software efetivamente. Nestes casos existe uma luta constante para afunilar o cone o mais rápido possível. O grande erro das empresas é fazer um &#8220;commitment&#8221; com um projeto quando ele esta nas suas etapas iniciais, ao fazer isso elas estão aceitando uma margem de erro de 2x ou 4x nas estimativas, e é neste momento que o projeto começa a ruir.</p>
<p>O que é interessante em metodologias ágeis, como o <a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">SCRUM</a> por exemplo, é que podemos observar este fenômeno invertido, explicando melhor, se vc perguntar a um desenvolvedor que já esta envolvido em um projeto o que ele consegue entregar nas próximas duas semanas a estimativa com certeza será bem precisa, mas se perguntarmos o que ele consegue entregar daqui a 6 meses, não fará a menor idéia e vai chutar uma estimativa qualquer pois não há como ter certeza do que irá acontecer. A única certeza que podemos ter em qualquer projeto de software é de que as coisas vão mudar, os requisitos, o design, as funcionalidades e o grande trunfo dos métodos ágeis é de entregar software funcionando em ciclos constantes e curtos e com isso se adaptar as constantes mudanças.</p>
<p>Então em um ambiente ágil temos sempre mais certeza sobre as <a href="http://www.extremeprogramming.org/rules/userstories.html" target="_blank">estórias</a> que estão priorizadas para o próximo sprint ou estamos trabalhando neste momento e vamos melhorando nossas estimativas e aumentando a precisão delas conforme o <a href="http://www.mountaingoatsoftware.com/product_backlog" target="_blank">Product Backlog</a> vai sendo entregue, mas sempre com uma visão muito clara do curto prazo e menos clara para o que esta no fim do <a href="http://www.mountaingoatsoftware.com/product_backlog" target="_blank">Product Backlog</a>. Lembrando que as estórias que estão sendo desenvolvidas no Sprint são as de maior ROI para o projeto.</p>
<p>Sendo assim o <a href="http://www.construx.com/Page.aspx?hid=1648" target="_blank">Cone de Incerteza</a> aplicado a uma equipe que utiliza <a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">SCRUM</a> teria este formato:</p>
<p style="text-align: center;"><img src="http://www.acarlos.com.br/blog/wp-content/uploads/2010/03/Reverse_Cone.jpg" border="0" alt="Reverse Clone" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acarlos.com.br/blog/2008/02/cone-da-incerteza-e-scrum/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>O papel do Product Owner e priorização do Product Backlog</title>
		<link>http://www.acarlos.com.br/blog/2008/02/papel-do-product-owner-e-priorizacao-do-product-backlog/</link>
		<comments>http://www.acarlos.com.br/blog/2008/02/papel-do-product-owner-e-priorizacao-do-product-backlog/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 04:35:17 +0000</pubDate>
		<dc:creator>Antonio Carlos Silveira</dc:creator>
				<category><![CDATA[Globo]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[processo]]></category>

		<guid isPermaLink="false">http://www.acarlos.com.br/blog/2008/02/papel-do-product-owner-e-priorizacao-do-product-backlog/</guid>
		<description><![CDATA[Na semana passada tivemos alguns treinamentos muito legais na Globo.com, foram três dias de curso com o Boris Gloger da Sprint-it, empresa que esta nos ajudando na adoção do SCRUM. Em dezembro passado tivemos uma série de treinamentos com o intuito de apresentar o SCRUM para as diversas áreas da empresa.
Neste ano continuamos este trabalho [...]]]></description>
			<content:encoded><![CDATA[<p>Na semana passada tivemos alguns treinamentos muito legais na Globo.com, foram três dias de curso com o <a title="Boris Gloger" href="http://www.sprint-it.de/index.php?action=trainer&amp;id=1" target="_blank">Boris Gloger</a> da Sprint-it, empresa que esta nos ajudando na adoção do <strong><a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">SCRUM</a></strong>. <a href="http://gc.blog.br/2007/12/10/certified-scrum-master/" target="_blank">Em dezembro passado tivemos uma série de treinamentos</a> com o intuito de apresentar o SCRUM para as diversas áreas da empresa.</p>
<p>Neste ano continuamos este trabalho de formação dos profissionais da Globo.com, porém este novo round de treinamentos foi focado em um dos principais papéis dentro do SCRUM, o <a href="http://www.scrumforteamsystem.com/ProcessGuidance/Roles/ProductOwner.html" target="_blank"><strong>Product Owner</strong> <strong>(PO)</strong> </a>e também na formação de <strong>Trainers</strong>, que realizarão os treinamentos internos para as equipes que passarão a usar SCRUM este ano.</p>
<p style="text-align: center"><a href="http://www.scrumforteamsystem.com/ProcessGuidance/Roles/Roles.html" target="_blank"><img src="http://www.acarlos.com.br/blog/wp-content/uploads/2008/02/blog_scrum_roles.gif" border="0" alt="Scrum Roles" /></a></p>
<p style="text-align: center">The Scrum roles<br />
Â© Copyright Conchango 2006</p>
<p>Apenas relembrando o papel do PO, ele é o responsável pelo <strong>Retorno do Investimento (ROI)</strong> do projeto, cabe a ele priorizar os itens no <strong><a title="SCRUM Product Backlog" href="http://www.mountaingoatsoftware.com/product_backlog" target="_blank">Product Backlog (PB)</a></strong> de forma a obter o maior retorno possível, entre as suas responsabilidades estão:</p>
<ul>
<li>Criar a visão</li>
<li>Manter o PB estimado e priorizado</li>
<li>Priorização do PB, com pelo menos 3 Sprints</li>
<li>Criar as fronteiras (boundaries) que protegem o <a title="SCRUM Team Members" href="http://www.scrumforteamsystem.com/ProcessGuidance/Roles/TeamMembers.html">Time</a> (Tempo, Orçamento, Visão, Padrões, etc)</li>
<li>Criar um Release Plan do Produto</li>
<li>Ser a interface de comunicação com os stakeholders, e outros clientes internos e externos</li>
<li>Ajudar o <a href="http://www.scrumforteamsystem.com/ProcessGuidance/Roles/ScrumMaster.html" target="_blank">ScrumMaster</a> a proteger o Time</li>
<li>Aceitar ou rejeitar uma funcionalidade no <a href="http://gc.blog.br/2008/02/01/sprint-review-e-retrospective-com-boris-gloger/" target="_blank">Sprint Review</a><a title="Boris Gloger at Globo.com" href="http://flickr.com/photos/acarlos1000/2235290261/" target="_blank"><img title="Boris Gloger at Globo.com" src="http://farm3.static.flickr.com/2002/2235290261_c62eeb5067_m.jpg" border="0" alt="Boris Gloger at Globo.com" hspace="7" vspace="7" width="240" height="180" align="right" /></a></li>
</ul>
<p>O PO é quem deve criar a <strong>visão</strong>, mas esta deve ser compartilhada e refinada com o Time, pois é o time que deve se sentir motivado e desafiado por aquela visão. A visão deve ter algumas características básicas como: ser emocional (criar desejo), deve ser clara e concreta e deve ser difícil de alcançar.</p>
<p>O <strong>Product Backlog (PB)</strong> é responsabilidade do PO, mas <strong>quem deve escrever as user stories é o Time</strong>, pois este é que vai executar <a title="SCRUM Sprint Backlog" href="http://www.mountaingoatsoftware.com/sprint_backlog" target="_blank">o Sprint Backlog</a> e se comprometerá em entregar estas <strong>user stories</strong>, claro que o PO pode ajudar a escrevê-las, mas apenas se o time deixar. Antes deste treinamento eu achava que o PO é quem deveria escrever as user stories. É importante lembrar que o PB é formado por um misto de user stories detalhadas e estimadas e um conjunto de idéias mais amplas e sem muitos detalhes, que serão refinadas e devidamente transformadas em user stories no decorrer do processo. <strong>O Time é o responsável por estimar a complexidade</strong> das user stories, atribuindo pontos de dificuldade para cada uma delas, que chamamos de <strong>Story Points.</strong></p>
<p>É importante ter pelo menos 3 Sprints priorizados e estimados, para que o time não fique &#8220;idle&#8221; na transição entre um Sprint e outro, recentemente passamos por uma situação assim na entrega de um dos releases do <a title="GloboVideos" href="http://video.globo.com" target="_blank">Globo Vídeos</a>, por não ter um PB detalhado e priorizado o time teve de esperar alguns dias para iniciar o Sprint seguinte.</p>
<p style="text-align: center"><img title="Scrum Process Flow" src="http://www.acarlos.com.br/blog/wp-content/uploads/2008/02/blog_scrum_flow_smalllabelled.png" border="0" alt="Scrum Process Flow" /><br />
The ScrumFlow</p>
<p>No decorrer de cada Sprint é preciso iniciar os trabalhos de estimativa e planejamento do próximo Sprint, é uma boa prática alocar de 10% a 15% do tempo do Sprint corrente para planejar e detalhar o próximo Sprint. <strong>É responsabilidade do PO chamar as reuniões de planejamento</strong> e detalhamento dos Sprints (não confunda estas reuniões com o Sprint Planning 1 e 2) e de manter pelo menos 3 Sprints planejados e priorizados, se o PO não realizar estas reuniões o ScrumMaster deve chamar a atenção do PO e em casos extremos assumir esta responsabilidade temporariamente. Cada reunião de planejamento não deve durar mais do que 60 minutos (<strong>Timebox</strong>) e tem como objetivo manter todos no Time informados sobre possíveis mudanças nas user stories e ajustes de prioridades, além de aumentar a precisão das estimativas feitas anteriormente.</p>
<p>Abaixo segue uma proposta de planejamento para um backlog hipotético que entrega um release a cada 10 dias úteis, aqui vai uma dica do Boris, nunca fazer o Sprint Planning 1 e 2 em uma Segunda-Feira ou depois de um feriado, porque é preciso que todas as partes envolvidas estudem o backlog e se preparem com antecedência para estas reuniões e todos nós sabemos que é muito difícil alguém se planejar durante um final de semana ou feriado. Sendo assim a agenda ficaria assim:</p>
<ul>
<li>Segunda-Feira (tarde): Sprint Review e Sprint Retrospective</li>
<li>Terça-Feira (manhã): Entrega do Release</li>
<li>Terça-Feira (tarde): Sprint Planning 1 e Sprint Planning 2</li>
<li>Quarta-Feira: Inicio do Próximo Sprint</li>
<li>Mais ou menos dois dias <strong>depois do inicio do Sprint</strong> deve-se marcar uma reunião de planejamento e estimativa do próximo Sprint.</li>
<li>Mais ou menos dois dias <strong>antes do final do Sprint </strong>deve-se marcar outra reunião de estimativa do próximo Sprint.</li>
</ul>
<p style="text-align: center"><img title="Scrum backlog planning 1" src="http://www.acarlos.com.br/blog/wp-content/uploads/2008/02/blog_scrum_backlog_planning1.gif" border="0" alt="Scrum backlog planning 1" width="450" height="181" /></p>
<p>Uma vez escritas e estimadas as user stories o PO deve priorizar o PB, no treinamento aprendemos uma técnica interessante chamada de <strong>Relative Benefit</strong>. Ela funciona assim: para cada item do Backlog atribui-se um valor para o <strong>Beneficio</strong> de se ter aquela funcionalidade (variando de 0 a 10) e um valor para <strong>Penalidade</strong> de não se ter aquela funcionalidade entregue, depois somam-se estes valores e o resultado chamamos de <strong>Business Value (BV). </strong>Agora dividimos o BV pela <strong>Estimativa</strong>, que reflete a dificuldade/complexidade para se entregar aquela determinada funcionalidade, por fim o PO reordena o Backlog com base neste resultado, do maior para o menor valor.</p>
<p style="text-align: center" align="center"><img title="Planilha Relative Benefit" src="http://www.acarlos.com.br/blog/wp-content/uploads/2008/02/blog_relative_benefit.gif" border="0" alt="Planilha Relative Benefit" /></p>
<p>Por exemplo, no Backlog acima temos a <strong>feature 1</strong> que possui um beneficio baixo (<strong>1</strong>) , uma penalidade alta(<strong>9</strong>) e uma complexidade baixa(<strong>2</strong>), sendo assim o beneficio relativo desta funcionalidade é alto (<strong>5</strong>) quando comparado relativamente com os outros itens do Backlog. Esta técnica também ajuda a priorizar itens com o <strong>mesmo BV</strong>, como é o caso da feature 1 e 5, neste caso vemos que a feature 5 possui um Beneficio igual a 5, maior que o beneficio da feature 1. Seguindo este método PB acima ficaria priorizado da seguinte forma:</p>
<ol>
<li>Feature 5</li>
<li>Feature 1</li>
<li>Feature 3</li>
<li>Feature 4</li>
<li>Feature 2</li>
</ol>
<p>Esta é uma técnica muito simples que ajuda a dar uma base concreta para comparação entre as funcionalidades e assim, priorizar corretamente o PB, claro que cada caso é um caso e vão acontecer situações onde um diretor vai pedri prioridade de uma determinada funcionalidade, mas esperamos que esta seja uma exceção e não a regra.</p>
<p>Mas uma das mensagens mais importantes do treinamento foi com relação ao <strong>papel do PO de proteger e respeitar o Time</strong>, este é uma papel que geralmente o PO não assume e pior, como os PO&#8217;s geralmente tiveram uma experiência passada em áreas de marketing ou gerência de produtos , eles tendem a achar que a equipe de tecnologia é devagar e não tem compromisso com o produto e sempre tentam empurrar mais e mais funcionalidades pra cima do time. Isso é natural principalmente nos processos <em>waterfall</em>, mas em um ambiente de utiliza Scrum, esta postura do PO não pode ser aceita. Ele não deve pressionar o time para inserir mais coisas no sprint, o time é que escolhe do PB priorizado o que se compromete a entregar com qualidade até o fim do Sprint. Caso o PO entenda que o time pode entregar mais do que esta entregando, ele deve conversar com o ScrumMaster, pois a produtividade do time é um problema que o ScrumMaster deve resolver. Ao tentar empurrar mais do que o time pode entregar com qualidade, o PO começa a quebrar sua relação de confiança com o time, e o ScrumMaster deve intervir e lembrar o PO de que ele também deve proteger o time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acarlos.com.br/blog/2008/02/papel-do-product-owner-e-priorizacao-do-product-backlog/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
