Skip to content
feb 14 11

El proceso de creación de una aplicación web, desde la idea al producto, contado por Ryan Singer de 37signals

by Pablo

Me ha gustado mucho este vídeo (34:10 min) en el que Ryan Singer, diseñador de interfaces y programador de 37signals, explica el proceso que siguen para transformar una idea/concepto en una aplicación real.

Ryan no cuenta nada nuevo. Sin embargo, a través de un ejemplo práctico y en tiempo real, explica de forma muy sencilla cómo abordan la creación de una aplicación web 37signals. Allí siguen los siguientes pasos:

  1. Estudiar el modelo y obtener los conceptos sobre los que tratará la aplicación,
  2. Crear prototipos visuales de la estructura de las pantallas/wireframes,
  3. Aplicar el diseño gráfico a los prototipos,
  4. Maquetar las pantallas mediante HTML/CSS,
  5. Programar la aplicación y ver los resultados.

De la charla me quedo con dos cosas importantes:

  • Es muy probable que cuando el cliente vea los primeros prototipos de la aplicación empiece a darse cuenta de posibles cambios y mejoras en la aplicación. Es importante pararle los pies al cliente para no caer en una toma de requisitos infinita. Se le pueden plantear soluciones genéricas que le satisfagan y permitan continuar con el desarrollo.
  • Lo anterior es importante para poder avanzar con todo el proceso y sacar rápido una primera versión al mercado. Esto les permite obtener rápidamente feedback de los clientes/usuarios y realizar los cambios oportunos en base a experiencias reales y no a elucubraciones hechas en una fase temprana en la que no se conoce bien el dominio de la aplicación.

Espero que os guste.

ene 23 11

Mi primera code kata resuelta: String Calculator

by Pablo

¿Qué es una kata en programación?

Una kata (programación) es un ejercicio de programación que pretende mejorar las cualidades de un programador mediante la práctica y resolución repetitiva de problemas.

Son ejercicios muy interesantes por dos razones: te obligan a encontrar una solución a un problema; y te permiten contrastar tu solución con las de otras personas, ayudandote a descubrir nuevas formas de afrontar dicho problema.

Generalmente se resuelven utilizando desarrollo dirigido por pruebas, es decir, escribiendo primero las pruebas y luego el código, y es interesante resolverlas programando en parejas.

La iniciativa #12meses12katas o #12months12katas

Hace un tiempo leí en twitter acerca de esta iniciativa, que consiste en resolver una kata cada mes. Si mucha gente se anima, al final de cada mes puedes contrastar tu solución con el resto y aprender mucho. Me gustó tanto que me lo marqué como objetivo para este año.

Fruto de esta idea, kinisoftware se ha lanzado y ha creado 12meses12katas.com, que en breve se convertirá en un punto de encuentro y lugar centralizado donde compartir los enunciados de las katas y las diversas soluciones.

La kata: String Calculator

La kata consiste en hacer una calculadora que recibe una cadena con un formato específico y realiza la suma de sus operandos. La mayor complicación radica en el parseo de la operación. Yo me decanté por utilizar expresiones regulares, y fue en la escritura de estas donde invertí más tiempo.

Mi solución

Mi solución está implementada con Ruby y RSpec. He de reconocer que he necesitado 3 intentos y que no estoy muy contento con la solución para el caso de diversos delimitadores.

De momento, he colgado la solución en mi cuenta de GitHub y también la incluyo a continuación.

read more…

dic 21 10

La métafora de la Deuda Técnica (Technical Debt), por Ward Cunningham

by Pablo

Durante el desarrollo de cualquier aplicación informática, puede ocurrir (me atrevería a decir que es habitual) que las nuevas funcionalidades no se implementen de la mejor forma posible. ¿Por qué? Puede haber muchos motivos: inexperiencia de los desarrolladores, plazos demasiado ajustados que no permiten pensar en una solución “óptima”, desconocimiento del dominio del problema en ese momento, etc. Para explicar cómo tratar con todas aquellas implementaciones o tareas que en un proyecto quedan sin hacer, o en un estado ‘esto ya lo arreglaremos’, Ward Cunningham comenzó a utilizar la métafora de la deuda técnica.

En este video de 4:44, Ward explica la historia y motivaciones de esta metáfora.

read more…

dic 19 10

Un ejemplo muy sencillo para entender el desarrollo dirigido por comportamiento (BDD) con Cucumber y Ruby On Rails

by Pablo

Logotipo de Cucumber. Pruebas de aceptación con Cucumber y Rails (BDD)

El propósito de este post es ayudarte a configurar una aplicación Ruby On Rails muy sencilla, con soporte para la definición de tests de aceptación de usuario con Cucumber. Son los pasos que yo he seguido para iniciarme en el mundo del BDD (desarrollo dirigido por comportamientos). El ejemplo consiste en la clásica aplicación Rails (versión 2.3.5) de gestión de Posts, generada usando Scaffolding.

