Se muestran los artículos pertenecientes a Agosto de 2007.

03/08/2007

Canción de los viernes: Fieston en Zion

Perdón por poner semejante estupidez como canción....pero es un remix de Chimo Bayo, Matrix y al menos te ries un rato....

PD: ha sido una semana loca, con algún día de fiesta y el blog ha estado un poco colgado. A ver si la semana que viene sigo con la serie sobre metodologías ágiles.

Etiquetas: , , ,

03/08/2007 12:23. Autor: Ricardo Gil. #. Tema: Ricardo Gil No hay comentarios. Comentar.

06/08/2007

Desarrollo ágil II: Programación Extrema

¿Qué es Programación Extrema, eXtreme Programming o XP?

Wikipedia: es un enfoque de la ingeniería de software formulado por Kent Beck. La programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Se puede considerar la programación extrema como la adopción de las mejores metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software.

programacionextrema.org: La Programación Extrema es uno de los llamados procesos o metodologías ágiles (ProcesoAgil) de desarrollo de software. Consiste en un conjunto de prácticas (ver LasPracticas) que a lo largo de los años han demostrado ser las mejores prácticas de desarrollo de software, llevadas al extremo, fundamentadas en un conjunto de valores (LosValores).

Deigote's Blog: La programación extrema es una metodología de ingeniería de software para el desarrollo del mismo, que hace énfasis en los siguientes aspectos: satisfacción del cliente y trabajo en equipo.

¿Cómo funciona?

La programación extrema está compuesta por una serie de prácticas y actividades.

Las prácticas que componen la programación extrema se pueden agrupar en cuatro grandes bloques: plan, diseño, codificación y pruebas. Sin embargo, estos bloques no deben realizarse en orden, si no que cada uno consta de una serie de actividades, y todas ellas se irán realizando de manera evolutiva.

    Las actividades son las siguientes:

    • Planificacion

    • Se escriben user stories, cuya idea principal es describir un caso de uso en dos o tres líneas con terminología del cliente (de hecho, se supone que deben ser escritos por el mismo), de tal manera que se creen test de aceptación para el user storie y permita hacer una estimación de tiempo de desarrollo del mismo.
    • Se crea un plan de lanzamiento (release planning), que debe servir para crear un calendario que todos puedan cumplir y en cuyo desarrollo hayn participado todas las personas involucradas en el proyecto. Se usará como base los user stories, participando el cliente en la elección de los que se desarrollarán, y según las estimaciones de tiempo de los mismos se crearán las iteraciones del proyecto.
    • Se hacen pequeños lanzamientos con mucha frecuencia.
    • El desarrollo se divide en iteraciones, cada una de las cuales comienza con un plan de iteración para el que se eligen las user stories a desarrollar y las tareas de desarrollo.
    • Las personas cambian de área para evitar cuellos de botella y fomentar la propiedad colectiva del código.
    • Se cambia el proceso lo que sea necesario para adaptarlo a tu proyecto.

    • Diseño

    • Se eligen los diseños más simples que funcionen.
    • Se elige una metáfora del sistema para que el nombrado de clases, etcétera, siga una misma línea, facilitando la reutilización y la comprensión del código.
    • Se escriben tarjetas CRC (class-responsabilities-collaboration) de clase-responsabilidades-colaboración para cada objeto, que permiten abstraerse el pensamiento estructurado y que el equipo de desarrollo al completo participe en el diseño.
    • Se "refactoriza sin piedad". Basicamente, consiste en no tener miedo de cambiar un diseño o eliminar un código que ya no sirve, o al menos que ya no es claramente la mejor solución.

    • Codificación

    • El cliente está siempre disponible, a ser posible cara a cara. La idea es que forme parte del equipo de desarrollo, y esté presente en todas las fases de XP (escribe los user stories con la ayuda de los desarrolladores, participa en la elección de los que entrarán en el plan de lanzamientos, prueba pequeños lanzamientos, participa en las pruebas de funcionalidad...). La idea es usar el tiempo del cliente para estas tareas en vez de para que cree una detalladísima especificación de requisitos, y evitar la entrega de un producto peor que le hará perder tiempo.
    • El código se ajustará a unos estándares de codificación, asegurando la consistencia y facilitando la comprensión y refactorización del código.
    • Las pruebas unitarias se codifican antes que el código en sí, haciendo que la codificación de este último sea más rápida, y que cuando se afronte la misma se tenga más claro qué objetivos tiene que cumplir lo que se va a codificar.
    • La programación del código se realizará en parejas, para aumentar la calidad del mismo. En cada momento, sólo habrá una pareja de programadores integrando código.
    • Se integra código y se lanza dicha integración de manera frecuente, evitando divergencias en el desarrollo y permitiendo que todo el mundo trabaje con la última versión del desarrollo. De esta manera, se evitará pasar grandes periodos de tiempo integrando el código al final del desarrollo, ya que las incompatibilidades habrán sido detectadas enseguida.
    • Se usa la propiedad colectiva del código, lo que se traduce en que cualquier programador puede cambiar cualquier parte del código. El objetivo es fomentar la contribución de ideas por parte de todo el equipo de desarrollo
    • Se deja la optimización para el final
    • No se hacen horas extra de trabajo

    • Pruebas

    • Todo el código debe tener pruebas unitarias, y debe pasarlas antes de ser lanzado.
    • Cuando se encuentra un error de codificación o bug, se desarrollan pruebas para evitar volver a caer en el mismo.
    • Se realizan pruebas de aceptación frecuentemente, publicando los resultados de las mismas. Estas pruebas son generadas a partir de las user stories elegidas para la iteración, y son "pruebas de caja negra", en las que el cliente verifica el correcto funcionamiento de lo que se está probando. Cuando se pasa la prueba de aceptación, se considera que el correspondiente user storie se ha completado.


