Scrum con Jira – Primeros pasos

Como sabemos Scrum es un framework muy usado actualmente por equipos de desarrollo de software que cae dentro de las prácticas Agiles. Scrum introduce varios conceptos que ayudan a organizar la forma de trabajo, roles, artefactos, eventos y reglas. Scrum define los lineamientos para trabajar pero no define el cómo implantarlo y es en este punto donde comienzan a surgir dudas a la hora de organizar la información. ¿Cómo hacemos  y gestionamos el backlog?, ¿Cómo gestionamos los sprint con nuestra herramienta de gestión de proyectos?, usamos un excel, etc.
En este post y en otros posteriores os voy a compartir mi experiencia de uso de Jira para gestionar proyectos con Scrum, entre ellos, cómo configurar el proyecto, cómo trabajar con los sprint, cómo crear las épicas, etc. Para ello vamos asumir que nuestro proyecto ya tiene un backlog construido y que tenemos proyectados algunos sprint y vamos a iniciar el desarrollo del mismo.

Jira es una de las herramlogoientas de gestión de proyectos ágiles más usadas por equipos de desarrollo que ofrece todo el soporte para gestionar, planificar, liberar, hacer seguimiento y hacer reporting y ofrece el soporte Agile bajo dos esquemas Scrum y Kanban con su funcionalidad de “Pizarra” o Board , en el caso que nos ocupa trabajaremos con Scrum.

El primer objetivo a buscar es cubrir la siguiente necesidad. (Asumiendo que no has iniciado aún tu proyecto en Jira y no tienes tu backlog).

Tengo un backlog, he hecho la sprint sprint planning y quiero arrancar mi primer sprint”

Los pasos que vamos a tratar en este post son son los siguientes.

  1. Crear un proyecto en Jira
  2. Crear una pizarra Scrum
  3. Crear las historias de usuario
  4. Crear el primer sprint.
  5. Asignar las historias de usuario al Sprint.
  6. Activar el sprint

El primer paso lo omitiremos y supondremos que ya tienes un proyecto creado en Jira, con lo cual vamos al paso 2, crear la pizarra scrum.

Menú Pizarra en Jira

Opción de menú “pizarra” en Jira

Al seleccionar la Opción “Pizarra”, Aparecerá un menú desplegable, seleccione la opción “Crear Pizarra” y nos mostrará un dialogo donde podemos elegir el tipo de pizarra que queremos. y seleccionaremos la opción “Crear una pizarra de Scrum”.

Crear pizarra Scrum en Jira

Crear pizarra Scrum en Jira

La pizarra puede ser creada de un proyecto existente o de un filtro existente de tareas. Para nuestro caso, seleccionaremos la opción “Pizarra de un proyecto existente”.

Selección de proyecto o filtro

Selección de proyecto o filtro

Posteriormente, seleccione el proyecto y escriba el nombre de la pizarra.

nombre de pizarra y proyecto

Escriba el nombre de la pizarra y seleccione el proyecto

Menú lateral Jira

Menú lateral Jira

Esto nos crea una vista de pizarra Scrum donde podemos ver en la barra lateral unos íconos de arriba a abajo desde donde apunta la flecha roja que son el backlog, la vista de sprint backlog, los informes, los componentes y las incidencias. Principalmente interactuaremos con los dos primeros.

La vista de backlog (Trabajo pendiente)  nos permite ver las historias de usuario del sprint activo, sprints siguientes e interactuar con las tareas del backlog. Esta vista nos permite rápidamente gestionar  la creación y edición de historias de usuario, la asignación de puntos de historia, etc.

TIP!!!:Una cosa importante de cara a gestionar las tareas con Scrum en Jira es que las tareas deben ser creadas del tipo historia de usuario y deben tener previamente asignados los puntos de historia, una vez incorporados a un sprint y activado este ya no es posible cambiar el valor de los puntos de historia.

