BBVA GlobalNet | ¡Blog oficial!

Durante el último periodo hemos querido implantar Scrum como método ágil de trabajo.

Jorge nos explicó en un post anterior qué era Scrum, pero, ¿cómo lo hemos llevado a cabo y cuál ha sido nuestra opinión al respecto?

Llevaba tiempo oyendo hablar de Scrum, pero no sabía si era una técnica, una plantilla de trabajo de referencia, un software de gestión… y así llegue a la primera reunión de planificación para el proyecto de diseño y desarrollo de nuestra página web.

Lo primero que aprendí es que Scrum es una forma de trabajar aplicable a casi cualquier tipo de proyecto. Y que se basa en la entrega de tareas con tiempos cortos preestablecidos (sprints).

Nosotros comenzamos con una primera reunión donde analizamos y planificamos el proyecto dividiéndolo en 2 sprints de 2 semanas cada uno. Fijamos todas las tareas y las clasificamos por tipo, por rol y por tiempo. Es decir, de todas las tareas, clasificábamos las que haríamos en el primer sprint, cuáles de ellas eran de desarrollo y cuáles de diseño, y dentro de estos dos grupos, los integrantes de cada uno, nos repartíamos las tareas. Esta clasificación y el desarrollo en general del proyecto se realizaban con la intervención de todos, aunque fuimos guiados por Jorge, nuestro Scrum Master.

Ya sabíamos qué tareas eran para ese primer Sprint. Después, pasábamos a seleccionar aquellas para cada día y al día siguiente por la mañana hacíamos una reunión de 15 minutos para ver cuáles se habían cumplido, cuáles no y por qué, y qué tareas seleccionábamos para el día siguiente.

Organización de tareasUna de las cosas que más me ha gustado de esta forma de trabajo es el control que se tiene sobre el desarrollo del proyecto. Se ve en todo momento el progreso y motiva mucho ver pasar los post-it’s de las tareas “Por realizar” a la columna de “Realizados”. Saber que el trabajo es en equipo y que no estás sólo en el desarrollo de una tarea también ha sido muy positivo.

Por otro lado, algo que me ralentizaba el trabajo al principio, era precisamente la coordinación del trabajo con el resto del grupo. Antes de trabajar con scrum, estaba acostumbrada a dividirme las tareas por prioridad y dentro de esto, por tiempo que me ocuparían. En Scrum no importa cómo trabajes más rápido sino el avance del trabajo del grupo. Por lo que mis tareas iban en función de lo que Diseño y Desarrollo necesitaban. Si esta organización al inicio me parecía torpe, más tarde fue una de las cosas que más me ha gustado de Scrum. Por que se avanza en distintas líneas de trabajo a la vez y con un objetivo visible y marcado.

A modo de valoración personal considero que nuestro progreso fue muy ágil y según nuestras expectativas. Era la primera vez que trabajábamos de esta forma y llegamos casi exactamente a todas las tareas fijadas para todos los sprints. Además la organización y la relación del equipo han sido muy buenas.

Si tengo que aprender de algo para mejorar en siguientes proyectos con Scrum pondría en primera línea y a modo personal, mi propia organización de los tiempos, ya que un mal cálculo de ello implica al resto del grupo.

Desde el punto de vista de grupo, pienso que sobre todo deberíamos cuidar la parte final del proyecto, ya que es donde más prisa y más tensión hay, los detalles se olvidan un poco y la priorización de tareas pasó a segundo plano.

Me parece que es una metodología que efectivamente agiliza la ejecución del proyecto y que da seguridad tanto a los que estábamos en el proyecto como a la persona que iba a valorar nuestro trabajo (Product Owner). Lo veo muy recomendable y pienso que será bueno si lo llevamos a cabo en muchos más proyectos.

Podéis contarnos cuál es vuestra opinión sobre Scrum y si lo aplicáis en vuestro trabajo.

WordPressTwitterBlogger PostShare

·

nov/11

11

Scrum orgánico

Durante los días 17 y 18 de octubre, 7 miembros del departamento de Desarrollo de BBVA GlobalNet asistimos a un curso de certificación en Scrum Master impartido por los Scrum Trainers Alan Cyment y Ariel Ber.

Todos los miembros asistentes, con conocimiento previo de Scrum, queremos comenzar a implantar estas técnicas de trabajo de forma orgánica en BBVA GlobalNet. Para ello, y tras solicitar consejo a Alan y Ariel, vamos a ir incorporando diversas técnicas a todas las áreas de trabajo de la corporación de forma progresiva, con la intención de que sean los diferentes grupos humanos los que finalmente decidan si las acogen o no. Como primer paso para nuestro objetivo, nuestra intención es informar a todo el equipo, cuales son los cimientos sobre los que se basa Scrum.

 

¿Qué es Scrum?

Scrum es un marco o framework de trabajo, esto es, un conjunto de técnicas y herramientas que nos va a permitir ayudar al cliente en su visión de negocio.

Como todo marco de trabajo, el objetivo es utilizarlo para llevar a cabo un resultado, por tanto, es un medio y no un fin. Tampoco nos va a decir qué es lo que debemos hacer o qué debemos utilizar, sino que nos va a dar las pautas y seremos responsables de ver qué es lo que necesitamos en cada momento para llegar al resultado, para aportar valor al cliente.

Scrum no es tener tarjetas, usar Jira o Excel; Scrum no es tener XP o TDD; Scrum no es tener integración contínua. Scrum es utilizar lo necesario para conseguir la satisfacción del cliente a través de entregas tempranas y contínuas de software valioso.

 

Scrum se basa en el manifiesto ágil cuyos valores son: 

  • Valorar más a los individuos y su interacción que a los procesos y las herramientas.
  • Valorar más el software que funciona que la documentación exhaustiva.
  • Valorar más la colaboración con el cliente que la negociación contractual.
  • Valorar más la respuesta al cambio que el seguimiento de un plan.

 

¿Qué roles existen en Scrum? 

Un proyecto desarrollado bajo el marco de trabajo Scrum va a tener una o varias personas interesadas (stakeholders) en que la empresa llegue a su fin. Estas personas hacen llegar sus necesidades de forma más o menos frecuente a un encargado del producto (product owner), quien conoce de primera mano cuales son los requisitos del proyecto en cada momento.

Mediante reuniones periódicas, el propietario del producto se reune con el equipo de trabajo para conocer el estado de los requisitos funcionales del proyecto, y aceptarlos o no, y dar prioridad a los requisitos que quedan por desarrollar.

 Por su parte, el Scrum Master acompaña en sus diferentes reuniones (diaria, de retrospectiva y de planificación de sprint) al equipo, para tratar de guiar al equipo en el uso de las técnicas de Scrum y servir de apoyo constante.

 

¿Qué aporta Scrum? 

Scrum ayuda mediante el cambio de paradigma a que el rendimiento sea más efectivo, trabando en conjunto y permitiendo exponer de forma clara cualquier problema que se ponga en su camino para que el equipo se pueda inspeccionar y adaptar en consecuencia.

El funcionamiento de Scrum es sencillo: tras cada salto (ciclo de desarrollo), el equipo realiza un ejercicio de inspección interna para adaptarse antes de volver a saltar.

El uso de Scrum es un medio que proporciona a BBVA GlobalNet beneficios en cuanto a calidad y competitividad:

  • Productos potencialmente entregables en un corto período de tiempo, y de forma continuada en el tiempo. Esto conlleva ciertas ventajas, como gestión de las expectativas del cliente, adaptabilidad a cambios del cliente o mercado, gestión del retorno de inversión (ROI) y mitigación de los riesgos gracias a la identificación sistemáticas de inconvenientes del proceso (filosofía LEAN).
  • Productividad y calidad del software entregado al poner el foco en el desarrollo continuo de la aplicación.
  • Alineamiento entre el cliente y  el equipo de desarrollo, lo cual provoca confianza.
  • Moral y responsabilida del equipo, gracias a la motivación, colaboración y cooperación.

¿Cómo vamos a implantar? 

En primer lugar, los responsables tienen claro que queremos comenzar con la implantación, con determinación y compromiso para la constante mejora, pues el comienzo puede ser doloroso.

Como primera medida, es muy importante introducir Scrum, sus fundamentos y valores, a todos los miembros de la compañía. Para ello, a través del blog y cursos de formación, todos podremos conocer los roles, artefactos, cómo se crea y estima un backlog, cómo se transforma en un sprintlog, cómo se gestiona un gráfico de burndown y se calcula la velocidad del equipo, etc. En definitiva, los equipos de trabajo deben conocer herramientas y forma de trabajo.

Para realizar Scrum de forma orgánica, queremos realizarlo poco a poco, mejorando día a día. Una buena forma de comenzar es por las reuniones retrospectivas. A partir de aquí, se irá realizando un proceso de mejorar, mejorar y mejorar, compartiendo experiencias, aprendiendo unos de otros y teniendo en cuenta que nunca existirá una lista de "las mejores prácticas en Scrum", ya que el contexto en importante.

WordPressTwitterBlogger PostShare

No tags

sep/11

19

Nagios + Centreon (Parte 2)

