<?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; produtividade</title>
	<atom:link href="http://www.brasiltech.net/agilez/tag/produtividade/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>Vamos simplificar?</title>
		<link>http://www.brasiltech.net/agilez/2010/12/29/vamos-simplificar/</link>
		<comments>http://www.brasiltech.net/agilez/2010/12/29/vamos-simplificar/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 23:36:00 +0000</pubDate>
		<dc:creator>Douglas Cunha</dc:creator>
				<category><![CDATA[produtividade]]></category>
		<category><![CDATA[Práticas]]></category>

		<guid isPermaLink="false">http://www.brasiltech.net/agilez/?p=157</guid>
		<description><![CDATA[Fim de ano sempre é sinônimo de reflexão, seja no aspecto pessoal ou profissional. Paramos para refletir sobre o que funcionou e o que não funcionou no ano que termina, fazendo novos planos para o ano que chega. O que podemos melhorar em nossa vida pessoal? E na profissional? Seja qual for sua profissão, uma [...]]]></description>
			<content:encoded><![CDATA[<p align="justify"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 10px 0px; display: inline; border-top: 0px; border-right: 0px" title="mafalda" border="0" alt="mafalda" align="left" src="http://www.brasiltech.net/agilez/wp-content/uploads/2010/12/mafalda.jpg" width="211" height="240" /> </p>
<p align="justify">Fim de ano sempre é sinônimo de reflexão, seja no aspecto pessoal ou profissional. Paramos para refletir sobre o que funcionou e o que não funcionou no ano que termina, fazendo novos planos para o ano que chega. O que podemos melhorar em nossa vida pessoal? E na profissional? Seja qual for sua profissão, uma coisa é sempre certa: seu objetivo é solucionar problemas. O marceneiro resolve o problema da dona de casa ao construir uma nova mesa, o dentista resolve algum problema de carie, o motorista um problema de trânsito e o analista de sistemas um problema de software. Cada um em sua especialidade, sempre procurando a melhor solução.    <br />O famoso físico alemão Albert Einstein dedicou a sua vida a solucionar o maior problema da física até hoje: encontrar uma teoria que explicasse, de forma única, o funcionamento de tudo o que existe no universo. Ele não teve sucesso. Hoje existem algumas teorias que tentam resolver o mesmo problema, entretanto não são soluções <strong>simples</strong>. Destaquei a palavra <strong>simples</strong> por um motivo. Einstein acreditava que toda solução deveria ser simples para ser correta. Até os últimos instantes de sua vida ele perseguiu esse ideal. Eu acredito que ele estava certo. Durante o dia nos deparamos com inúmeros desafios, mas será que aplicamos as soluções mais simples? Leia a pequena estória abaixo:</p>
<p> <span id="more-157"></span>
<p align="justify">Recentemente recebi um email com um video onde um palestrante contava um caso que ocorreu em uma grande empresa. Era uma fabricante de pastas de dentes, e eles estavam enfrentando alguns processos de clientes que alegavam ter comprado caixas de pastas de dentes vazias. Havia uma falha no processo que fazia com que aleatoriamente algumas caixas não recebessem o tubo de creme dental. Para resolver o problema, os diretores da empresa contrataram uma equipe de engenheiros. Após muitos estudos e testes, os engenheiros criaram um complexo mecanismo composto de uma balança super sensível e um braço mecânico que, ao constatar que a caixa que percorria a esteira estivesse com um peso menor do que o normal, parava a linha de produção e removia a caixa vazia.    <br />O sistema foi colocado em produção e em pouco tempo as reclamações dos clientes pararam. Após alguns meses um dos donos da fábrica foi até a linha de produção averiguar como estavam as coisas, e lá ocorreu o seguinte dialogo com um dos operadores:    <br />- O que vocês acharam do novo sistema?     <br />- Na verdade nós não gostamos muito, porque toda hora a esteira ficava parando pro braço mecânico retirar a caixa. Atrapalhava muito o nosso trabalho e acabamos por deixa-lo desligado &#8211; disse o operador.    <br />- Ué, mas ele ficou desligado esse tempo todo? &#8211; disse espantado o empresário    <br />- Ficou sim senhor.    <br />- Mas como, se as reclamações dos clientes pararam?    <br />- Na verdade nós resolvemos o problema do nosso jeito. Fizemos uma vaquinha e compramos um ventilador grande pra colocar na altura da esteira. Quando uma caixa vazia passava o vento era mais forte e a jogava pra fora da esteira.     <br />(empresário atônito e mudo)    <br />Quantas vezes não agimos como os caríssimos engenheiros e criamos braços mecânicos para resolver os problemas encontrados diariamente? Será que, como Einstein acreditava, as melhores soluções não são as mais simples? Lembre-se que não basta ter o conhecimento, temos que aplicá-lo com sabedoria, na dose certa. Se para fazer um sistema de venda você teve que aplicar todos os padrões de projeto (design pattern) que conhece, provavelmente não foi a solução mais simples. O algoritmo super complexo que você criou pode ser a prova de erros e resolver todos os problemas que você pensou que fossem ocorrer, em um futuro desconhecido, mas será que foi a melhor escolha agora? Muitas vezes uma solução complexa que resolve todos os problemas de uma vez é mais custosa e trabalhosa de ser mantida do que várias soluções simples, isso porque simples + simples + simples é sempre igual a simples, enquanto o complexo tende a ficar cada vez mais complexo. Em desenvolvimento de software essas situações são freqüentes e pretendo abordar alguns casos em breve. Até lá e um ótimo ano novo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brasiltech.net/agilez/2010/12/29/vamos-simplificar/feed/</wfw:commentRss>
		<slash:comments>1</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>Dual view: luxo ou ferramenta de produtividade?</title>
		<link>http://www.brasiltech.net/agilez/2009/09/01/dual-view-luxo-ou-ferramenta-de-produtividade/</link>
		<comments>http://www.brasiltech.net/agilez/2009/09/01/dual-view-luxo-ou-ferramenta-de-produtividade/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 05:18:42 +0000</pubDate>
		<dc:creator>Pitty</dc:creator>
				<category><![CDATA[Metodologias]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[produtividade]]></category>

		<guid isPermaLink="false">http://www.brasiltech.net/agilez/2009/09/01/dual-view-luxo-ou-ferramenta-de-produtividade/</guid>
		<description><![CDATA[Dual view é a utilização simultânea de 2 monitores no mesmo computador, com a respectiva extensão da área de trabalho disponível. Neste artigo pretendo apresentar argumentos de como uma equipe pode ganhar produtividade utilizando bem não apenas um, mas dois monitores LCD. O argumento mais óbvio é o ganho de espaço para visualização simultânea de [...]]]></description>
			<content:encoded><![CDATA[<p>Dual view é a utilização simultânea de 2 monitores no mesmo computador, com a respectiva extensão da área de trabalho disponível. Neste artigo pretendo apresentar argumentos de como uma equipe pode ganhar produtividade utilizando bem não apenas um, mas dois monitores LCD.</p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/09/DSC02339Medium.jpg"><img style="border-right-width: 0px;margin: 0px 25px 10px 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="DSC02339 (Medium)" align="left" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/09/DSC02339Medium_thumb.jpg" width="360" height="271" /></a> </p>
<p>O argumento mais óbvio é o ganho de espaço para visualização simultânea de várias janelas, mas somente isso não é suficiente; devemos utilizar esse espaço adicional de forma inteligente. E tudo começa com um conceito que aparentemente não tem relação alguma com monitores: “<em>contexto mental”</em>.</p>
<p>Segundo Andy Hunt, em seu livro “<a href="http://books.google.com.br/books?id=Pq3_PAAACAAJ&amp;dq=pragmatic+thinking&amp;ei=cpKcSub_BY_-ygTJ1q3rDg&amp;hl=pt-BR" target="_blank">Pragmatic Thinking</a>”, <em>contexto mental</em> é o conjunto de fatos, estados e/ou objetos em que estamos focados em um certo momento. Por exempo, quando participamos de uma reunião, o assunto em pauta, a entonação de voz do interlocutor, sua aparência, a sala, a mesa, a iluminação, até mesmo aquela cadeira desconfortável, tudo se une para formar o contexto. Pense nele como o conjunto de informações para as quais você dedica sua <em>atenção</em> em um certo momento e que estão carregadas na sua memória de curta-duração.</p>
</p>
<p> <span id="more-63"></span>
<p><em>Atenção </em>é a palavra chave. Nossa atenção é muito facilmente dividida, de modo que dificilmente algo recebe nossa <strong>total atenção</strong>. E, sem total atenção, perdemos o <strong>foco</strong>, deixando escapar muitos detalhes do contexto. É o que acontece quando recebemos um email ou uma chamada do MSN durante a resolução daquele problema difícil. Nossa atenção é desviada, o foco é perdido e o contexto mental é alterado.</p>
<p>A alteração de contexto mental é um fator crítico para a produtividade. Nós não trocamos de contexto mental com facilidade. Se algo nos interrompe, quebrando nosso fluxo de idéias, é realmente custoso recuperar novamente a linha de pensamento. Estudos indicam que, mesmo sendo a interrupção breve, perdemos de 10 a 20 minutos para restaurar todo o contexto mental anterior. Assim, quanto maior a frequência da troca de contexto mental, menor a produtividade.</p>
<p>Bem, e onde entram os monitores nessa teoria toda? </p>
<p>O dual view, quando bem utilizado, ajuda a manter o contexto mental da tarefa. </p>
<p>Como? Evitando ou minimizando a necessidade de swap de janelas (o famoso CTRL-TAB). </p>
<p>Nossa equipe trabalha diariamente com várias ferramentas ao mesmo tempo; utilizamos uma ferramenta para controle de versão, outra para controle de chamados, Delphi como ferramenta de desenvolvimento, vários plugins e suas respectivas janelas, mais email, navegadores, agenda, etc. Antes, para realizarmos os checkins e checkouts do fonte, tínhamos que alternar o tempo todo entre o controle de versão e o Delphi. Com o dual view, conseguimos manter todas essas ferramentas visíveis simultaneamente. Não perdemos mais o contexto mental da tarefa de programação. Outro exemplo: podemos depurar nosso sistema rodando o Delphi em um monitor e o executável no segundo monitor. Tudo continua dentro do mesmo contexto mental, sem aquelas irritantes trocas de janela entre o depurador e nosso sistema.</p>
<p>A foto abaixo mostra uma parte da sala após instalarmos os monitores. Hoje toda a equipe possui 2 monitores, e já estamos pensando em aumentar para 3.</p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/09/DSC02343Medium.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="DSC02343 (Medium)" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/09/DSC02343Medium_thumb.jpg" width="600" height="452" /></a> </p>
<p><a href="http://www.brasiltech.net/agilez/wp-content/uploads/2009/09/DSC02340Medium.jpg"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="DSC02340 (Medium)" src="http://www.brasiltech.net/agilez/wp-content/uploads/2009/09/DSC02340Medium_thumb.jpg" width="600" height="451" /></a> </p>
<p>Assim, pela nossa experiência, o dual view pode, quando bem utilizado, ajudar a melhorar o foco da equipe e, consequentemente, sua produtividade. </p>
<p>E, é claro, existem outras formas de controlar ou minimizar o ‘<em>context switching’.</em> </p>
<p>Como gestor da área de desenvolvimento, recebo muitos emails diariamente. Quase sempre, assim que chegava o aviso de um novo email, eu parava o que estava fazendo para lê-lo (e obviamente mandava pelo ralo todo meu contexto mental). Para contornarmos isso, instalamos um ótimo aplicativo para gerenciamento de desktops virtuais (<a href="http://www.dexpot.de/index.php?lang=en" target="_blank">Dexpot</a>), que nos ajuda a manter contextos mentais muito diferentes totalmente separados. Passamos a trabalhar com 3 desktops virtuais: no primeiro mantemos as ferramentas de desenvolvimento; no segundo, somente email e acesso à internet; e no terceiro assuntos sem importância. É como se trabalhássemos com três pares de monitores. Colocando o aplicativo de email no 2º desktop, conseguimos reduzir muito a troca de contexto, pois não vemos mais o email chegando. A leitura de emails é feita no início do dia, um pouco antes do almoço e no final da tarde, mantendo sob controle a troca dos contextos mentais.</p>
<p>Pense em como você pode controlar seu ‘<em>context switching’. </em>Você vai se surpreender com os resultados.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brasiltech.net/agilez/2009/09/01/dual-view-luxo-ou-ferramenta-de-produtividade/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