En la vista de backlog además podemos crear los sprint, organizar las tareas del backlog y asignarlas al sprint (arrastrando las tareas) lo que hace muy sencillo priorizar las historias y armar un sprint backlog. La siguiente imagen nos muestra la vista de trabajo pendiente o backlog.

Backlog

Trabajos Pendientes – Backlog

He resaltado las principales acciones, una historia puede crearse dentro de un sprint o en el backlog (Create Issue), o crearse en el backlog  para luego arrastrarla y soltarla en un sprint.

TIP: Puedes tener tantos sprint como quieras, aunque no es recomendable tener más de dos y uno de ellos activo.

Una vez tenga el sprint completo, puede activar o iniciar el sprint “Iniciar Sprint” donde podrás fijar la fecha de inicio y fin del mismo. También puede cambiar el nombre del sprint haciendo click sobre el nombre del mismo.

En la parte superior aparecen los filtros rápidos, los cuales pueden ser configurados dentro de la configuración de la pizarra que veremos en post posteriores.

Si tenemos los sprint activos, hacemos click en el ícono boton-sprint-pizarra-scrum-jira, esta vista nos facilita ver y gestionar las historias de usuario y las tareas técnicas asociadas a las historias de usuario.

La siguiente figura muestra la vista de un sprint activo, en ella podemos observar las columnas que representan los estados en los que se encuentran las tareas de cada historia de usuario. Para cambiar de estado simplemente se arrastran de una columna a otra.

Sprint Activo

Sprint Activo

Esta vista “sustituye” a nivel software lo que sería la pizarra scrum donde están las historias de usuario y las tareas en los estados en los que se encuentran. Es de gran utilidad aunque he de reconocer que no es fácil acostumbrarse visualmente a ella, la vista que se muestra en la figura agrupando las tareas por historia es la que al final me ha parecido más cómoda.

Espero que este post le sirva para dar el primer para crear la pizarra, crear las tareas del backlog, los sprint, asignar las historias de usuario a los sprint y a activar el sprint. En un siguiente post vamos a ver como crear las tareas técnicas y las épicas.

Plurk, como twitter pero mejorado?

Ayer en la tarde recibí por el messenger un enlace plurk, con un texto “Una aplicación como twitter pero mejorada”. El mensaje no podía ser más interesante pues aunque en sus inicios twitter no me parecía muy útil, con el tiempo y gracias a que lo uso integrado en netvibes me he vuelto un poco fanático y le he encontrado una utilidad.

Me suscribí para ver en que cambiaba o mejoraba y me encontré con una aplicación muy interesante y una nueva forma de presentar los mensajes, una barra de tiempo donde se cruzan organizan cronológicamente los mensajes. En la siguiente imagen muestro la pantalla de mensajes de plurk.

image

Este concepto temporal es muy interesante, pero a la vez y según mi propia opinión un poco peligroso, lo discutiré más adelante. Entre las características que pude descubrir en los primeros minutos de uso (30 minutos por lo menos) son:

  • Mensajes pintados en una escala de tiempo (tiempo en escala vertical (hora:minutos) y minutos – vertical para mensajes escritos en la misma franja de hora)
  • La escala de tiempo se puede mover con el mouse o con teclado, esta es una nueva forma de presentar la
  • Los mensajes se leen de derecha a izquierda, es decir, los más recientes, están más a la izquierda.
  • Se pueden compartir fotos y vídeos. Con solo poner un enlace de youtube, plurk muestra dentro de su contexto el vídeo. Como se muestra en la siguiente figura. Soporta imágenes de ImageShack, Flick y PhotoBucket.
  • Para leer los mensajes debes hacer click en ellos (esto no me gusta)
  • Introduce el concepto de Karma (Fuerza espiritual) que se recalcula  cada día de acuerdo a una tabla de tiempos que ponen los de plurk y dependiendo de la hora en que envíes los mensajes. Además se influencia por la actividad de tus amigos (Entre más activo, más karma). Un alto karma además te da la opción de tener más emoticos.

image

  • Puedes tener amigos, fans y seguir a otros.
  • Puedes responder a mensajes particulares (Algo así como un chat asíncrono). Muestra el número de mensajes de respuesta a un plurk de todos los usuarios que respondieron a ese mensaje.
  • Tiene un sistema de alertas para ver el estado de peticiones de suscripciones con amigos y otros.
  • Puedo de manera sencilla filtrar los mensajes que quiero o moverme a una fecha específica con el calendario.

Actualizado (06/05/2008 11:11)

  • la opción de seleccionar que estas haciendo o de que va el mensaje me parece estupendo… ejm. quiere, piensa, dice, desea… de tal forma que los mensajes aparecen como: dacosta51 quiere texto, esto si que me gusta.

En general me ha gustado, los conceptos que introduce son bastante innovadores respecto a twitter, la interfaz es sencilla y agradable. El echo de poder ver los vídeos insitu hace que sea muy agradable a la hora de compartir contenido en la red. Me parece un concepto super innovador  (no soy experto pero me gustó). El diseño me parece excelente (igual no soy experto) y las ayudas contextuales claras y precisas.

Tener la posibilidad de compartir vídeos e imágenes me parece espectacular, aunque ahora mismo solo soporten youtube, muy pronto me imagino tendrán soporte para otros portales.

Ahora, el poder responder o comentar un plurk es excelente, porque en twitter estas respuestas se pierden al tener que responder con un nuevo mensaje. Si no tuviera la opción de enviar comentarios, plurk no sería leible. En twitter al final terminas siguiendo la pista a las respuestas. Voy a seguir jugando con él, si logro tenerlo integrado en netvibes ya seria la pera limonera. Animo a aquel que lea este post a suscribirse, mi nick es dacosta51 ;-).

Cosas que no terminan de cuadrar

La barra temporal me parece excelente pero a mi modo de ver, la forma de visualización es un poco confusa. El concepto de temporalidad no es fácil de entender y encajar los mensajes en una escala temporal horizontal y vertical para un buen seguimiento puede ser confuso. Esto me recuerda cuando estas intentando hacer una película con flash y tienes la escala temporal que te hace trisas los ojos cuando tienes muchas capas.

Para resumir cosas, voy a ponerlas en una lista así serán más fáciles de leer.

  • El concepto de karma debería ser más visible al usuario propio para animarlo más.
  • Yo unificaría los mensajes de la misma hora verticalmente sobre la franja, aunque tocara que hacer desplazamiento vertical. Es decir, ahora escribes un mensaje y el avatar del usuario se localiza en el minuto de envío, si en lugar de ellos se ponen de manera vertical colocando los más nuevos arriba sobre la misma franja, se leería mejor.
  • Para llegar a mis mensajes Plurk, me costó luego de haber salido a otro contexto. Han dejado un enlace a My Profile que pensé que era para configurar mi perfil y resulta que es el de mis mensajes Plurk. Yo le pondría otro nombre, algo como “My Plurks”.
  • No encuentro un botón para ver los mensajes plurk

 

Del modelo de lectura comparado con el de twitter, a mi modo de ver es más sencillo twitter para el día a día, por eso el punto de como organizaría los mensajes me parece importante. además, como tenga 10 mensajes en el día espaciados en en fracciones de 2 horas ya no los voy a poder leer de un tirón como si puedo hacerlo en twitter. Seguiré jugando con él a ver que puedo descubrir.

 

Conclusión

Como conclusión al nombre del post, efectivamente es una especie de twitter con cosas novedosas (mejorado). Pero que como todo, se puede a su vez mejorar.

Emprendedores 2008, Madrid

