<?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>AgileZ &#187; scrum</title>
	<atom:link href="http://www.brasiltech.net/agilez/tag/scrum/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brasiltech.net/agilez</link>
	<description>Metodologias e técnicas aplicadas a desenvolvimento e gerenciamento</description>
	<lastBuildDate>Wed, 29 Dec 2010 23:40:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Modelando com tijolos</title>
		<link>http://www.brasiltech.net/agilez/2010/10/03/modelando-com-tijolos/</link>
		<comments>http://www.brasiltech.net/agilez/2010/10/03/modelando-com-tijolos/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 02:30:51 +0000</pubDate>
		<dc:creator>Douglas Cunha</dc:creator>
				<category><![CDATA[Metodologias]]></category>
		<category><![CDATA[modelagem]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.brasiltech.net/agilez/2010/10/03/modelando-com-tijolos/</guid>
		<description><![CDATA[&#160; Antes que você estranhe o título acima, informo que este não será um artigo sobre engenharia civil, e sim de engenharia de software. Aproveitei a relação entre as duas engenharias para fazer uma analogia entre ambas e tentar quebrar um pouco a ‘rigidez’ predominante nos processos de desenvolvimento de software atuais. Falar de modelagem [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 10px 0px; display: inline; border-top: 0px; border-right: 0px" title="modelando" border="0" alt="modelando" align="left" src="http://www.brasiltech.net/agilez/wp-content/uploads/2010/10/modelando.jpg" width="231" height="240" /> </p>
<p>Antes que você estranhe o título acima, informo que este não será um artigo sobre engenharia civil, e sim de engenharia de software. Aproveitei a relação entre as duas engenharias para fazer uma analogia entre ambas e tentar quebrar um pouco a ‘rigidez’ predominante nos processos de desenvolvimento de software atuais. Falar de modelagem hoje é uma tarefa delicada, pois modelagem é uma das etapas mais importantes e também uma das mais difíceis do ciclo de desenvolvimento de um sistema de informação. Dependendo do modelo de desenvolvimento que sua equipe pratica, a modelagem estará presente em praticamente todas as fases de seus projetos, seja durante o levantamento de requisitos até a entrega. Um trabalho de criação de modelo bem feito é – quase sempre – o detalhe que definirá o sucesso ou fracasso de sua empresa. Até então creio não ter levantado nada de novo. Se você se sente bem com suas ferramentas de modelagem atuais ou é fã de modelos como CMMI ou MPS.br, provavelmente não irá gostar do que vou dizer aqui, porém, se quer continuar a leitura, considere-se advertido de que não costumo respeitar muito a tradição, independente do prestígio gozado por ela.</p>
<p> <span id="more-155"></span>
</p>
<p>A engenharia de software, assim como é abordada pela maioria dos cursos de graduação ou pós no Brasil e em boa parte do mundo, define um arsenal de artefatos dos mais diversos tipos (leia-se <a href="http://pt.wikipedia.org/wiki/UML" rel="nofollow" target="_blank">UML</a>, documento de especificação de requisitos e outros) que devem ser usados como ferramentas para documentação e desenvolvimento da modelagem de um sistema de informação (<a href="http://pt.wikipedia.org/wiki/Sistema_de_informa&ccedil;&atilde;o" rel="nofollow" target="_blank">SI</a>). São eles também os responsáveis por permitirem a separação de papeis entre o analista e o programador. Enquanto um faz a modelagem, o outro ‘apenas’ a executa, convertendo o resultado de um artefato em outro (UML em código fonte, por exemplo). Considerando o que foi dito até agora, fica impossível não fazermos uma analogia com a engenharia civil (finalmente chegamos ao ponto proposto pelo título), onde o arquiteto modela o empreendimento e os construtores/pedreiros executam, convertendo um artefato em outro. Agora, vou abusar um pouco e pedir que use sua imaginação para uma pequena experiência: imagine que, ao invés de modelar usando régua, papel e lápis, os engenheiros civis pudessem modelar usando tijolos, areia, ferro e cimento! Abstraia o fato de isso ser impraticável, e observe apenas os benefícios que resultariam de tal fato se ele fosse possível (financeiramente e fisicamente). Poder ver em tempo real o resultado da modelagem poderia trazer inúmeras vantagens. Testes mais concretos poderiam ser executados. O cliente poderia ter retorno mais rapidamente e com mais frequência. Os problemas de comunicação e entendimento – sempre comuns – durante a fase do levantamento de requisitos seriam detectados bem mais cedo e eventuais alterações no projeto seriam mais fáceis e menos custosas. O quesito ROI (retorno sobre investimento) bateria próximo da casa dos cem por cento.</p>
<p>Se você me acompanhou até aqui, chegou a hora de extrapolarmos o mesmo raciocínio para o que realmente nos interessa: a engenharia de software. Analogamente à engenharia civil, podemos dizer que a planta está para um diagrama de classes assim como o tijolo está para o código fonte. Modelar com tijolos seria como modelar com código fonte. Fazer isso em engenharia civil está descartado por diversos motivos, onde o maior deles é o preço. Fazer e desfazer uma parede ou um cômodo até finalizar o projeto é algo no mínimo insano. Agora eu pergunto: em software, seria da mesma maneira? Não poderia modelar uma classe em C# ou Java, com direito a alterações sem que tal fato implique em um custo acima do aceitável, tendo em vista os benefícios? Arrisco responder que sim: modelar usando código é perfeitamente possível, e, se feito com critério, é mais barato, rápido e muitos benefícios serão colhidos, entre eles: </p>
<ul>
<li> Diminuição do hiato existente entre levantamento de requisitos e entrega de resultado significativo (usável);</li>
<li> Fusão do papel de analista e programador, com aproveitamento maior do potencial dos membros de sua equipe (aprofundarei mais esse item em outro artigo);</li>
<li>Detecção de falhas de projeto mais cedo e consequentemente com menores custos;</li>
<li>Código fonte mais legível e autodocumentado (<i>clean code</i> com TDD);</li>
<li>Maior autonomia para a equipe de desenvolvimento, que, se bem usada, deve render inúmeros benefícios, como o uso de tecnologias mais eficientes e soluções mais criativas;</li>
</ul>
<p>Saliento aqui que, ao contrário do que parece, não basta esquecer as ferramentas de modelagens existentes e partir para a anarquia. Modelar com o código requer muita prática e conhecimento de técnicas como o TDD (que falei e voltarei a falar aqui no AgileZ) que suprirão as necessidades que antes eram exclusividade de ferramentas como a UML. Outro ponto que deve ser considerado é a maturidade de sua equipe. Geralmente times formados com ênfase em especialistas (olá CMMI!) com grupos de analistas, dbas, programadores, arquitetos e testadores não são candidatos a esse tipo de abordagem. Equipes <i>agiles</i> (olá scrum!) quase sempre tem mais probabilidade de trabalhar dessa forma com sucesso.</p>
<p>Há uma diferença nem sempre valorizada entre equipes agilistas e as tradicionais, que fazem com que essa primeira se destaque. Entre os motivos pra isso destaco a liberdade de criação proporcionada pelo ambiente ágil relacionada à menor segregação de papeis por pessoas distintas. Mas isso rende assunto para vários outros artigos, que espero aprofundar mais em breve. Até lá.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brasiltech.net/agilez/2010/10/03/modelando-com-tijolos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mais agilidade em suas estimativas com o Planning Poker</title>
		<link>http://www.brasiltech.net/agilez/2009/12/13/mais-agilidade-em-suas-estimativas-com-o-planning-poker/</link>
		<comments>http://www.brasiltech.net/agilez/2009/12/13/mais-agilidade-em-suas-estimativas-com-o-planning-poker/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 13:38:34 +0000</pubDate>
		<dc:creator>Douglas Cunha</dc:creator>
				<category><![CDATA[Metodologias]]></category>
		<category><![CDATA[estimativas]]></category>
		<category><![CDATA[planejamento]]></category>
		<category><![CDATA[planning poker]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.brasiltech.net/agilez/2009/12/13/mais-agilidade-em-suas-estimativas-com-o-planning-poker/</guid>
		<description><![CDATA[Quem trabalha com desenvolvimento de software sabe que um dos nossos maiores desafios é conseguir mensurar o tamanho de cada tarefa com uma boa precisão, e, conseqüentemente, conseguir prever quando determinado recurso deverá ser concluído. A forma como fazemos nossas estimativas tem um grande impacto na confiabilidade de nossos prazos, porém, nem sempre as equipes [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/12/PlanningPoker617x410.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px 20px 0px; display: inline; border-top: 0px; border-right: 0px" title="PlanningPoker617x410" border="0" alt="PlanningPoker617x410" align="left" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/12/PlanningPoker617x410_thumb.jpg" width="240" height="159" /></a> </p>
<p>Quem trabalha com desenvolvimento de software sabe que um dos nossos maiores desafios é conseguir mensurar o tamanho de cada tarefa com uma boa precisão, e, conseqüentemente, conseguir prever quando determinado recurso deverá ser concluído. A forma como fazemos nossas estimativas tem um grande impacto na confiabilidade de nossos prazos, porém, nem sempre as equipes tomam consciência desse fato, e continuam dando pouco valor ou dedicando menos esforço do que deveriam a essa atividade.</p>
<p>Seja qual for a metodologia de trabalho que sua equipe utiliza (scrum + XP ou outra mais tradicional) você pode utilizar diversas técnicas de estimativas. Neste artigo vou apresentar a que é mais utilizada por equipes que empregam metodologias ágeis: o Planning Poker.</p>
<p>Antes de começar, devo introduzir um conceito que pode não ser conhecido ou aceito por todos: uma estimativa é da equipe e não de um programador ou analista em específico, ou seja, o ato de estimar é uma atividade de TODA a equipe, e esse detalhe é primordial para o sucesso do Planning Poker. Com isso em mente, vamos à definição:</p>
<p> <span id="more-114"></span>
</p>
<blockquote><p>O Planning Poker é uma técnica de estimativa baseada no consenso de toda a equipe, onde é utilizado um conjunto de cartas com valores específicos que podem representar pontos relativos ou até mesmo horas (esses valores podem seguir a seqüência de fibonacci) e é praticado como se fosse um jogo. Uma pessoa apresenta a tarefa ou estória para o time, e, após uma <strong>breve</strong> discussão, cada um escolhe uma carta e coloca virada para baixo sobre uma mesa. Quando todas as cartas estiverem lançadas, elas são viradas e caso não haja consenso nos valores escolhidos, as diferenças são discutidas de forma <strong>breve</strong>, e uma nova rodada acontece até que haja a convergência.</p>
</blockquote>
<p>Vale notar que eu enfatizei que as discussões devem ser breves. Esse ponto é muito importante, pois tem o objetivo de evitar longas argumentações técnicas, que não devem de forma alguma ser o foco de uma estimativa.    <br />Exemplo: quatro membros da equipe jogaram o valor 3 para uma determinada tarefa, e um quinto jogou o valor 8. Houve uma diferença muito grande, e por isso o quinto jogador deve argumentar brevemente porque entendeu que a tarefa demanda mais esforço. Pode ser porque ele não entendeu bem o que deve ser feito, ou porque tem mais experiência naquele tipo de tarefa e conseguiu prever algumas dificuldades que os demais não conseguiram.</p>
<p>Algumas vantagens do Planning Poker:</p>
<p>· Equipe mais comprometida, pois todos participam;</p>
<p>· Força a equipe a ter um conhecimento de negócio mais homogêneo;</p>
<p>· Aumenta bastante a precisão das estimativas, pois considera a experiência de todos;</p>
<p>· Mais atraente (divertida) que as demais técnicas.</p>
<p>Se seu time está tentando implementar o <strong>scrum</strong>, algumas considerações:</p>
<p>· Estórias são funcionalidades, na forma como tem valor para o cliente (no scrum, o PO ou Product Owner). Exemplo: Eu como usuário quero poder cadastrar um produto;</p>
<p>· Tarefas são as implementações que devem ser feitas para que a funcionalidade seja entregue. Uma estória pode possuir uma ou mais tarefas;</p>
<p>· Nós só conseguimos estimar com precisão as tarefas pequenas. Se estiver estimando em horas, um valor maior que oito já é considerado um ‘chute’, e geralmente significa que aquela tarefa deve ser particionada em pelo menos duas partes, e reestimada, portanto, é recomendável assumir que cada tarefa deve ser pequena o suficiente para poder ser executada em um dia;</p>
<p>· Nem todas as estórias precisam ser detalhadas durante as estimativas. Se você trabalha com scrum, durante o <em>backlog estimate </em>(reunião, geralmente semanal, onde estimamos apenas as estórias de usuário) todas as estórias são reestimadas, e as estórias grandes são quebradas de acordo com a priorização do Product Owner. Dessa forma, as estórias com prioridade mais baixas podem ser estimadas com valores mais altos, e seu detalhamento pode ser postergado para quando se tornarem mais próximas de serem selecionadas para o sprint;</p>
<p>· Estimativas por horas devem ser feitas sem considerar as interrupções, ou seja, o tempo que efetivamente levaríamos para concluir a tarefa em um dia ideal;</p>
<p>· Estimativas por pontos é uma técnica muito boa para se estimar as estórias de usuário e não as tarefas, que usamos estimativas por horas em dias ideais (veja mais sobre estimativas por pontos <a title="Estimando pelo tamanho e não pela duração" href="http://www.brasiltech.net/agilez/2009/09/22/estimando-pelo-tamanho-e-no-pela-durao/" target="_blank">aqui</a>).</p>
<p>Existe um site bem interessante onde é possível jogar online o Planning Poker com sua equipe: <a href="http://www.planningpoker.com/" rel="nofollow" target="_blank">planningpoker.com</a>. Mas note que o poker real, com cartas de papel, é mais recomendável e geralmente mais ágil. Existem vários sites que fornecem as cartas para impressão, como: <a href="http://www.sprintplanning.com/PlanningPoker.aspx" rel="nofollow" target="_blank">sprintplanning.com</a> (para mais, deem uma olhada nas referências da <a href="http://en.wikipedia.org/wiki/Planning_poker" rel="nofollow" target="_blank">Wikipedia</a>).</p>
<p>Aqui tem uma explicação bem legal sobre como funciona a dinâmica do jogo: <a href="http://www.crisp.se/planningpoker" rel="nofollow" target="_blank">www.crisp.se/planningpoker</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brasiltech.net/agilez/2009/12/13/mais-agilidade-em-suas-estimativas-com-o-planning-poker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Um dia na terra do Kanban</title>
		<link>http://www.brasiltech.net/agilez/2009/12/01/um-dia-na-terra-do-kanban/</link>
		<comments>http://www.brasiltech.net/agilez/2009/12/01/um-dia-na-terra-do-kanban/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 03:08:02 +0000</pubDate>
		<dc:creator>Pitty</dc:creator>
				<category><![CDATA[Metodologias]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.brasiltech.net/agilez/2009/12/01/um-dia-na-terra-do-kanban/</guid>
		<description><![CDATA[Como um amigo meu disse certa vez… ‘na internet nada se cria, tudo se copia’. Acabei me rendendo a essa frase, e publicarei uma estorinha já contada em outros blogs. Essa eu peguei do blog do André Dourado (blog muito bom, recomendo). O post original é de Henrik Kniberg, autor do livro ‘Scrum e XP [...]]]></description>
			<content:encoded><![CDATA[<p>Como um amigo meu disse certa vez… ‘na internet nada se cria, tudo se copia’. Acabei me rendendo a essa frase, e publicarei uma estorinha já contada em outros blogs. Essa eu peguei do blog do <a href="http://blog.adsystems.com.br/">André Dourado</a> (blog muito bom, recomendo). O post original é de Henrik Kniberg, autor do livro ‘<a href="http://www.infoq.com/br/minibooks/scrum-xp-from-the-trenches">Scrum e XP direto das trincheiras</a>’. </p>
<p>É uma historinha bem humorada do dia a dia de negociações com nossos Product Owners. O André fez uma tradução livre para o português. O post original pode ser visto em <a href="http://blog.crisp.se/henrikkniberg/2009/06/26/1246053060000.html">One Day in Kanban Land</a>.</p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/12/Kanban1_ptbr.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;margin-left: 0px;border-left-width: 0px;margin-right: 0px" border="0" alt="Kanban1_ptbr" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/12/Kanban1_ptbr_thumb.jpg" width="504" height="619" /></a>&#160;</p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/12/Kanban2_ptbr.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;margin-left: 0px;border-left-width: 0px;margin-right: 0px" border="0" alt="Kanban2_ptbr" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/12/Kanban2_ptbr_thumb.jpg" width="504" height="610" /></a> </p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/12/Kanban3_ptbr.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="Kanban3_ptbr" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/12/Kanban3_ptbr_thumb.jpg" width="504" height="610" /></a> </p>
</p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/12/Kanban4_ptbr.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="Kanban4_ptbr" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/12/Kanban4_ptbr_thumb.jpg" width="504" height="636" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brasiltech.net/agilez/2009/12/01/um-dia-na-terra-do-kanban/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Voc&#234; entrega algo de valor para seu cliente?</title>
		<link>http://www.brasiltech.net/agilez/2009/10/12/voce-entrega-algo-de-valor-para-seu-cliente-fdd-desenvolvimento-orientado-a-funcionalidade/</link>
		<comments>http://www.brasiltech.net/agilez/2009/10/12/voce-entrega-algo-de-valor-para-seu-cliente-fdd-desenvolvimento-orientado-a-funcionalidade/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 22:23:10 +0000</pubDate>
		<dc:creator>Douglas Cunha</dc:creator>
				<category><![CDATA[Metodologias]]></category>
		<category><![CDATA[estimativas]]></category>
		<category><![CDATA[fdd]]></category>
		<category><![CDATA[produtividade]]></category>
		<category><![CDATA[projeto]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.brasiltech.net/agilez/2009/10/12/voce-entrega-algo-de-valor-para-seu-cliente-fdd-desenvolvimento-orientado-a-funcionalidade/</guid>
		<description><![CDATA[Quando trabalhamos com equipes mais enxutas, utilizando metodologias ágeis (como o Scrum), temos um considerável poder de decisão e planejamento sobre o que será implementado em cada build. Digo considerável pois existem vários fatores que influenciam o que fará parte do seu sprint (sprint é uma interação que segue o ciclo PDCA e entrega incremento [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="dilbert" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/10/dilbert.gif" border="0" alt="dilbert" width="591" height="208" /></p>
<p>Quando trabalhamos com equipes mais enxutas, utilizando metodologias ágeis (como o Scrum), temos um considerável poder de decisão e planejamento sobre o que será implementado em cada build. Digo considerável pois existem vários fatores que influenciam o que fará parte do seu sprint (<a rel="nofollow" href="http://pt.wikipedia.org/wiki/Scrum" target="_blank">sprint</a> é uma interação que segue o ciclo <a rel="nofollow" href="http://pt.wikipedia.org/wiki/Ciclo_pdca" target="_blank">PDCA</a> e entrega incremento de software pronto), como a priorização do <em>Product Owner (</em>o cliente)<em>, </em>tamanho estimado para cada uma das <em>user stories </em>que farão parte da interação, restrições técnicas e outras.</p>
<p>Durante o processo de estimativa, é comum decompormos as <em>user stories</em> em várias tarefas menores, com o objetivo de facilitar a pontuação de cada uma delas. Esse processo é adequado e, se bem feito, aumenta muito a precisão das estimativas, porém, ao quebrar uma solicitação em atividades menores, corremos um sério risco de perdermos de vista o real objetivo de cada uma das tarefas, que é contribuir para a conclusão de um recurso solicitado pelo cliente. Convém não esquecermos que, para o cliente, essas pequenas atividades geralmente não possuem valor por si, a não ser que todas sejam feitas e a <em>feature </em>solicitada seja entregue.<span id="more-90"></span></p>
<p>No parágrafo anterior, introduzi dois conceitos chaves para este artigo: o conceito de <em>feature </em>e <em>valor.</em> Uma <em>Feature </em>pode ser definida como um recurso/funcionalidade e geralmente é escrita da seguinte forma: &lt;ação&gt;&lt;resultado&gt;&lt;objeto&gt;. Por exemplo &lt;emitir&gt;&lt;a nota fiscal&gt;&lt;de venda&gt; (para mais detalhes, veja <a rel="nofollow" href="http://www.heptagon.com.br/fdd-oque" target="_blank">FDD</a> – uma metodologia ágil guiada por funcionalidade). Já <em>valor</em>, neste contexto, é toda <em>feature </em>que traga algum benefício para o cliente, ou seja, é seu cliente (no scrum chamado de <em>Product Owner</em>) quem deve <strong>valorar </strong>o recurso.</p>
<p>Tendo isto em mente, podemos dizer que uma interação deve ter como <strong>principal </strong>objetivo entregar uma nova versão/build com novas funcionalidades para o cliente. Toda implementação que não contribua para a inclusão das novas <em>features</em> deve ser considerada tempo perdido e ser removida do <em>sprint.</em> Um pouco radical? Vejamos: refactoring, melhorias visuais, troca de tecnologia, otimizações e outras, será que tudo isto pode ser considerado tempo perdido? A resposta é sim e não. Não se a alteração for necessária para dar estrutura ao desenvolvimento de um novo recurso, e sim se for somente para satisfazer o ego do programador. É claro que tudo tem sua exceção, e uma refatoração visual pode, por exemplo, ser uma necessidade de mercado e ser solicitada pelo departamento de marketing, e por esse motivo ser considerada uma <em>feature </em>de valor devido ao seu significado estratégico para o  mercado.</p>
<p>Ao planejar seu <em>sprint </em>focando em funcionalidades, deverá tomar cuidado para que nenhuma funcionalidade seja entregue pela metade. Por isso, verifique a possibilidade com o cliente de desmembrar recursos maiores em partes, e entregue uma parte a cada final de interação, deixando claro que a cada fim de <em>sprint </em>ele deverá ter uma versão do programa funcionando e com um novo valor agregado.</p>
<p>Relatórios como o <em>Parking Lot</em>, que nos dá uma visão de progresso por <em>feature</em>, são indispensáveis para gerenciar o andamento do <em>sprint</em> e antecipar qualquer problema que implique na não entrega de uma funcionalidade completa para o cliente. Veja abaixo um exemplo:</p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/10/ParkingLot.045.preview.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ParkingLot.045.preview" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/10/ParkingLot.045.preview_thumb.png" border="0" alt="ParkingLot.045.preview" width="593" height="445" /></a></p>
<p>(imagem de: <a title="http://www.featuredrivendevelopment.com/node/1038" href="http://www.featuredrivendevelopment.com/node/1038">http://www.featuredrivendevelopment.com/node/1038</a>)</p>
<p>Existem vários outros conceitos utilizados neste relatório, como a divisão de funcionalidades por área de negócio, que não irei explicar aqui neste artigo. Para se aprofundar mais sobre o desenvolvimento dirigido à funcionalidade, leia o excelente livro do Alexandre Magno: <a rel="nofollow" href="http://www.visaoagil.com/downloads/biblioteca/axmagno_FDDEmUmaCascaDeBanana.pdf" target="_blank">FDD em uma casca de banana</a> e veja o que se encaixa na realidade de sua equipe.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brasiltech.net/agilez/2009/10/12/voce-entrega-algo-de-valor-para-seu-cliente-fdd-desenvolvimento-orientado-a-funcionalidade/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Estimando pelo tamanho e n&#227;o pela dura&#231;&#227;o</title>
		<link>http://www.brasiltech.net/agilez/2009/09/22/estimando-pelo-tamanho-e-no-pela-durao/</link>
		<comments>http://www.brasiltech.net/agilez/2009/09/22/estimando-pelo-tamanho-e-no-pela-durao/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 04:35:43 +0000</pubDate>
		<dc:creator>Pitty</dc:creator>
				<category><![CDATA[Metodologias]]></category>
		<category><![CDATA[estimativas]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.brasiltech.net/agilez/2009/09/22/estimando-pelo-tamanho-e-no-pela-durao/</guid>
		<description><![CDATA[Estimativas de tamanho são diferentes das estimativas de duração. Ao estimar a duração tentamos estabeler quanto tempo será necessário para concluir uma tarefa. Mas, ao estimar pelo tamanho, analisamos quanto esforço (ou quanto trabalho) será necessário dispender para executar a tarefa. Times ágeis estimam pelo tamanho e separam essa estimativa da estimativa de duração. Utilizarei [...]]]></description>
			<content:encoded><![CDATA[<p>Estimativas de tamanho são diferentes das estimativas de duração. Ao estimar a duração tentamos estabeler quanto <strong><em>tempo</em></strong> será necessário para concluir uma tarefa. Mas, ao estimar pelo tamanho, analisamos quanto <strong><em>esforço</em></strong> (ou quanto trabalho) será necessário dispender para executar a tarefa.</p>
<p>Times ágeis estimam pelo tamanho e separam essa estimativa da estimativa de duração. Utilizarei uma metáfora como exemplo para entendermos melhor essa distinção.</p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/09/2617756.jpg"><img style="border-right-width: 0px;margin: 0px 10px 0px 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/09/2617756_thumb.jpg" border="0" alt="2617756" width="317" height="205" align="left" /></a>Suponha que, em uma bela manhã de domingo, minha esposa me incumba de recolher uma grande pilha de folhas e lixo de um canto do nosso jardim. Após um café da manhã reforçado, posso olhar aquela enorme pilha, analisar e avaliar minhas ferramentas (uma pá e um carrinho de mão) e estimar imediatamente que levarei 5 horas para terminar o trabalho. Para chegar a esse valor, ignorei qualquer estimativa de <strong>tamanho</strong> e parti diretamente para uma estimativa de <strong>duração</strong>.</p>
<p>Agora, imagine que eu olhe para a pilha e estime seu <strong>tamanho</strong>. Baseando-me nas suas dimensões, estimo que a pilha contem cerca de 10 metros cúbicos de sujeira. Essa é minha estimativa do <strong>tamanho</strong> da tarefa. Mas, nesse caso, somente uma estimativa de tamanho não é lá muito útil. Como no domingo tem um joguinho de futebol, quero saber quanto tempo vou demorar para limpar toda a sujeira. Ou seja, preciso converter minha estimativa de <strong>tamanho</strong> em uma estimativa de <strong>duração</strong>.</p>
<p><span id="more-74"></span></p>
<p>Uma etiqueta no meu carrinho de mão informa que o mesmo possui uma capacidade de 0,2 metros cúbicos. Dividindo os 10 metros cúbicos de sujeira pela capacidade do carrinho, concluo que precisarei de 50 viagens para dar um fim na bagunça. Ainda estimo que levarei cerca de 3 minutos para carregar o carrinho, mais 2 minutos para movê-lo até a lixeira e outro minuto para retornar com o carrinho vazio. Isso dá um total de 6 minutos por viagem. Como antecipei que precisaria de 50 viagens, chego à uma duração total de 300 minutos, ou 5 horas, para minha tarefa doméstica.</p>
<p>Em ambas as estimativas cheguei a 5 horas de duração. No entanto, a segunda estimativa é mais confiável, pois analisamos uma dimensão absoluta: o <strong>tamanho</strong> (ou esforço) da tarefa. Na primeira estimativa trabalhamos diretamente com a <strong>duração</strong>, que é uma dimensão relativa, pois se meu carrinho tiver uma capacidade de carga maior, a duração da tarefa será menor. E se o carrinho possuir uma capacidade menor, a duração da tarefa será maior.</p>
<p>Similarmente, o processo que agilistas utilizam para estimar um projeto de software segue os seguintes passos:</p>
<ol>
<li>Definir as funcionalidades desejadas;</li>
<li>Estimar o tamanho das tarefas;</li>
<li>Estimar a duração das tarefas;</li>
<li>Programar as datas de entrega.</li>
</ol>
<p>Existem duas medidas de tamanho que podemos utilizar no desenvolvimento de software: pontos de estória (<em>story points</em>) e dia ideal (<em>ideal time</em>). O que são, quais as diferenças entre essas medidas e como podemos utilizá-las será assunto de um próximo tópico.</p>
<p>Enjoy it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brasiltech.net/agilez/2009/09/22/estimando-pelo-tamanho-e-no-pela-durao/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Uma alternativa para montar seu Agile Board</title>
		<link>http://www.brasiltech.net/agilez/2009/08/24/uma-alternativa-para-montar-seu-agile-board/</link>
		<comments>http://www.brasiltech.net/agilez/2009/08/24/uma-alternativa-para-montar-seu-agile-board/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 03:50:23 +0000</pubDate>
		<dc:creator>Pitty</dc:creator>
				<category><![CDATA[Metodologias]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.brasiltech.net/agilez/2009/08/24/uma-alternativa-para-montar-seu-agile-board/</guid>
		<description><![CDATA[Há alguns meses vi um post muito interessante e criativo sobre a montagem do agile board da BlueSoft. Os curiosos podem acessá-lo aqui. Desde então fiquei tentado a aplicar a idéia na empresa onde trabalho e montar para minha equipe um quadro magnético na parede. No entanto, não é uma solução muito barata, a sala [...]]]></description>
			<content:encoded><![CDATA[<p>Há alguns meses vi um post muito interessante e criativo sobre a montagem do agile board da BlueSoft. Os curiosos podem acessá-lo <a href="http://bluesoft.wordpress.com/2007/11/16/scrum-board/" target="_blank">aqui</a>. Desde então fiquei tentado a aplicar a idéia na empresa onde trabalho e montar para minha equipe um quadro magnético na parede. No entanto, não é uma solução muito barata, a sala é pequena, e se nossa equipe aumentar teremos que mudar de sala… e lá se vai todo o trabalho de pintura.</p>
<p>Utilizávamos um quadro de feltro verde que não recomendo. Por baixo do feltro o que existe é um papelão fajuto (isso mesmo!) que após alguns furos perde o tônus e não segura mais nada. Por sorte, encontramos uma alternativa bem legal e de baixo custo. São placas de cortiça auto-colante que podem ser fixadas diretamente na parede.</p>
<p>Na foto abaixo mostramos um pacote com 6 placas dessas. Cada pacote custa R$ 26,90 e cobre meio metro quadrado.</p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/DSC02329Medium.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/DSC02329Medium_thumb.jpg" border="0" alt="DSC02329 (Medium)" width="600" height="451" /></a></p>
<p>A montagem é muito simples; basta remover o plástico protetor e posicionar a placa no local desejado. Deve-se ter cuidado com a colocação da primeira, pois as outras placas serão alinhadas com ela. Se ela estiver torta o quadro ficará fora de prumo. <span id="more-51"></span></p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/DSC02324Medium.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/DSC02324Medium_thumb.jpg" border="0" alt="DSC02324 (Medium)" width="600" height="452" /></a></p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/DSC02331Medium.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/DSC02331Medium_thumb.jpg" border="0" alt="DSC02331 (Medium)" width="600" height="451" /></a></p>
<p>Após a colocação da primeira placa, continue colando as placas seguintes, montando o resto do quadro.</p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/DSC02334Medium.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/DSC02334Medium_thumb.jpg" border="0" alt="DSC02334 (Medium)" width="600" height="451" /></a></p>
<p>Após várias colagens, este é o resultado final.</p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/DSC02335Medium.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/08/DSC02335Medium_thumb.jpg" border="0" alt="DSC02335 (Medium)" width="600" height="451" /></a></p>
<p>O legal é que podemos aumentar o quadro se necessário. Basta acrescentar mais placas. Além disso, a cortiça não tem o problema do quadro de feltro, pois ela se fecha quando removemos o alfinete.</p>
<p>Para montar este quadro usamos 3 pacotes de placas, com um custo total de R$ 80,70. É uma ótima opção, que recomendo a todos que quiserem montar um agile board. Espero que gostem da idéia.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brasiltech.net/agilez/2009/08/24/uma-alternativa-para-montar-seu-agile-board/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

