Desafíos en las organizaciones de software que usan Agile

112
Desafíos en la gestión de las organizaciones de software 19 de febrero de 2014

description

Las organizaciones de software que han adoptado métodos ágiles con éxito se encuentran con que sus organizaciones son lentas en comparación. Hay que "agilizarlas".

Transcript of Desafíos en las organizaciones de software que usan Agile

Page 1: Desafíos en las organizaciones de software que usan Agile

Desafíos en la gestión de las organizaciones

de software

19 de febrero de 2014

Page 2: Desafíos en las organizaciones de software que usan Agile

Desafíos en la gestión de las organizaciones de software

LIDICALSO

Laboratorio de Investigación y Desarrollo en Ingeniería y Calidad de Software

LIDICALSO http://www.institucional.frc.utn.edu.ar/sistemas/lidicalso/

Departamento de Ing. en Sistemas de Información UTN FRC

Page 3: Desafíos en las organizaciones de software que usan Agile

Álvaro Ruiz de Mendarozqueta

[email protected]

[email protected]

skype: alvaro.rdm

http://www.slideshare.net/AlvaroRuizdeMendaroz

Page 4: Desafíos en las organizaciones de software que usan Agile

Hoy el software está en todos

lados

Page 5: Desafíos en las organizaciones de software que usan Agile

¿Software en un BMW?

2006

Page 6: Desafíos en las organizaciones de software que usan Agile

Auto autónomo

2014

Page 7: Desafíos en las organizaciones de software que usan Agile

Fuente: Revista IEEE Spectrum (página web)

2014

Page 8: Desafíos en las organizaciones de software que usan Agile
Page 9: Desafíos en las organizaciones de software que usan Agile

Pierna biónica

Page 10: Desafíos en las organizaciones de software que usan Agile

Mano biónica

Page 11: Desafíos en las organizaciones de software que usan Agile

Google Glass

Page 12: Desafíos en las organizaciones de software que usan Agile

SARA

Page 13: Desafíos en las organizaciones de software que usan Agile

SAC-D Aquarius

Page 14: Desafíos en las organizaciones de software que usan Agile
Page 15: Desafíos en las organizaciones de software que usan Agile

La industria creció mucho desde el

año 2000

Page 16: Desafíos en las organizaciones de software que usan Agile

16

El regreso

Empleo, ventas, exportaciones

Page 17: Desafíos en las organizaciones de software que usan Agile

17

Egresados

Page 18: Desafíos en las organizaciones de software que usan Agile

Empleo

Egresados

Ventas/Exp.

2005

2006

2007

2008

2009

2010

2011

2012

2013

2014

2015 ?

Page 19: Desafíos en las organizaciones de software que usan Agile

19

Ciencias de la Computación FCEyN - UBA

67 75 61

46

19

11

0

10

20

30

40

50

60

70

80

60s 70s 80s 90s 00 Actual

Porcentaje de egresadas

Page 20: Desafíos en las organizaciones de software que usan Agile

Fuente:

63 9

15

13

Costos

RH Directos

RH Indirectos

Infraestructura

Otros

72 % RH Costos

Page 21: Desafíos en las organizaciones de software que usan Agile

Algunas ventajas de la región en la

que estamos

Page 22: Desafíos en las organizaciones de software que usan Agile

Alto PBI

Page 23: Desafíos en las organizaciones de software que usan Agile

Universidades

Personas formadas

Time zone con USA y Latam

MERCOSUR

Ley de Software

Polos tecnológicos

Emprendedorismo

Page 24: Desafíos en las organizaciones de software que usan Agile

Ley de Software influyó en el uso de modelos de

calidad

Page 25: Desafíos en las organizaciones de software que usan Agile

Evaluaciones 2003-2007

40 evaluaciones

13 empresas

CMM, CMMI, ISO

Normalización de datos

Fuente: Lidicalso UTN FRC

Page 26: Desafíos en las organizaciones de software que usan Agile

CMMI 5

Page 27: Desafíos en las organizaciones de software que usan Agile

Fuente: Lidicalso UTN FRC

