Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
- Agilidad y procesos
1
Agilidad y procesos
Adaptaciones
para softw.
1997
Modelos y estándares
formales de calidad
TickIT
1991
ISO 9000-3
1959 1979 1987 Trillium
MIL-Q 9858 BS 5750 ISO 9000 Bootstrap
1995
Modelos específicos
ISO 12207
para software.
1995 TR 15504 2003-05
Proy. SPICE ISO 15504
1993 Modelos 2001
CMM-SW CMM CMMI
DSDM
Técnicas y métodos
SCRUM
CRYSTAL
XP
ágiles
ASD
PP
ISD
AM
2000
1995 Manifiesto
Ágil
2
Modelos formales: CMMI
3
Modelos formales: CMMI
4
Modelos formales: CMMI
Proyecto CMMI
5
Modelos formales: CMMI
Modelos CMMI
Modelo combinado
System Engineering/Software
Engineering
MM I - SE/SW CMMI-SE
/SW Aplicable:
C
ous – Sólo a proyectos de software
Staged tion Continu tion
enta nta engineering
Repres Represe
– Sólo a proyectos de system
engineering
– Ambos
¿Continua o escalonada?
6
Modelos formales: CMMI
7
Modelos formales: CMMI
Continuo Escalonado
ML5
5
Capacidad
4
ML4
3
ML3
1 2
ML2
ML 1
0
PA PA PA
. . .para un área de proceso . . .para un conjunto de
o un conjunto de áreas de proceso áreas de proceso establecido
8
Modelos formales: CMMI
Capacidad y madurez
ML5
4
ML4
3
ML3
2
ML2
1
ML 1
0
9
Modelos formales: CMMI
Niveles de capacidad
0 – Incompleto
Los procesos no se realizan, o no consiguen sus objetivos
1 – Ejecutado
Los procesos se ejecutan y se logran los objetivos específicos del área
2 – Gestionado
Los procesos que además de considerarse “ejecutados” son también planificados,
revisados y evaluados para comprobar que cumplen los requisitos
3 – Definido
Los procesos que además de considerarse “gestionados” se ajustan al conjunto de
procesos estándar conforme a las líneas directivas de la organización
4 – Gestión cuantificada
Procesos “definidos” que son controlados utilizando técnicas estadísticas u otras
técnicas cuantitativas
5 – Optimizado
Procesos “gestionados cuantificadamente” que son cambiados y adaptados para
conseguir objetivos relevantes de negocio
10
Modelos formales: CMMI
Dimensión de la capacidad
Proceso no ejecutado
Niveles de madurez
1 – Inicial
Control deficiente e impredecibilidad de los resultados
2 – Gestionado
Es posible obtener niveles de calidad previamente alcanzados
3 – Definido
Los procesos realizados se encuentran normalizados, son conocidos y
comprendidos
4 – Gestionado cuantitativamente
Los procesos incluyen indicadores de medición y control
5 – Optimizado
Centralización en la mejora de los procesos
12
Modelos formales: CMMI
Dimensión de la madurez
Optimizado
5 Centrado en la mejora de
procesos
Gestionado
4 Proceso medido cuantitativamente
y controlado
Definido
3 Proceso caracterizado
para la organización y
proactivo
Gestionado
2 Proceso caracterizado
para los proyectos y a
menudo reactivo
Inicial
1 Proceso imprevisible, poco
controlado y reactivo
13
Modelos formales: CMMI
Áreas de procesos
14
Modelos formales: CMMI
Desarrollo de requisitos
Solución técnica
Verificación
Validación
Integración de producto
3 DEFINIDO Procesos orientados a la organización
Definición de los procesos de la organización
Formación
Gestión integrada de proyecto
Gestión de riesgos
Análisis y resolución de decisiones
Gestión de requisitos
Planificación de proyecto
Monitorización y control de proyectos
2 GESTIONADO Gestión y acuerdo con suministradores
Medición y análisis
Gestión de la calidad de procesos y productos
Gestión de la configuración
1 INICIAL
15
Modelos formales: CMMI
Gestión de la configuración
Gestión de la calidad de procesos y productos
Desarrollo de requisitos
Gestión de requisitos
Soluciones técnicas
INGENIERÍA Integración de producto
Verificación
Validación
16
Modelos formales: CMMI
Componentes requeridos
Objetivo genérico
Los objetivos genéricos asociados a un nivel de capacidad establecen lo que una organización debe
alcanzar en ese nivel de capacidad.
El logro de cada uno de esos objetivos en un área de proceso significa mejorar el control en la
ejecución del área de proceso
Objetivo específico
Los objetivos específicos se aplican a una única área de proceso y localizan las particularidades que
describen que se debe implementar para satisfacer el propósito del área de proceso
17
Modelos formales: CMMI
Componentes informativos
Propósito
Notas introductorias
Referencias
Las referencias son indicadores de otras áreas de proceso relacionadas que pueden aportar
información adicional o más detallada
Nombres
Tablas de relaciones práctica-objetivo
Prácticas
18
Modelos formales: CMMI
19
Modelos formales: CMMI
Área de proceso
Propósito
Objetivos genéricos
Referencias
20
Modelos formales: CMMI
Practicas especificas
Nombres 21
Modelos formales: CMMI
Productos de
trabajo
Subpracticas
Elaboraciones
22
Modelos formales: CMMI
Áreas de proceso
23
Modelos formales: CMMI
Áreas de proceso
Gestión de proyecto
Las áreas de procesos de gestión de proyectos cubren las actividades relacionadas con la
planificación, monitorización y control del proyecto.
24
Modelos formales: ISO/IEC 15504
Estructura
Conceptos
P1 P9
y guía de Vocabulario
introducción
P7
P8 P6
Guía Guia para det. Guia de
para mejora capacidad de capacitación de
de procesos proveedores evaluadores
Realización
Guía de
de
P3 evaluación P4
evaluación
26
Modelos formales: ISO/IEC 15504
Características
Marco para métodos de evaluación, no es un método o modelo en sí.
Comprende:
Evaluación de procesos
Mejora de procesos
Determinación de capacidad
Alineado con ISO/IEC 12207 Information Technology Software Life Cycle
Processes
Dimensiones del modelo
Dimensión de proceso
Caracterizada por las declaraciones del propósito de un proceso,
que son objetivos esenciales mensurables de un proceso.
27
Modelos formales: ISO/IEC 15504
Características
Dimensión de proceso
Procesos organizacionales
MAN: Gestión
ORG: Organización
28
Modelos formales: ISO/IEC 15504
Dimensión de proceso
29
Modelos formales: ISO/IEC 15504
Dimensión de proceso
ENG: Ingeniería
30
Modelos formales: ISO/IEC 15504
Dimensión de proceso
SUP: Soporte
La categoría SUP está formada por procesos que dan soporte al resto de
procesos (incluidos los SUP), en distintos puntos del ciclo de vida del
software.
SUP.1 Proceso de documentación
SUP.2 Proceso de gestión de configuración
SUP.3 Proceso de aseguramiento de calidad
SUP.4 Proceso de verificación
SUP.5 Proceso de validación
SUP.6 Proceso de revisión conjunta
SUP.7 Proceso de auditoría
31
Modelos formales: ISO/IEC 15504
Dimensión de proceso
MAN: Gestión
32
Modelos formales: ISO/IEC 15504
Dimensión de proceso
ORG: Organización
La categoría ORG está formada por procesos que establecen los objetivos
de negocio de la organización.
ORG.1 Proceso de alineación organizacional.
ORG.2 Proceso de mejora
ORG.2.1 Proceso de definición de proceso.
ORG.2.2 Proceso de evaluación de proceso.
ORG.2.3 Proceso de mejora de proceso.
ORG.3 Proceso de gestión de RR.HH.
ORG.4 Proceso de infraestructura
ORG.5 Proceso de medición
ORG.6 Proceso de reutilización
33
Modelos formales: ISO/IEC 15504
Dimensión de proceso
Componentes de proceso
Identificador
Identifica la categoría del proceso y el nº de secuencia en la categoría.
Distingue entre procesos de primer y segundo nivel.
Nombre
Frase descriptivo del contenido del proceso
Tipo
Hay 5 tipos de proceso. 3 de primer nivel (básico, extendido y nuevo) y 2 de
segundo nivel (componente, componente extendido)
Propósito
Párrafo que establece el propósito del proceso indicando los objetivos
globales de su ejecución.
Salidas
Lista de resultados observables de la implementación exitosa del proceso
Notas
34
Modelos formales: ISO/IEC 15504
Dimensión de capacidad
35
Modelos formales: ISO/IEC 15504
Dimensión de capacidad
Dimensión de capacidad
Medición de atributos
Los atributos de un proceso se evalúan con N (Not), P (Partially), L
(Largely) y F (Fully), siendo:
No alcanzado (0% a 15%).
N Escasa o ninguna evidencia de la consecución del atributo.
38
Manifiesto ágil (2001)
Agilidad y procesos
40
Agilidad y procesos
42
3.- Modelos ágiles
43
Modelos ágiles
Adaptaciones
para softw.
1997
TickIT
Modelos y estándares
1991
ISO 9000-3
de calidad
Modelos específicos
ISO 12207
para software.
1995 TR 15504 2003-05
Proy. SPICE ISO 15504
1993 Modelos 2001
CMM-SW CMM CMMI
DSDM
Técnicas y métodos
SCRUM
CRYSTAL
XP
ágiles
ASD
PP
ISD
AM
2000
1995 Manifiesto
Ágil
44
Modelos ágiles
Es la metodología más veterana de las auto-denominadas ágiles. Surgió en 1994 de los trabajos de
Jennifer Stapleton, la actual directora del DSDM Consortium.
DSDM es la metodología ágil más próxima a los métodos formales, de hecho la implantación de un
modelo DSDM en una organización la lleva a alcanzar lo que CMM consideraría un nivel 2 de
madurez.
Sin embargo los aspectos que DSDM reprocha a CMM son:
45
eXtreme Programming (XP)
Modelos ágiles
Este es el método que más popularidad ha alcanzado entre las
metodologías ágiles, y posiblemente sea también el más
transgresor de la ortodoxia basada en procesos.
Su creador, Kent Beck fue el alma mater del Manifiesto Ágil.
Extreme Programming (XP) se irgue sobre la suposición de que es
posible desarrollar software de gran calidad a pesar, o incluso
como consecuencia del cambio continuo. Su principal asunción es
que con un poco de planificación, un poco de codificación y unas
pocas pruebas se puede decidir si se está siguiendo un camino
acertado o equivocado, evitando así tener que echar marcha atrás
demasiado tarde.
46
Modelos ágiles
Comunicación
XP pone en comunicación directa y continua a clientes y desarrolladores. El cliente se
integra en el equipo para establecer prioridades y resolver dudas. De esta forma ve el
avance día a día, y es posible ajustar la agenda y las funcionalidades de forma
consecuente
Feedback rápido y continuo
47
Modelos ágiles
Simplicidad
48
eXtreme Programming (XP)
Las 12 prácticas de XP Modelos ágiles
XP no es un modelo de procesos ni un marco de trabajo, sino un
conjunto de 12 prácticas que se complementan unas a otras y deben
implementarse en un entorno de desarrollo cuya cultura se base en
los cuatro valores citados
PRÁCTICAS DE CODIFICACIÓN
1.- Simplicidad de código y de diseño para producir software fácil de modificar.
2.- Reingeniería continua para lograr que el código tenga un diseño óptimo.
3.- Desarrollar estándares de codificación, para comunicar ideas con claridad a través
del código.
4.- Desarrollar un vocabulario común, para comunicar las ideas sobre el código con
claridad.
PRÁCTICAS DE DESARROLLO
1.- Adoptar un método de desarrollo basado en las pruebas para asegurar que el
código se comporta según lo esperado.
2.- Programación por parejas, para incrementar el conocimiento, la experiencia y
las ideas.
3.- Asumir la propiedad colectiva del código, para que todo el equipo sea
responsable de él.
4.- Integración continua, para reducir el impacto de la incorporación de nuevas
funcionalidades.
49
Modelos ágiles
Las 12 prácticas de XP
PRÁCTICAS DE NEGOCIO
50
Scrum
Modelos ágiles
No es propiamente un método o metodología de desarrollo, e implantarlo como
tal resulta insuficiente.
Scrum define métodos de gestión y control para complementar la aplicación de
otros métodos ágiles como XP que, centrados en prácticas de tipo técnico,
carecen de ellas.
Los principios de Scrum son:
Equipos autogestionados.
Una vez dimensionadas las tareas no es posible agregarles
trabajo extra.
Reuniones diarias en las que los miembros del equipo se plantean
3 cuestiones:
¿Qué has hecho desde la última revisión?
¿Qué obstáculos te impiden cumplir la meta?
¿Qué vas a hacer antes de la próxima reunión?
Iteraciones de desarrollo de frecuencia inferior a un mes, al final
de las cuales se presenta el resultado a los externos del equipo de
desarrollo, y se realiza una planificación de la siguiente iteración, guiada
por cliente.
51
Modelos ágiles
Scrum
52
Otros métodos ágiles
Modelos ágiles
Familia de métodos Crystal
La familia de metodologías Crystal ofrece diferentes métodos para
seleccionar el más apropiado para cada proyecto.
Crystal identifica con colores diferentes cada método, y su elección debe ser
consecuencia del tamaño y criticidad del proyecto, de forma que los de
mayor tamaño, o aquellos en los que la presencia de errores o
desbordamiento de agendas implique consecuencias graves, deben adoptar
metodologías más pesadas.
Los métodos Crystal no prescriben prácticas concretas
53
Otros métodos ágiles
Modelos ágiles
PP (Pragmatic Programming)
Pragmatic Programming es la colección de 70 prácticas de programación,
comunes a otros métodos ágiles, cuya aplicación resulta útil para solucionar
los problemas cotidianos
AM (Agile Modeling)
55
Modelos ágiles
56
Modelos ágiles
Aprender de Uso de
Modelo de Disposición al Hitos de
las facilitadores
˜ ˜ ˜ ˜
procesos aprendizaje revisión
experiencias externos
Definir y
Permanecer Evaluación Creación de
Gestión de monitorizar
˜ ˜ ˜ ˜
ágil y esperar continua de una BD de
riesgos disparadores
el cambio riesgos riesgos
de riesgos
˜
Está relacionado
En 2005, el desarrollo del nuevo producto de Microsoft “Visual Studio 2005 Team System” ha
ganerado la evolución de MSF hacia la nueva versión 4.0 con dos líneas paralelas:
Microsoft Solutions Framework (MSF) for Agile Software Development.
Microsoft Solutions Framework (MSF) for CMMI Process Improvement.
57
Modelos ágiles
Desarrollo iterativo.
Gestión de requisitos.
Uso de arquitecturas basadas en componentes.
Uso de técnicas de modelado visual.
Verificación continua de la calidad.
Gestión y control de cambios.
58
Modelos ágiles
59
Modelos ágiles
60
4.- Gestión de proyectos: formal y ágil
61
Gestión de proyectos
Siguiendo un camino inverso, PRINCE2 no nace como asociación, sino como metodología alrededor
de la cual se ha formado un grupo de desarrollo.
62
Gestión de proyectos
Aunque en la actualidad también comparten esta visión, también en este caso el origen de PRINCE2
fue el contrario: su desarrollo inicial lo llevó a cabo la CCTA (Central Computer and
Telecommunications Agency) del Gobierno Británico, para que sirviera como estándar en los
proyectos de Tecnologías de la Información. Sin embargo, el ámbito de aplicación se fue ampliando
y en su revisión de 1996 se le dio cobertura global para los proyectos de todas las industrias.
63
Gestión de proyectos
Los 12 principios del Manifiesto Ágil (v. agilidad y procesos) plantean principios que pueden resultar
viables para los proyectos de software de determinadas características, pero que se apartan de los
métodos formales de gestíón.
64
Gestión de proyectos
Características
Scrum es un modelo ágil no centrado en prácticas de programación (como XP p. ej.), sino en
prácticas de gestión. Por eso puede y suele combinarse Scrum junto con otro de prácticas técnicas.
RUP.
Rational Unified Process es un proceso iterativo para desarrollo de software creado por Rational
Software (IBM).
MSF es un marco de desarrollo que define procesos, principios, modelos, disciplinas, conceptos y
prácticas contrastadas por Microsoft.
No son modelos de procesos sino marcos de trabajo adaptables a las circunstancias de las
organizaciones de los proyectos.
65
Gestión de proyectos
La gestión formal se asienta sobre la dirección del proyecto sobre un plan general con visibilidad y
ámbito de certidumbre hasta el final del proyecto.
La planificación de la gestión ágil es informal (algunos modelos llegan a prohibir el uso de diagramas
de Gannt), y solo cubre el ciclo de software que se está elaborando (generalmente 1 mes).
La gestión formal hace hincapié en la necesidad de conocer con el mayor detalle los requisitos desde
el principio para dar rigor al plan del proyecto.
La gestión ágil
66
Gestión de proyectos
Desavenencias
Trabajo
Trabajo yy gestión
gestión guiada
guiada por
por un
un plan
plan general
general del
del La
La planificación
planificación del
del trabajo
trabajo sólo
sólo comprende
comprende elel ciclo
ciclo
proyecto
proyecto que
que comprende
comprende todo
todo su
su ciclo
ciclo de
de en
en el que se está trabajando
trabajando (normalmente
(normalmente 3030
desarrollo.
desarrollo. días).
días). Algunos
Algunos modelos
modelos ágiles
ágiles prohíben
prohíben el
el uso
uso de
de
gráficos
gráficos de
de Gantt
Gantt
Conocimiento
Conocimiento detallado
detallado de
de los
los requisitos
requisitos antes
antes de
de Descubrimiento
Descubrimiento progresivo
progresivo de
de requisitos,
requisitos, ee
comenzar
comenzar el
el diseño
diseño del
del proyecto incorporación
incorporación de cambios en cualquier iteración del
desarrollo
desarrollo
“Hacerlo
“Hacerlo bien
bien aa la
la primera”.
primera”. “Refactorización”
“Refactorización” de código como modelo
modelo dede
Evitar
Evitar la
la re-codificación
re-codificación yy el
el re-trabajo
re-trabajo que
que supone
supone trabajo compatible con el punto anterior.
trabajo compatible con el punto anterior.
una
una pérdida
pérdida de
de eficiencia.
Comunicación
Comunicación formal
formal según
según el
el plan
plan de
de Comunicación
Comunicación directa
directa entre
entre los
los integrantes
integrantes del
del
comunicación del
comunicación del proyecto equipo
equipo (incluidos cliente
cliente y usuarios) prefiriendo
y usuarios) prefiriendo la
la
verbal
verbal directa.
directa.
Gestión
Gestión de
de equipos
equipos yy personas
personas centralizada
centralizada en
en el Equipos
Equipos auto-gestionados.
auto-gestionados.
gestor
gestor del
del proyecto
proyecto
67
Gestión de proyectos
Incompatibilidades
Desarrollo
Desarrollo de
de sistemas
sistemas innovadores,
innovadores, en entornos no Desarrollo
Desarrollo de
de sistemas
sistemas poco
poco innovadores
innovadores enen
conocidos
conocidos en los que no resulta posible conocer los entornos
entornos conocidos
conocidos en loslos que
que resulta
resulta posible
posible
requisitos
requisitos con
con detalle
detalle al
al empezar,
empezar, y elel grado
grado dede conocer
conocer con
con detalle
detalle los
los requisitos
requisitos desde
desde el
el principio.
principio.
inestabilidad
inestabilidad de
de requisitos
requisitos resulta
resulta elevado.
elevado. Sin
Sin la
la La
La gestión
gestión ágil
ágil conlleva ciclos de prototipado
comunicación
comunicación yy revisión
revisión próxima
próxima del
del cliente
cliente yy con
con evolutivo
evolutivo cuando
cuando resultarían
resultarían más eficientes
modelos
modelos formales de gestión
gestión de
de requisitos
requisitos peligra
peligra el
el modelos
modelos dede cascada.
cascada.
presupuesto
presupuesto yy la
la calidad
calidad del
del proyecto.
proyecto.
Equipos
Equipos pequeños
pequeños en
en entornos
entornos yy mercados
mercados ágiles
ágiles Equipos
Equipos grandes,
grandes, físicamente
físicamente dispersos
dispersos (verificación
(verificación
en
en los
los que
que el
el tiempo
tiempo de
de salida
salida al
al mercado
mercado es
es independiente,
independiente, varios
varios representantes
representantes de
de los
los
importante.
importante. Los
Los modelos
modelos formales
formales implican
implican intereses
intereses de
de cliente:
cliente: sponsor,
sponsor, usuarios
usuarios
formalidades
formalidades que
que aportan
aportan muy
muy pocos
pocos beneficios
beneficios aa departamentales,
departamentales, varios
varios proveedores
proveedores trabajando en
este
este tipo
tipo de
de proyectos.
proyectos. el
el proyecto, etc.). Sin un nivel formal de
comunicación
comunicación yy coordinación
coordinación se
se incrementan los
riesgos
riesgos del
del proyecto.
proyecto.
Contratos
Contratos centrados
centrados en
en “producto”
“producto” con
con
funcionalidades,
funcionalidades, costes y fecha de entrega
cerrados.
cerrados. Sin
Sin conocer
conocer con
con certeza
certeza los requisitos y
sin
sin hacer
hacer una
una planificación global
global sobre
sobre ellos
ellos no
no es
es
posible
posible hacer
hacer ningún
ningún cálculo
cálculo fiable.
fiable.
68
Gestión formal de proyectos
IDENTIFICACIÓN
ANÁLISIS
TRATAMIENTO
Plan de gestión
de riesgos
69
Gestión formal de proyectos
Cau CONSECUENCIA
sa
CONSECUENCIA consecuencia
Desbordamiento
costes
Más horas
Incumplimiento
Requis
fechas
itos
crecie
ntes Más errores
peor calidad
Presión equipo
Desmotivación
menor eficiencia
70
Gestión formal de proyectos
Verificación
Verificación // validación
validación de
de
Desbordamiento
Desbordamiento de
de costes
costes requisitos
requisitos yy diseño
diseño
Verificación
Verificación // validación
validación
Errores
Errores en
en los
los productos
productos pruebas
pruebas enen el
el desarrollo
desarrollo
Procesos
Procesos de
de desarrollo
desarrollo Desarrollo
Desarrollo sobre
sobre procesos
procesos
incontrolados
incontrolados definidos
definidos
Gestión
Gestión de
de la
la configuración
configuración
Producto
Producto incontrolado
incontrolado SQA
SQA
Normalización
Normalización document.
document.
Problemas
Problemas de
de comunicación Comunicación,
Comunicación, resolución
resolución prob.
IMPLICADOS EN EL PROYECTO
COMPROMETIDOS EN EL PROYECTO Marketing
Dueño del producto Comercial
Equipo Etc.
Scrum Master
72