<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Evolução de Componentes e Serviços</title>
	<atom:link href="http://www.aqueleblogdesoa.com.br/2008/08/evolucao-de-componentes-e-servicos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aqueleblogdesoa.com.br/2008/08/evolucao-de-componentes-e-servicos/</link>
	<description>SOA? Veja bem...</description>
	<lastBuildDate>Sat, 10 Jul 2010 16:13:57 -0300</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Eduardo Machado</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/08/evolucao-de-componentes-e-servicos/comment-page-1/#comment-209</link>
		<dc:creator>Eduardo Machado</dc:creator>
		<pubDate>Mon, 18 Aug 2008 11:58:33 +0000</pubDate>
		<guid isPermaLink="false">http://aqueleblogdesoa.wordpress.com/?p=319#comment-209</guid>
		<description>- A principal referência que conheço que liga métodos ágeis e refactoring é o livro do Fowler &quot;Refactoring: Improving the Design of Existing Code&quot;. Ele justamente prega essa necessidade rotineira por limpeza de código durante iteration, sprint, etc. Além do mais acho que a questão levantada pelo Paulo Camara é abordada justamente na definição que Fowler faz desta atividade, que é obter uma versão do software que seja funcionalmente idêntica, porém com aspectos de qualidade (o principal é a manutenibilidade) melhoradas.
- A evolução de componentes é sempre complicado, e uma das referências que gosto são pesquisas de CBD do IC-UNICAMP. Este artigo é uma metodologia que, dentro do esquema tradicional de atribuir números de versão no formato Major.Minor.Update, essa metodologia mostra uma forma sistemática de incrementar esses números a partir de alterações no componente (e por extensão serviços).
http://www.ic.unicamp.br/~alobo/publications/04-lobo.pdf

Abs.</description>
		<content:encoded><![CDATA[<p>- A principal referência que conheço que liga métodos ágeis e refactoring é o livro do Fowler &#8220;Refactoring: Improving the Design of Existing Code&#8221;. Ele justamente prega essa necessidade rotineira por limpeza de código durante iteration, sprint, etc. Além do mais acho que a questão levantada pelo Paulo Camara é abordada justamente na definição que Fowler faz desta atividade, que é obter uma versão do software que seja funcionalmente idêntica, porém com aspectos de qualidade (o principal é a manutenibilidade) melhoradas.<br />
- A evolução de componentes é sempre complicado, e uma das referências que gosto são pesquisas de CBD do IC-UNICAMP. Este artigo é uma metodologia que, dentro do esquema tradicional de atribuir números de versão no formato Major.Minor.Update, essa metodologia mostra uma forma sistemática de incrementar esses números a partir de alterações no componente (e por extensão serviços).<br />
<a href="http://www.ic.unicamp.br/~alobo/publications/04-lobo.pdf" rel="nofollow">http://www.ic.unicamp.br/~alobo/publications/04-lobo.pdf</a></p>
<p>Abs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: marcilio</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/08/evolucao-de-componentes-e-servicos/comment-page-1/#comment-210</link>
		<dc:creator>marcilio</dc:creator>
		<pubDate>Fri, 15 Aug 2008 13:22:32 +0000</pubDate>
		<guid isPermaLink="false">http://aqueleblogdesoa.wordpress.com/?p=319#comment-210</guid>
		<description>Aproveitando o assunto e ótimo texto do Ventura....

Quando falamos de refactoring de componentes de caixinha, pensamos no update de versão do componente para os sistemas em produção que o utilizam.

Embora seja o ideal, sob ponto de vista de gerenciamento dos componentes e controle de qualidade, isso pode muitas vezes não ser atrante, e nem ser justificável para os projetos.

O que tenho percebido é que, de boa vontade,  os sistemas vão evoluir ou atualizar versões de componentes apenas para duas situações:
 -1) evoluções que de fato impactem diretamente na utilização do componente no sistema (performance, por exemplo).
 -2) correção de defeito :-)

O sonho do grupo de componentes em manter todos os usuários usando as mesma versão do componente é um desafio e tanto, imagino que quem já teve que passar por isso por muitas vezes (Alô Paulão!), sabe do que estou falando...

[]s
Marcílio</description>
		<content:encoded><![CDATA[<p>Aproveitando o assunto e ótimo texto do Ventura&#8230;.</p>
<p>Quando falamos de refactoring de componentes de caixinha, pensamos no update de versão do componente para os sistemas em produção que o utilizam.</p>
<p>Embora seja o ideal, sob ponto de vista de gerenciamento dos componentes e controle de qualidade, isso pode muitas vezes não ser atrante, e nem ser justificável para os projetos.</p>
<p>O que tenho percebido é que, de boa vontade,  os sistemas vão evoluir ou atualizar versões de componentes apenas para duas situações:<br />
 -1) evoluções que de fato impactem diretamente na utilização do componente no sistema (performance, por exemplo).<br />
 -2) correção de defeito <img src='http://www.aqueleblogdesoa.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>O sonho do grupo de componentes em manter todos os usuários usando as mesma versão do componente é um desafio e tanto, imagino que quem já teve que passar por isso por muitas vezes (Alô Paulão!), sabe do que estou falando&#8230;</p>
