Está en la página 1de 35

CMMI

Estado Actual de la Industria


del Software
Objetivo
• Al finalizar la unidad, el estudiante describe la situación
problemática de la industria de software, comprendiendo
las causas principales que la originan.
Agenda
• Problemática Actual de la Industria del Software.
• Desarrollo Artesanal vs Desarrollo basado en Procesos.
• Los Pilares de la Calidad.
El Software en nuestras vidas

§ Utilizamos grandes cantidades de software en nuestro


día a día.
§ La mayoría de productos que están a nuestro alrededor
requirieron software durante su elaboración.
§ Algunos pensadores de este siglo dicen que: “Somos
dependientes del software”.
Crecimiento del uso de Software

§ En el 2017, 3,750 millones de personas usan internet.


§ En el 2018, 4,021 millones de personas usan internet
(53% población mundial).
§ En el Perú, en 2,017 habrá 12.7 millones de usuarios
de smartphones.
§ En el Perú, en 2,020 habrá 24 millones de usuarios de
smartphones.

Global Digital Report, 2018


Asociación GSMA, 2017
El Software en nuestras vidas

Grandes Grandes
necesidades oportunidades
de software (Nuevas tecnologías:
cloud computing,
devOps, etc).

… además, grandes riesgos


Analicemos …

¿El proceso de elaboración de software se encuentra


bajo control? … Es decir:
§ ¿La calidad del producto resultante es la
esperada (al menos… casi)?
§ ¿Se entrega a tiempo y sin salir del presupuesto
(al menos… casi)?
¿El Software está bajo control?

Pero…. ¿cuál es la situación real?


§ No se cumplen compromisos en el 50% de los
proyectos.
§ El 25% de proyectos se cancelan (*).
§ Niveles de ‘retrabajo’ incluso mayores al 40%.

(*) Estudios del Software Engineering Institute (SEI)


¿El Software está bajo control?
¿El Software está bajo control?

Algunos mitos que trataremos de descartar:


1. El software es ‘diferente’ a cualquier otro
producto.
2. El software es ‘arte’, por lo que no se puede
“limitar la creatividad” a través de procesos
repetitivos… No se puede tratar como otro tipo
de producto.
3. La industria de software es nueva. Las formas
de trabajo de otras industrias no aplican al
software.
¿El Software está bajo control?

Fuente: Reporte CHAOS 2015


Una Organización Inmadura

§ Carece de planificación o en caso que cuenten con


planes, muchas veces el proceso de software es
improvisado.
§ Personal reactivo y con el paradigma de que “no hay
tiempo para mejorar la forma de trabajo”.
§ Dirigen sus esfuerzos a resolver solamente los
problemas inmediatos.
§ Presupuestos y calendarios sobrepasan las previsiones.
§ No hay un objetivo básico para enfocar la calidad del
producto.
¿El proceso de Software es diferente?
Lean Software Development
Lean Software Development

La filosofía Lean aplicada a la fabricación, adaptación del


sistema de producción de Toyota y de Lean
IT aplicable a la gestión de productos y servicios de
tecnología de la información (IT).

La idea principal de la filosofía Lean es aplicar un


método sistemático consistente en eliminar los
desperdicios, o lo que es lo mismo, el trabajo que no
aporta valor al resultado final (servicio o producto).
Lean Software Development
El Testing en la industria de Software

En la práctica, muchas organizaciones consideran que


CALIDAD = TESTING.
§ Los equipos de Testing son muy grandes. En
ocasiones, similares en tamaño al de los
desarrolladores (ejm: call enter).
§ Se dedica gran proporción de esfuerzo al Testing.
§ Se tiene la idea equivocada de que es posible
probar TODO realizando testing.
El Costo que representa los defectos
Factores de Éxito en la industria

• Muchas organizaciones de desarrollo de software


aplican pocos métodos de trabajo disciplinado.
• En general, su comportamiento se parece más al de un
taller artesanal, que al de una organización profesional
y madura.
Factores de Éxito en la industria

§ Tener “héroes” y buenos “bomberos”


