Archive

Archive for June, 2009

Maven – Más que una herramienta de construcción

June 27th, 2009

Este es el nombre del seminario que he impartido recientemente. Un seminario de introducción en el que he hecho especial hincapié en aquellos detalles que hacen que los que se enfrantan por primera vez desistan con los primeros intentos.

Las transparencias están publicadas en el sitio web oficial de Maven, en el apartado recursos externos.

Maven: más que una herramienta de construcción

El diseño de interacción en Drupal 7

June 24th, 2009

El trabajo que están haciendo en Drupal 7 es realmente bueno. De todas las mejoras que traerá tengo especial interés en la nueva capa de abstracción de base de datos y el diseño de interacción. Para saber más sobre el diseño de interacción en Drupal 7 recomiendo este blog que no tiene desperdicio.

Viendo la siguiente galería de imágenes nos podemos hacer a la idea de las sorpresas que nos encontraremos. Hoy precisamente he mantenido una interesante conversión con algunos de mis compañeros de trabajo sobre el valor de trabajar con prototipos (storyboards, wireframes) y modelos conceptuales, y lo que están aportando en nuestros proyectos. Aun nos queda mucho por aprender, pero creo que lo importante es tener convinción sobre lo que uno está haciendo. Incluso, aunque los resultados no sean todo lo satisfactorios que deseemos.

En el próximo proyecto en el que tengamos la oportunidad, voy en poner en práctica ciertos cambios que no implican un cambio en la metodología de desarrollo pero sí en la ejecución y enfoque de ciertas tareas. Algunas notas previas:

  1. En el roadmap del proyecto no aparecerán milestones con palabras como análisis, diseño, codificación o verificación
  2. El desarrollador de interfaces de usuario trabajará desde el primer momento con el analista, no esperaremos a que los objetivos y funcionalidades estén algo avanzadas.
  3. Ni hablar de domino o modelo de datos hasta que las historias de usuario estén maduras. Con eso me conformo. Conseguir la validación es -casi- una utopía y dar la sensación de que se están cerrando las puertas al cambio.
  4. Los ingredientes: una wiki, un buen móvil para sacarle fotos a los bocetos y la pizarra, rotuladores de colores y un buen taco de A4 y A3 (reciclables por favor).
  5. No sé por qué pero casi todos los diagramas sobre arquitecturas lógicas que he visto representan la persistencia de los datos en la parte inferior y ascienden hasta el lado del cliente pasando por la capa de acceso a datos, modelo, lógica de negocio y controlador. Pues bien, nosotros queremos empezar por arriba. Comenzando por codificar los interfaces de usuario a partir de los prototipos y descender. Habrá un momento en el que habrá gente trabajando en paralelo en las distintas capas. Eso será buena señal.
  6. Vamos a definir un glosario de términos que NO podemos usar delante de los usuarios que nos ayudarán (o no) a conocer lo que necesitan. También hay situaciones en las que los usuarios sólo tienen claros objetivos de muy alto nivel y necesitan que tú les guíes.

Si un arquitecto es capaz de transmitir una idea creativa mediante la proyección, nosotros tenemos que ser capaces de diseñar la interacción entre los usuarios y la información que necesitan gestionar. En más de una ocasión me he encontrado en reuniones para presentar los trabajos realizados (total o parcialmente) y tras presentarlos el cliente te dice claramente que eso no es lo que el tenía en mente o lo que él necesita. Qué le pasaría a un arquitecto si tras construir una vivienda el cliente le dice que eso no es lo que quiere.

Opina vuelve a cruzar el charco

June 23rd, 2009

En esta nueva ocasión Opina cruza el charco para aterrizar en México, concretamente en el Instituto de Ecología, A.C. (INECOL). Hoy he recibido un correo de alguien que trabaja allí felicitando el trabajo y agradeciendo que esté disponible. Es lo que tiene el software libre!

Instituto de Ecología, C.A.

Author: Manuel Jesús Recena Soto Categories: Mis proyectos Tags:

Enganchado a un proyecto

June 15th, 2009

El otro día escribía en mi twitterDar soporte a software no tiene nada que ver con desarrollar software nuevo. Menudo puente con Struts 1.2.x“. La verdad es que sólo hay ver el timeline o las gráficas de STractistics para ver que en los últimos días le estoy dedicando bastante tiempo a uno de mis principales proyectos. Durante los últimos años los esfuerzos se han centrado -principalmente- en ofrecer soporte. Hay clientes que lo han contratado y otros usuarios del proyecto han pedido ayuda y en la medida de las posibilidades se les ha dado.


