Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

48
ISO 9001:2008 y Agile Nuestra experiencia

Transcript of Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Page 1: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

ISO 9001:2008 y AgileNuestra experiencia

Page 2: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Contenidos

1. Quiénes somos

2. Por qué ISO 9001

3. Qué es ISO 9001

4. Qué es Agile

5. Estrategia

6. Diseño

7. Lecciones aprendidas

Page 3: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

¿Quiénes somos?

Page 4: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Taller Technologies Argentina es una empresa de servicios de desarrollo de software a medida de alta calidad.

Proveemos nuestros servicios a clientes globales en tres principales áreas:

Desarrollo de software embebido y de tiempo real para

sistemas de misión crítica y alta disponibilidad

Desarrollo de software para dispositivos móviles en

plataformas Android y iOS

Desarrollo de aplicaciones y servicios web

¿Quiénes somos?

Page 5: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Hemos obtenido resultados exitosos tanto en exigentes entornos de calidad aplicando rigurosas prácticas de ingeniería, como en negocios de alta volatilidad donde la flexibilidad y la rapidez de entrega es crucial.

Entre nuestros clientes se encuentran: Intel (EE.UU.), Manpower (EE.UU.), INVAP (Argentina), MercadoLibre (Argentina), CONAE (Agencia Espacial Argentina), Kohl's (EE.UU.) y Harley-Davidson (EE.UU.).

Contamos con más de 60 empleados en nuestras oficinas en Córdoba (Argentina).

¿Quiénes somos?¿Quiénes somos?

Page 6: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Utilizamos un modelo de trabajo donde priorizamos:

La transparencia para que el cliente conozca con quien trabaja, cómo se realiza el trabajo y el estado de avance del proyecto

La entrega frecuente del producto funcionando, para obtener feedback de manera rápida, validar ideas y determinar si el curso elegido para el proyecto o producto es el adecuado, basando las decisiones en resultados concretos

La colaboración y comunicación fluida, donde el cliente y nuestros equipos trabajan juntos para lograr el mayor impacto para el negocio.

Tenemos experiencia trabajando con las siguientes tecnologías:

¿Quiénes somos?

Lenguajes C y C++ sobre sistemas operativos Linux,

RTEMS (sistema operativo de tiempo real) y

plataformas X86 y ARM.

Objetive-C para iOS y Java para Android.

J2EE con Spring, Hibernate, y otros frameworks para el

desarrollo de aplicaciones y servicios web.

Page 7: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

¿Por qué ISO?

Page 8: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Cumplir con requerimientos de clientes

Nuevos clientes

Entender y comunicar nuestros procesos

Ley de software

Cultura profesional

Consistencia de las operaciones

Mejora de la eficiencia

Reconocimiento internacional

¿Por qué ISO?

Page 9: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

+ calidadidad Calidad: la totalidad de las características de una entidad

que le confiere la aptitud para satisfacer las necesidades

establecidas e implícitas.

ISO/IEC 8402

¿Por qué ISO?

Page 10: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

¿Qué es ISO?

Page 11: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

¿Qué es ISO?

La norma ISO 9001:2008 es una norma internacional que determina los requisitos, para establecer un sistema de gestión de la calidad de los procesos de una organización.

Establece todos los elementos que debe contar el sistema de gestión, para tener un sistema efectivo que le permita administrar y mejorar la calidad de sus productos o servicios.

Page 12: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Realización de producto

Sistema de Gestión de la Calidad

producto

clientecliente

requerimientos

satisfacción

reclamo

▪ Política de calidad

▪ Objetivos de calidad

▪ Plan

▪ Medición▪ Mejora continua

Recursos

Compras

▪ Revisión

▪ Infraestructura▪ Entrenamiento▪ Espacio de trabajo

Page 13: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Sistema de Gestión de la Calidad

requerimientos

Realización de producto

Requerimientos Diseño Desarrollo Provisión

Plan

V&V

▪ Mejora continua▪ Medición▪ Registros

AUDITORÍA

Page 14: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Sistema de Gestión de la Calidad

Recursos

Compras

▪ Revisión

▪ Infraestructura▪ Entrenamiento▪ Espacio de trabajo

Se establecen las características de conformidad de producto y de procesos y se actúa para resolver las no conformidades (acciones correctivas) .

Se realizan acciones preventivas para evitar problemas potenciales de no conformidad.

Realización de producto

requerimientos

AUDITORÍA

Page 15: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

AUDITORÍA

Sistema de Gestión de la Calidad

