<?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>Fabrício Lemos &#187; Desenvolvimento Ágil</title>
	<atom:link href="http://www.fabriciolemos.org/blog/tag/desenvolvimento-agil/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fabriciolemos.org/blog</link>
	<description>Blog sobre desenvolvimento de software</description>
	<lastBuildDate>Tue, 10 Nov 2009 18:54:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>OpenUP como Porta de Entrada para o Mundo Ágil.</title>
		<link>http://www.fabriciolemos.org/blog/2009/openup-como-porta-de-entrada-para-o-mundo-agil/</link>
		<comments>http://www.fabriciolemos.org/blog/2009/openup-como-porta-de-entrada-para-o-mundo-agil/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 22:07:36 +0000</pubDate>
		<dc:creator>Fabrício Lemos</dc:creator>
				<category><![CDATA[Desenvolvimento Ágil]]></category>
		<category><![CDATA[OpenUP]]></category>
		<category><![CDATA[Processos de software]]></category>
		<category><![CDATA[Unified Process]]></category>

		<guid isPermaLink="false">http://www.fabriciolemos.org/blog/?p=7</guid>
		<description><![CDATA[Quando você começa a adoção de práticas ágeis de desenvolvimento de forma pública, novos desafios surgem. Para conseguir o patrocínio de todas as partes envolvidas e afetadas deve-se procurar a adoção de uma metodologia ao mesmo tempo eficiente e que não encontre muita resistência. O OpenUP surge então como uma boa escolha para um primeiro passo ao "Mundo Àgil".]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p class="western" style="margin-bottom: 0cm;">No <a href="http://www.fabriciolemos.org/blog/2008/padroes-para-adocao-de-agilidade/" target="_blank">post anterior</a> escrevi sobre alguns padrões para adoção de agilidade em um ambiente de desenvolvimento de software. Falei também que desta vez estamos utilizando uma abordagem utilizando os padrões <em>Public Display of Agility</em> e <em>Iterative First</em>, além do <em>Start Small</em>.</p>
<p class="western" style="margin-bottom: 0cm;">A utilização dos dois primeiros padrões impôs desafios diferentes dos encontrados na utilização dos padrões <em>Stealth Mode</em> e <em>Technical Practices First</em> (minha experiência anterior).</p>
<p class="western" style="margin-bottom: 0cm;">Uma das principais diferenças é que, por o  <em>Stealth Mode</em> não chamar muita atenção, você tem mais liberdade para aplicar as práticas da maneira que achar melhor. Não precisa responder a muitas perguntas e nem assume de ante mão compromissos externos. Ou seja, pode trabalhar de forma bastante eficiente e não encontra muitas resistências.</p>
<p class="western" style="margin-bottom: 0cm;">Indo para o <em>Public Display of Agility</em>, entretanto, você estará chamando bastante atenção (como o próprio nome do padrão sugere) e, por metodologias ágeis ainda estarem longe de ser unanimidade, um certo jogo político tem que ser levado adiante. Um lado positivo é que você acaba ganhando o patrocínio das várias partes envolvidas, mas esse patrocínio as vezes vem com um preço um pouco alto. Por exemplo, algumas práticas ainda são encaradas como “muito radicais”.</p>
<p class="western" style="margin-bottom: 0cm;">Com <em>Technical Practices First</em>, a pesar de certas práticas “técnicas” serem bem difíceis de se dominar e possuírem certas dependências entre si, não é tão difícil sair da inercia. Por exemplo, se o time decide começar a fazer testes de unidade ou adotar integração contínua, existem disponíveis uma grande quantidade de material bem ao estilo “receita de bolo” e ferramentas bem simples de se trabalhar. Claro que leva-se algum tempo para se começar a trabalhar corretamente e entender o espírito da coisa, mas a sensação de estar perdido não é tão grande.</p>
<p class="western" style="margin-bottom: 0cm;">Porém, se o time decide ir pelo <em>Iterative First</em>, a adoção deve ser levada com mais cuidado e deve-se ter uma grande sensibilidade de como as práticas se encaixarão e principalmente mudarão a cultura da empresa. As primeiras práticas que serão abordadas são as gerenciais; e de gerência de projeto todo mundo entende um pouco, ou acha que entende Ou seja, é bem mais fácil encontrar resistências: infelizmente ainda há muita gente que acha que desenvolvimento de software deve ser feito de forma prescritiva e que devemos adotar as mesmas práticas gerenciais de outras engenharias. Também existem pessoas bem abertas a mudanças e enxergam as vantagens na aplicação de práticas ágeis, mas, por não terem um background sólido, não conseguem digerir os reais valores do <a href="http://agilemanifesto.org/" target="_blank">Manifesto Ágil</a>.</p>
<p class="western" style="margin-bottom: 0cm;">Ficamos então com o desafio de adotarmos como base uma metodologia de desenvolvimento ao mesmo tempo eficiente e que levasse em consideração todo esse cenário. Foi aí que o <a href="http://epf.eclipse.org/wikis/openup/index.htm" target="_blank">OpenUP</a> se encaixou como uma luva às nossas necessidades:</p>
<ul>
<li>É um processo bastante enxuto e se encaixa bem em um contexto ágil (a gestão do projeto é quase que uma cópia do <a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">SCRUM</a>). Práticas de outras metodologias também podem ser facilmente encaixadas no processo</li>
</ul>
<ul>
<li>Por ser um <a href="http://en.wikipedia.org/wiki/Unified_Process" target="_blank">Unified Process</a>, traz possui conceitos que muitos já estão acostumados, diminuindo a resistência inicial:</li>
</ul>
<blockquote>
<ul>
<li> É iterativo e incremental</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>É Baseado na utilização de casos de uso</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li> Desenvolvimento centrado na arquitetura do projeto.</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>Possui foco em gestão de risco</li>
</ul>
</blockquote>
<ul>
<li>Mesmo sendo bem enxuto, engloba (quase) todas as disciplinas de software: Arquitetura, Gestão de Projeto, Gestão de Configuração, Desenvolvimento, Gestão de Requisitos e Testes</li>
</ul>
<ul>
<li>Mesmo tendo que ser adaptado para a nossa realidade, é um processo que já está pronto para ser utilizado, contém um bom conjunto de práticas e artefatos, já com templates e &#8220;boas práticas&#8221; documentados</li>
</ul>
<ul>
<li>Está todo documentado no <a href="http://en.wikipedia.org/wiki/Eclipse_Process_Framework" target="_blank">EPF</a></li>
</ul>
<ul>
<li>
<p class="western" style="margin-bottom: 0cm;">É disponibilizado 	através da Eclipse Public License: pode ser utilizado sem 	restrições.</p>
</li>
</ul>
<p class="western" style="margin-bottom: 0cm;">OpenUP contém todas as melhores soluções para desenvolvimento de software? Acredito que não. Mas com essas características foi a solução salomônica para este momento inicial. Ainda estamos no começo (<em>Start Small</em>) e é difícil já fazermos algum jugamento da escolha, mas acredito que estamos no caminho certo, principalmente porque acabamos ganhando o apoio de muita gente boa.</p>
<p class="western" style="margin-bottom: 0cm;">É importante também ficar claro que a mudança de cultura de um ambiente não se trata somente de um mudança no processo ou metodologia de desenvolvimento e é um fator que também deve ser levado em conta, tendo desafios ainda maiores.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fabriciolemos.org/blog/2009/openup-como-porta-de-entrada-para-o-mundo-agil/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Padrões para Adoção de Agilidade</title>
		<link>http://www.fabriciolemos.org/blog/2008/padroes-para-adocao-de-agilidade/</link>
		<comments>http://www.fabriciolemos.org/blog/2008/padroes-para-adocao-de-agilidade/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 21:24:56 +0000</pubDate>
		<dc:creator>Fabrício Lemos</dc:creator>
				<category><![CDATA[Desenvolvimento Ágil]]></category>
		<category><![CDATA[Processos de software]]></category>

		<guid isPermaLink="false">http://www.fabriciolemos.org/blog/?p=71</guid>
		<description><![CDATA[Mesmo com sua adoção crescendo ano a ano e comprovadamente trazendo ganhos de produtividade para projetos de desenvolvimento, metodologias ágeis ainda encontram bastante resistência e ainda tem uma adoção relativamente pequena aqui no Brasil. Existiria então uma forma mais indicada de transição para uma abordagem ágil de acordo com as características de cada ambiente?]]></description>
			<content:encoded><![CDATA[<p class="western" style="margin-bottom: 0cm; text-align: justify;">Mesmo com sua adoção crescendo ano a ano e <a href="http://www.versionone.com/pdf/3rdAnnualStateOfAgile_FullDataReport.pdf" target="_blank">comprovadamente</a> trazendo ganhos de produtividade para projetos de desenvolvimento, metodologias ágeis ainda encontram bastante <a href="http://blog.improveit.com.br/articles/2008/03/28/o-mercado-est%C3%A1-mudando" target="_blank">resistência </a>e ainda tem uma adoção relativamente pequena aqui no Brasil. Existiria então uma forma mais indicada de transição para uma abordagem ágil de acordo com as características de cada ambiente?</p>
<p class="western" style="margin-bottom: 0cm; text-align: justify;">O Mike Cohn documentou  alguns <a href="http://www.agilejournal.com/content/view/734/76/" target="_blank">padrões interessantes</a> para adoção de agilidade e os dividiu em três pares antagônicos que são:</p>
<ul style="text-align: justify;">
<li><strong>Start Small</strong> ou <strong>Go All In</strong>?</li>
</ul>
<p style="padding-left: 30px; text-align: justify;">Começar a adoção 		com um projeto piloto ou já começar com a grande maioria dos 		projetos da empresa?</p>
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<ul style="text-align: justify;">
<li><strong>Technical Practices First</strong> ou <strong>Iterative First</strong>?</li>
</ul>
<p style="padding-left: 30px; text-align: justify;">Focar primeiramente nas práticas de engenharia ou nas práticas de gestão?</p>
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<ul style="text-align: justify;">
<li><strong>Stealth Mode</strong> ou <strong>Public Display of Agility</strong>?</li>
</ul>
<p style="margin-bottom: 0cm; padding-left: 30px; text-align: justify;">Serão esperados os primeiros resultados para que a adoção seja tornada pública ou ela será divulgada de ante mão?</p>
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<p class="western" style="margin-bottom: 0cm; text-align: justify;">Dentre estes padrões, o caminho mais seguro e menos traumático é a combinação de <em>Start Small</em>, <em>Technical Practices First</em> e <em>Stealth Mode</em>. Foi essa combinação que funcionou <strong>muito</strong> bem em meu <a href="http://www.serpro.gov.br/" target="_blank">emprego anterior</a> e, encontrando as mesmas condições, tentaria adotá-la em qualquer outro ambiente.</p>
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<p class="western" style="margin-bottom: 0cm; text-align: justify;">Adotando <em>Start Small</em> e <em>Technical Practices First</em> não se precisa de tanto apoio das hierarquias superiores e conseqüentemente pode-se atuar sob <em>Stealth Mode</em>. Como, até meio que paradoxalmente, as hierarquias superiores são as que menos conhecem e mais resistem às abordagens ágeis, o time pode evoluir sem encontrar muitas resistências nos estágios iniciais e, principalmente, sem ser talhado pela equipe de “qualidade”. Claro que vai chegar um momento em que o apoio será necessário, porém os resultados já alcançados servirão de prova de que desenvolvimento ágil não é coisa de adolescente frustrado ou programador revoltado.</p>
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<p class="western" style="margin-bottom: 0cm; text-align: justify;">Essa combinação, no entanto, possui um lado negativo considerável: é a mais lenta. Adotando-a, demoramos em torno de três anos para que começássemos a ter um impacto organizacional mais abrangente (demora também ocasionada pelo tamanho da empresa), mesmo resultados positivos tendo estado presentes desde os primeiros meses. E a razão da sua vantagem  é também o motivo da sua desvantagem. Sem o apoio corporativo, o time pioneiro sente dificuldades de levar a adoção adiante e depende muito de esforços homéricos dos envolvidos para que as dificuldades naturais da adoção não comprometam o andamento do(s) projeto(s), gerando ruídos e quebrando o <em>Stealth Mode</em>.</p>
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<p class="western" style="margin-bottom: 0cm; text-align: justify;">Seria então está combinação a mais indicada para todos os ambientes? Acredito que não. Algumas forças devem estar presentes para que esta combinação seja a mais indicada:</p>
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<ul style="text-align: justify;">
<li>
<p class="western" style="margin-bottom: 0cm;">Já existe na 	empresa um processo de desenvolvimento “tradicional” bem 	estabelecido e controlado. Geralmente em empresas que tem ou buscam 	o selo CMMI e que acabam considerando abordagens ágeis uma 	ameaça para o processo de avaliação e controle de “qualidade”.</p>
</li>
<li>
<p class="western" style="margin-bottom: 0cm;">O time tem um 	perfil técnico muito bom, os membros são proativos e comprometidos 	na busca de melhores formas de desenvolver software.</p>
</li>
<li>
<p class="western" style="margin-bottom: 0cm;">Os integrantes do 	time devem, em grande parte, se manter constantes.</p>
</li>
</ul>
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<p class="western" style="margin-bottom: 0cm; text-align: justify;">Aqui na <a href="http://www.sefaz.ce.gov.br/" target="_blank">SEFAZ</a>, por termos outro cenário (com vantagens e desvantagens) estamos adotando outra estratégia, mais próxima da combinação <em>Start Small</em>, <em>Iterative First</em> e <em>Public Display of Agility</em>. O padrão <em>Go All In</em> traria resultados ainda mais rápidos, mas acho demasiadamente arriscado. O ponta pé inicial ainda não foi dado, mas estou animado com o comprometimento que estamos obtendo em todos os níveis e espero que em breve eu tenha boas notícias para dar.</p>
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
<p class="western" style="margin-bottom: 0cm; text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.fabriciolemos.org/blog/2008/padroes-para-adocao-de-agilidade/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