Page 28: Desafíos en las organizaciones de software que usan Agile

Fuente:

Page 29: Desafíos en las organizaciones de software que usan Agile

Observaciones ¿CMMI se usa menos?

¿se dejó de usar?

Foco en procesos

Hay problemas de calidad

La industria se expande

Page 30: Desafíos en las organizaciones de software que usan Agile

Observaciones…

Poco uso de herramientas

Procesos descritos en documentos

Poca integración entre herramientas

Page 31: Desafíos en las organizaciones de software que usan Agile

Cómo se hizo la mejora de procesos

Page 32: Desafíos en las organizaciones de software que usan Agile

Inicio

Establecer objetivos y necesidades de mejora

Evaluar comparando con un

modelo y planificar las mejoras

Qué deberíamos hacer

Page 33: Desafíos en las organizaciones de software que usan Agile

Inicio

Establecer nivel de CMMI deseado

Empezar por nivel 2 en orden y

seguir una receta

Qué se hace

Page 34: Desafíos en las organizaciones de software que usan Agile

Problemas No asignar recursos a mejora

“Están ocupados trabajando…”

No planificar

El área de calidad no hace lo que recomienda…

Personal de calidad sin experiencia

Page 35: Desafíos en las organizaciones de software que usan Agile

Problemas Interpretar a los modelos de una única manera

Repetir recetas sin entender el contexto

Repetir recetas sin entender al equipo de trabajo

Page 36: Desafíos en las organizaciones de software que usan Agile

Problemas

Es difícil ver mejoras concretas en el corto plazo

Page 37: Desafíos en las organizaciones de software que usan Agile

Riesgos SQA no es lo único que se hace

Calidad es lo que hacen los de calidad

Falta de integración de actividades

Poca planificación

Que la mejora no sea continua

Page 38: Desafíos en las organizaciones de software que usan Agile

Procesos Toda construcción de software sigue un proceso:

Formales

Informales

Muchos procesos están tan mal hechos como el software

Page 39: Desafíos en las organizaciones de software que usan Agile

Horror de proceso CMMI, PP

SG 3 Commitments to the project plan are established and maintained.

SP 3.3 Obtain commitment from relevant stakeholders responsible for performing and supporting plan execution.

Planilla con firma de cada uno de los miembros del equipo (pocos participaron de la confección del plan)

Page 40: Desafíos en las organizaciones de software que usan Agile

Más horror… Procesos con 15 roles para una organización cuyo promedio es de 4 personas por proyecto

Page 41: Desafíos en las organizaciones de software que usan Agile

Percepción de la mejora de procesos

Page 42: Desafíos en las organizaciones de software que usan Agile

Al mismo tiempo se comenzaron a usar los métodos ágiles

Page 43: Desafíos en las organizaciones de software que usan Agile

El desarrollo de software

es, esencialmente, un proceso

de aprendizaje

Mary & Tom Poppendieck

Lean Software Development

Page 44: Desafíos en las organizaciones de software que usan Agile

Manifiesto por el desarrollo Ágil de software

http://agilemanifesto.org/

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:

Page 45: Desafíos en las organizaciones de software que usan Agile

A B C

Individuos e interacciones

sobre procesos y herramientas

Manifiesto

Valoramos más

Page 46: Desafíos en las organizaciones de software que usan Agile

Software funcionando sobre documentación extensiva

Manifesto

Valoramos más

Page 47: Desafíos en las organizaciones de software que usan Agile

Colaboración con el cliente sobre negociación contractual

Manifesto

Valoramos más

Page 48: Desafíos en las organizaciones de software que usan Agile

Respuesta ante el cambio

sobre seguir un plan

Manifesto

Valoramos más

Page 49: Desafíos en las organizaciones de software que usan Agile

principio #1

satisfacer al cliente a través de

entregas tempranas y

continuas de software que

provea valor

Manifiesto ágil (‘01)

http://agilemanifesto.org/

Page 50: Desafíos en las organizaciones de software que usan Agile

… de software que provea valor

despachador de pedidos

