Developing Frogtek

El blog del Departamento de Tecnología

Mes: Noviembre 2010

Primera code kata en frogtek

Hoy hemos tenido la primera code kata. Jose ha preparado una magnifica sesión en la que hemos puesto el pomodoro a 25 minutos para elaborar una solución al problema del Fizz Buzz.

Hemos tenido soluciones muy elegantes, os paso esta por ejemplo de Alberto:

public class FizzBuzz {

	final static String FIZZ = "Fizz";
	final static String BUZZ = "Buzz";
	final static String FIZZBUZZ = "FizzBuzz";
	public static void main(String[] args) {
		for (int i=1; i<=100; i++) {
			System.out.println(getFizzBuzz(i));
			
		}
	}
	
	public static String getFizzBuzz (int number) {
		if (number % 15 ==0){
			return FIZZBUZZ;
		} else if (number % 3 ==0){
			return FIZZ;
		} else if (number % 5 ==0){
			return BUZZ;
		} else {
			return Integer.toString(number);
		}
	}

}

¿Algún comentario? ¿Mejora?

Hemos decidido hacerla en Java, la próxima irá en python y alguien por ahí ha dicho que en LISP.

¿Qué IDE usas?

Hoy en frogtek vamos a tener nuestra primera kata organizada por Jose. Ayer mientras nos enviaba información acerca de las webs que había visitado para prepararla, pensé en el IDE y de qué manera un developer se siente cómodo al usarlo.

Yo desde hace un tiempo llevo usando NetBeans para desarrollar en Android y GAE, me cansé de la inestabilidad y lentitud de Eclipse cuando tratas con varios proyectos grandes.

Esto también me hizo pensar acerca de la ayudas que un IDE proporciona a un programador, como por ejemplo:

  • Completar métodos.
  • Compilación inmediata.
  • Sugerencias de corrección de errores.

Todas estas ayudas que en principio están diseñadas para hacernos la vida más fácil y aumentar la rapidez de desarrollo, pueden convertirse en un lastre en cuanto a eficiencia se refiere y una frustración diaria. Todo esto relacionado con que debemos tender a “Go Mouseless”, para aumentar nuestra productividad, me hace pensar que cada día deberíamos bajar un escalón en la abstracción e intentar obviar las ayudas en busca de más rendimiento. También creo que estas ayudas a la larga hacen perder un poco la visión global de proyectos grandes.

Me gustaría saber cuáles son vuestros IDE’s mas usados y vuestras configuraciones.

Agile Open Spain 2010

Los días 12 y 13 de Noviembre se celebró el segundo Agile Open Spain (AOS), esta vez en Barcelona, y como no podía ser menos, allí estuvo Frogtek. Fueron dos días, bueno un día y medio, muy intensos, donde llenamos nuestras mochilas de nuevas ideas.

Algo que nos llamó la atención fue el formato del evento donde para comenzar e ir rompiendo el hielo, un poco de networking, así los asistentes nos íbamos agrupando en función de algunos puntos en común, por ejemplo el lugar de procedencia, hobbies… Una vez que ya habíamos calentado tocaba organizar la agenda del sábado, eso si, tenía que ser de manera ágil y abierto a todo el mundo, de manera que aquel que quisiese podía proponer un tema y después colocabas una pegatina a aquellos debates, presentaciones… que te resultasen de mayor interés. Nosotros propusimos tres temas: experiencias Kanban, TDD vs Test On Demand y Como diseñar tu propia metodología. Para finalizar se distribuían por las diferentes salas y franjas horarias. Ya estaba todo listo!

Para tratar de recoger la mayor información posible, Pedro, Jose y yo nos distribuimos por las diferentes salas. Entre los temas de debate se habló sobre el uso de frameworks, software craftmanship, Kanban/Scrumban, TDD, diseño ágil, como convencer al cliente, incentivos en el trabajo, como matar scrum … entre muchos otros donde el objetivo era difundir y compartir conocimiento y experiencias.

A modo de conclusión, el AOS nos supuso varios puntos de reflexión, tanto profesional como personalmente. Ye tenemos pensado algunas posibles mejoras en nuestra metodología de trabajo que os iremos contando conforme las vayamos aplicando. Una de ellas la práctica del pomodoro.

El Pomodoro Síncrono ya está aquí

Ayer tuvimos una reunión de retrospectiva. Solemos hacer una al mes aproximadamente. Ésta fue particularmente interesante, especialmente por Jose, Linares y Pedro que habían acudido el fin de semana anterior al Agile Open Spain de Barcelona y se trajeron feed-back fresquito e interesantes ideas para aplicar en nuestro entorno de trabajo.