Desde hace bastante tiempo tengo en mente construir una nueva versión, con nuevo diseño y aprovechando toda la experiencia adquirida atendiendo a los usuarios y viendo las nuevos caminos que se presentan. Mi poca (o mucha) dedicación se ha centrado en la versión 2.x y cada incidencia que sucedía en la versión 1.x me provocaba la sensación de estar retrasándome en la construcción de esta nueva rama. La situación es complicada. Con el poco tiempo libre del que dispongo, cualquier interrupción supone retomar de nuevo el proyecto. Y eso para alguien como yo que es incapaz de decir “no” a nuevos retos, es lo peor.

Sin embargo, he decidido cambiar el enfoque. Para tener la sensación de que el proyecto no está anclado en el tiempo se necesita feedback, y que mejor forma que atendiendo a las peticiones de mejora que tengo anotadas en mi cuaderno, mails, herramientas como uservoice o simplemente ideas que se van ocurriendo . Esto tiene sus consecuencias y una de ellas es no caer en la tentación de refactorizar todo el proyecto porque haya cosas que harías de otra forma. Para eso ya tengo la versión 2.x, y esto significa, que esta nueva rama continuará y algún día verá la luz.

Tengo que reconocer que estoy enganchado a este proyecto. Para mi es un vicio, especialmente si nos referimos en su sexta acepción de la RAE. Verdaderamente he llegado a esta conclusión cuando durante estos días he disfrutado a muerte cerrando tickets y ansiaba el momento de publicar una nueva release. A veces me surge el deseo dejarlo, darle las gracias por todo lo que me ha hecho leer, investigar y luchar, y dar paso a nuevos proyectos.

No quiero ni pensar lo que tiene que sentir un emprendedor todos los días mientras su sueño se desarrolla. Supongo que él también estará enganchado.

Opina: gestor de encuestas 1.2.1

June 12th, 2009

Se acaba de publicar la versión 1.2.1 de Opina: gestor de encuestas. Los principales cambios en esta nueva versión son:

  1. Cuando la aplicación no puede conectar con el servidor de correo (SMTP) se muestra un mensaje para informar al usuario. Se procesa mejor la correspondiente excepción.
  2. La paginación no funcionaba cuando las preguntas y grupos son reorganizados.
  3. Aunque un cuestionario tenga respuestas, se permite la operación ColocarEn (reorganización de preguntas). Antes sólo se permitía subir y bajar preguntas. Lo que sigue sin permitirse es modificar el contenido de preguntas y grupos.

Author: Manuel Jesús Recena Soto Categories: Mis proyectos Tags:

Un problema al que le faltan datos

June 9th, 2009

Hace unos días leía en el blog de kybele consulting una entrada muy interesante sobre métodos de estimación software. En la entrada se hace referencia a unas transparencias en las que hay información con la que estoy de acuerdo, sin embargo, y probablemente sea un problema particular mío, todo eso me suena a pura teoría más propia de una asignura de aquella carrera que tanto me aburrió.

Estoy convencido de que mucha gente pensará que estoy equivocado, y es probable, sin embargo, creo que en cualquier método de estimación de proyectos software (incluidos productos) en el que no tengamos en cuenta a los recursos (al equipo), la incertidumbre será abundante. Muchas veces me veo obligado a planificar proyectos incluyendos costes y la sensación que tengo es de levantar el dedo y ver para qué lado sopla el viento. ¿Cuántas veces no se ha preparando una oferta para un concurso público haciendo ingeniería inversa? El dinero que hay es X, pues a partir de ahí defino mi oferta (planificación, recursos, tecnología, etc).

Una de las líneas de trabajo en los ecosistemas software es la base histórica de proyectos. Realizar una estimación teniendo en cuenta tus recursos (conocimientos, habilidades, especialización, etc) y una base histórica, sigue siendo predecir, pero lo cierto es que cada vez acertamos más. A continuación un breve listado de situaciones que hacen que la estimación se parezca a la realidad con la misma probabilidad que un niño de 3 años escriba en un post-it los números del euromillón:

  1. Optar por un marco tecnológico en el que no se tenga experiencia. Hace un “Hola mundo” no es tener experiencia.
  2. Que en el equipo definido no haya un líder tecnológico. Un líder tecnológico no es un jefe de proyecto.
  3. No disponer de un entorno de desarrollo flexible, cómodo y fácil de usar. Podemos llamarlo Ecosistema Software.
  4. Ausencia de metodología. Si es un proyecto pequeño y un equipo pequeño, el correo electrónico puede ser su ecosistema, pero en el resto de casos, mal vamos.
  5. Reacios a los cambios. Si no admites y pones trabas a que lo requisitos cambiarán, entonces tienes el riesgo de que el mal rollo aparezca.
  6. El proyecto tiene un tamaño que no puedes controlar. Muy simple, pasas de ejecutar proyectos de 3-5 personas durante 3-8 meses a 6-15 personas durante 12-18 meses. Los proyectos que se prolongan en el tiempo tienen ciertos aspectos que no aparecen en proyectos pequeños.
  7. Tu diseño está condicionado por el cliente y no te siente a gusto desde el comienzo. Mal empezamos porque tu crees que deberían de confiar en ti como proveedor de software y dejarte libertad.