Ventajas e inconvenientes

  • Ventaja: Cuatro ojos ven más que dos. Al trabajar de dos en dos, el código será de mayor calidad desde el mismo momento de crearlo y tendrá menos fallos.
  • Inconveniente: Para un programador experto puede resultar tedioso tener a un novato a su lado permanentemente.
  • Ventaja: Los programadores novatos aprenderán de los expertos al emparejarse con ellos.
  • Inconveniente: El programador experto no aprende y su trabajo se ve ralentizado.
  • Ventaja: Si una pareja realiza un trozo de código susceptible de ser reutilizado en el proyecto, hay dos programadores que lo saben y que lo reutilizarán cuando puedan (ya que saben cómo funciona), enseñándolo a sus nuevos compañeros. De esta manera el conocimiento del código ya hecho se propaga de forma natural entre todos los programadores del equipo.
  • Ventaja: El estilo de programación tiende a unificarse.
  • Inconveniente: La mejora o cambios en el estilo de programación puede resultar más complejo

¿Cuándo usar XP?

    La programación extrema fue creada pensando en las siguientes circunstancias:

  • Proyectos en los que los requisitos tienen altas probabilidades de cambiar con el tiempo (por ejemplo, porque el cliente no tiene claro lo que quiere, o porque el cambio de requisitos está ligado al dominio del problema a resolver).
  • Proyectos con alto riesgo (por ejemplo, proyectos con una fecha de entrega que es indispensable cumplir, o proyectos totalmente novedosos para la industria).
  • Proyectos con un grupo pequeño de programadores (entre 2 y 12), aunque el equipo completo sea bastante más extenso (incluye a jefes de equipo y representantes de clientes).



La información para el artículo ha sido recopilada de:

Wikipedia: http://es.wikipedia.org/wiki/Programaci%C3%B3n_Extrema
ProgramacionExtrema: http://www.programacionextrema.org
Deigote's Blog: http://deigote.blogspot.com/2006/03/extreme-programming.html
chuidiang: http://www.chuidiang.com/ood/metodologia/extrema.php

 

 

Etiquetas: , , , , , ,

06/08/2007 12:18. Autor: Ricardo Gil. #. Tema: Análisis/Consultoría No hay comentarios. Comentar.

10/08/2007

Canción de los viernes.....ración doble

Primero os dejo con la canción geek del verano (gracias Babu - os recomiendo mucho sus bocabits :-)....el "cantante" es Steve Ballmer el CEO de Microsoft (aunque a mí me recuerda a Camacho gritando/sudando en la banda)

Y como segundo plato una versión de "This Is Halloween" - de la película Pescadilla Antes de Navidad - de Marilyn Manson

 

Feliz fin de semana a todos!!!

Etiquetas: , , , , , , ,

10/08/2007 11:27. Autor: Ricardo Gil. #. Tema: Ricardo Gil No hay comentarios. Comentar.

22/08/2007

Buscaminas, la película!!

Es una guerra que no han buscado, ser el primero no te da ventaja, tu vida está en peligro y el número 8 da auténtico pánico.....esto es...

"Buscaminas. La película"

PD: debe ser el verano, junto con el exceso de trabajo y las vacaciones de toda la blogosfera lo que me impide postear con normalidad. O la pereza.

Etiquetas: ,