generador de valor

software que funciona

software que cubre una necesidad

Page 51: Desafíos en las organizaciones de software que usan Agile

enfoque predictivo

enfoque adaptativo

concepto

producto

plazo de entrega

c1

p1

c2

p2 pn

cn

plazos de entrega

Page 52: Desafíos en las organizaciones de software que usan Agile
Page 53: Desafíos en las organizaciones de software que usan Agile

Martin Fowler

un buen proyecto ágil

tendrá que desarrollar

algo mejor que

lo planeado

originalmente

The New Methodology

Page 54: Desafíos en las organizaciones de software que usan Agile

Ventajas Agile Cambios de requerimientos son bienvenidos

Entregas rápidas

Feedback del cliente todo el tiempo

Software funcionando pronto

Testing temprano

Page 55: Desafíos en las organizaciones de software que usan Agile

Comparemos proyectos de

software con la mejora de procesos

Page 56: Desafíos en las organizaciones de software que usan Agile

ISO 9001

Fecha de auditoría

Manual de Calidad

Procesos de la organización

Auditoría

Comité de Calidad

Page 57: Desafíos en las organizaciones de software que usan Agile

ISO 9001

Fecha de auditoría

Manual de Calidad

Procesos de la organización

Auditoría

Comité de calidad

Page 58: Desafíos en las organizaciones de software que usan Agile

¿Es ágil?

Page 59: Desafíos en las organizaciones de software que usan Agile

Mejora de Procesos

personas e interacción

software funcionando

colaboración con clientes

responder a los cambios

herramientas y procesos

documentación exhaustiva

negociación de contratos

seguir un plan

Parece que valoramos más

foco en los resultados ¿cuál es el foco?

Page 60: Desafíos en las organizaciones de software que usan Agile

Habíamos dicho en nuestro estudio

Page 61: Desafíos en las organizaciones de software que usan Agile

No es ágil

Page 62: Desafíos en las organizaciones de software que usan Agile

Comparemos proyectos de

software con un plan de

entrenamiento

Page 63: Desafíos en las organizaciones de software que usan Agile

Capacitación Presupuesto anual Calendario anual de cursos Revisión mensual Dictados Asistencia Costos Encuesta de satisfacción Evaluación anual de desempeño

Page 64: Desafíos en las organizaciones de software que usan Agile

¿Cómo podemos agilizar a la

capacitación?

Capacitación

Page 65: Desafíos en las organizaciones de software que usan Agile

Tenemos proyectos ágiles y

organizaciones lentas

Proyecto “Diseño de

un sistema de gestión” Lidicalso

UTN FRC

Page 66: Desafíos en las organizaciones de software que usan Agile

Desafío: cómo hacemos que la organización sea

más ágil

Page 67: Desafíos en las organizaciones de software que usan Agile

Veamos cómo hacerlo en mejora

de procesos

Page 68: Desafíos en las organizaciones de software que usan Agile

Inicio

Establecer objetivos y necesidades de mejora

Evaluar comparando con un

modelo y planificar las mejoras con un backlog

Qué deberíamos hacer

Page 69: Desafíos en las organizaciones de software que usan Agile

Aplicar

manifiesto y

principios ágiles

Extender

resultados de proyectos

a mejora continua

Qué deberíamos hacer

Page 70: Desafíos en las organizaciones de software que usan Agile

A B C

Individuos e interacciones

sobre procesos y herramientas

Valoramos más

Equipo Scrum para la mejora

Proceso de mejora

Page 71: Desafíos en las organizaciones de software que usan Agile

Software

funcionando sobre documentación extensiva

Valoramos más

Mejora implementada

Proceso modificado

Page 72: Desafíos en las organizaciones de software que usan Agile

Colaboración con el cliente sobre negociación contractual

Valoramos más

Empleados son los clientes

Despliegue de procesos

Page 73: Desafíos en las organizaciones de software que usan Agile

Respuesta ante el cambio

sobre seguir un plan

Valoramos más

Implementar mejora de alto

impacto Implementar los procesos

