2013 10 desafios_orgsoft_utn_1.2

Post on 24-Jun-2015

118 views 1 download

transcript

Desafíos en la gestión de organizaciones de desarrollo

de software

LIDICALSO UTN FRC

Álvaro Ruiz de Mendarozqueta

aruiz@sistemas.frc.utn.edu.ar

aruizdemendarozqueta@fundacionsadosky.org.ar

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

El proyecto

Aplicar

principios ágiles

Extender

resultados de proyectos

a una organización

Participantes

Natalia Andriano

Miguel Insaurralde

Mariano Zibecchi

Alvaro Ruiz de Mendarozqueta

Contexto

Empresas del sector

El regreso

Empleo

Fuente:

Fuente:

Fuente:

Fuente:

Región

Time zone con USA y Latam

Inflación

MERCOSUR

Divisas

Ley de Software

El software hoy

¿Software en un BMW?

2006

Auto autónomo de Google

Pierna biónica

Google Glass

SARA

SAC-D

Software

Algunos problemas

Pocos egresados

25

Egresados

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

Bugs

Bugs famosos…

Intel Pentium

Hundimiento del Sheffield en Malvinas

Aeropuerto de Denver

Rayos X en Therac-25

Ariane 5

Por acá…

Carrito de compra de librería

Credencial Monotributo en Afip

No puede hacer esto en Chrome

Formulario para denunciar siniestro

Selección de asientos en ómnibus

¿Qué pasa en los proyectos?

Algunos Problemas en Proyectos

Se atrasan las entregas

No se cumplen los compromisos

No están claros los requerimientos

El software no hace lo que tiene que hacer

Algunos Problemas en Proyectos

Trabajo fuera de hora y los fines de semana

Se pierden los programas

La mitad del esfuerzo es para arreglar algo mal hecho

Usando modelos de calidad

Evaluaciones 2003-2007

40 evaluaciones

13 empresas

CMM, CMMI, ISO

Normalización de datos

Fuente: Lidicalso

Evaluaciones según los modelos

0 2 4 6 8 10

CMM 2

CMM 3

CMM 5

CMMI 2

CMMI 3

CMMI 4

CMMI 5

6

9

6

10

2

2

5

Total Assessments

Fuente: Lidicalso

Formales e informales

0 1 2 3 4 5 6

CMMI 5

CMMI 4

CMMI 3

CMMI 2

CMM 5

CMM 3

CMM 2

4

1

0

4

2

3

1

1

1

2

6

4

6

5

Fuente: Lidicalso

Fuente: Lidicalso

0

2

4

6

8

10

12

14

GP2

.1

GP2

.2

GP2

.3

GP2

.5

GP2

.7

GP2

.8

GP2

.9

GP3

.1

GP4

.1

SP1

.1

SP1

.2

SP1

.3

SP1

.4

SP2

.1

SP2

.2

SP2

.4

SP2

.5

SP2

.6

SP2

.7

SP3

.2

SP3

.3

GG2 GG2 GG2 GG2 GG2 GG2 GG2 GG3 GG4 SG1 SG1 SG1 SG1 SG2 SG2 SG2 SG2 SG2 SG2 SG3 SG3

1

3

1 1 1

4

1 1 1

6

2

1

3

6

7

3

2

6

8

1

14

Hallazgos por Práctica Genérica/Específica (PP)

Fuente: Lidicalso

Fuente:

Observaciones

CMMI se usa menos (o se dejó de usar)

Ley de Software

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

Estructuras en las

organizaciones

Esquemas clásicos PMBOK

[PMBOK]

[PMBOK]

Desarrollo Testing

[PMBOK]

Desarrollo Calidad

Áreas

Desarrollo

Testing

Homologación

IT

Infraestructura

Desarrollo de Productos

Otras consideraciones…

Provisión de mano de obra

Software Factory

Desarrollo de Productos

Servicios de IT

Consultoría

Otras consideraciones…

MPyMEs y PyMEs

Start ups

Factor de escala

Pocos desarrolladores para todos

Dominio vs. tecnología

Con modelos de calidad