En un post anterior hablamos de los beneficios que ofrecia Centreon, la cual es una herramienta que nos brinda una gestión mas cómoda y amigable  de los ficheros de configuración de Nagios, ya que estos se pueden convertir en un verdadero problema de mantener cuando trabajamos en entornos de gran tamaño

Por lo que en esta entrega, mostraremos un breve tutorial sobre como instalar nagios y sus plugins, los que, a su vez nos servirán de base para nuestra instalación de Centreon que se detallara en una entrega posterior (más…)

WordPressTwitterBlogger PostShare

· · ·

Tal y como comentábamos en el post anterior, estoy encantado con este nuevo editor para WordPress, sin embargo, me he encontrado que el “Check Spelling” no viene configurado por defecto. Así que me decidí a escribir esta segunda entrada sobre los pasos necesarios para configurarlo en un entorno Linux, ya que para entornos Windows esta opción que viene configurada.

(más…)

WordPressTwitterBlogger PostShare

· ·

sep/11

5

Alternativa a editor WordPress

Después de haber dejado el tema abandonado por un tiempo, decidí realizar una nueva búsqueda con el de encontrar un editor con el que poder reemplazar el viene instalado por defecto en WordPress que, en mi opinión personal, dificulta mucho la edición de post. Tras mucho investigar encontré la solución: “FCKeditor”. Este editor gratuito puede ser instalado fácilmente como un plugin adicional del WordPress, ofreciendo un comportamiento más sencillo y similar al editor de un procesador de textos como pueden ser OppenOffice Writer, Microsoft Word,…

(más…)

WordPressTwitterBlogger PostShare

· ·

abr/11

19

Bolsa de empleo

¡Animate a formar parte de nuestro equipo!

Actualmente tenemos dos ofertas de empleo. Puedes verlas a través del siguiente enlace: http://www.bbvaglobalnet.com/bolsa-de-empleo/

WordPressTwitterBlogger PostShare

· · ·

abr/11

15

AppCircus Madrid

Ayer día 14 de abril de 2011 se celebró en el Centro de Innovación del BBVA, organizado por ReadWriteWeb.es, el primer AppCircus en Madrid, uno de los eventos de movilidad más relevantes a nivel mundial y no nos lo podíamos perder!

(más…)

WordPressTwitterBlogger PostShare

· · · · · ·

feb/11

2

Formación: Web2py, Mercurial y GAE

Compartir y extender el conocimiento debe ser una de las actividades más importantes de cualquier empresa. De esta forma no sólo se mejora la comunicación interna sino que nos ayuda a tener en cuenta soluciones que se han llevado a cabo en proyectos de éxito en los que no hemos estado involucrados, con el único fin de tener mas capacidad de desarrollo y una visión más amplia para afrontar nuevos retos.

Es por este motivo, que en BBVA GlobalNet, hemos iniciado unas jornadas de formación interna en la que distintos departamentos dan formación al resto sobre temas que para unos es “el pan de cada día” y para el resto un mundo sin explorar. El pasado 20 de enero comenzó el departamento financiero con un curso sobre “Indicadores de gestión”. El próximo curso, correrá a cargo del departamento de sistemas, que nos hablará sobre el desarrollo y el diseño de arquitecturas con:

1- Web2py
2- Mercurial
3- GAE

Y que han sido aplicadas en proyectos tan importantes como el Ministerio de Cultura (Museo del Prado), Ministerio de Industria (Red.es).

Ya os contaremos más… de momento podéis ver un pequeño tráiler… VER VÍDEO

Música del trailer: The Place That Won’t Take Me Back by I Am Not Lefthanded
Licencia: http://creativecommons.org/licenses/by-sa/3.0/

WordPressTwitterBlogger PostShare

· · · ·

ene/11

30

Problemas de encoding

A veces para afrontar un problema no tenemos mas remedio que cambiar el punto de vista. Como muestra, un caso real:

Queremos generar un fichero de salida tipo csv, en texto plano, mediante un proceso batch que utiliza una clase java. El encoding de dicho fichero debe ser ISO 8859-15, similar al ISO-8859-1 (también conocido como LATIN1) pero incluyendo, entre otros, el símbolo del euro.

En la fase de pruebas comprobamos que el fichero se genera incorrectamente. Al abrirlo en Windows con Notepad este muestra texto chino, codificado en UTF-8. Lo mismo ocurre al abrirlo con gedit en GNU/Linux.