Page 74: Desafíos en las organizaciones de software que usan Agile

Apliquemos el principio #1 a la mejora continua

satisfacer al cliente a través de

entregas tempranas

y continuas de software que provean valor

Manifiesto ágil (‘01)

Page 75: Desafíos en las organizaciones de software que usan Agile

Apliquemos el principio #1 a la mejora continua

satisfacer al cliente a través de

entregas tempranas

y continuas de mejoras que provean valor

Manifiesto ágil (‘01)

Page 76: Desafíos en las organizaciones de software que usan Agile

Un enfoque ágil para la mejora de procesos

Caso

Page 77: Desafíos en las organizaciones de software que usan Agile

Empresa de desarrollo de software con filosofía ágil

Objetivo 2014

Certificación ISO 9001:2008

Toda la organización

Aplicar Agile en toda la organización

Page 78: Desafíos en las organizaciones de software que usan Agile

Comité de calidad

PMO Quality champion

Scrum

El sistema de gestión de calidad es el producto

Todos los empleados son los clientes

Page 79: Desafíos en las organizaciones de software que usan Agile

Scrum Team Representa la mayoría de los roles de la organización

Define el esfuerzo disponible

Director es el PO

Page 80: Desafíos en las organizaciones de software que usan Agile

Puntos claves

Mapas Agile vs ISO

Conocimiento de Scrum

Prácticas de Ingeniería

Team members

Page 81: Desafíos en las organizaciones de software que usan Agile

Backlog

Page 82: Desafíos en las organizaciones de software que usan Agile

Mapa entre

Agile e ISO

Acciones

preventivas y

correctivas

Page 83: Desafíos en las organizaciones de software que usan Agile

Tablero Scrum Create Quality

Policy [5.3] [4.2.1] trello.com

Page 84: Desafíos en las organizaciones de software que usan Agile

Mapa entre ISO

y Scrum

Page 85: Desafíos en las organizaciones de software que usan Agile

QMS Product realization

7

One to four weeks

Daily Customer

Needs

Product Owner

Requirements

Team Product

Records

Reviwers

V&V

Product Backlog

Sprint Backlog

Scrum Master

A1

A2

A3 A4

A5

Architecture

Impediments

Sprint Review

Retrospective

UX

Customer

Sprint planning

7.1

7.2

7.2

7.2.3

8.2.1

8.2.1

7.3

7.3

7.2

7.2

7.1

7.3

Sprint

7.3.1

7.3.3

7.3.4/5/6

7.3 7.3

6.2

6.2

8.2.2

7.3.4

Page 86: Desafíos en las organizaciones de software que usan Agile

Un enfoque ágil para la mejora de procesos

Caso

Page 87: Desafíos en las organizaciones de software que usan Agile

Empresa de desarrollo de productos para grandes empresas

Objetivo 2014

Mejora de un producto y sus procesos

Consolidar prácticas ágiles

Automatización

Page 88: Desafíos en las organizaciones de software que usan Agile

Scrum

Equipo: multi empresa y multi rol

Cliente: técnico y gestión

Empresa: técnico y gestión

Consultor externo

Scrum master

PO: gerente del cliente

Page 89: Desafíos en las organizaciones de software que usan Agile

Backlog de mejoras priorizado

Implementación de herramientas

Capacitación

Visita a clientes y reuniones con usuarios finales

Page 90: Desafíos en las organizaciones de software que usan Agile

Puntos claves

Gestión de impedimentos

Team members

Balance: mejora vs. producción

Compromiso

Page 91: Desafíos en las organizaciones de software que usan Agile

Tablero Scrum Integrado al sistema de

gestión

Page 92: Desafíos en las organizaciones de software que usan Agile

User Story Desarrollo propio

Page 93: Desafíos en las organizaciones de software que usan Agile

¿Qué más podemos hacer?

Page 94: Desafíos en las organizaciones de software que usan Agile

Cambiar la mirada sobre las

organizaciones

Page 95: Desafíos en las organizaciones de software que usan Agile

[PMBOK]

Desarrollo Testing