Ayer 4 de Junio de 2008 he asistido al evento emprendedores, Junio 2008 organizado por suspice.net que tenia como invitados especiales a Julio Alonso (Weblogs SL) y a los jóvenes emprendedores de eyeOS. Ambas presentaciones fueron muy ilustrativas sobre como llevaron a cabo su paso por el mundo de las aplicaciones web2.0.

eyeOS para los que no sepan es un sistema operativo web, es decir, una aplicación que recrea un sistema operativo virtual donde puede desplegar un conjunto de aplicaciones que permiten leer ficheros almacenados en el servidor, escuchar música o ver vídeos entre otras cosas. Su modelo de negocio actual estriba en el soporte técnico de su producto.

eyeOS es un paquete que puede ser descargado e instalado en un servidor propio por ejemplo para una intranet de una empresa, escuela o cualquier otra organización. El equipo de eyeOS ofrece servicios de soporte por email o teléfono y además servicios de personalización y configuración.

Weblogs SL por su parte es una empresa que centra su modelo de negocio en el mundo de la publicidad online. Actualmente cuenta con 31 blogs de diferentes temáticas y cuenta con una base bastante grande de editores de blogs apostando por un modelo de empresa distribuida. Julio presento algunas gráficas donde se ve la tendencia cada día más fuerte de las empresas por invertir en servicios de publicidad online.

Luego de las presentaciones estuvimos tomando unas cañas donde intercambiamos algunas conversaciones con los presentadores de las charlas y otros participantes. Todos con muy buenas ideas y consejos para emprendedores. Entre ellos, escuché que un libro que hay que leer el libro negro del emprendedor de Fernando Trías de Bes  estructurado en 14 Factores Claves de Fracaso (FCF). Yo particular y anónimamente agradezco los consejos recibidos por gente que ya lleva muchos años en el tema, espero poder encontrarme algún día con estas personas en otro evento para seguir aprendiendo.

De ambas presentaciones podría extraer unas ideas:

  • Hay que ser persistentes en una idea, seguro que encontraremos miles de tropiezos en el camino. Y perder el miedo al riesgo. 
  • Es importante buscar un nicho de mercado, un servicio que no haya sido inventado, o donde no haya mucha competencia. Si el modelo de negocios es basado en marketing, es importante que este nicho tenga un target de marketing atractivo como para hacer una inversión en su desarrollo (tipo blogs temáticos).
  • La edad es un capital humano en si mismo, por ello un proyecto emprendedor iniciado por un chaval tiene en si mismo un capital y potencial bastante alto.
  • Si no tienes un producto el marketing es la salida, con lo cual debes invertir muchos recursos en la captación de visitas de usuarios.
  • Si tienes un producto, puedes aplicar por diferentes modelos de comercialización, desde los modelos opensource y venta de servicios de asistencia r, a modelos basados en licencias privadas o venta de servicios online de un producto que no sea liberado.
  • El marketing online debe respetar los lectores y deben ser poco intrusivos. Además los contenidos deben ser de relevancia y con una frecuencia de actualización de entre 5 o 6 post diarios. De esta forma podemos conseguir más seguidores rápidamente.
  • Cada vez que puedas, participa en reuniones de emprendedores, ahí se aprende de experiencias de viva voz y te das a conocer.
  • Hay que perder el miedo a hablar y llevar siempre un tarjetas de presentación.

Estaré atento al próximo evento para seguir aprendiendo de este mundo de emprendedores y arrancar muy pronto.

22 de Abril, Día de la tierra

Hoy el buscador google tiene la imagen que se muestra a continuación. Y es que hoy 22 de abril se celebra el día de la tierra y esta imagen transmite un sentimiento especial para aquellos que no hemos sido criados en medio de un mundo de ladrillo y que actualmente evocamos aquellos días en los que disfrutábamos del aire puro, el olor a monte, el rocío de la mañana, el canto de los pájaros y el dulce sonido de un arroyo que cae de la montaña.

 