Inicialmente las pesquisas para encontrar el origen del problema se centran en el encoding del texto: se comprueba la codificación pasada al PrintWriter encargado de escribir el fichero, la codificación de la base de datos de la que se obtienen los datos a escribir. En definitiva se chequea todo el código relacionado sin encontrar ningún error que pueda explicar la codificación incorrecta. Por ello decidimos pasar de examinar el código fuente a examinar el resultado de su ejecución, esto es, el propio csv. Utilizando un editor hexadecimal revisamos los bytes que lo componen en busca de secuencias erróneas, comprobando en particular la validez de la codificación los caracteres no ASCII. No encontramos nada raro.

El siguiente paso es comprobar posibles caracteres de control, y aquí si obtenemos resultados: ocurrencias de bytes a 0, que se corresponden con el carácter NULL y que no deberían aparecer en nuestro fichero. En efecto, sustituyendo cada byte 0 por otro byte correspondiente a un carácter ASCII (p.e. 20h, espacio) conseguimos que el csv se abra correctamente.

Ahora sabemos lo que causa el problema, pero no donde se origina en el código fuente. Nuestro principal sospechoso es algún String inicializado a null, sin embargo la documentación del API del PrintWriter dice que el método print(String s)

“Prints a string. If the argument is null then the string “null” is printed”

Por lo cual tenemos que descartar las cadenas como origen del problema. Nuestro siguiente candidato es un char sin inicializar, y efectivamente es el caso.

Si intentamos escribir un char sin inicializar declarado localmente al método que realiza la escritura recibimos un error en tiempo de compilación: variable carácter might not have been initialized. Pero en nuestro caso el char en cuestión está definido en otra clase y es accedido mediante un getter, por lo que el compilador no puede realizar la comprobación de inicialización y el .class se genera sin problemas.

La solución es sencilla una vez identificado el culpable y el texto se genera correctamente en ISO 8859-15.

Por curiosidad seguimos analizando un poco mas el tema y vemos que, al realizar distintas pruebas que generan ficheros con distintos contenidos se producen dos casos:

  1. El caso detectado inicialmente (y el mas frecuente): el editor Notepad de Windows lo interpreta como chino, al igual que el editor Gedit en Ubuntu. Mi teoría es que realmente se genera un fichero UTF-8 bien formado, pero el editor no puede identificar unívocamente el charset y utiliza un charset del chino como fallback.
  2. Notepad muestra correctamente el fichero, pintando el byte a 0 como un espacio en blanco (lo interpreta como carácter NULL, \u0000 ). Sin embargo Gedit no reconoce ningún encoding y no abre el fichero, considerándolo binario.

En situaciones como esta posiblemente es mas rápido analizar a bajo nivel el objeto generado que revisar el código que lo genera, que puede ser (como en este caso) bastante complejo.

WordPressTwitterBlogger PostShare

·

ene/11

18

HP anuncia su propio sistema operativo

Resulta realmente interesante el movimiento estratégico que se está produciendo en los fabricantes de portátiles y ordenadores de sobremesa, así como el posible impacto en la industria que va a ocasionar.

Actualmente los fabricantes de ordenadores (HP, Dell, Sony, Toshiba, etc…) producen un producto, donde posteriormente se despliega un sistema operativo u otro (por normal general Microsoft), para el cliente final la diferenciación entre cualquiera de los anteriores es por componentes (mas capacidad o más velocidad) o bien por diseño (delgadez, peso, tamaño de pantalla), han dejado fuera de su cadena de valor el componente SW que se despliega en los citados dispositivos.

En el otro lado tenemos fabricantes  que también gestionan el sistema operativo dentro de su cadena de valor (Apple), donde la parte SW tiene un valor diferencial para el cliente final sobre otros dispositivos.

La integración hacia adelante que acaba de anunciar HP,  anunciando su propio sistema operativo, es un movimiento estratégico clarísimo, incluir la parte SW dentro de su cadena de valor para convertirlo en un factor diferencial, no tardaremos en ver anuncios con las ventajas de este sistema operativo frente a los “genéricos” así como la “HP Store”, en un modelo similar a la recientemente anunciada Apple Store, que tan buenos resultados está dando en la parte móvil.

Ahora tenemos que estar pendientes al movimiento de Microsoft, (si todos los fabricantes actuales hacen lo mismo puede perder una cuota de mercado elevadísima), ¿veremos un movimiento de integración hacia atrás? ¿fabricará Microsoft sus propios dispositivos? Lo dejo como reflexión al lector.

WordPressTwitterBlogger PostShare

No tags

dic/10

16

¡¡Feliz Navidad!!

WordPressTwitterBlogger PostShare

No tags

Older posts >>

Bad Behavior has blocked 36 access attempts in the last 7 days.

Switch to our mobile site