Page 96: Desafíos en las organizaciones de software que usan Agile

Área de responsabilidad Clientes

Productos

Proyectos

Ingeniería

Personas

Planeamiento, educación, calidad, infraestructura, presupuesto

Page 97: Desafíos en las organizaciones de software que usan Agile

el enfoque predictivo limita

ciclos de aprendizaje

capacidad de adaptación

generación de valor

Funciones antes que organigramas

Ejemplo: Modelo EFQM

Page 98: Desafíos en las organizaciones de software que usan Agile

Pasos a seguir Para cada área o función clave

Determinar las sub funciones

Aplicar el manifiesto ágil

Page 99: Desafíos en las organizaciones de software que usan Agile

what why

Individuals and

interactions over

processes and tools

M#1

Tangible Results over comprehensi

ve documentati

on M#2

Customer collaboratio

n over contract

negotiation M#3

Responding to change

over following a

plan M#4

continues delivery

of valuable Results

P#1

Products

know the roadmap (strategy)

to align projects and resources

communicate roadmap often, face-to-face, and collect feedback

roadmap should be clear, making-sense for engineering and business

customer needs being covered by the roadmap should be clear for all parts

make sure changes and its reasons are properly introduced and communicated to all relevant actors

roadmap means available for the whole involved people

Page 100: Desafíos en las organizaciones de software que usan Agile

Organización

Page 101: Desafíos en las organizaciones de software que usan Agile

Algunas conclusiones

Page 102: Desafíos en las organizaciones de software que usan Agile

La mejora de procesos no parece ser efectiva con el enfoque usual Agile trajo un cambio de paradigma Sus principios aportan sentido común Pueden extrapolarse a otras actividades Mejora de procesos

Page 103: Desafíos en las organizaciones de software que usan Agile

Si hay una oportunidad para las empresas de software…

…necesitarán agilidad para aprovecharla

Page 104: Desafíos en las organizaciones de software que usan Agile

Es parte de un proyecto…

Page 105: Desafíos en las organizaciones de software que usan Agile

diseño de un sistema de gestión de una

operación de desarrollo de software, usando

métodos ágiles y

modelos de calidad

Laboratorio de Investigación y Desarrollo en Ingeniería y Calidad de Software

LIDICALSO http://www.institucional.frc.utn.edu.ar/sistemas/lidicalso/

Departamento de Ing. en Sistemas de Información UTN

Page 106: Desafíos en las organizaciones de software que usan Agile

Aplicar

principios ágiles

Extender

resultados de proyectos

a una organización

Page 107: Desafíos en las organizaciones de software que usan Agile

Qué aprendimos en los proyectos

entregas frecuentes flujo de trabajo

generación de valor expandir conocimiento

prácticas XP construcción de SW

principios Lean concepto - producto

proceso Scrum-Kanban gestión de proyectos

disciplina diseño de calidad automatización

Page 108: Desafíos en las organizaciones de software que usan Agile

típicamente propuesta

Marco de gestión

procesos

organigrama

conformidad

generación de valor

áreas de responsabilidad

visión / resultados

foco en

organización

mecanismo

Page 109: Desafíos en las organizaciones de software que usan Agile

Participantes

Natalia Andriano

Miguel Insaurralde

Mariano Zibecchi

Alvaro Ruiz de Mendarozqueta

Page 110: Desafíos en las organizaciones de software que usan Agile

¡Gracias! LIDICALSO UTN FRC

Page 111: Desafíos en las organizaciones de software que usan Agile

¡Gracias por venir!

http://www.slideshare.net/AlvaroRuizdeMendaroz

Page 112: Desafíos en las organizaciones de software que usan Agile

Versión Fecha Descripción Autor

1.0 Feb-2014 Versión inicial. Materiales basados en el proyecto Diseño de un sistema de gestión y presentaciones hechas en UTN y BPM Forum

Alvaro Ruiz de Mendarozqueta

1.1 Feb-2014 Comentarios de Mariano Zibecchi y Natalia Andriano

Alvaro Ruiz de Mendarozqueta

Versiones