image El día de la tierra fue promovido por el senador norteamericano Gaylord Nelson y se instauró para crear una conciencia de los problemas de contaminación, la conservación de la biodiversidad y otras preocupaciones como la que actualmente nos mantiene en vilo, el calentamiento global. Día de la Tierra, celebrado internacionalmente por primera vez el 22 de abril de 1970.

 

image Hoy debería ser un día de reflexión, de introspección acerca de que hacemos nosotros por este mundo que nos rodea, cual es nuestro aporte, de que forma podemos colaborar para evitarle a este sitio donde vivimos más sufrimientos. Con un poco de ayuda de cada uno de nosotros estaremos dando un poco a este mundo que nos da todo. Ahorremos agua y energía, debemos reciclar, desperdiciar menos los alimentos, no contaminar, en fin, son muchas las cosas que podemos hacer por nuestra bella tierra.

imageAprovecho esta fecha tan especial para felicitar a mi hermano Aristófeles pues hoy es su día, cumple años en una fecha doblemente memorable. Desde la distancia un gran abrazo y mil felicitaciones. Que Dios lo acompañe hoy y siempre.

Felicidades de parte de Paula, Mara, Mauricio y Leon. Que pases un buen día, que te den muchos regalos, el mío queda pendiente para variar.

Personalizar palabras claves en poedit

imagePoedit es un editor de ficheros .po utilizados por el framework GNU gettext de soporte multilenguaje. Este editor permite modificar las traducciones y generar los ficheros .mo (Machine Object) utilizados por el framework para mostrar los textos.

Este editor soporta la utilización de varios lenguajes (PHP, C, C++, Java, Perl, TCL, Delphi y Pyton). Poedit es capaz de “parsear” el código fuente y generar los ficheros po (Portable Objects). Por defecto, para PHP las palabras claves que busca para extraer el diccionario es -k__. Si queremos añadir otras, como es el caso de wordpress que tiene _e, se añaden estas en las preferencias como se muestra en la figura.

En el caso de esta figura, se han añadido -k_e, -k_w en la caja de texto “Lista de palabras claves”. Esto quiere decir que en nuestro código podríamos usar llamadas a:

__(“texto a traducir”), _e(“texto a traducir”) y _w(“texto a traducir”). Todos los sitios en nuestro código que tenga alguna de estas funciones hará que el poedit extraiga el primer parámetro de la función y lo tome como una palabra de nuestro diccionario.

Formularios en Google SpreadSheets

Google ha añadido una nueva característica a sus hojas de cálculo que permite introducir datos mediante formularios. Esta utilidad está diseñada para recolectar datos y está disponible mediante la herramienta de compartir documentos.

Esto es muy util cuando queremos recolectar datos en un formato específico y con unos tipos de contenido predeterminado y sobretodo, cuando deben ser tomados los datos a muchos usuarios. Añadiendo un formulario a una hoja de cálculo las personas que colaboran en el documento. Los usuarios introducen los datos mediante el formulario y no acceden directamente a la hoja de excel y lo mejor aún, estos no necesitan ser usuarios de google docs.

Los pasos son sencillos:

  1. Entre a google docs
  2. Cree una hoja de cálculo. (Coloque los nombres de los encabezados en cada columna que desea capturar datos)
  3. Seleccione la opción Share
  4. En las opciones de "Invite People" seleccione
  5. Seleccione la opción de "Start Editing your Form" para personalizar el formulario creado y/o añadir nuevos campos. (Ver figura 1). En este ejemplo, la hoja inicial tenia los encabezados Nombre, dirección, teléfono, email y sexo en cada columna.
  6. Escriba el título del formulario y/o Añada mas preguntas si desea haciendo click en la opción " + Add a question" (Ver figura 2.)
  7. Modifique las preguntas si lo desea. Pase el cursor por el campo a editar y seleccione la opción "edit". Le aparecerá un sub formulario como el mostrado en la (Ver figura 2.) En este formulario puede cambiar el título del campo, añadir un texto de ayuda, escoger el tipo de pregunta (texto, párrafo, escogencia múltiple, caja de chequeo o lista de selección).
  8. Configure los destinatarios haciendo click en el botón "Next choose recipients". (Ver Figura 3).
  9. Por último, haga click en la opción "Invite People" para enviar las invitación.
Figura 1
google_docs_share

Opción de compartir la hoja de cálculo.

Figura 2
google_docs_share_form

Edición del formulario. Seleccione el tipo de pregunta, y añada un texto descriptivo.

Figura 3
google_docs_share_enviar_invitacion

Selección de destinatarios. A la derecha ves la url del formulario y una vista de como se visualizará. Puede copiar la url y enviarla usted personalmente por correo, messenger u otros.

Figura 4
google_docs_hoja_rellena

Esta figura muestra como se ven los datos una vez rellenados por los usuarios. Los cuadros en negro se han colocado por cuestiones de privacidad.

Espero que esto les haya servido para explotar esta herramienta que podemos utilizar para realizar encuestas rápidas y tenerlos de manera fácil para procesar en una hoja de cálculo. Gracias google .

Widgets

Un widget es conocido en otros entornos como Gadgets, Gizmos o Wizbangs y permite personalizar un blog basado en wordpress sin tener ningún conocimiento de html y usando mecanismos de drag and drop.

Este mismo concepto es usado en muchos otros entornos para referise a trozos de software que implementan funcionalidades frecuentemente y que ofrecen información visual. En Wikipedia hay un artículo donde se puede conocer más de este tema, yo referencio el primer párrafo.

”En informática, un widget es una pequeña aplicación o programa, usualmente presentado en archivos o ficheros pequeños que son ejecutados por un motor de widgets o Widget Engine. Entre sus objetivos están los de dar fácil acceso a funciones frecuentemente usadas y proveer de información visual. Sin embargo los widgets pueden hacer todo lo que la imaginación desee e interactuar con servicios e información distribuida en Internet; pueden ser vistosos relojes en pantalla, notas, calculadoras, calendarios, agendas, juegos, ventanas con información del clima en su ciudad, etcétera.”

Los widget en general pueden ser programados en diferentes lenguajes, en particular para internet se pueden programar en javascript, como componentes basados en flash u otros.

Aplicaciones como meebo, adSense u otros ofrecen trozos de código que permiten desplegar contenido. Portales como widgetbox se pueden descargar cientos de widget para utilizar en las páginas web, wikies, blogs, etc. Y los nuevos “Desktop” virtuales o “págians personalizadas” como iGoogle se basan en el uso de widget que permiten al usuario configurar lo que quiere ver en su página personal y como lo quiere ver. O los widget para los servicios de mensajería como yahoo o msn live que permiten agregar funcionalidades de terceros a estas aplicaciones.

El siguiente código es un ejemplo de widget de meebo

<!-- Beginning of meebo me widget code.
Want to talk with visitors on your page?
Go to http://www.meebome.com/ and get your widget! -->
<embed src="http://widget.meebo.com/mm.swf?luSGZzLDaL" type="application/x-shockwave-flash" wmode="transparent" width="160" height="250"></embed>

El siguiente es un ejemplo de código de un widget de un reloj:

<script src="http://www.clock-desktop.com/js/embed.js"></script>
<script type="text/javascript" language="JavaScript">obj=new Object;
obj.clockfile="http://www.clock-desktop.com/js-clock/cowboy.7art";
obj.width=152;obj.height=112;obj.wmode="transparent";showClock(obj);</script>

Con solo copiar este código dentro de nuestra página web, o incorporandolo dentro de la semántica de un wiki (Ej en dokiwiki, se coloca dentro de las etiquetas <html>codigo widget</html>) , o dentro de un sidebar de un blog.

En algunos casos, y dependiendo del tipo de widget, un widget puede causar retardos en la carga de una página.