Revisión de gerentes. Se evalúa la calidad de los procesos y productos, el cumplimiento de los objetivos, la satisfacción de los clientes, los resultados de las auditorías, la mejora continua, los reclamos; todo ello a través del análisis de las métricas de proceso y de producto.

Proceso B

Proceso

requerimientos

Proceso A

Proceso B1 Proceso B2Acción preventiva

Acción correctiva

Productono conforme

Procesono conforme

Subproceso

Acción correctiva

Page 16: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

¿Qué es Agile?

Page 17: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Requerimientos

TRADICIONAL ÁGIL

BASADO EN EL VALOR AGREGADOBASADO EN

EL PLAN

Recursos CalendarioFIJO

FuncionalidadRecursosESTIMADO Calendario

Agile es, fundamentalmente, un cambio de paradigma. En el paradigma tradicional se determinan de manera exhaustiva los requerimientos del cliente al inicio del proyecto. Luego, de acuerdo al tamaño de esos requerimientos y en base a un plan, se estima el esfuerzo necesario y el calendario para el proyecto. Son muy conocidos los problemas de los proyectos al hacer mal las estimaciones.

El paradigma ágil propone invertir el paradigma: se establece un equipo de proyecto y se fija la duración de los ciclos de trabajo, estimando qué funcionalidad es posible entregar, basado en el valor agregado que la misma le da al cliente.

¿Qué es Agile?

Page 18: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Manifiesto por el desarrollo Ágil de software

Estamos descubriendo formas mejores de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros.

A través de este trabajo hemos aprendido a valorar...

Manifiesto

http://agilemanifesto.org/

Page 19: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Individuos e interaccionessobre procesos y herramientas

http://agilemanifesto.org/

Manifiesto

Page 20: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Software funcionandosobre documentación extensiva

http://agilemanifesto.org/

Manifiesto

Page 21: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Colaboración con el clientesobre negociación contractual

http://agilemanifesto.org/

Manifiesto

Page 22: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Respuesta ante el cambiosobre seguir un plan

http://agilemanifesto.org/

Manifiesto

Page 23: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Cambios de requerimientos son bienvenidos

Entregas rápidas

Feedback del cliente todo el tiempo

Software funcionando pronto

Testing temprano

Manifiesto

Page 24: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Estrategias

Page 25: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Estrategias

De abajo hacia arriba:

Los procesos muestran lo que se hace

Aprovechar lo que tenemos

Primera versión para probar

Nos propusimos diseñar el sistema de gestión de abajo hacia arriba, aprovechando los procesos que estaban funcionando.

Los procesos principales surgieron de analizar lo que se estaba haciendo.

También nos propusimos diseñar una versión sencilla de los procesos y comenzar a usarlos -y a revisarlos- lo más pronto posible. Incluso, sin esperar a que estén definidos todos los procesos.

Uno de los primeros procesos fue el de Reclutamiento.

Page 26: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Evitar recetas:

Uno de los problemas más usuales que tiene la implementación de un sistema de gestión de la calidad, es el de usar recetas pre establecidas.

Si un diseño fue exitoso en una empresa, se trata de copiar los procesos porque ya tuvieron “éxito” en la certificación.

Se tomó la decisión de diseñar el proceso para mejorar lo que se estaba haciendo y si bien se usaron recomendaciones, no se copiaron implementaciones en “paquete”.

Estrategias

Page 27: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

E1

p1

p2

p3

E2

p1

p2

p3

Evitar errores comunes

Las empresas no son todas iguales

Los proyectos no son todos iguales

Además de evitar copiar lo mismo que usa otra empresa, hicimos énfasis en poder diseñar un proceso de “realización de producto” que fuese lo suficientemente flexible, para que se pueda usar en la mayoría de los casos.

Otro error común que se comete es el de usar un único, y generalmente inflexible, proceso para todos los proyectos, independientemente de su tamaño, tipo y complejidad.

Estrategias

Page 28: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Estrategias

Simplicidad:

Los procesos se diseñaron de manera que sean lo más simples posible.

El concepto fue: hacer una primera versión rápida y hacerla evolucionar a través de la mejora continua.

Page 29: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Estrategias

No al paso a paso:

En actividades creativas, innovadoras, que necesitan abstracción, diseño e interacción entre las personas, no es posible prescribir, paso a paso, qué hay que hacer para obtener un producto.

Es un error tradicional en los procesos de desarrollo de software, escribir con mucho detalle, todas las tareas que se deben hacer. Esto, sumado a la idea de la “receta”, suele ser la sentencia del fracaso