ISO 9001 Responsabilidad de la

dirección

Gestión de los recursos

Realización del producto

Medida, análisis y mejora

Clie

nte

Clie

nte

Requisitos Satisfacción

CMMI

típicamente

Marco de gestión

procesos

organigrama

conformidad

foco en

organización

mecanismo

Métodos Ágiles

El desarrollo de software

es, esencialmente, un proceso

de aprendizaje

Mary & Tom Poppendieck

Lean Software Development

Evolución de la industria de SW

Agile manifesto

‘01

XP ‘96

Scrum ‘95

Lean Kanban ‘03

’70 ’80 ’90 ’00 ’10

enfoque predictivo

enfoque adaptativo

crisis & ingeniería SW ‘68

code + fix

código horas-silla

proceso robusto

producto robusto

¿chau

código?

CASE ‘82

CMM PMBOK

‘87

Manifiesto ágil (‘01)

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

valoramos mas… …antes que

foco en los resultados

principio #1

satisfacer al cliente a través de

entregas tempranas y

continuas de software que

provea valor

Manifiesto ágil (‘01)

… 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

plazo de

entrega

Martin Fowler

un buen proyecto ágil

tendrá que desarrollar

algo mejor que

lo planeado

originalmente

The New Methodology

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 junior

Problemas Interpretar a los modelos de una única manera

Repetir recetas sin entender el contexto

Repetir recetas sin entender al equipo de trabajo

Riesgos PPQA 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)

Básicos No intente demostrar todo lo que saben en un estándar o plan

Procesos con 15 roles para un proyecto en una organización cuyo promedio de personas por proyecto es de 4…

Sentido Común

No discutamos más las disciplinas básicas

Todavía se discuten aspectos elementales de Gestión de las Configuraciones...

Proyectos Ágiles vs Mejora de Procesos

Proyecto Ágil

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

valoramos mas… …antes que

foco en los resultados

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

¿valoramos mas?

foco en los resultados ?

Mejora de Procesos Proyectos

concepto

proceso

plazo de entrega

c1

p1

c2

p2 pn

cn

plazo de

entrega

Organización

Manifiesto ágil (empresa)

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

valoramos mas… …antes que

foco en los resultados

principio #1

satisfacer al cliente a través de

entregas tempranas y

continuas de productos o servicios que

provean valor

Manifiesto ágil (empresa)

Organización

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

¿valoramos mas?

foco en los resultados foco en los resultados

Tenemos proyectos ágiles y

organizaciones lentas

Proyecto “Diseño de

un sistema de gestión” Lidicalso

UTN

Potenciales soluciones

Aplicar Agile Manifesto a las

áreas de responsabilidad

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

Estrategia Marco de

gestión como producto

Scrum Product owner

Aplicar el manifiesto ágil

al producto

Principios

Valorar el producto con

modelos

Agilidad

calidad ISO-CMMI

PNC

Á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

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

Determinar las funciones detalladas

Aplicar el manifiesto ágil

Usar modelos integrales de

gestión

el enfoque predictivo limita

ciclos de aprendizaje

capacidad de adaptación

generación de valor

Premio Nacional a la Calidad

Malcolm Baldrige Award

el enfoque predictivo limita

ciclos de aprendizaje

capacidad de adaptación

generación de valor

EFQM

Mejora de procesos ágil

Inicio

Establecer objetivos y necesidades de mejora

Evaluar comparando con un

modelo y planificar las mejoras con un backlog

Qué deberíamos hacer

Extender los métodos ágiles a la realización del

producto

Scaled Agile Framework™ Big Picture

¡Gracias!

Versión Fecha Descripción Autor

1.0 Oct-2013 Versión inicial. Materiales tomados de presentaciones diseñadas por Natalia Andriano, Miguel Insaurralde, y Alvaro Ruiz de Mendarozqueta

Alvaro Ruiz de Mendarozqueta

1.1 Oct-2013 Comentarios de Natalia Andriano Alvaro Ruiz de Mendarozqueta

1.2 Dec-2013 Ajustes menores Alvaro Ruiz de Mendarozqueta

Versiones