martes, febrero 10, 2015

Los dos pilares del desarrollo Ágil de software


Si, ya se, todo el mundo suele comentar que los pilares del desarrollo de software ágil son tres:

  • La cultura, principios y valores
  • Los métodos y artefactos de gestión (liturgias y procesos correspondientes a scrum, kanban, etc.)
  • Las prácticas técnicas y la búsqueda de la excelencia técnica (Pair programing, TDD, collective code ownership, Integración continua, etc.)

Pero tengo la sensación que para un desarrollo de software que aporte valor a los clientes y que sea sostenido en el tiempo, principalmente nos hacen falta dos, y desgraciadamente nos son los valores que más suelo ver...

Como siempre, no todo es blanco o negro así en cada momento en el tiempo cada pilar lo podemos tener más o menos interiorizado, por lo que a continuación comento varias de las combinaciones que he visto y el efecto que creo que tienen.

Cultura ágil interiorizada, métodos ágiles conocidos y en uso, prácticas técnicas muy mediocres, suele derivar en bola de lodo inmantenible, eso si, en menos tiempo y con más eficiencia que sin métodos ágiles.

Cultura ágil no interiorizada, métodos ágiles conocidos y en uso, prácticas técnicas correctas o buenas, deriva en un buen flujo de funcionalidades, pero que será complicado de mantener en el tiempo, puesto que será difícil conseguir un equipo de desarrollo estable y cohesionado. Así que funciona en estos momentos, pero es difícil de mantener en el tiempo.

Cultura ágil no interiorizada, métodos ágiles conocidos y en uso y practicas técnicas muy mediocres, es lo que se conoce como Scrum de chichinabo (tm) y es un fiasco total, a muy corto plazo puede dar alguna pequeña victoria, pero suele derivar en situaciones peores que antes del intento de implantación del desarrollo ágil.

Cultura ágil interiorizada, métodos ágiles mínimos, prácticas técnicas correctas o buenas, deriva en en un buen flujo de funcionalidades que se pueden mantener en el tiempo con un ritmo sostenible.


Vamos, que si tengo que elegir dos pilares, elijo, sin duda alguna, Cultura ágil y prácticas técnicas. Por cierto, que ese espíritu creo que encaja muy bien con la Programación Extrema y con el movimiento de Artesania de Software.


Cultura Ágil
+
Prácticas Técnicas


Ni que decir tiene que con una buena cultura se puede conseguir todo lo demás, pero hay que saber hacia donde se quiere ir y dedicarle tiempo y esfuerzo...

Por supuesto, esto es mi opinión y sólo está basada en los contextos que he ido viviendo, pero para eso es mi blog, no? ;-)

Si alguien conoce implantaciones en las que con mal conocimiento y prácticas técnicas se ha conseguido un buen resultado a medio largo plazo que me lo comente que seguro que tiene muchas cosas de las que se puede aprender.

lunes, febrero 09, 2015

Charlas interesantes (Enero 2015)

Estas son las charlas en español que visto desde comienzo de año y que me han parecido interesantes.
Me encanta poder descubrir charlas de gran calidad en mi propio idioma :-)
Si alguien tiene contenido interesante para ver, estaría fantástico que me pusiese un comentario.

Todavía no he podido ver todas, pero sigo con las charlas de la CAS2014 Barcelona, espero seguir encontrándome buenas charlas :-)


viernes, enero 30, 2015

Podcasts/Talks 2015 1 Jan -29 Jan

These are the most interesting talks I saw/heard these last days:

miércoles, diciembre 24, 2014

Retrospectiva PiWeek (VII) (Mi segunda PiWeek)


Este viernes pasado termino la PiWeek VII edición, así que aunque con un poco de retraso, escribo este post con mis sensaciones y mis conclusiones de esta edición.
Para mi esta es mi segunda PiWeek y por supuesto no va ha ser la última :-)

En lo particular trabaje un poco con Javascript y con librerías para mostrar gráficas en tiempo real. En ese sentido he comenzado a enterarme de como se desarrolla en frontend. Sobre todo, me he pegado con la ejecución de varias librerías y comienzo a encajar algunas piezas. Sigo estando muy pez, pero siento que estoy en el buen camino :-)

Todo el código que se genero está en:


Y las librerías principales que hemos usando han sido:

En este caso, juntamos la idea que traíamos Ruben Eguiluz y yo, con el proyecto que proponía Enrique Paredes (iknite), y finalmente se nos unio David Villa (aunque solo pudo estar alguno de los días). 

El resultado ha sido un spike para gráficas 3D y 2D en tiempo real. Seguramente lo aprendido en este proyecto acabe en alguno de los productos de Alea Soluciones. 
Enrique que era el más interesado en las gráficas en 3D quería conseguir un campo de juegos y experimentación y creo que lo ha conseguido, por lo que a partir de ahí y de los aprendizajes obtenidos, seguro que nos sorprende con algún desarrollo potente relacionado. 

