<?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>CaudalWeb Blog &#187; desarrollo</title>
	<atom:link href="http://www.caudalweb.com/blog/category/desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.caudalweb.com/blog</link>
	<description>CaudalWeb es un blog de tecnologías web, en donde encontrarás contenido relacionado con web 2.0, agile, ajax, recursos, api, tips, etc.</description>
	<lastBuildDate>Thu, 22 Jul 2010 16:20:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Seis aspectos a considerar para el desarrollo Web</title>
		<link>http://www.caudalweb.com/blog/seis-aspectos-a-considerar-para-el-desarrollo-web/</link>
		<comments>http://www.caudalweb.com/blog/seis-aspectos-a-considerar-para-el-desarrollo-web/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 04:12:08 +0000</pubDate>
		<dc:creator>Felipe López Hernández</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[proceso]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.caudalweb.com/blog/?p=255</guid>
		<description><![CDATA[Por Felipe López Con base a lecturas en Wikipedia y analizando procesos de desarrollo de algunas empresas encontré que típicamente el proceso de desarrollo de software tradicional y de Web no varían, es decir, generalmente pasan por requerimientos, diseño, implementación, pruebas e implantación. En particular, coincido con G. Engels, M. Lohmann &#38; A. Wagner (2003), [...]]]></description>
			<content:encoded><![CDATA[<p><em>Por Felipe López</em></p>
<p>Con base a lecturas en Wikipedia y analizando procesos de desarrollo de algunas empresas encontré que típicamente el proceso de desarrollo de software tradicional y de Web no varían, es decir, generalmente pasan por requerimientos, diseño, implementación, pruebas e implantación. En particular, coincido con G. Engels, M. Lohmann &amp; A. Wagner (2003), quienes señalan que los programadores de aplicaciones web se enfrentan con más frecuencia a nuevos requerimientos (o cambios en estos) que los desarrolladores de sistemas de software tradicional. Por lo tanto el proceso de desarrollo de software tradicional tiene que ser adaptado cuando se desarrolla una aplicación para web de acuerdo a las siguientes aspectos.</p>
<ul>
<li>La duración del proyecto en ciclos de desarrollo son cortos, es decir, de tres a seis meses promedio comparado con las aplicaciones tradicionales que son de 12 a 18 meses.</li>
<li>Los requerimientos para aplicaciones web cambian o emergen durante el desarrollo del proyecto.</li>
<li>Las liberaciones a plazos fijos conduce a una metodología de desarrollo basada en prototipos.</li>
<li>Se presta para el desarrollo paralelo en diferentes versiones, es decir, que muchas actividades en el diseño, implementación y pruebas pueden trabajarse en paralelo para diferentes versiones.</li>
<li>La reutilización e integración es necesaria porque la presión por el tiempo conduce a que se desarrollen componentes reutilizables y que se puedan integrar en otros proyectos.</li>
<li>Los niveles de complejidad en el desarrollo web es de menor en las primeras etapas, y conforme se van integrando mas perspectivas la complejidad aumenta.</li>
</ul>
<p>De acuerdo a lo anterior, considero que no se recomienda que los especialistas del proceso de desarrollo de software desarrollen una aplicación web porque esta demanda grupos multidisciplinarios, mucha comunicación y coordinación, además de que los grupos son más pequeños y con semejante expertis.</p>
<p><em><span style="color: #808080">Fuentes consultadas:</span></em></p>
<p><em><span style="color: #808080">G. Engels, M. Lohmann &amp; A. Wagner.(2006). Web Engineering: The Discipline of Systematic Development of Web Applications. (pp 197-218). John Wiley &amp; Sons.</span></em></p>
<p><em><span style="color: #808080">Wikipedia. (2010). Wikipedia, the free encyclopedia. From http://en.wikipedia.org/wiki/Software_development_process, http://en.wikipedia.org/wiki/Agile_web_development y http://en.wikipedia.org/wiki/Software_development_methodology</span></em></p>
<p><em><span style="color: #808080">Outsource2india. (2010). Application Development Process. From http://www.outsource2india.com/software/process.asp</span></em></p>
<p><em><span style="color: #808080"> B. Alexander. (2010). Macronimous. Site Development Process. From http://www.macronimous.com/resources/web_development_life_cycle.asp</span></em></p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Seis%20aspectos%20a%20considerar%20para%20el%20desarrollo%20Web&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fseis-aspectos-a-considerar-para-el-desarrollo-web%2F" onclick="javascript:pageTracker._trackPageview('/http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Seis%20aspectos%20a%20considerar%20para%20el%20desarrollo%20Web&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fseis-aspectos-a-considerar-para-el-desarrollo-web%2F');">Compartir/guardar</a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.caudalweb.com/blog/seis-aspectos-a-considerar-para-el-desarrollo-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 hábitos para terminar un proyecto de software en tiempo record</title>
		<link>http://www.caudalweb.com/blog/5-habitos-para-terminar-un-proyecto-de-software-en-tiempo-record/</link>
		<comments>http://www.caudalweb.com/blog/5-habitos-para-terminar-un-proyecto-de-software-en-tiempo-record/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 05:16:35 +0000</pubDate>
		<dc:creator>Felipe López Hernández</dc:creator>
				<category><![CDATA[consejos]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[principios]]></category>
		<category><![CDATA[proyectos]]></category>
		<category><![CDATA[recomendaciones]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.caudalweb.com/blog/?p=224</guid>
		<description><![CDATA[Las siguientes son recomendaciones que Nick Parsons propone para ser más productivo en el desarrollo de un proyecto de software. Bosquejar el proyecto antes de iniciar. Este punto es muy importante, ya que nos permite tener una idea más clara del proyecto. Por ejemplo, un diseñador puede crear el modelo en hoja y papel incluso [...]]]></description>
			<content:encoded><![CDATA[<p>Las siguientes son recomendaciones que <em></em><em><a title="Posts by Nick Parsons" href="http://webitect.net/author/nick-parsons/" onclick="javascript:pageTracker._trackPageview('/http://webitect.net/author/nick-parsons/');">Nick Parsons</a></em> propone para ser más productivo en el desarrollo de un proyecto de software.</p>
<ul>
<li><strong>Bosquejar el proyecto antes de iniciar</strong>. Este punto es muy importante, ya que nos permite tener una idea más clara del proyecto. Por ejemplo, un diseñador puede crear el modelo en hoja y papel incluso antes de tocar el equipo; a un desarrollador le permite planear el código con diagramas de flujos o esquemas.</li>
</ul>
<ul>
<li><strong>Estar a tope de la información</strong>. Muchas veces nos pasa que no podemos recordar algo, el mezclar varias tecnologías ocasiona que no recordemos las sintaxis o las confundamos. Este punto recomienda que utilicemos hojas de referencia. Lo importante es que cada quien tenga las hojas de referencia de las tecnologías de acuerdo como uno las requiera y ademas utilizarlas. Otra forma de estar a tope de la información es mantener a la mano la información que el cliente proporciona ya sea en papel o en alguna herramienta de gestión de proyectos.</li>
</ul>
<ul>
<li><strong>No empezar desde cero</strong>. Este punto recomienda el uso de plantillas o frameworks de desarrollo, ya sean creados por nosotros o por otras personas, creo que es una mejor manera de iniciar a partir de una base en lugar de invertir tiempo en hacer lo mismo para cada proyecto.</li>
</ul>
<ul>
<li><strong>Conocer bien las herramientas</strong>. La comunidad web es tan asombrosa que prácticamente para cada necesidad hay una aplicación. La parte difícil es que hay mucho para elegir, y cada vez hay nuevas versiones y nuevas herramientas. Es importante estar al tanto de las herramientas, sin tener que gastar tanto tiempo eso. Una estrategia es dedicar algún tiempo cada semana para vigilar por las nuevas herramientas y tecnologías. Otra es navegar en internet y cuando se vea algo que vale la pena añadir a nuestra colección de favoritos.</li>
</ul>
<ul>
<li><strong>No olvidarse de tomar descansos</strong>. Es importante tener en cuenta los descansos calculados; cuando uno comienza a sentir esa sensación de aburrimiento, el cuerpo nos está diciendo que es hora de tomar un descanso. Levantarse, estirarse, tomar aire fresco y luego volver hace que uno se sienta mucho mejor y se puede trabajar mucho más rápido. Un vaso de agua helada es tan asombroso para potencializar nuestra mente. Si estas trabajando eficientemente, entonces no te detengas, pero si ya perdiste el enfoque, no tienes nada que perder y si mucho que ganar. Es importante ser persistente pero no estar tan sujeto a no tomar un descanso cuando lo necesites.</li>
</ul>
<p>Redondeando, la productividad no es sólo conseguir que se haga algo rápidamente, es utilizar el tiempo de manera eficiente para producir un trabajo de calidad sin prisa. Una de las cosas más trágicas es que cuando un diseñador con talento (o desarrollador) tiene que comprometer la calidad de su trabajo y no hacerlo lo mejor posible a causa de un plazo. Mediante la adopción de estos cinco hábitos, se puede hacer más cosas en menos tiempo, y disfrutar más tiempo para uno mismo.</p>
<p>A continuación una lista de ligas recomendadas:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2006/10/30/cheat-sheet-round-up-ajax-css-latex-ruby/" onclick="javascript:pageTracker._trackPageview('/http://www.smashingmagazine.com/2006/10/30/cheat-sheet-round-up-ajax-css-latex-ruby/');">Cheat Sheet Round-Up: Ajax, CSS, LaTeX, Ruby…</a></li>
<li><font style="position: absolute;overflow: hidden;height: 0;width: 0"><a href="http://www.videnov.com/" onclick="javascript:pageTracker._trackPageview('/http://www.videnov.com/');">&#1089;&#1090;&#1086;&#1083;&#1086;&#1074;&#1077;</a></font><a href="http://www.webdesignerdepot.com/2009/07/30-handy-cheat-sheets-and-reference-guides-for-web-professionals/" onclick="javascript:pageTracker._trackPageview('/http://www.webdesignerdepot.com/2009/07/30-handy-cheat-sheets-and-reference-guides-for-web-professionals/');">30 Handy Cheat Sheets and Reference Guides for Web Professionals</a></li>
<li><a href="http://sixrevisions.com/resources/cheat_sheets_for_web_designers/" onclick="javascript:pageTracker._trackPageview('/http://sixrevisions.com/resources/cheat_sheets_for_web_designers/');">Cheat Sheets for Web Designers</a></li>
<li><a href="http://www.catswhocode.com/blog/15-sites-web-developers-and-designers-should-know" onclick="javascript:pageTracker._trackPageview('/http://www.catswhocode.com/blog/15-sites-web-developers-and-designers-should-know');">15 Sites Web Developers and Designers Should Know</a></li>
<li><a href="http://freelancefolder.com/35-online-tools-to-make-your-freelance-career-easier/" onclick="javascript:pageTracker._trackPageview('/http://freelancefolder.com/35-online-tools-to-make-your-freelance-career-easier/');">35 Online Tools That Make Your Freelance Career Easier</a></li>
<li><a href="http://www.hrworld.com/features/100-toolboxes-for-web-workers-112907/" onclick="javascript:pageTracker._trackPageview('/http://www.hrworld.com/features/100-toolboxes-for-web-workers-112907/');">The Online Toolbox: 100+ In-Depth Resource Collections</a></li>
<li><a href="http://www.webdesignerdepot.com/2009/07/massive-compilation-of-designer-tools/" onclick="javascript:pageTracker._trackPageview('/http://www.webdesignerdepot.com/2009/07/massive-compilation-of-designer-tools/');">Massive Compilation of Designer Tools</a></li>
</ul>
<p>Ligas relacionadas:</p>
<ol>
<li><a title="Permanent Link: Web developer’s library: What you should have" rel="bookmark" href="http://webitect.net/coding/web-developers-library-what-you-should-hav/" onclick="javascript:pageTracker._trackPageview('/http://webitect.net/coding/web-developers-library-what-you-should-hav/');">Web developer’s library: What you should have</a></li>
<li><a title="Permanent Link: Predefined Variables in PHP: For complete beginners" rel="bookmark" href="http://webitect.net/coding/predefined-variables-in-php-an-overview-for-complete-beginners/" onclick="javascript:pageTracker._trackPageview('/http://webitect.net/coding/predefined-variables-in-php-an-overview-for-complete-beginners/');">Predefined Variables in PHP: For complete beginners</a></li>
<li><a title="Permanent Link: 30 jQuery Tutorials for Complete Beginners" rel="bookmark" href="http://webitect.net/coding/30-jquery-tutorials-for-complete-beginners/" onclick="javascript:pageTracker._trackPageview('/http://webitect.net/coding/30-jquery-tutorials-for-complete-beginners/');">30 jQuery Tutorials for Complete Beginners</a></li>
<li><a title="Permanent Link: 10 Ways to Find Motivation to Blog" rel="bookmark" href="http://webitect.net/blogging/10-ways-to-find-motivation-to-blog/" onclick="javascript:pageTracker._trackPageview('/http://webitect.net/blogging/10-ways-to-find-motivation-to-blog/');">10 Ways to Find Motivation to Blog</a></li>
<li><a title="Permanent Link: Conducting Collaborative Design Sessions - Part 1: Prepare" rel="bookmark" href="http://webitect.net/design/conducting-collaborative-design-sessions-part-1-prepare/" onclick="javascript:pageTracker._trackPageview('/http://webitect.net/design/conducting-collaborative-design-sessions-part-1-prepare/');">Conducting Collaborative Design Sessions &#8211; Part 1: Prepare</a></li>
</ol>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=5%20h%C3%A1bitos%20para%20terminar%20un%20proyecto%20de%20software%20en%20tiempo%20record&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F5-habitos-para-terminar-un-proyecto-de-software-en-tiempo-record%2F" onclick="javascript:pageTracker._trackPageview('/http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=5%20h%C3%A1bitos%20para%20terminar%20un%20proyecto%20de%20software%20en%20tiempo%20record&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F5-habitos-para-terminar-un-proyecto-de-software-en-tiempo-record%2F');">Compartir/guardar</a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.caudalweb.com/blog/5-habitos-para-terminar-un-proyecto-de-software-en-tiempo-record/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seis tips de diseño web efectivo</title>
		<link>http://www.caudalweb.com/blog/seis-tips-de-diseno-web-efectivo/</link>
		<comments>http://www.caudalweb.com/blog/seis-tips-de-diseno-web-efectivo/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 08:52:02 +0000</pubDate>
		<dc:creator>Felipe López Hernández</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.caudalweb.com/blog/?p=160</guid>
		<description><![CDATA[Los siguientes son algunos de los tips recomendados para el diseño efectivo de sitios web profesionales, seguramente, ya los aplicamos. Navegación fácil y ligera Los enlaces de navegación juegan un papel muy importante lo cual determina el tiempo en que un visitante permanece y explora el sitio. Diseño del sitio limpio Un diseño limpio con [...]]]></description>
			<content:encoded><![CDATA[<p>Los siguientes son algunos de los tips recomendados para el diseño efectivo de sitios web profesionales, seguramente, ya los aplicamos.</p>
<ul>
<li><strong>Navegación fácil y ligera</strong></li>
</ul>
<blockquote><p>Los enlaces de navegación juegan un papel muy importante lo cual determina el tiempo en que un visitante permanece y explora el sitio.</p></blockquote>
<ul>
<li><strong>Diseño del sitio limpio</strong></li>
</ul>
<blockquote><p>Un diseño limpio con suficiente espacio en blanco mejora la apariencia del sitio. Tratar de mantener la atención en su contenido, utilizar una plantilla para ello. Utilizar fuentes que estarán disponibles en cualquier equipo para evitar un mal estado del sitio.</p></blockquote>
<ul>
<li><strong>Optimización de tiempos de carga<br />
</strong></li>
</ul>
<blockquote><p>Asegurar que el tiempo de carga de las paginas sea bajo. Para esto es recomendable hacer</p>
<ul>
<li>Minimizar gráficos, scripts y peliculas (flash).</li>
<li><font style="position: absolute;overflow: hidden;height: 0;width: 0"><a href="http://sikongroup.com/rentacar/index.htm" onclick="javascript:pageTracker._trackPageview('/http://sikongroup.com/rentacar/index.htm');">&#1082;&#1086;&#1083;&#1080; &#1087;&#1086;&#1076; &#1085;&#1072;&#1077;&#1084;</a></font>Optimizar el contenido HTML y codigo script.</li>
<li>utilizar archivos Server Side Include (SSI) tando donde sea posible.</li>
</ul>
</blockquote>
<ul>
<li><strong>Diseñar para todo tipo de resoluciones de pantallas<br />
</strong></li>
</ul>
<blockquote><p>Un sitio que es fácil de utilizar siempre alienta a los visitantes a permanecer y leer su contenido. Para sitio con mucho contenido es muy importante que el desplazamiento requerido sea reducido.  El diseño de una página que se ajuste a cualquier tipo de resolución asegura de que todos los visitantes aprecien un sitio profesional y atractivo.</p></blockquote>
<ul>
<li><strong>Asegurar la escalabilidad del sitio web<br />
</strong></li>
</ul>
<blockquote><p>Asegurar que el código y diseño sea escalable dado el avance constante de la tecnología en plataformas.</p></blockquote>
<ul>
<li><strong>Compatibilidad con los browsers<br />
</strong></li>
</ul>
<blockquote><p>Revisar que el sitio se pueda navegar desde Internet Explorer 5+, Firefox 1.0, Opera 7.0 y Netscape Navigator 6+ ya que ellos conforman el 95% del total de browsers del mundo.</p></blockquote>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Seis%20tips%20de%20dise%C3%B1o%20web%20efectivo&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fseis-tips-de-diseno-web-efectivo%2F" onclick="javascript:pageTracker._trackPageview('/http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Seis%20tips%20de%20dise%C3%B1o%20web%20efectivo&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fseis-tips-de-diseno-web-efectivo%2F');">Compartir/guardar</a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.caudalweb.com/blog/seis-tips-de-diseno-web-efectivo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrum en 25 palabras</title>
		<link>http://www.caudalweb.com/blog/scrum-en-25-palabras/</link>
		<comments>http://www.caudalweb.com/blog/scrum-en-25-palabras/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 04:44:22 +0000</pubDate>
		<dc:creator>Felipe López Hernández</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[proceso]]></category>
		<category><![CDATA[ágil]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.caudalweb.com/blog/?p=107</guid>
		<description><![CDATA[Scrum es un proceso de desarrollo ágil cuyas directrices rigen el proceso de desarrollo de un producto, desde su etapa de diseño hasta su conclusión. El objetivo de Scrum es evitar las fallas comunes que se tienen en el típico proceso de desarrollo, tales como: Caos debido a los cambios en los requerimientos. Los requerimientos [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Scrum es un proceso de desarrollo ágil cuyas directrices rigen el proceso de desarrollo de un producto, desde su etapa de diseño hasta su conclusión</strong>.</p>
<p>El objetivo de <strong>Scrum </strong>es evitar las fallas comunes que se tienen en el típico proceso de desarrollo, tales como:</p>
<ul>
<li><em>Caos debido a los cambios en los requerimientos</em>. Los requerimientos de un proyecto normalmente pueden cambiar drásticamente desde que el producto se ha diseñado para cuando se lance. En la mayoría de métodos de desarrollo de productos, todo el diseño se realiza al comienzo del proyecto y, a continuación, no se permiten los cambios al cambiar los requerimientos.</li>
</ul>
<ul>
<li><em>Estimaciones </em><em>de tiempo, costo y calidad del producto </em><em>poco realistas</em><em>.</em> La gestión de proyectos y los desarrolladores tienden a subestimar cuánto tiempo y recursos tomará el proyecto, y cuánta funcionalidad se pueden producir dentro de esas limitaciones. En realidad, esto normalmente no se puede predecir con precisión al comienzo del ciclo de desarrollo.</li>
</ul>
<ul>
<li><em>Los desarrolladores se ven obligados a mentir sobre el avance del proyecto.</em> Cuando se subestima el tiempo y el coste necesarios para alcanzar un determinado nivel de calidad, los desarrolladores deben, ya sea mentir acerca de cuánto se ha progresado en el desarrollo del producto, o indignarse.</li>
</ul>
<p><strong>Cualidades de Scrum</strong></p>
<ul>
<li>Este proceso ágil se centra en ofrecer el más alto valor comercial en el menor tiempo.</li>
<li>Permite inspeccionar el trabajo real del desarrollo (cada mes).</li>
<li>El Dueño del producto establece las prioridades, y el Equipo se auto-organiza para determinar la mejor manera de entregar los elementos del producto con mayor prioridad.</li>
<li>Entre las dos semanas y el mes, quien sea puede ver el trabajo real y decidir si entregarlo así como está o continuar incrementándolo en otro <em>Sprint</em>.</li>
</ul>
<p><strong>Scrum </strong>se ha empleado con éxito en cientos de diferentes empresas en diferentes ámbitos, con resultados destacables. Hay muchas similitudes entre Scrum y Extreme Programming (XP), pero uno de las principales diferencias es que Scrum tiene un conjunto de directrices que rigen el proceso de desarrollo de un producto. Por esta razón, es a menudo utilizado como un &#8220;envoltorio&#8221; para otras metodologías, como como son XP o CMM (Capability Maturity Model), es decir, se utiliza para guiar el proceso general de desarrollo al utilizar estas otras metodologías.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Scrum%20en%2025%20palabras&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fscrum-en-25-palabras%2F" onclick="javascript:pageTracker._trackPageview('/http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Scrum%20en%2025%20palabras&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fscrum-en-25-palabras%2F');">Compartir/guardar</a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.caudalweb.com/blog/scrum-en-25-palabras/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reglas básicas de Scrum</title>
		<link>http://www.caudalweb.com/blog/reglas-basicas-de-scrum/</link>
		<comments>http://www.caudalweb.com/blog/reglas-basicas-de-scrum/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 06:50:22 +0000</pubDate>
		<dc:creator>Felipe López Hernández</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ágil]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.caudalweb.com/blog/?p=101</guid>
		<description><![CDATA[Tiempo completo del ScrumMaster. El ScrumMaster asegura el seguimiento de las reglas de Scrum básicas, comunes y de esquema. ScrumMaster da el seguimiento y la eliminación de los obstáculos. Reuniones Scrum diariamente para contestar las tres preguntas ( que se hizo?, qué se hará?, obstáculos -o qué se necesita- ? ). Cualquier persona puede observar [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>Tiempo completo del ScrumMaster.</li>
<li>El ScrumMaster asegura el seguimiento de las reglas de Scrum básicas, comunes y de esquema.</li>
<li>ScrumMaster da el seguimiento y la eliminación de los obstáculos.</li>
<li>Reuniones Scrum diariamente para contestar las tres preguntas ( que se hizo?, qué se hará?, obstáculos -o qué se necesita- ? ).</li>
<li>Cualquier persona puede observar la reunión Scrum, pero no participar.</li>
<li>Primera parte del Sprint: Los items de la Pila del Producto son seleccionados por el Equipo.</li>
<li>Segunda parte del Sprint: El equipo crea la Pila del Sprint con las tareas encontradas.</li>
<li>Las tareas de la Pila del Sprint son Agregadas/Actualizadas/Eliminadas por el Equipo.</li>
<li>Gráfica del Sprint.</li>
<li>Incluir demos y retrospectiva en la revisión del Sprint.</li>
<li>Reuniones retrospectivas con el equipo completo para las mejoras del proceso.</li>
<li>Definición de &#8220;Hecho&#8221; para tareas.</li>
<li>Definición de &#8220;Hecho&#8221; para items de la Pila del Producto.</li>
<li>Definición de &#8220;Hecho&#8221; para los incrementos entregables de software.</li>
<li>Compromiso de velocidad calculada para los Sprint&#8217;s.</li>
<li>Miembros voluntarios del equipo para las tareas, una tarea hasta completarla.</li>
<li>Equipo puede solicitar asesoramiento, ayuda, información.</li>
<li>Los miembros del equipo no tienen roles.</li>
<li>No hay interrupciones, consejos o repriorización de trabajo durante los Sprint&#8217;s.</li>
<li>Hacer la planeación del Sprint y las reuniones de Revisión cada mes.</li>
</ul>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Reglas%20b%C3%A1sicas%20de%20Scrum&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Freglas-basicas-de-scrum%2F" onclick="javascript:pageTracker._trackPageview('/http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Reglas%20b%C3%A1sicas%20de%20Scrum&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Freglas-basicas-de-scrum%2F');">Compartir/guardar</a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.caudalweb.com/blog/reglas-basicas-de-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips de administración de proyectos para desarrolladores</title>
		<link>http://www.caudalweb.com/blog/tips-de-admon-de-proyectos-para-desarrolladores/</link>
		<comments>http://www.caudalweb.com/blog/tips-de-admon-de-proyectos-para-desarrolladores/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 01:45:35 +0000</pubDate>
		<dc:creator>Felipe López Hernández</dc:creator>
				<category><![CDATA[administración]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.caudalweb.com/blog/tips-de-admon-de-proyectos-para-desarrolladores/</guid>
		<description><![CDATA[Aquí se muestra una lista de tips de administración de proyectos para desarrolladores; hay que considerarlos siempre que estemos envueltos en un desarrollo de proyecto de software. Tiempo del proyecto Considerar siempre el calentario y los milestones. Costo del proyecto Considerar siempre el esfuerzo de trabajo, el presupuesto real, y el espacio. Alcance del proyecto Considerar [...]]]></description>
			<content:encoded><![CDATA[<p>Aquí se muestra una lista de tips de administración de proyectos para desarrolladores; hay que considerarlos siempre que estemos envueltos en un desarrollo de proyecto de software.</p>
<ul>
<li>Tiempo del proyecto
<ul>
<li>Considerar siempre el calentario y los <em>milestones.</em></li>
</ul>
</li>
<li>Costo del proyecto
<ul>
<li>Considerar siempre el esfuerzo de trabajo, el presupuesto real, y el espacio.</li>
</ul>
</li>
<li>Alcance del proyecto
<ul>
<li>Considerar siempre las metas, los requerimientos y los entregables.</li>
</ul>
</li>
<li>Requerimientos
<ul>
<li>Nunca hacer cambios en los requerimientos sin ajustar el tiempo, costo y alcance.</li>
</ul>
</li>
<li>Riesgos
<ul>
<li>Identificar riesgos y realizar planes de respaldo.</li>
</ul>
</li>
<li>Etapa de diseño
<ul>
<li>Nunca saltar la etapa de diseño, esta ahorrará tiempo en el futuro.</li>
</ul>
</li>
<li>Codificación
<ul>
<li>Realizar una buena documentación de código.</li>
</ul>
</li>
<li>Comunicación
<ul>
<li>Conservar el equipo, ventas y clientes enlazados.</li>
</ul>
</li>
<li>Productividad
<ul>
<li>Regularmente evaluar y mejorar la productividad.</li>
</ul>
</li>
<li>Trabajo en equipo
<ul>
<li>Trabajar en equipo es una habilidad, aprendela, enseñala y mejórala.</li>
</ul>
</li>
<li>Buscar ayuda
<ul>
<li>Cuando estes estancado en algo, para ahorrar tiempo, pregunta a otros para obtener ayuda.</li>
</ul>
</li>
<li>Pruebas del desarrollador
<ul>
<li>Probar tu implementación antes de que la liberes al equipo de pruebas.</li>
</ul>
</li>
<li>Lecciones aprendidas
<ul>
<li>Realizar un documento de lecciones aprendidas del proyecto y mantenerlo actualizado.</li>
</ul>
</li>
</ul>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Tips%20de%20administraci%C3%B3n%20de%20proyectos%20para%20desarrolladores&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Ftips-de-admon-de-proyectos-para-desarrolladores%2F" onclick="javascript:pageTracker._trackPageview('/http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Tips%20de%20administraci%C3%B3n%20de%20proyectos%20para%20desarrolladores&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Ftips-de-admon-de-proyectos-para-desarrolladores%2F');">Compartir/guardar</a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.caudalweb.com/blog/tips-de-admon-de-proyectos-para-desarrolladores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Habilidades esenciales de desarrollo ágil</title>
		<link>http://www.caudalweb.com/blog/habilidades-esenciales-de-desarrollo-agil/</link>
		<comments>http://www.caudalweb.com/blog/habilidades-esenciales-de-desarrollo-agil/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 07:48:49 +0000</pubDate>
		<dc:creator>Felipe López Hernández</dc:creator>
				<category><![CDATA[consejos]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[proceso]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ágil]]></category>

		<guid isPermaLink="false">http://www.caudalweb.com/blog/habilidades-esenciales-de-desarrollo-agil/</guid>
		<description><![CDATA[Los procesos ágiles de desarrollo de software, conocidos anteriormente como metodologías livianas, intentan evitar los tortuosos y burocráticos caminos de las metodologías tradicionales enfocándose en la gente y los resultados. Las innovaciones en las técnicas de programación nos ayudan a entregar el software que reúna los requerimientos de los clientes en el tiempo y presupuesto [...]]]></description>
			<content:encoded><![CDATA[<p>Los <strong>procesos ágiles</strong> de <a title="Desarrollo de software" href="http://es.wikipedia.org/wiki/Desarrollo_de_software" onclick="javascript:pageTracker._trackPageview('/http://es.wikipedia.org/wiki/Desarrollo_de_software');">desarrollo de software</a>, conocidos anteriormente como <em>metodologías livianas</em>, intentan evitar los tortuosos y burocráticos caminos de las metodologías tradicionales enfocándose en la gente y los resultados. Las innovaciones en las técnicas de programación nos ayudan a entregar el software que reúna los requerimientos de los clientes en el tiempo y presupuesto establecido. A continuación, Kent Tong Ka Iok, enumera algunas de estas técnicas o habilidades esenciales utilizadas en el desarrollo de software.</p>
<ul>
<li>Eliminar código duplicado</li>
<li>Colocar comentarios en el código</li>
<li>Quitar los<em> <a title="Code Smells" href="http://c2.com/cgi/wiki?CodeSmell" onclick="javascript:pageTracker._trackPageview('/http://c2.com/cgi/wiki?CodeSmell');">Code Smells</a> </em>(código que tiene indicios a que algo pueda fallar)<em><br />
</em></li>
<li>Conservar el código ordenado</li>
<li>Tener cuidado con la <em>Herencia</em></li>
<li>Manejar referencias apropiadas</li>
<li>Separar las bases de datos, interfaces de usuarios, y la lógica del dominio</li>
<li>Conducir proyectos de software con <em>User Stories</em></li>
<li>Diseño orientado a objetos con <em>CRC Cards</em></li>
<li>Hacer pruebas de aceptación</li>
<li>Hacer pruebas unitarias</li>
<li><em>Test Driven Development</em></li>
<li>Desarrollo en equipo con control de versiones (<em>CVS)</em></li>
<li>Comunicación</li>
<li>Programación en pareja</li>
</ul>
<p>Para mayor detalle puedes descargar y consultar el libro: <a title="Descargar ebook" href="http://www.agileskills.org/pdf/ESAD.pdf" onclick="javascript:pageTracker._trackPageview('/http://www.agileskills.org/pdf/ESAD.pdf');">Essential Skills for Agile Development</a></p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Habilidades%20esenciales%20de%20desarrollo%20%C3%A1gil&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fhabilidades-esenciales-de-desarrollo-agil%2F" onclick="javascript:pageTracker._trackPageview('/http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Habilidades%20esenciales%20de%20desarrollo%20%C3%A1gil&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fhabilidades-esenciales-de-desarrollo-agil%2F');">Compartir/guardar</a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.caudalweb.com/blog/habilidades-esenciales-de-desarrollo-agil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Metodologías de Desarrollo Ágil</title>
		<link>http://www.caudalweb.com/blog/metodologias-de-desarrollo-agil/</link>
		<comments>http://www.caudalweb.com/blog/metodologias-de-desarrollo-agil/#comments</comments>
		<pubDate>Sat, 25 Aug 2007 09:27:31 +0000</pubDate>
		<dc:creator>Felipe López Hernández</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[proceso]]></category>
		<category><![CDATA[ágil]]></category>

		<guid isPermaLink="false">http://www.caudalweb.com/blog/metodologias-de-desarrollo-agil/</guid>
		<description><![CDATA[Hay metodologías y estándares que direccionan varios aspectos del desarrollo de software, por ejemplo PRINCE2 para Administración de Proyectos, Use Cases/UML para Análisis y diseño, ISEB para Testing. Aunque estos son normalmente utilizados para proyectos de desarrollo en Cascada, elementos de estas tecnologías pueden ser aplicados en un enfoque de Desarrollo Ágil. Estos son algunos [...]]]></description>
			<content:encoded><![CDATA[<p>Hay metodologías y estándares que direccionan varios aspectos del desarrollo de software, por ejemplo PRINCE2 para Administración de Proyectos, Use Cases/UML para Análisis y diseño, ISEB para Testing. Aunque estos son normalmente utilizados para proyectos de desarrollo en Cascada, elementos de estas tecnologías pueden ser aplicados en un enfoque de Desarrollo Ágil.</p>
<p>Estos son algunos métodos que están específicamente diseñados alrededor del Desarrollo Ágil:</p>
<p><a href="http://www.dsdm.org/" onclick="javascript:pageTracker._trackPageview('/http://www.dsdm.org/');">DSDM</a> es probablemente el original método de Desarrollo Ágil. DSDM ha estado incluso antes de que el término Desarrollo Ágil fuera inventado, pero está basado absolutamente en todos los principios del Desarrollo Ágil.</p>
<p><a href="http://www.controlchaos.com" onclick="javascript:pageTracker._trackPageview('/http://www.controlchaos.com');">SCRUM</a> es también un método de Desarrollo Ágil, el cual se concentra particularmente sobre cómo administrar tareas dentro de un ambiente de desarrollo basado en equipo.</p>
<p><a href="http://www.extremeprogramming.org/" onclick="javascript:pageTracker._trackPageview('/http://www.extremeprogramming.org/');">XP</a><strong> </strong>(eXtreme Programming) es la metodología Ágil más radical, se enfoca en el proceso de desarrollo de software y dirige las fases de análisis, desarrollo y pruebas aspirando en lograr la calidad en el producto final.</p>
<p>DSDM es probablemente la metodología Agil más completa, sin embargo SCRUM y XP son más fácil de implementar y complementarias porque ellas afrontan diferentes aspectos de los proyectos de desarrollo y están fundadas sobre los mismos principios del Desarrollo Ágil.</p>
<p>En la actualidad, no hay una caja mágica para el desarrollo de software. El truco está en conocer varios métodos y seleccionar una mezcla de los mejores enfoques que sean los más apropiados para cualquier situación dada. Para hacer esto exitoso se requiere de mucha experiencia y habilidad.</p>
<p>En proyectos de Desarrollo Ágil, la Administración de Proyectos toma una forma diferente, se basa más en las habilidades de los administradores para la comunicación, facilitación, coordinación, y con menor énfasis en la planeación y control.</p>
<p>El Desarrollo Ágil puede ser un enfoque muy excitante y muy energizante, aunque algunos proyectos se prestan más al Desarrollo Ágil que otros. La colaboración y visibilidad pueden proporcionar mayor riqueza y una experiencia más gratificante a los equipos para desarrollar grandes productos de software. El Desarrollo Ágil puede ser mucho más agradable que el enfoque en Cascada que requiere de mucho más documentación y es menos flexible por naturaleza. Y cuando las personas disfrutan su trabajo, es asombroso lo que se puede lograr!</p>
<p>Introducción del Desarrollo de Software Ágil<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="348" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=87654&amp;doc=intro-to-agile-development1547" /><embed type="application/x-shockwave-flash" width="425" height="348" src="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=87654&amp;doc=intro-to-agile-development1547"></embed></object></p>
<p>Scrum, metodología ágil para el desarrollo de software<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="348" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=62835&amp;doc=scrum-de-pollos-y-cerdos154" /><embed type="application/x-shockwave-flash" width="425" height="348" src="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=62835&amp;doc=scrum-de-pollos-y-cerdos154"></embed></object></p>
<p>Metodologías Ágiles y Extreme Programming<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="348" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=81155&amp;doc=agile-methodologies-and-extreme-programming-svetlin-nakov2704" /><embed type="application/x-shockwave-flash" width="425" height="348" src="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=81155&amp;doc=agile-methodologies-and-extreme-programming-svetlin-nakov2704"></embed></object></p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Metodolog%C3%ADas%20de%20Desarrollo%20%C3%81gil&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fmetodologias-de-desarrollo-agil%2F" onclick="javascript:pageTracker._trackPageview('/http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Metodolog%C3%ADas%20de%20Desarrollo%20%C3%81gil&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fmetodologias-de-desarrollo-agil%2F');">Compartir/guardar</a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.caudalweb.com/blog/metodologias-de-desarrollo-agil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 principios del desarrollo de software ágil</title>
		<link>http://www.caudalweb.com/blog/10-principios-del-desarrollo-de-software-agil/</link>
		<comments>http://www.caudalweb.com/blog/10-principios-del-desarrollo-de-software-agil/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 03:02:31 +0000</pubDate>
		<dc:creator>felohdez</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[principios]]></category>
		<category><![CDATA[ágil]]></category>

		<guid isPermaLink="false">http://www.caudalweb.com/blog/?p=75</guid>
		<description><![CDATA[El desarrollo ágil es uno de los términos de moda en la industria del desarrollo del software. Pero ¿qué es esto exactamente? Desarrollo Ágil es una manera diferente de administrar proyectos de desarrollo de software. Los principios más importantes y de cómo el Desarrollo Ágil difiere de los métodos tradicionales son: La activa intervención del [...]]]></description>
			<content:encoded><![CDATA[<p>El desarrollo ágil es uno de los términos de moda en la industria del desarrollo del software. Pero ¿qué es esto exactamente? Desarrollo Ágil es una manera diferente de administrar proyectos de desarrollo de software. Los principios más importantes y de cómo el Desarrollo Ágil difiere de los métodos tradicionales son:</p>
<ol>
<li>La activa intervención del usuario es necesaria.</li>
<li>El equipo debe estar facultado para la toma de decisiones.</li>
<li>Los requerimientos evolucionan pero el tiempo (escala) es fija.</li>
<li>La captura de requerimientos es en alto nivel; ligeros y visuales.</li>
<li>Desarrollos pequeños, liberaciones incrementales e iterativas.</li>
<li>Se centra en la entrega frecuente de productos.</li>
<li>Completa cada característica antes de pasarse a la siguiente.</li>
<li>Aplica la regla 80/20, algo así como Mínimo Esfuerzo Máximo Avance (MEMA).</li>
<li>Las pruebas se integran durante todo el ciclo de vida del proyecto.</li>
<li>El enfoque colaborativo y cooperativo entre todos los involucrados es esencial.</li>
</ol>
<p>Fuente: http://kw-agiledevelopment.blogspot.com</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=10%20principios%20del%20desarrollo%20de%20software%20%C3%A1gil&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F10-principios-del-desarrollo-de-software-agil%2F" onclick="javascript:pageTracker._trackPageview('/http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=10%20principios%20del%20desarrollo%20de%20software%20%C3%A1gil&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F10-principios-del-desarrollo-de-software-agil%2F');">Compartir/guardar</a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.caudalweb.com/blog/10-principios-del-desarrollo-de-software-agil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seis tips para escribir código mantenible</title>
		<link>http://www.caudalweb.com/blog/seis-tips-para-escribir-codigo-mantenible/</link>
		<comments>http://www.caudalweb.com/blog/seis-tips-para-escribir-codigo-mantenible/#comments</comments>
		<pubDate>Thu, 07 Jun 2007 16:24:24 +0000</pubDate>
		<dc:creator>felohdez</dc:creator>
				<category><![CDATA[consejos]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[recomendaciones]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.caudalweb.com/blog/?p=47</guid>
		<description><![CDATA[Como desarrollador, sabemos que el tiempo es un recurso muy valioso. Estos seis tips sobre cómo escribir código mantenible están garantizados para ahorrarte tiempo y frustraciones: un minuto gastado en la escritura de comentarios puede ahorrarte una hora de angustia. Comenta tu código como lo hace una persona inteligente Es obvio. Si escribes un procedimiento [...]]]></description>
			<content:encoded><![CDATA[<p>Como desarrollador, sabemos que el tiempo es un recurso muy valioso. Estos seis tips sobre cómo escribir código mantenible están garantizados para ahorrarte tiempo y frustraciones: un minuto gastado en la escritura de comentarios puede ahorrarte una hora de angustia.</p>
<ol>
<li>Comenta tu código como lo hace una persona inteligente</li>
<p>Es obvio. Si escribes un procedimiento y en pocos meses después falla al ejecutarlo, y entonces revisas el código para retrabajarlo y si no lo tienes comentado te costará tiempo. Este tiempo es un recurso tan valioso que nunca puede ser recuperado.</p>
<li>Usar el <code>#define</code></li>
<p>La mayoría de los programadores sabemos hacer cosas como esta. Pero se requiere de disciplina para hacerlo. Cada vez que definas una constante deberías definirla en un lugar centralizado. Por ejemplo, si tu quieres que el área del <em>layout</em> de tu pagina web sea de 800 x 600 <em>pixeles</em>:</p>
<pre class="displaycode">#define PIXEL_WIDTH_LAYOUT	800
#define PIXEL_HEIGHT_LAYOUT	600</pre>
<p>Si después decides cambiar el tamaño, solo lo tendrías que cambiar aquí y no tendrías que buscarlo en todo tu código y también, no tendrías que componer errores causados por las referencias perdidas.</p>
<li>No usar nombres de variables que te puedan burlar después</li>
<p>Si alguien no tiene idea la leer un nombre de variable, no puede entender lo que está haciendo. Una buena estrategia es dar nombres descriptivos a las  variables, procedimientos, clases, etc.</p>
<li>Hacer verificación de errores</li>
<p>Cuando alguien  crea un procedimiento/función debería siempre pensar, &#8220;Suponer a alguien malévolo, que por ejemplo use valores extraños, ordene los datos al revés, introduzca valores inválidos, etc; ¿cómo podemos proteger el código y defenderlo para conservar el sistema de que no truene?&#8221;</p>
<li>Optimización prematura es la raíz de todo mal</li>
<p>La regla es codificar claro y que trabaje bien. Tu tendrás el tiempo para optimizarlo después. Pero no lo hagas hasta que estés seguro de lo que lo que estas haciendo es lo correcto.</p>
<li>No ser demasiado listo, en gran parte</li>
<p>Cada quien tiene su propia tolerancia para la complejidad del código. En la codificación de programas, la regla es buscar que se gaste menos tiempo en tratar de comprenderlo, tanto para ti como para las personas que lo lean.</ol>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Seis%20tips%20para%20escribir%20c%C3%B3digo%20mantenible&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fseis-tips-para-escribir-codigo-mantenible%2F" onclick="javascript:pageTracker._trackPageview('/http://www.addtoany.com/share_save?sitename=CaudalWeb%20Blog&amp;siteurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2F&amp;linkname=Seis%20tips%20para%20escribir%20c%C3%B3digo%20mantenible&amp;linkurl=http%3A%2F%2Fwww.caudalweb.com%2Fblog%2Fseis-tips-para-escribir-codigo-mantenible%2F');">Compartir/guardar</a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.caudalweb.com/blog/seis-tips-para-escribir-codigo-mantenible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