He colgado la aplicación resultante en mi cuenta de GitHub: https://github.com/alonsogarciapablo/cucumber_rails_test.

read more…

dic 13 10

¿Es realmente productivo el tiempo de trabajo en una oficina?

by Pablo

Productividad en la oficina, cubículos, rework

¿Cuál sería tu sitio ideal para sacar más trabajo adelante? Igual resulta que las oficinas no son el mejor sitio para que los empleados sean productivos y saquen mucho trabajo adelante. Nadie puede trabajar al 100% durante 8 horas en una oficina. Una jornada en la oficina se resume a una serie de momentos productivos plagados de interrupciones (y no me refiero a entrar 5 minutos en Facebook), sino a: llamadas de teléfono, correos electrónicos, REUNIONES, jefes que no trabajan sino que se limitan sólo a interrumpir, etc.. En este vídeo de 15 minutos, Jason Fried, de 37signals, nos explica por qué la productividad en las oficinas no es la esperada y nos da 3 recomendaciones para hacer la vida de oficina algo más productivo.

read more…

dic 12 10

Rework. Change The Way You Work Forever, por Jason Fried y David Heinemeier Hansson

by Pablo

Portada del libro Rework: change the way you work forever. Jason Fried. David Heinemeier

Rework es el último libro de los chicos de 37signals. Está basado en los más de 10 años de experiencia de Jason Fried y David Heinemeier Hansson, fundamentalmente en el desarrollo de pequeñas aplicaciones que ayudan a pequeñas empresas y grupos de personas a resolver problemas concretos.

Rework es una recopilación de consejos para personas que quieran ser más productivos en su trabajo. El libro está dividido en varios capítulos que tratan distintos aspectos de la empresa, desde los comienzos, hasta el trato con la competencia o la contratación de personal. Cada capítulo incluye consejos independientes de una o dos páginas y una bonita ilustración de Mike Rohde. Este formato lo convierte en un libro ameno y fácil de leer.

read more…

jun 14 10

Retrospectiva de Agile Spain 2010, la primera conferencia sobre metodos ágiles en España

by Pablo

Erling Workshop Evaluation

Estas son mis notas y retrospectiva acerca de la Conferencia Agile Spain 2010, la primera conferencia de metodologias ágiles en España celebra en Madrid durante los días 10 y 11 de Junio.
read more…

jun 7 10

Mi paso por la conferencia Agile Spain 2010

by Pablo

Esta semana asistiré a la conferencia Agile Spain 2010. Muchas sesiones y talleres interesantes, tantas que ha sido difícil elegir a cuales asistir y renunciar a los talleres. Intentaré ir resumiendo en este blog cada una de las charlas a las que asista:

Jueves

Viernes

Además el sábado asistiré al workshop gratuito de JRuby impartido por David Calavera.

¡Nos vemos en Agile Spain 2010!

PD: Otros itinerarios de asistentes: Itinerario de kinisoftware, itinerario de Israel Alcázar

may 14 10

iWeekend Asturias: 7, 8 y 9 de Mayo en Gijón

by Pablo

iWeekend Asturias 2010

Por fin hemos anunciado el evento en el que llevo trabajando durante los últimos meses junto con un gran equipo: iWeekend Asturias. Aprovecho para felicitarles a todos por el gran trabajo que están haciendo: Carlos Fernandez Fuente, Chemy, José Moro, Javier Bravo Tourón, y el resto de colaboradores. Sin ellos, nada de estos sería posible.

iWeekend es un evento de referencia a nivel nacional (y poco a poco también internacional) en lo que a promoción de la cultura emprendedora se refiere.

El concepto es sencillo: 50 profesionales relacionados en mayor o media con el mundo de Internet trabajando en sacar adelante una o varias ideas que en el futuro podrían convertirse en empresas reales. Ejemplos notables: pidecita.com, rifalia.com, tusiyu.comadlemons.com.

¿Seremos capaces en Asturias de lanzar algo así? Yo estoy convencido de que sí.

Creo que es un gran evento que puede aportar mucho a los participantes, por lo que podrán aprender con y del resto, y por la cantidad de contactos y futuras colaboraciones que pueden surgir a partir de un intenso fin de semana.

Tenéis toda la información en la web de iWeekend Asturias y en la cuenta de Twitter de iWeekend Asturias.

Si vives en Asturias o alrededores, te gusta Internet y quieres conocer gente: no tienes excusa: ¡Apúntate!

mar 30 09

Scrum, by Ken Schwaber

by Pablo

En este vídeo, Ken Schwaber nos presenta Scrum, la metodología de desarrollo ágil de aplicaciones: