{"id":658,"date":"2012-07-16T17:06:37","date_gmt":"2012-07-16T17:06:37","guid":{"rendered":"http:\/\/www.palentino.es\/blog\/?p=658"},"modified":"2012-07-16T17:14:13","modified_gmt":"2012-07-16T17:14:13","slug":"la-alianza-y-el-manifiesto-de-desarrollo-de-software-agil-libros-de-interes","status":"publish","type":"post","link":"https:\/\/www.palentino.es\/blog\/la-alianza-y-el-manifiesto-de-desarrollo-de-software-agil-libros-de-interes\/","title":{"rendered":"La alianza y el manifiesto de desarrollo de software \u00e1gil. Libros de inter\u00e9s."},"content":{"rendered":"<p style=\"text-align: justify;\">En este Post hablaremos sobre las metodolog\u00edas de desarrollo de software que est\u00e1n revolucionando \u00a0el mercado. Las\u00a0metodolog\u00eda\u00a0\u00e1giles.<\/p>\n<p style=\"text-align: justify;\">Esta &#8220;nueva&#8221; forma de trabajar se plasmo en un manifiesto por el desarrollo \u00e1gil de software.<\/p>\n<p style=\"text-align: justify;\">Los dias 11,12 y 13 de febrero, 2001, en The Lodge at Snowbird, en la estaci\u00f3n de esqu\u00ed en las monta\u00f1as de Wasatch de Utah, diecisiete personas se reunieron para hablar, esquiar, relajarse y tratar de llegar a un acuerdo. Lo que surgi\u00f3 fue el <strong>Manifiesto de desarrollo de software \u00e1gil<\/strong>.<\/p>\n<p style=\"text-align: justify;\">Los representantes de Extreme Programming (o programaci\u00f3n extrema), SCRUM, DSDM, desarrollo de software adaptable, Crystal, Feature-Driven Development, programaci\u00f3n pragm\u00e1tica, y otros \u00a0plasmaron en\u00a0 esta reuni\u00f3n \u00a0el\u00a0<strong><em>Manifiesto para el Desarrollo de Software \u00c1gil<\/em><\/strong> firmado por todos los participantes.<\/p>\n<p style=\"text-align: justify;\">La &#8220;Alianza Agil&#8221; se creo de este grupo de pensadores independientes de desarrollo de software y, a veces competidores entre s\u00ed, que coincidieron en la esencia del\u00a0<em>Manifiesto para el Desarrollo de Software \u00c1gil.<\/em><\/p>\n<p style=\"text-align: justify;\"><strong>Crearon estos 12 principios<\/strong>\u00a0 &#8230;<\/p>\n<p><!--more--><\/p>\n<p><strong>Estos son:<\/strong><\/p>\n<p style=\"text-align: justify;\">1. Nuestra mayor prioridad es <strong>satisfacer al cliente<\/strong>\u00a0mediante la <strong>entrega temprana y continua<\/strong> de software\u00a0con valor.<\/p>\n<p style=\"text-align: justify;\">2. Aceptamos que los <strong>requisitos<\/strong> <strong>cambien<\/strong>, incluso en <strong>etapas tard\u00edas del desarrollo<\/strong>. Los procesos \u00c1giles aprovechan\u00a0el cambio para proporcionar ventaja competitiva al \u00a0cliente.<\/p>\n<p>3. Entregamos software funcional frecuentemente, entre dos\u00a0semanas y dos meses, con preferencia al periodo de\u00a0<strong>tiempo m\u00e1s corto posible<\/strong>.<\/p>\n<p style=\"text-align: justify;\">4. Los <strong>responsables de negocio y los desarrolladores<\/strong>\u00a0trabajamos <strong>juntos<\/strong> de forma cotidiana durante todo\u00a0el proyecto.<\/p>\n<p>5. Los proyectos se desarrollan en torno a <strong>individuos\u00a0motivados<\/strong>. Hay que <strong>darles el entorno y el apoyo<\/strong> que\u00a0necesitan, y confiarles la ejecuci\u00f3n del trabajo.<\/p>\n<p style=\"text-align: justify;\">6. El m\u00e9todo m\u00e1s eficiente y efectivo de comunicar\u00a0informaci\u00f3n al equipo de desarrollo y entre sus\u00a0miembros es la <strong>conversaci\u00f3n cara a cara<\/strong>.<\/p>\n<p style=\"text-align: justify;\">7. El <strong>software funcionando<\/strong> es la medida principal de\u00a0progreso.<\/p>\n<p style=\"text-align: justify;\">8. Los procesos \u00c1giles promueven el <strong>desarrollo\u00a0sostenible<\/strong>. Los promotores, desarrolladores y usuarios\u00a0debemos ser capaces de mantener un ritmo constante\u00a0de forma indefinida.<\/p>\n<p style=\"text-align: justify;\">9. La atenci\u00f3n continua a la <strong>excelencia t\u00e9cnica y al\u00a0buen dise\u00f1o<\/strong> mejora la Agilidad.<\/p>\n<p style=\"text-align: justify;\">10. La <strong>simplicidad<\/strong>, o el arte de maximizar la cantidad de\u00a0trabajo no realizado, es esencial.<\/p>\n<p style=\"text-align: justify;\">11. Las mejores arquitecturas, requisitos y dise\u00f1os\u00a0emergen de <strong>equipos auto-organizados<\/strong>.<\/p>\n<p style=\"text-align: justify;\">12. A intervalos regulares el equipo <strong>reflexiona<\/strong> sobre\u00a0c\u00f3mo ser m\u00e1s <strong>efectivo<\/strong> para a continuaci\u00f3n ajustar y\u00a0perfeccionar su comportamiento en consecuencia.<\/p>\n<p>El grupo de expertos son:<\/p>\n<table cellpadding=\"15\">\n<tbody>\n<tr align=\"center\" valign=\"top\">\n<td><span style=\"font-size: small;\">Kent Beck<br \/>\nMike Beedle<br \/>\nArie van Bennekum<br \/>\nAlistair Cockburn<br \/>\nWard Cunningham<br \/>\nMartin Fowler<br \/>\n<\/span><\/td>\n<td><span style=\"font-size: small;\">James Grenning<br \/>\nJim Highsmith<br \/>\nAndrew Hunt<br \/>\nRon Jeffries<br \/>\nJon Kern<br \/>\nBrian Marick<br \/>\n<\/span><\/td>\n<td><span style=\"font-size: small;\">Robert C. Martin<br \/>\nSteve Mellor<br \/>\nKen Schwaber<br \/>\nJeff Sutherland<br \/>\nDave Thomas<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>El resumen, la esencia de los <strong>valores <\/strong>es:<\/p>\n<p style=\"text-align: justify;\">&#8220;Estamos descubriendo formas mejores de desarrollar\u00a0software tanto por nuestra propia experiencia como\u00a0ayudando a terceros. A trav\u00e9s de este trabajo hemos\u00a0aprendido a valorar:<\/p>\n<p><strong>Individuos e interacciones<\/strong> sobre procesos y herramientas.<br \/>\n<strong>Software funcionando<\/strong> sobre documentaci\u00f3n extensiva.<br \/>\n<strong>Colaboraci\u00f3n<\/strong> con el cliente sobre negociaci\u00f3n contractual.<br \/>\n<strong>Respuesta ante el cambio<\/strong> sobre seguir un plan.<\/p>\n<p>Esto es, aunque valoramos los elementos de la derecha,<strong>\u00a0valoramos m\u00e1s los de la izquierda<\/strong>.&#8221;<\/p>\n<p style=\"text-align: justify;\">En sucesivos POST comentar\u00e9 alguna metodologia interesante relacionada con el movimiento del agilismo como puede ser XP \u00a0de programaci\u00f3n extrema (ojo no confundir con el S.O de Windows \ud83d\ude09 ) y SCRUM.<\/p>\n<p style=\"text-align: justify;\">Las metodolog\u00edas \u00e1giles basan el trabajo en un proceso iteractivo e incremental. Existe controversia cuando se habla de metodolog\u00edas \u00e1giles es el uso de documentaci\u00f3n. Aunque el manifiesto \u00e1gil no rechaza el que se documenten los proyectos, si antepone otros factores frente a documentar, y muchos proyectos han interpretado esto como que en un proyecto \u00e1gil no se debe crear documentaci\u00f3n. Craso error, muchos proyectos, con los a\u00f1os, han sufrido mucho este problema.<\/p>\n<p style=\"text-align: justify;\">Considero que, lo realmente importante, es que el equipo asimile<strong> la esencia del \u00a0agilismo<\/strong>\u00a0(del Manifiesto \u00c1gil) e incorpore los elementos que le aporten <strong>mayor valor<\/strong>, y que a su vez puedan ser efectivamente aplicados en un contexto y momento determinado.<\/p>\n<p style=\"text-align: justify;\">Uno de los retos de las metodolog\u00edas \u00e1giles en general, es c\u00f3mo se pueden crear ambientes de trabajo y equipos distribuidos,\u00a0 lo que algunos denominan <strong>Global Software Development<\/strong>. Considero que uno de los principales problemas en este tipo de entornos, \u00a0proviene de que la comunicaci\u00f3n e interacci\u00f3n entre los miembros, que es un factor clave en el desarrollo \u00e1gil, al estar en ubicaciones f\u00edsicas diversas, la coordinaci\u00f3n es mucho m\u00e1s compleja y dif\u00edcil.<\/p>\n<p style=\"text-align: justify;\">Tampoco tendremos que aplicar dicha filosof\u00eda y principios <strong>en todos los proyectos<\/strong>, \u00a0puesto que existe una <span style=\"color: #800000;\"><strong>flexibilidad y variantes en funci\u00f3n del contexto del proyecto donde nos movamos<\/strong><\/span>. Existen otras\u00a0marcos o sistemas convencionales (cascada, \u00a0metodolog\u00edas formales, SPICE, CMMI) consideradas por ellos <strong>pesados<\/strong>, \u00a0que pueden llegar a ser\u00a0tambi\u00e9n\u00a0<strong>muy determinantes y exitosos<\/strong> en el\u00a0planteamiento\u00a0de ejecuci\u00f3n de los proyectos.<\/p>\n<p>Por teminar, os proporciono una lista de los mejores libros relacionados con el movimiento \u00e1gil, <strong>ordenados por fecha,\u00a0<\/strong>muchos de ellos creados por los autores del manifiesto:<\/p>\n<p>1<a href=\"http:\/\/www.amazon.es\/gp\/product\/0201485672\/ref=as_li_tf_tl\" target=\"_blank\">&#8211; Refactoring: Improving the Design of Existing Code<\/a><br \/>\nMartin Fowler, 1999.<\/p>\n<p>2<a href=\"http:\/\/www.amazon.es\/gp\/product\/0135974445\/ref=as_li_tf_tl\" target=\"_blank\">\u00a0\u2013 Agile Software Development, Principles, Patterns, and Practices<\/a><br \/>\nRobert C. Martin, 2002<\/p>\n<p>3<a href=\"http:\/\/www.amazon.es\/gp\/product\/0321150783\/ref=as_li_tf_tl\" target=\"_blank\">\u00a0\u2013 Lean Software Development: An Agile Toolkit<\/a><br \/>\nMary Poppendieck y Tom Poppendieck, 2003.<\/p>\n<p>4<a href=\"http:\/\/www.amazon.es\/gp\/product\/0321205685\/ref=as_li_tf_tl\" target=\"_blank\">\u00a0\u2013 User Stories Applied: For Agile Software Development<\/a><br \/>\nMike Cohn, 2004.<\/p>\n<p>5<a href=\"http:\/\/www.amazon.es\/gp\/product\/0321278658\/ref=as_li_tf_tl\" target=\"_blank\">\u00a0\u2013 Extreme Programming Explained: Embrace Change<\/a><br \/>\nKent Beck, 2004.<\/p>\n<p>6<a href=\"http:\/\/www.amazon.es\/gp\/product\/0201699478\/ref=as_li_tf_tl\" target=\"_blank\">\u00a0-Crystal Clear: A Human-Powered Methodology for Small Teams\u00a0<\/a><br \/>\nAlistair\u00a0 Cockburn, 2004.<\/p>\n<p>7<a href=\"http:\/\/www.amazon.es\/gp\/product\/1430322640\/ref=as_li_tf_tl\" target=\"_blank\">\u00a0\u2013 Scrum and XP from the Trenches<\/a><br \/>\nHenrik Kniberg, 2007.<\/p>\n<p>8<a href=\"http:\/\/www.amazon.es\/gp\/product\/0132350882\/ref=as_li_tf_tl\" target=\"_blank\">\u00a0\u2013 Clean Code: A Handbook of Agile Software Craftsmanship<\/a><br \/>\nRobert C. Martin, 2008.<\/p>\n<p>9<a href=\"http:\/\/www.amazon.es\/gp\/product\/0321579364\/ref=as_li_tf_tl\" target=\"_blank\">\u00a0\u2013 Succeeding with Agile: Software Development Using Scrum<\/a><br \/>\nMike Cohn, 2009.<\/p>\n<p>10<a href=\"http:\/\/www.amazon.es\/gp\/product\/0557138329\/ref=as_li_tf_tl\" target=\"_blank\">\u00a0\u2013 Kanban and Scrum \u2013 Making the Most of Both<\/a><br \/>\nHenrik Kniberg y Mattias Skarin, 2010.<br \/>\n<em><\/em><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Esta es la direcci\u00f3n oficial del manifiesto:<br \/>\n<a href=\"http:\/\/www.agilemanifesto.org\/iso\/es\/manifesto.html\">http:\/\/www.agilemanifesto.org\/iso\/es\/manifesto.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este Post hablaremos sobre las metodolog\u00edas de desarrollo de software que est\u00e1n revolucionando \u00a0el mercado. Las\u00a0metodolog\u00eda\u00a0\u00e1giles. Esta &#8220;nueva&#8221; forma de trabajar se plasmo en un manifiesto por el desarrollo \u00e1gil de software. Los dias 11,12 y 13 de febrero, 2001, en The Lodge at Snowbird, en la estaci\u00f3n de esqu\u00ed en las monta\u00f1as de Wasatch de Utah, diecisiete personas se reunieron para hablar, esquiar, relajarse y tratar de llegar a un acuerdo. Lo que surgi\u00f3 fue el Manifiesto de desarrollo de software \u00e1gil. Los representantes de Extreme Programming (o programaci\u00f3n extrema), SCRUM, DSDM, desarrollo de software adaptable, Crystal, Feature-Driven Development, programaci\u00f3n pragm\u00e1tica, y otros \u00a0plasmaron en\u00a0 esta reuni\u00f3n \u00a0el\u00a0Manifiesto para el Desarrollo de Software \u00c1gil firmado por todos los participantes. La &#8220;Alianza Agil&#8221; se creo de este grupo de pensadores independientes de desarrollo de software y, a veces competidores entre s\u00ed, que coincidieron en la esencia del\u00a0Manifiesto para el Desarrollo de Software \u00c1gil. Crearon estos 12 principios\u00a0 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":684,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41,17,5,7],"tags":[86,87,83,42,88,82,55,81],"class_list":["post-658","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ingenieria-del-software","category-libros","category-programacion","category-software","tag-agilismo","tag-desarrollo","tag-desarrollo-agil","tag-ingenieria","tag-manifesto","tag-scrum","tag-software-2","tag-xp"],"_links":{"self":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/comments?post=658"}],"version-history":[{"count":28,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/658\/revisions"}],"predecessor-version":[{"id":719,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/658\/revisions\/719"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media\/684"}],"wp:attachment":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media?parent=658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/categories?post=658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/tags?post=658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}