<p>[]s<br />
Marcílio</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paulo Camara</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/08/evolucao-de-componentes-e-servicos/comment-page-1/#comment-211</link>
		<dc:creator>Paulo Camara</dc:creator>
		<pubDate>Fri, 15 Aug 2008 12:08:58 +0000</pubDate>
		<guid isPermaLink="false">http://aqueleblogdesoa.wordpress.com/?p=319#comment-211</guid>
		<description>Deixa eu só fazer um comentário aqui sobre o lance do refactoring em métodos ágeis. Sim, Fábio, você está certo: os metodos Ageis pregam o refactoring como algo real e necessário. Porém, a experiência prática mostra que nenhum cliente tem dinheiro sobrando para permitir que seus sistemas (ou componentes) sofram alterações profundas e custosas de tempos em tempos. Isso não é justificável economicamente. Por isso que um bom projeto (aka design) é fundamental, independente do seu paradigma de desenvolvimento.

Vejam que isso é bem diferente de tentar prever o futuro e fazer um design a prova dele. Isso, a experiência também prova que é improdutivo e ineficiente.

Encontrar o meio termo é a arte de projetar sistemas.  :-)

[]s,

Paulo</description>
		<content:encoded><![CDATA[<p>Deixa eu só fazer um comentário aqui sobre o lance do refactoring em métodos ágeis. Sim, Fábio, você está certo: os metodos Ageis pregam o refactoring como algo real e necessário. Porém, a experiência prática mostra que nenhum cliente tem dinheiro sobrando para permitir que seus sistemas (ou componentes) sofram alterações profundas e custosas de tempos em tempos. Isso não é justificável economicamente. Por isso que um bom projeto (aka design) é fundamental, independente do seu paradigma de desenvolvimento.</p>
<p>Vejam que isso é bem diferente de tentar prever o futuro e fazer um design a prova dele. Isso, a experiência também prova que é improdutivo e ineficiente.</p>
<p>Encontrar o meio termo é a arte de projetar sistemas.  <img src='http://www.aqueleblogdesoa.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>[]s,</p>
<p>Paulo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joseventura</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/08/evolucao-de-componentes-e-servicos/comment-page-1/#comment-213</link>
		<dc:creator>joseventura</dc:creator>
		<pubDate>Thu, 14 Aug 2008 13:35:16 +0000</pubDate>
		<guid isPermaLink="false">http://aqueleblogdesoa.wordpress.com/?p=319#comment-213</guid>
		<description>Opa Fábio,

Sim, tem uma relação. Tive uma experiência em projeto que era exatamente essa situação de &quot;inchaço&quot; de um componente. Ficamos conscientes do problema, e na época tentamos conter esse crescimento. Pouco depois fui em uma palestra de XP onde por coincidência foi mencionada a mesma situação, e realmente a abordagem ágil não é conter, mas gerenciar com consciência.

Sobre extrapolar para um sistema inteiro: acredito que um refactoring desse porte, de uma vez só, teria um custo proibitivo. Por sorte, conforme os sistemas vão se tornando mais desacoplados (e temos várias técnicas para isso), os impactos vão diminuindo; justamente porque podemos fazer evoluções em partes isoladas.</description>
		<content:encoded><![CDATA[<p>Opa Fábio,</p>
<p>Sim, tem uma relação. Tive uma experiência em projeto que era exatamente essa situação de &#8220;inchaço&#8221; de um componente. Ficamos conscientes do problema, e na época tentamos conter esse crescimento. Pouco depois fui em uma palestra de XP onde por coincidência foi mencionada a mesma situação, e realmente a abordagem ágil não é conter, mas gerenciar com consciência.</p>
<p>Sobre extrapolar para um sistema inteiro: acredito que um refactoring desse porte, de uma vez só, teria um custo proibitivo. Por sorte, conforme os sistemas vão se tornando mais desacoplados (e temos várias técnicas para isso), os impactos vão diminuindo; justamente porque podemos fazer evoluções em partes isoladas.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: frosato</title>
		<link>http://www.aqueleblogdesoa.com.br/2008/08/evolucao-de-componentes-e-servicos/comment-page-1/#comment-212</link>
		<dc:creator>frosato</dc:creator>
		<pubDate>Thu, 14 Aug 2008 12:56:37 +0000</pubDate>
		<guid isPermaLink="false">http://aqueleblogdesoa.wordpress.com/?p=319#comment-212</guid>
		<description>Ventura,

Muito bom o artigo!!! Parabéns!!!

Esta estratégia de nascimento-evolução-refactoring dos componentes ou serviços parece ter relação com as práticas dos métodos ágeis, onde o refactoring de uma aplicação é considerado uma tarefa nobre e necessária. Você concorda e extrapolaria esta tática para o desenvolvimento, não só de componentes, mas da aplicação como um todo? Essa possível relação foi casual ou você se baseou nessas metodologias ágeis?

abraço,

Fábio</description>
		<content:encoded><![CDATA[<p>Ventura,</p>
<p>Muito bom o artigo!!! Parabéns!!!</p>
<p>Esta estratégia de nascimento-evolução-refactoring dos componentes ou serviços parece ter relação com as práticas dos métodos ágeis, onde o refactoring de uma aplicação é considerado uma tarefa nobre e necessária. Você concorda e extrapolaria esta tática para o desenvolvimento, não só de componentes, mas da aplicação como um todo? Essa possível relação foi casual ou você se baseou nessas metodologias ágeis?</p>
<p>abraço,</p>
<p>Fábio</p>
]]></content:encoded>
	</item>
</channel>
</rss>
