Desafíos en las organizaciones de software que usan Agile

Post on 25-May-2015

655 views 4 download

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

Desafíos en la gestión de las organizaciones

de software

19 de febrero de 2014

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

Álvaro Ruiz de Mendarozqueta

aruiz@sistemas.frc.utn.edu.ar

aruizdemendarozqueta@fundacionsadosky.org.ar

skype: alvaro.rdm

http://www.slideshare.net/AlvaroRuizdeMendaroz

Hoy el software está en todos

lados

¿Software en un BMW?

2006

Auto autónomo

2014

Fuente: Revista IEEE Spectrum (página web)

2014

Pierna biónica

Mano biónica

Google Glass

SARA

SAC-D Aquarius

La industria creció mucho desde el

año 2000

16

El regreso

Empleo, ventas, exportaciones

17

Egresados

Empleo

Egresados

Ventas/Exp.

2005

2006

2007

2008

2009

2010

2011

2012

2013

2014

2015 ?

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

Fuente:

63 9

15

13

Costos

RH Directos

RH Indirectos

Infraestructura

Otros

72 % RH Costos

Algunas ventajas de la región en la

que estamos

Alto PBI

Universidades

Personas formadas

Time zone con USA y Latam

MERCOSUR

Ley de Software

Polos tecnológicos

Emprendedorismo

Ley de Software influyó en el uso de modelos de

calidad

Evaluaciones 2003-2007

40 evaluaciones

13 empresas

CMM, CMMI, ISO

Normalización de datos

Fuente: Lidicalso UTN FRC

CMMI 5

Fuente: Lidicalso UTN FRC

Fuente:

Observaciones ¿CMMI se usa menos?

¿se dejó de usar?

Foco en procesos

Hay problemas de calidad

La industria se expande

Observaciones…

Poco uso de herramientas

Procesos descritos en documentos

Poca integración entre herramientas

Cómo se hizo la mejora de procesos

Inicio

Establecer objetivos y necesidades de mejora

Evaluar comparando con un

modelo y planificar las mejoras

Qué deberíamos hacer

Inicio

Establecer nivel de CMMI deseado

Empezar por nivel 2 en orden y

seguir una receta

Qué se hace

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

Problemas Interpretar a los modelos de una única manera

Repetir recetas sin entender el contexto

Repetir recetas sin entender al equipo de trabajo

Problemas

Es difícil ver mejoras concretas en el corto plazo

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

Procesos Toda construcción de software sigue un proceso:

Formales

Informales

Muchos procesos están tan mal hechos como el software

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)

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

Percepción de la mejora de procesos

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

El desarrollo de software

es, esencialmente, un proceso

de aprendizaje

Mary & Tom Poppendieck

Lean Software Development

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:

A B C

Individuos e interacciones

sobre procesos y herramientas

Manifiesto

Valoramos más

Software funcionando sobre documentación extensiva

Manifesto

Valoramos más

Colaboración con el cliente sobre negociación contractual

Manifesto

Valoramos más

Respuesta ante el cambio

sobre seguir un plan

Manifesto

Valoramos más

principio #1

satisfacer al cliente a través de

entregas tempranas y

continuas de software que

provea valor

Manifiesto ágil (‘01)

http://agilemanifesto.org/

… de software que provea valor

despachador de pedidos

generador de valor

software que funciona

software que cubre una necesidad

enfoque predictivo

enfoque adaptativo

concepto

producto

plazo de entrega

c1

p1

c2

p2 pn

cn

plazos de entrega

Martin Fowler

un buen proyecto ágil

tendrá que desarrollar

algo mejor que

lo planeado

originalmente

The New Methodology

Ventajas Agile Cambios de requerimientos son bienvenidos

Entregas rápidas

Feedback del cliente todo el tiempo

Software funcionando pronto

Testing temprano

Comparemos proyectos de

software con la mejora de procesos

ISO 9001

Fecha de auditoría

Manual de Calidad

Procesos de la organización

Auditoría

Comité de Calidad

ISO 9001

Fecha de auditoría

Manual de Calidad

Procesos de la organización

Auditoría

Comité de calidad

¿Es ágil?

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?

Habíamos dicho en nuestro estudio

No es ágil

Comparemos proyectos de

software con un plan de

entrenamiento

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

¿Cómo podemos agilizar a la

capacitación?

Capacitación

Tenemos proyectos ágiles y

organizaciones lentas

Proyecto “Diseño de

un sistema de gestión” Lidicalso

UTN FRC

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

más ágil

Veamos cómo hacerlo en mejora

de procesos

Inicio

Establecer objetivos y necesidades de mejora

Evaluar comparando con un

modelo y planificar las mejoras con un backlog

Qué deberíamos hacer

Aplicar

manifiesto y

principios ágiles

Extender

resultados de proyectos

a mejora continua

Qué deberíamos hacer

A B C

Individuos e interacciones

sobre procesos y herramientas

Valoramos más

Equipo Scrum para la mejora

Proceso de mejora

Software

funcionando sobre documentación extensiva

Valoramos más

Mejora implementada

Proceso modificado

Colaboración con el cliente sobre negociación contractual

Valoramos más

Empleados son los clientes

Despliegue de procesos

Respuesta ante el cambio

sobre seguir un plan

Valoramos más

Implementar mejora de alto

impacto Implementar los procesos

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)

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)

Un enfoque ágil para la mejora de procesos

Caso

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

Comité de calidad

PMO Quality champion

Scrum

El sistema de gestión de calidad es el producto

Todos los empleados son los clientes

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

Define el esfuerzo disponible

Director es el PO

Puntos claves

Mapas Agile vs ISO

Conocimiento de Scrum

Prácticas de Ingeniería

Team members

Backlog

Mapa entre

Agile e ISO

Acciones

preventivas y

correctivas

Tablero Scrum Create Quality

Policy [5.3] [4.2.1] trello.com

Mapa entre ISO

y Scrum

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

Un enfoque ágil para la mejora de procesos

Caso

Empresa de desarrollo de productos para grandes empresas

Objetivo 2014

Mejora de un producto y sus procesos

Consolidar prácticas ágiles

Automatización

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

Backlog de mejoras priorizado

Implementación de herramientas

Capacitación

Visita a clientes y reuniones con usuarios finales

Puntos claves

Gestión de impedimentos

Team members

Balance: mejora vs. producción

Compromiso

Tablero Scrum Integrado al sistema de

gestión

User Story Desarrollo propio

¿Qué más podemos hacer?

Cambiar la mirada sobre las

organizaciones

[PMBOK]

Desarrollo Testing

Área de responsabilidad Clientes

Productos

Proyectos

Ingeniería

Personas

Planeamiento, educación, calidad, infraestructura, presupuesto

el enfoque predictivo limita

ciclos de aprendizaje

capacidad de adaptación

generación de valor

Funciones antes que organigramas

Ejemplo: Modelo EFQM

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

Determinar las sub funciones

Aplicar el manifiesto ágil

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

Organización

Algunas conclusiones

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

Si hay una oportunidad para las empresas de software…

…necesitarán agilidad para aprovecharla

Es parte de un proyecto…

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

Aplicar

principios ágiles

Extender

resultados de proyectos

a una organización

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

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

Participantes

Natalia Andriano

Miguel Insaurralde

Mariano Zibecchi

Alvaro Ruiz de Mendarozqueta

¡Gracias! LIDICALSO UTN FRC

¡Gracias por venir!

http://www.slideshare.net/AlvaroRuizdeMendaroz

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