Recordemos cuántas veces se premian a estas
personas, en lugar de aquellas que hacen bien su
trabajo desde el inicio…
§ Suerte y optimismo excesivo: “Después me
preocuparé de esto…. Probablemente nada suceda”.
§ “Pongamos más personas a hacer testing !!!”
§ “Es imposible entregar algo sin errores…”
Proceso “Artesanal” de Desarrollo
Proceso “Artesanal” de desarrollo
Taller artesanal de software Organización madura
§ Cada producto es desarrollado § Los proyectos se comportan
independientemente del otro como líneas de producción.
(alto nivel de aislamiento). Se optimiza el uso de
recursos/personas.
§ Nivel de reutilización bajo. § Desarrollo basado en
componentes.
§ Depende muy altamente de la § Desarrollo guiado por
habilidad y pericia de las procesos establecidos, así
personas (en realidad, de como con herramientas
algunos “héroes”) . adecuadas a cada tipo de
proyecto / producto.

La habilidad y pericia se enfoca en aquello que es de mayor valor!!


Proceso “Artesanal” de desarrollo
Taller artesanal de software Organización madura
§ El conocimiento permanece § La porción del conocimiento
en las personas. que corresponde a las técnicas
(cómo trabajar) se encuentran
en los procesos. El resto de
conocimiento es atendido por
entrenamientos gestionados a
nivel organizacional.
§ La calidad no es consistente. § Procesos + Entrenamiento +
Desarrollo ad-hoc de cada Herramientas permiten
producto. aumentar dramáticamente los
niveles de consistencia.
Proceso “Artesanal” de desarrollo
Taller artesanal de software Organización madura
§ Desarrollar cada producto es § Menos costo al reutilizar
más costoso. componentes, aplicar procesos
(diseñados para brindar buen
Costo = $ de uso de recursos desempeño y altos niveles de
calidad)
y personas, por la duración
del proyecto y el tiempo
posterior de corrección de
problemas
¿Qué es un proceso?

Es un conjunto de actividades organizadas, integrado con


recursos, materiales, información, para producir algún
producto o servicio de valor al usuario del proceso.
Falacias comunes sobre los procesos

1. Los procesos…
• Interfieren con la creatividad
• Introducen burocracia y reglamentación
• Sólo son útiles en proyectos grandes
• Bloquean la agilidad, en negocios cambiantes
• Cuestan mucho
Falacias comunes sobre los procesos

2. No necesito procesos, yo tengo…


• Personas realmente buenas
• Tecnología avanzada
• Un jefe muy experimentado
Premisas de la Gestión de Procesos

§ La calidad de un producto se encuentra


altamente influenciada por la calidad del proceso
utilizado para adquirirlo, desarrollarlo y mantenerlo.
§ Esta premisa implica un enfoque en el proceso así
como en el producto.

Premisa establecida hace mucho en la manufactura (basada en


principios de TQM de Shewhart, Deming y Humprhey)

CMMI Overview, Software Engineering Institute, 2007


Conocimiento y experiencia

Recuerden a un “héroe” en sus


organizaciones

¿Cómo trabajaba?... ¿cómo gestionaba los requerimientos?


¿qué estándares / buenas prácticas de programación seguía?
¿cómo probaba lo que producía?....

¿Si capturamos estas buenas prácticas, de


manera que puedan ser transmitidas al personal …
y nos aseguramos que así sea? ¿Qué puede pasar?
El Talento no lo es TODO

§ Las organizaciones han aprendido que aún los


mejores profesionales necesitan un ambiente
estructurado y disciplinado, en el cual puedan
realizar un trabajo cooperativo.
§ La gente de primer nivel es esencial, pero necesitan
el apoyo de procesos ordenados para hacer un
trabajo de primer nivel.
La Calidad

Todos reconocen la
Productos importancia de tener un
equipo de personas motivado
y de calidad, sin embargo
Personas hasta los mejores no se pueden
desempeñar al máximo
Procesos Tecnología
cuando el proceso no es
entendido, o no se encuentra
afinado.

Los procesos, personas y tecnología son los


principales determinantes del costo,
cronograma y calidad del producto
El Costo de la Calidad

Lo que VEMOS

Lo que NO
VEMOS
(COSTO
REAL DE
LA
CALIDAD
¿Preguntas?
GRACIAS

También podría gustarte