22/08/2007 11:35. Autor: Ricardo Gil. #. Tema: Ricardo Gil No hay comentarios. Comentar.

27/08/2007

Cómo nos gusta hacer las cosas

Recientemente me pidieron que redactará el HOW-TO de la maquetación XHTML de nuestros desarrollos. Queríamos crear una forma de desarrollar común, para que dentro de 3 años alguien pudiera abrir una página y desenvolverse sin problemas entre su código. Además debíamos tener muy en cuenta a los diseñadores, y su escaso (nulo xD) conocimiento del código de cliente/servidor.

Así pues, esto fue lo que redacté y entregué. La intención es ampliarlo y corregirlo. Así que cualquier aportación será bien recibida.

Normas generales XHTML

• Definir en la primera línea el DOCTYPE
o HTML 4.1, XHTML 1.0, XHTML 1.1
o Transitional, Strict, Frameset

• Incluir en la etiqueta HTML la versión xhtml y el lenguaje
Ejemplo:


• Incluir dentro del HEAD los METAS
o Description: Una descripción de unas dos líneas de esa página. Es lo que aparece en google bajo el título de la página
o Content-type: text/html; charset=UTF-8/ISO-8859-15
Ejemplo:



• Incluir dentro del HEAD los enlaces a javascript y css



• Separar el layout de la página en tres partes: HEADER, MAIN, FOOTER

• Separar el MAIN en al menos dos partes: NAV, CONTENT, SECUNDARY_NAV, SECUNDAY_CONTENT,…

• En ocasiones NAV puede estar en el HEADER

• Separar contenido, presentación e interacción: No incluir ni estilos ni eventos javascript dentro del código HTML.

• Validar el código HTML (validador W3C, validador local W3C Web Developer Toolbar for Firefox)

• Los nombres de ID’s y clases hacen referencia al contenido, no a la apariencia: No usar nombres de clase o id’s como “azul”, “amarillo”, “texto_negrita” si no nombres como “direccion”, “telefono”, “navegación”, “cabecera”, etc…

• Es mejor un fichero CSS de 30Kb que 3 ficheros de 10Kb cada uno

• Usar siempre minúsculas: tanto para el HTML como para las clases CSS

• Usar un hoja de estilos exclusiva para Internet Explorer: usando comentarios condicionales para agregarla

• Prueba tus páginas en Firefox, IE7 e IE6 como mínimo: Esto supone el 99% de los navegadores que visitan una web


Normas generales CSS


• Deshacer estilos predefinidos: Usar el undohtml.css

• Comentar la hoja de estilos: separando las distintas partes. Enlaces, cabecera, pie de página, layout, etc..

• Dentro de un estilo mantener un orden

Etiqueta {
/*Lo primero siempre lo relativo a posicionar el elemento*/
Clear: both;
Position: relative/absolute/fixed;
Float: Left/Right;
Display: Inline;
/*Después lo que afecta al modelo de caja*/
Width: 20em;
Min-height: 10em;
Margin: 0 0 0 0;
Padding: 0 0 0 0;
Border: 1px solid #000000;
/*Después lo que afecte al fondo*/
Background-color: #323536;
Background-image: url([ruta relativa]);
Background-position: left top/bottom/right/right bottom;
Background-repeat: no-repeat/repeat-x/repeat-y;
/*Después lo que afecte a las tipografías, fuente y color de fuente*/
Font-family: Arial, Helvetica, Tahoma, Verdana;
Font-size: 0.8em;
Color: #000000;
Font-weight: bold;
Text-decoration: underline;
Font-style: italic;
/*Por último lo que influye en la apariencia*/
List-style:
Text-indent:
Etc…
}

• Validar CSS: (validador W3C, validador en local de la Web Developer Toolbar para Firefox)

Etiquetas: , , , ,

27/08/2007 16:56. Autor: Ricardo Gil. #. Tema: Estándares web No hay comentarios. Comentar.

¿Cuándo desaparecerá IE 6?

Es un verdadero dolor de cabeza seguir maquetando páginas que se vean igual en IE 6 y en los navegadores con buen soporte de estándares (Opera, Safari, Firefox, ...). De hecho como es prácticamente imposible lograrlo al 100%, tiendo a incluir ciertas cosas en pseudo-clases de CSS que IE 6 no entiende para "premiar" a los usuarios con buenos navegadores xD

Ejemplos:

