Metodología

En IGNO, ponemos especial atención en el uso de metodologías y procesos, con el fin de crear soluciones para nuestros clientes que satisfagan sus necesidades de negocio. Utilizando metodologias agiles, una variante de Scrum adecuada a nuestra empresa, que cubre todos los aspectos en el desarrollo de una solución exitosa...

En IGNO, ponemos especial atención en el uso de metodologías y procesos, con el fin de crear soluciones para nuestros clientes que satisfagan sus necesidades de negocio. Utilizando metodologias agiles, una variante de Scrum adecuada a nuestra empresa, que cubre todos los aspectos en el desarrollo de una solución exitosa.

 

La aplicación de una metodología ágil permite la entrega más eficiente de un producto a un cliente. Las características y ventajas principales son:

  • Satisfacer al cliente a través de la entrega temprana y continua de software valioso.
  • Acogiendo con satisfacción las nuevas necesidades, incluso a finales de desarrollo. Los procesos de cambio para aprovechar la ventaja competitiva del cliente.
  • El proceso se adapta a cada proyecto para satisfacer las necesidades específicas del cliente.

La clave es la flexibilidad. En Igno, reconocemos que la solución sólo puede ser una visión en la mente de los clientes y que todos los requisitos no siempre puede ser pensado y planificado desde el principio. El proceso, por lo tanto, requiere una interacción constante entre nuestros expertos y el cliente, para proporcionar información de ambas partes acerca del avance del proyecto.

Para ello, el papel del dueño del producto es muy importante. El propietario del producto es la persona que proporciona los requisitos para el equipo y, finalmente, acepta el producto entregado. Es necesario que el propietario del producto esté disponible para el equipo, para permitir una comunicación fluida.

Las principales fases de un proyecto son:

  • Planificación
  • Proyecto de Desarrollo incremental
  • Implementación
  • Cierre del proyecto

La etapa de desarrollo incremental está organizada en sprints (o iteraciones) consecutivos o las repeticiones en las diferentes tareas se llevan a cabo para poner en práctica una serie de requisitos.

Planificación del Proyectos

La planificación incluye la captura de requerimientos y comprender plenamente la expectativa del cliente. Se crea un Backlog (la lista de requisitos del producto). La visión técnica está documentada y una arquitectura de sistema de alto nivel y el diseño están establecidas.

 

Los criterios para los proyectos siguientes se establecen en esta etapa:

  • Lista de las historias de usuario: las conversaciones entre el equipo del proyecto y el cliente para definir las funcionalidades y las prioridades.
  • Programa de lanzamiento: estimación de la oportunidad para lanzar un producto.

Proyecto de desarrollo incremental

Realizamos la gestión y control de software y desarrollo de productos utilizando una metodologia iterativa e incremental.

Este proceso aumenta considerablemente la productividad y reduce el tiempo.

Proporciona un mecanismo de control para la planificación de lanzamiento de un producto y luego variables de gestión, tal como avanza el proyecto.

El desarrollo se planifica y ejecuta en ciclos cortos llamados Sprints o iteraciones.

 

Creación del sprint backlog (lista de tareas a relizar durante el sprint)

El trabajo se organiza mediante una lista de requisitos o de las historias de usuario. La lista está priorizada por el propietario del producto de acuerdo a las necesidades del negocio. El objetivo es entregar primero lo que es el más valioso para el cliente, para obtener el mejor retorno de la inversión.

 

Sprints (iteraciones)

El producto avanza en una serie de ciclos cortos, por lo general va de 2 a 4 semanas.

Al comienzo de cada Sprint, una sesión de planificación breve tendrá lugar en el que se seleccionan los elementos del backlog para el sprint.

El scrum diario es facilitado por un Scrum Master, cuyo trabajo principal es eliminar los obstáculos que impiden el progreso del equipo en la entrega de la meta sprint. El scrum master no es necesariamente el líder del equipo, ya que son auto-organización, sino que actúa como un amortiguador de la productividad entre el equipo y cualquier influencia desestabilizadora.

 

Revisión

Al final de un sprint, el equipo demuestra el trabajo al el propietario del producto y las partes interesadas. Feedback se reúne para hacer las mejoras necesarias al producto y el proceso.

 

Retrospectivo

Una reunión de breves lecciones aprendidas se lleva a cabo, en la que todos los miembros del equipo genera el plan de acciones a corto plazo para obtener mejores resultados.

 

Comunicado de iteración

Un ciclo de versión incluye muchas iteraciones (generalmente 4 a 6). Para cada liberación en un medio de producción de una iteración más está previsto hacer pruebas exhaustivas, la corrección de errores y puesta a punto final. Durante la iteración de liberación, no se desarrollan nuevas características.

 

Trabajos de equipos distribuidos

Utilizamos herramientas de colaboración para agilizar el trabajo.

Los equipos ágiles son típicamente de 5 a 10 miembros. Los proyectos que requieren grandes equipos se organizan con muchos equipos pequeños.

 

Algunas de las herramientas que se utilizan para hacer posible esta integración son:

  • Intercambio de información: Wiki
  • Control de versiones: GIT, SVN, CVS
  • Gestión de proyectos: Xplanner, Basecamp, otros
  • Seguimiento de tareas: Basecamp, Team Lab

Procesos de Apoyo. Durante la ejecución del proyecto, las diferentes actividades de apoyo se llevan a cabo:

 

Gestión de proyectos:

monitorear el estado de los proyectos, reuniones de estado, recopilar y analizar las métricas. Realizar reuniones diarias de scrum con todos los miembros del equipo como se describe en el proceso de scrum. Gestionar los cambios de alcance. Realizar la gestión de riesgos.

 

Gestión de configuración:

crear y mantener repositorios de código y los entornos de configuración, generar y controlar las emisiones a través de sistemas de integración continua.

 

Garantía de calidad:

auditorías de proceso y producto para verificar el cumplimiento de los procesos. Informe y completar un seguimiento de las no conformidades. Realizamos procesos y aseguramiento de la calidad del producto durante todo el proyecto, para asegurar que las mejores prácticas que se utilizan y para garantizar una entrega de alta calidad en cada etapa.

 

Formación de la organización:

Coordinar las actividades de entrenamiento y capacitación con los miembros del equipo para asegurar que cada miembro del equipo tiene la destreza necesaria para realizar las tareas asignadas a ellos.