Los procesos se escribieron describiendo guías, elementos obligatorios y foco en qué salidas se deberían obtener en cada proceso.

Estrategias

Page 30: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Estrategias

Peer review para auditorías:

Para implementar las auditorías se diseñó un esquema de revisión entre pares, en donde algunos revisores, hacen la revisión con el punto de vista del sistema de gestión, y por ende de la ISO 9001.

Se basa en el concepto de revisión entre pares con distintas perspectivas o puntos de vista.

Los otros participantes revisan con otro punto de vista, por ejemplo: diseño, responsable del procesos, cliente interno de un proceso, etc.

Page 31: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Estrategias

Sin papeles:

En muchas de las soluciones del tipo “paquete” se abusa de los papeles para mostrar evidencia.

Además de mito, es ineficiente, innecesario y anti ecológico.

Page 32: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Estrategias

Mejorar:

Queremos mejorar

Hitos flexibles en función de la mejora real

Revisar pronto

Dado que uno de los objetivos fue el de poder mejorar las operaciones, se hizo un plan de trabajo con hitos flexibles con foco en mostrar mejoras rápidamente y revisar de manera continua.

▪ Plan

Do

Act

Check

Page 33: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Diseño

Page 34: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Diseño

Procesos simples:

Pre y post condición

Guía; no es paso a paso

Generalista para realización de producto

Agile

La definición de procesos muestra los elementos que deben estar listos al inicio, los elementos que van a quedar terminados al finalizar, y una guía de ejecución del proceso que no prescribe los pasos de detalle.

Page 35: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Diseño

Poco convencional:

Muy pocas minutas

Proyecto define cómo trabaja

Agile mindset

Peer review para auditorías

Evitar redundancia

Para los proyectos se determinó qué elementos deben estar definidos (mandatorios), pero cada proyecto debe especificar cómo lo va a hacer.

Se redujo al mínimo el uso de minutas.

Se redujo al mínimo la redundancia de información.

Page 36: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Diseño

Mejora continua:

No es un proceso específico

Todos los procesos lo hacen

Agile mindset

No hay un proceso específico de mejora

La mejora continua, de procesos y de producto, está embebida en todos los procesos del sistema de gestión de calidad.

Siguiendo la filosofía ágil, “a intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia”.

▪ Plan

Do

Act

Check

Page 37: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Diseño

Kanban:

Recursos humanos

Administración

Calidad

IT & Facilities

Proyectos

Muchos flujos de procesos se implementan con tableros Kanban

La mayoría de los proyectos usa Scrum y/o Kanban

Page 38: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Lecciones aprendidas

Page 39: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Lecciones aprendidas

Realización de producto

producto

clientecliente

requerimientos

satisfacción

reclamo

▪ Política de calidad

▪ Objetivos de calidad

▪ Plan

▪ Medición▪ Mejora continua

Recursos

Compras

▪ Revisión

▪ Infraestructura▪ Entrenamiento▪ Espacio de trabajo

VISIÓN SISTÉMICA

Page 40: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Proyectos:

Los proyectos no son todos iguales

Diseñar procesos flexibles en dónde el proyecto debe definir cómo trabaja fue un acierto

Lecciones aprendidas

Page 41: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Do the basics:

Ingeniería del software

Gestión de las configuraciones

Revisión entre pares

Automatización

V&V

Arquitectura

Buenas prácticas

Lecciones aprendidas

La madurez de las prácticas de ingeniería fue clave para la estrategia que elegimos.

Page 42: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Lecciones aprendidas

Simplicidad:

Las versiones actuales de los procesos son más simples que las iniciales.

Page 43: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Lecciones aprendidas

Revisiones:

Revisión entre pares en lugar de auditorías

Participar en reuniones

Participar en revisiones

Punto de vista SGC

Consenso y debate

Criterio establecido

Mejora continua

Page 44: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Resultó muy importante contar con una revisión externa previa a la certificación

Lecciones aprendidas

Page 45: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

En Dios confiamos, los demás deben mostrar datos”

EDWARD DEMING

Page 46: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Plan de revisiones aplicando Kanban implementado en Trello.

Contiene plan, calendario, criterio, resultados, acciones, informe, etc.

Page 47: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Desarrollo y mantenimiento del sistema de gestión de la calidad aplicando Kanban implementado en Trello.

Page 48: Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile

Versión Autor Fecha Descripción

1.0 Alvaro Ruiz de Mendarozqueta 06-Jul-2015 Primera versión

Versión