a:after {content: url(images/ico_masinfo.gif);}
input:focus {border:1px solid #000000;}

Más info:

Según las estadísticas que manejo en una web, IE 6 es el 47% de las visitas que entran con Internet Explorer que supone el 95% del total de las visitas. IE 7 tiene un 52%. Y Firefox un 2,57% del total.

Mientras que en otra (prefiero no indicar cuales son), IE 6 es el 65% e IE 7 el 34% de un 82% que usan IE, y Firefox tiene un 15% del total.

Creo que tenemos IE 6 para rato v_v

Etiquetas: , , , , , ,

27/08/2007 17:11. Autor: Ricardo Gil. #. Tema: Estándares web No hay comentarios. Comentar.

29/08/2007

The IT Crowd (2ª Temporada)

The IT Crowd es una serie cuya segunda temporada se emite en Channel 4 (Reino Unido). La primera temporada consta de 6 capítulos y dejó de emitirse por las bajas cuotas de audiencia. Pero esta serie basada en, Roy, Moss y Jen, los trabajadores del departamento de IT de una empresa ha creado un auténtico revuelo en Internet consiguiendo que Channel 4 haya comenzado a emitir nuevos capítulos. Además de los personajes principales existen dos que son inigualables, el jefe de la compañía Desholm, que está como un cencerro, y Richmond, un gótico encerrado en el cuarto de servidores que es "unas risas". También hay que destacar la infinita cantidad de camisetas geeks que luce Roy (al principio de la segunda temporada luce una de Zattoo)

personajes principales de The IT Crowd

Dado que la serie no se emite en ningún otro canal y Channel 4 no hay formar de sintonizarlo, os animo (a pesar de que mañana termine en la carcel) a que os bajéis la serie desde el emule. La serie está en inglés, y la podéis encontrar subtitulada.

PD: este post está escrito desde Ubuntu 7.04....

Etiquetas: , ,

29/08/2007 13:08. Autor: Ricardo Gil. #. Tema: Ricardo Gil No hay comentarios. Comentar.

30/08/2007

No arreglen Internet,...

...arreglen la sociedad" Vint Cerf a los políticos británicos ante la idea de controlar los accesos a determinados sitios web.

"Cuando ves un problema en el espejo, no arreglas el espejo si no lo que está reflejado en el espejo" , dijo "La mayoría de los contenidos que vemos en la Red son una contribución de los usuarios. Lo que vemos en la Red es un reflejo de la sociedad".

Vinton Cerf está considerado como uno de "los padres" de Internet al haber desarrollado el conjunto de protocolos de comunicaciones para la red militar. Actualmente Cerf es el vicepresidente y jefe de evangelización de Internet de Google además de presidente del ICANN. Y personalmente es uno de los personajes cuya intervención en Fundamentos Web 2006 más me impactó, no sólo por su conocimiento de la red si no también por su cercanía y su increíble visión de futuro de lo que debería ser Internet.

Etiquetas: ,

30/08/2007 11:58. Autor: Ricardo Gil. #. Tema: Web 2.0 No hay comentarios. Comentar.

31/08/2007

Canción del viernes...

...Red Hot Chili Peppers - Hump de Bump. 

Enlace: http://www.youtube.com/watch?v=BdH987JJDYs

Video:

Etiquetas: , , , , , ,

31/08/2007 11:24. Autor: Ricardo Gil. #. Tema: Ricardo Gil No hay comentarios. Comentar.

Meme: ¿de dónde viene el nombre de tu blog?

No es la primera vez que alguien me hace esa pregunta. O pone cara rara al oir "el clérigo". Es normal, la palabra tiene connotaciones religiosas que en estos tiempos sorprenden mucho a la gente. Pero están todos equivocados jajajajajaja (risa maligna).

El nombre viene de la película "Equilibrium" (2002), en la que el protagonista, Christian Bale , interpreta a John Preston (El Clérigo). A pesar de que la película nunca se estrenó en España, conseguí verla subtitulada y se convirtió en una de mis películas de culto.

Christian Bale frente al espejo

Además si atendemos a su definición el diccionario de la RAE dice: "En la Edad Media, hombre letrado y de estudios escolásticos" y "En la Edad Media, hombre sabio en general". Y esa idea de un hombre sabio, que difunde conocimiento, me vino como anillo al dedo para empezar un blog.

Así pues y para el que se anime comienzo un meme entre aquellos blogueros que quieran: ¿de dónde viene el nombre de tu blog?

Etiquetas: , ,

31/08/2007 11:48. Autor: Ricardo Gil. #. Tema: Ricardo Gil No hay comentarios. Comentar.


Suscrí
bete a este blog. RSS 2.0 Este Blog ha sido creado con Blogia. Ver derechos de autor . Estadísticas. Admin. [Blogia colabora con 1001 relatos.]