Como en todas las listas que hago, siempre se podrían añadir más puntos. Lo dejo para quienes leen este espacio.

Opina: gestor de encuestas 1.2.0

June 7th, 2009

Se acaba de publicar la versión 1.2.0 de Opina: gestor de encuestas. Los principales cambios en esta nueva versión son:

  1. Se ha implementando el patrón OpenSession in View con el fin de controlar las transacciones y así evitar los problemas presentados en algunas implantaciones con gran tráfico.
  2. Se ha cambiado ligeramente la representación visual de las preguntas de tipo matriz para resaltar las filas y mejorar su visibilidad.
  3. Se ha resuelto un pequeño problema en el formulario de autenticación.
  4. Ahora se permiten URLs con HTTS para redirigir a los usuarios.

El punto número 1 ha sacado a relucir un buen conjunto de malas prácticas que se han ido solventando progresivamente durante la evolución de la versión 1.2.0. Hay una versión de demostración disponible para evaluar la aplicación. Ah! y recordar que el sistema de donaciones aguanta mucha carga, no os preocupéis por ello.

Author: Manuel Jesús Recena Soto Categories: Mis proyectos Tags:

buildnumber-maven-plugin

June 7th, 2009

Configuré este plugin hace algunas semana en un proyecto y me encontré con un pequeño inconveniente que me hizo perder unas horas. Hoy me disponía a configurarlo en Opina y me he encontrado con otro inconveniente. Para que no se me olvide, y por si a alguien le sirve, dejo por aquí la configuración que estoy usando:

<plugin>
    <groupid>org.codehaus.mojo</groupid>
    <artifactid>buildnumber-maven-plugin</artifactid>
    <version>1.0-beta-3</version>
    <executions>
	<execution>
	    <phase>process-sources</phase>
	    <goals>
		<goal>create</goal>
	    </goals>
	</execution>
    </executions>
    <configuration>
	<docheck>true</docheck>
	<doupdate>false</doupdate>
    </configuration>
</plugin>

Para es funcione debemos tener correctamente configurado el repositorio SCM:

<scm>
    <connection>scm:svn:http://svn.ebabel.info/repos/opina/branches/1.x</connection>
    <developerconnection>scm:svn:http://svn.ebabel.info/repos/opina/branches/1.x</developerconnection>
    <url>http://trac.ebabel.info/projects/opina/browser</url>
</scm>

Que no se os olvide la entrada developerConnection, sino, no funcionará.

Conocimiento libre?

June 6th, 2009

No es que ponga en duda los benecifios que un conocimiento libre aporta a la sociedad, pero ayer surgió algo que me hizo replantearme -una vez más- ciertas cuestiones en mi carrera profesional.

Anoche, salí de casa para ayudar a descargar unas maletas y le pregunté a mi hermana antes de cerrar la puerta: “¿Tienes las llaves de casa?“, ella me respondió que sí, y automáticamente tiré de la puerta. Justo al cerrar me vino a la mente que me había dejado las llaves puestas por dentro. Os lo estáis imaginando, ¿no? La puerta no se podía abrir desde fuera porque la llave estaba puesta por dentro.

Automáticamente salí a la puerta del residencial donde vivo para buscar el teléfono de un cerrajero. Había varios, elegí el que tenía la pegatina que más me llamó la atención. En menos de 20 minutos, el cerrajero estaba en la puerta de mi casa. Intenté estar atento para ver lo que hacía pero fue imposible. Lo único que escuché fue el ruido de una segueta. En menos de 5 minutos la puerta estaba abierta sin necesidad de estropear ninguna llave ni la cerradura. Me cobró por el servicio 70 euros que pagué con mucho gusto porque me veía en la calle un viernes a las 22:15.

El cerrajero hizo por donde para que yo no conociera lo que había hecho. Estoy convencido que lo que hizo fue algo muy simple, sin embargo, si todo el mundo conociese la forma de hacerlo, él y otros cerrajeros perderían la oportunidad de ganar esos 70 euros por menos de 30 minutos de trabajo (incluyendo desplazamiento).

¿Qué pasaría si en nuestro sector aplicásemos ese planteamiento? No me estoy refiriendo a que Opina deje de ser libre y de fuente abierta, sino a ese conocimiento que uno adquiere con la experiencia del día a día y que es el que nos da valor en mercado laboral.

Switch to our mobile site