Esta semana presentamos… ¡el Pomodoro Síncrono! (lo que hay que oir). Se trata de buscar maneras de aumentar la productividad y se puede aplicar tanto a programadores como a cualquier otra persona que necesite cierta tranquilidad y concentración para llevar a cabo su trabajo. Básicamente la idea del Pomodoro consiste en reservar espacios de tiempo para aislarse del entorno y concentrarse un 200% en una tarea. Está claro, si apagas el teléfono, el chat, el twitter, el facebook, haces voto de silencio y te pones unos cascos tu productividad aumenta varios órdenes de magnitud. La duración de dichos espacios de tiempo es variable y personal, hay quien es capaz de aguantar en una especie de estado entre el trance y el nirvana durante varias horas seguidas, hay quien con media hora de aislamiento sensorial tiene más que suficiente. Resulta obvio que no es una técnica de la que se deba abusar pero también que, cada vez más y sobre todo en un trabajo como el de programador, si se quiere aumentar la productividad (esto es, ser más rápido, cometer menos errores y acabar más cosas) hay que ser capaces de abstraerse del ruido, principalmente spam cibernético, que nos rodea.

¿Y por qué Pomodoro?. Porque el tío que lo inventó usaba un reloj de cocina con forma de Tomate. ¿Y por qué Síncrono?. Porque si lo práctica toda la oficina a la vez es mucho más efectivo. Así que hemos decidido hacer Pomodoro Síncrono todos los días:

  • de 9:30 a 10:30
  • de 12:00 a 13:00
  • de 16:00 a 17:00

Desgraciadamente no hemos encontrado un reloj-tomate… así que siempre nos quedará el consuelo de decir: “Hoy he currado un huevo”.     😛

Aquí huele a cuco (III)

Cuando entras en una empresa nueva, descubres partes del código en cierto modo inexplicables. Muchas de ellas las achacas a tu poca experiencia con los entresijos de las aplicaciones que acabas de conocer. Otras, en cambio…

public void makeAppCrash() {
	DataAccessManager.getDbHelper().execSQL("select * form mamamam");
}

De este fragmento se extraen varias dudas:

  • ¿Por qué queremos que en producción se rompa la aplicación?
  • ¿Qué llevó a alguien a escribir “mamamam“?
  • ¿Por qué pone “form” en vez de “from“?

Muchos de estos misterios seguirán sin tener una respuesta. Mientras tanto, el código todavía sigue intacto en busca de alguien que descubra sus más profundos secretos

El curso de SCRUM en Walqa: ¿un éxito? no… dos!

Esto lleva un tiempo un poco parado, es cierto, pero no es que lo hayamos abandonado, es que tenemos mucho trabajo y a veces encontrar tiempo para ordenar las ideas y escribir un post resulta complicado. Hoy, sin embargo, me he decidido a romper este silencio por algo que pasó ayer.

Resulta que estábamos en pleno TPV, dando cuenta del menú de Walqa y viendo un video más gracioso que científico (bueno para gustos colores) cuando unas 20 personas irrumpieron en nuestra oficina porque querían ver nuestra tabla de Kanban. ¿Una manada de groupies de Frogtek?. No. ¿La gente del Agile Open Spain venían a flagelarnos porque tenemos más de un Product Owner?. Tampoco… menos mal. Mucho mejor, era la segunda tanda de gente del Curso de SCRUM que Teresa Oliver estaba dando en Walqa.

Da mucho gusto que te tomen como modelo para este tipo de cosas. Nosotros ni somos perfectamente ágiles según los estándares del “Agilismo puro”, ni pretendemos serlo, ni seguramente conseguiríamos serlo aunque lo intentáramos. Hemos avanzado muchísimo desde que empezamos y estamos encantados de contar lo que hemos aprendido por el camino, y de aprender muchas otras cosas más. Ójala pronto empecemos a ver alguna otra tabla más por Walqa, será señal de que estamos en el camino correcto.

También da mucho gusto saber que las iniciales dudas de si habría al menos 10 personas para hacer un curso de ese estilo en Walqa han sido ampliamente superadas con casi 4o personas… y eso que me consta de 3 ó 4 amiguetes que hubieran querido asistir y no han podido, lástima porque hubieran podido aportar cosas importantes ya que son gente que sabe mucho de tecnología y de proyectos. Bueno, al grano, parece que hay masa crítica así que pronto llegará el momento de mover más la cosa empezando por… ¿un curso de TDD?.

Y por cierto… aprovecho para arrojar el guante para que alguno de mis compañeros que estuvo en la Agile Open Spain 2010 se anime a contar lo que allí vimos, aprendimos y cómo nos dieron algún que otro revolcón… y voy a romper una lanza por Jose, Linares y Pedro que se atrevieron a hablar de Frogtek delante de gurús de la talla de Medinilla & company.