Retrospectiva de mi participación

Drop / Cosas a abandonar

  • Mi obsesión por cerrar cosas hace que para el miércoles comience a cerrar temas para la presentación y bajo el rendimiento para el resto de la piweek
  • Dedicar más tiempo a la gestión/organización del proyecto
  • Volver a mi zona de confort en cuanto me encuentro con algún problema que no se resolver (en mi caso dedicar esfuerzo a la parte de servidor en cuanto se me atascaba el frontend)
  • Proyectos demasiado relacionados con lo que hago habitualmente en Alea Soluciones (no por nada, solo por cambiar el chip)

Add / Cosas a añadir / mejorar

  • Preparar herramientas de teletrabajo (entre Ruben y yo, se notaba que teniamos las herramientas muy trabajadas, pero para el resto de casos no prepare las herramientas suficientemente bien)
  • Me quede con las ganas de hacer más pairprogramming incluso con miembros de otros equipos y con otros lenguajes
  • Forzar trabajar el 100% del tiempo en frontend (o en la parte que quiera mejorar)

Keep / Cosas a mantener

  • Trabajar con gente de otras empresas y skills
  • Salir de la zona de confort
  • Trabajar físicamente fuera de mi oficina
  • Pairprogramming

Retrospectiva (desde mi optica) de la PiWeek Vii

Drop / Cosas a abandonar

  • No se me ocurre nada :-) (y no es peloteo)

Add / Cosas a añadir / mejorar

  • Adelantar la publicación de la hoja de calculo de proyectos para la gente de fuera de Kaleidos
  • Estamos tocando techo en cuanto a gente que podemos ir a invadir a kaleidos

Keep / Cosas a mantener

  • Ambiente PiWeek
  • Proyectazos
  • Tecnologias variopintas (soft, hard)

Agradecimientos

  • Gracias a Kaleidos por la idea de la PiWeek y por ser tan buenos anfitriones
  • Gracias a https://taiga.io/ por la comida del jueves, me encanto que fuese tan variada

Resumen de la PiWeek VII como observador

En esta edición me he quedado muy gratamente sorprendido con los proyectos presentados. En la edición anterior también me impactaron mucho pero la calidad de los proyectos en esta edición creo que ha sido superior.
En concreto me han impresionado los siguientes proyectos y temas:
  • La calidad de los frontends realizados con clojurescript/om (Ghoul Reader/Sloth land).  En un vistazo rápido del código, parece que es bastante fácil de leer y el interfaz de usuario generado responde muy bien y muy rápido.
  • El juego (kam-fu) realizado enteramente en HTML5 indica que definitivamente ya tenemos disponible una tecnología web solida y nos podemos olvidar de los malos tiempos del IE6.
  • Los proyectos con hardware también han sido impresionantes.
  • Varios de los proyectos creo que pueden ser monetizables:
    • Sloth Land
    • Boocss
    • Dungeons & Projects
    • Wild Dex
    • Weather oracle



Nos vemos en la siguiente edición y seguro que no voy solo!!!!

jueves, diciembre 18, 2014

PiWeek VII Dia 2/3 / Esto tiene forma



Bueno, parece que el proyecto vectorscope-io va cogiendo forma. Personalmente, poco a poco, voy aprendiendo algunos conceptos de javascript. De momento lo que tenemos es funcional y aunque sucio, nos vale como prueba de concepto de gráficas en tiempo real.

Igual que en la anterior PiWeek noto que aprendo a buena velocidad y que además tengo esa ilusión por jugar y disfrutar programando que no siempre puedes notar en el día a día.

Aunque para mi, nuestro proyecto sea una pasada (más que por el proyecto, por permitirme empezar desde cero en algo que no había hecho nunca), tengo que decir, que los proyectos que se ven estos días por las oficinas de kaleidos son impresionantes... (Juegos interactivos con html5 y la webcam, drones controlados desde un dispositivo "wereable", lector de rss usando las últimas tecnologías de html5, proyectos en clojure/clojure script, etc... todo MUY espectacular).

Supongo que hacer software de sistemas e infraestructura hace que no sepamos/podamos hacer alicaciones sexis


Ahora a seguir en la recta final... A ver si conseguimos integrar gráficas 3D en vectorscope-io y pulir el formato de las de 2D...

martes, diciembre 16, 2014

Podcasts/Talks 2014 20 Nov - 16 Dic


Lot of time past since the last post about podcast/talks, but better late than never :-)

Would be nice to have feedback/comments about the talks... It's allways rewarding to share out opinions and learnings. Anyone interested?