Professional Documents
Culture Documents
Tabla de contenido
Prlogo
Derechos
1.- Introduccin a la ingeniera del software
2.- Ciclo de vida
3.- Requisitos
4.- Anlisis y diseo
5.- Documentacin de usuario
6.- Verificacin y validacin
7.- Mantenimiento
8.- Gestin de la configuracin
Prlogo
Derechos
9.- Ingeniera de procesos del software
10.- Agilidad y procesos.
11.- Modelos formales: CMMI
12.- Modelos formales: ISO / IEC 15504
13.- Modelos giles
14.- Gestin de proyectos
14.1.- Gestin formal de proyectos
14.2.- Gestin gil de proyectos: Scrum
15.- Gestin de organizaciones de Software
Prlogo
CIS ofrece una visin prctica y sinptica de la Ingeniera del Software.
El formato de exposicin que emplea resulta adecuado para foros que requieren una exposicin
didctica de la Ingeniera del Software, o de alguna de sus reas (requisitos, CMMI, etc.) de
carcter ejecutivo o general, sin entrar en la densidad del libro especializado:
Etc.
Este no es un trabajo completo, y por su carcter general no pretende cubrir todos los modelos,
tcnicas o lneas de trabajo de la Ingeniera del Software, sino las ms relevante y las que mayor
repercusin o uso tienen en la industria del desarrollo y mantenimiento de software.
Si resulta posible, en futuras revisiones se incluirn temas que por razones de tiempo y prioridad
an se han quedado fuera (DSDM, mtricas, estimaciones, etc.). Tambin en ellas se revisarn los
contenidos actuales.
Qu es un proceso?
ACTIVIDAD 1
TAREA 1
TAREA X
ACTIVIDAD n
TAREA 1
INICIO
PLAN
Tareas, agenda,
asignaciones
ACT
Problemas y acciones
correctivas
PROCESO
DO
Ejecicin de planes
y tareas
CHECK
Evaluacin y
medicin
FIN
7
Diagramas de flujo: Tcnica para especificar los detalles de un proceso en trminos de actividades, tareas,
entradas, salidas, condiciones.
UML...
10
PDCA
IDEALSM
Modelos genricos
Basados en ciclos de
mejora continua
Tienen similitudes
ISO 9004:2000
11
PDCA
PLAN
DO
Identificar el problema
Analizar el problema
Desarrollar soluciones
Implementar una solucin
CHECK
ACT
12
IDEAL
Fase Inicial
Fase de Diagnstico
Fase de establecimiento
Fase de accin
Fase de aprendizaje
13
1.
Examine
needs
Organizations
needs
Quantified
results
Instituc.
gains
7. Sustain
gains
Confirmed
improvements
8. Monitor
perform.
Scope
2. Initiate
improv.
Preliminary
plan
ent
m
s
s
sse est
a
e
R
u
req
3.
Conduct
assess.
6. Confirm
improv.
Improvements
5.
Implement
improv.
Results
4. Plan
improv.
Action
plan
14
Establecer
infraestructura
Planificar
implementacin y
cambio de
procesos
Base
Experiencia
Evaluacin del
proceso
Anlisis cualitativo
Implementacin y
cambio
Implementacin y
cambio de
procesos
Medicin
Anlisis cualitativo
Implementacin y cambio
15
DEFINICIN
MEDICIN
ANLISIS
IMPLEMENTACIN Y CAMBIO
16
CARACTERIZAR
EVALUAR
PREDECIR
MEJORAR
17
SALIDAS
PROCESO
(resultado)
CONTEXTO
18
Qu medir
La forma de identificar qu medir y cmo hacerlo ms eficiente es basndose en los objetivos del
proceso (goal-oriented / goal driven)
1)
2)
19
Paradigmas
ANALTICO/A
ANLISIS COMPARATIVO
(Benchmarking)
Evidencias cuantitativas
de la necesidad de mejoras
y del xito de iniciativas
de mejoras
Comparacin con
organizacin excelente en
un campo y documentar sus
practicas y herramientas
20
ENTENDER
CONSOLIDAR
REVISAR
Ejemplos:
ISO 9001
2 arquitecturas generales con distintas asunciones en cuanto al orden en el que medir los
procesos: continua y escalonada
22
OBJETIVO
REQUISITO
MTRICA
INDICADOR
23
Objetivos
negocio
Qu tengo que
conseguir?
Qu quiero
conocer?
Indicador
24
Entidad 1
Entidad 2
...
Entidad Financiera
Fabricantes de
coches
Establecimiento
hotelero
Fiabilidad
Sin averas
Rapidez
26
G1
G2
Q1
I1
Q2
I2
M1
Q3
I3
M2
I4
M3
27
28
29
Agilidad y procesos
Manifiesto gil (2001)
Origen de los mtodos giles
En marzo de 2001, 17 crticos de estos modelos, convocados por Kent Beck, que acababa de definir
una nueva metodologa denominada Extreme Programming, se reunieron en Salt Lake City para
discutir sobre los modelos de desarrollo de software.
En la reunin se acu el trmino Mtodos giles para definir a aquellos que estaban surgiendo
como alternativa a las metodologas formales, (CMM-SW, PMI, SPICE) a las que consideraban
excesivamente pesadas y rgidas por su carcter normativo y fuerte dependencia de
planificaciones detalladas, previas al desarrollo.
Los integrantes de la reunin resumieron en cuatro postulados lo que ha quedado denominado
como Manifiesto gil, que compendia el espritu en el que se basan estos mtodos.
Aunque como se ver ms adelante, en la actualidad hay aproximaciones que combinan lo mejor de
ambos enfoques (formal y gil), hasta 2005, en cada lado sus defensores adoptaron posturas
radicales, quiz ms ocupadas en descalificar a la contraria que en estudiarla y conocerla para
mejorar la propia.
30
Agilidad y procesos
Manifiesto gil (2001)
por encima
por encima
de la documentacin exhaustiva
por encima
la negociacin contractual
La respuesta al cambio
por encima
seguimiento de un plan
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew
Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
http://agilemanifesto.org/
31
Agilidad y procesos
12 principios del manifiesto gil
4.- Las personas del negocio y los desarrolladores deben trabajar juntos de forma
cotidiana a travs del proyecto.
32
Agilidad y procesos
12 principios del manifiesto gil
33
Agilidad y procesos
12 principios del manifiesto gil
34
Agilidad y procesos
Visin simplificada de modelos formales y giles
Tcnicas y mtodos
giles
Adaptaciones
para softw.
TickIT
1991
ISO 9000-3
Trillium
1959
1979
1987
MIL-Q 9858
BS 5750
ISO 9000
Modelos especficos
para software.
Modelos y estndares
formales de calidad
Modelos genricos
Bootstrap
1995
ISO 12207
1995
Proy. SPICE
1993
CMM-SW
TR 15504
2003-05
ISO 15504
Modelos
CMM
2001
CMMI
DSDM
SCRUM
CRYSTAL
XP
ASD
PP
ISD
AM
1995
2000
Manifiesto
gil
35
36
37
38
KPMG
Lockheed Martin
Motorola
Northrop Grumman
Pacific Bell
Q-Labs
Raytheon
Reuters
Rockwell Collins
SAIC
Software Productivity Consortium
Sverdrup Corporation
TeraQuest
Thomson CSF
TRW
39
Modelo combinado
System Engineering/Software
Engineering
Aplicable:
Continua o escalonada?
objetivos
La representacin continua centra su actuacin en la
CAPACIDAD DE LOS PROCESOS
La representacin escalonada centra su actuacin en la
MADUREZ DE LA ORGANIZACIN
40
Software CMM--Escalonado
SECM--Continuo
IPD CMM--Hbrido
41
Escalonado
Continuo
Capacidad
ML5
ML4
ML3
ML2
ML 1
PA
PA
PA
. . .para un conjunto de
reas de proceso establecido
42
ML5
ML4
ML3
ML2
ML 1
43
0 Incompleto
1 Ejecutado
2 Gestionado
3 Definido
4 Gestin cuantificada
5 Optimizado
44
Capacidad
Proceso no ejecutado
Area
Proceso 1
Area
Proceso 2
Area
Proceso 3
Area
Proceso n
Procesos
45
1 Inicial
2 Gestionado
3 Definido
4 Gestionado cuantitativamente
5 Optimizado
46
Centrado en la mejora de
procesos
Gestionado
cuantitativamente
Proceso medido
y controlado
Definido
3
Proceso caracterizado
para la organizacin y
proactivo
Gestionado
2
Proceso caracterizado
para los proyectos y a
menudo reactivo
Inicial
1
47
48
REAS DE PROCESO
Innovacin y desarrollo
3 DEFINIDO
Integracin de producto
2 GESTIONADO
1 INICIAL
49
REAS DE PROCESO
Planificacin de proyecto
Monitorizacin y control de proyecto
Gestin y acuerdo con proveedores
GESTIN DE PROYECTOS
Gestin de la configuracin
Gestin de la calidad de procesos y productos
SOPORTE
Medicin y anlisis
Anlisis y resolucin de decisiones
Anlisis y resolucin de problemas
Desarrollo de requisitos
Gestin de requisitos
INGENIERA
Soluciones tcnicas
Integracin de producto
Verificacin
Validacin
Definicin de los procesos de la organizacin
GESTIN DE PROCESOS
50
Componentes requeridos
Objetivo genrico
Los objetivos genricos asociados a un nivel de capacidad establecen lo que una organizacin 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
ejecucin del rea de proceso
Objetivo especfico
Los objetivos especficos se aplican a una nica rea de proceso y localizan las particularidades que
describen que se debe implementar para satisfacer el propsito del rea de proceso
51
Prctica genrica
Una practica genrica se aplica a cualquier rea de proceso porque puede mejorar el
funcionamiento y el control de cualquier proceso.
Prctica especfica
Una practica especfica es una actividad que se considera importante en la realizacin del objetivo
especifico al cual est asociado.
Las prcticas especficas describen las actividades esperadas para lograr la meta especfica de un
rea de proceso.
Componentes informativos
Propsito
Notas introductorias
Referencias
Las referencias son indicadores de otras reas de proceso relacionadas que pueden aportar
informacin adicional o ms detallada
Nombres
Tablas de relaciones prctica-objetivo
Prcticas
52
Propsito
Notas introductorias
Referencias
Las referencias son indicadores de otras reas de proceso relacionadas que pueden aportar
informacin adicional o ms detallada
Nombres
Tablas de relaciones prctica-objetivo
Prcticas
Productos tpicos
Subprcticas
Una subpractica es una descripcin detallada que sirve como gua para la interpretacin de una
practica genrica o especifica
Ampliaciones de disciplina
Las ampliaciones contienen informacin relevante de una disciplina particular y relacionada con una
practica especifica.
Elaboraciones de prcticas genricas
Una elaboracin de una practica genrica es una gua de cmo la practica genrica debe aplicarse al
rea de proceso.
53
Objetivos especficos
Objetivos genricos
Referencias
54
Practicas especificas
Nombres
55
Practicas genericas
Productos de
trabajo
Subpracticas
Elaboraciones
56
57
58
PMC
Acciones
Correctivas
Que
controlar
Replanificar
Acciones
Correctivas
Que construir
Estado,
cuestiones,
resultados de
progreso y
revisiones de
hitos
PP
Que hacer
reas de proceso
Soporte e Ingeniera
Planes
SAM
Necesidades de medicin
Acuerdos
Proveedor
Proveedor
Establecer
Estimaciones
Datos
Planificacin
Desarrollar Plan
de Proyecto
Obtener
Compromisos
con el Plan
Planes de
Proyecto
PMC
60
Monitorizar
Riesgos
Monitorizar
Compromisos
Monitorizar
Implicacin
Stakeholder
Monitorizar
Gestin
Datos
Conducir
Revisiones
Conducir
Revisiones
de Progreso
Gestionar
Acciones Correctivas
Analizar
Cuestiones
Tomar
Acciones
correctivas
Gestionar
Acciones
correctivas
PP
Planes de Proyecto
61
Seleccionar
Proveedores
Establecer
Acuerdos
Lista de productos
Requisitos Proveedor
Producto
Satisfacer
Acuerdos
Proveedor
Revisar
Productos
COTS
Acuerdo Proveedor
Ejecutar
Acuerdos
Aceptar
Producto
Transicin
Productos
62
63
REQM
Requisitos
TS
RD
Componentes
Producto
PI
Producto
CLIENTE
Requisitos
VER
VAL
Gestin de Requisitos
Entender
los
Requisitos
Obtener
compromisos
a Requisitos
Requisitos
Identificar
Inconsistencias
entre
Proyecto y
Requisitos
Mantener
Trazabilidad
Requisitos
Gestionar
Cambios
Requisitos
Matriz
Trazabilidad
65
Desarrollar
Requisitos
del Cliente
Desarrollar
Requisitos
del Producto
Requisitos
Cliente
Requisitos
Producto
Analizar y
Validar
Requisitos
Requisitos
Validados
66
Requisitos
Validados
Seleccionar
Soluciones
Producto-Comp.
Desarrollar
Diseo
Diseos alternativos
y Criterios de evaluacin
Implementar
Producto
Producto
Entregado
67
DAR
Preparar Integracin
Producto
Plan
Integracin
Garantizar
Interfaces
Compatibles
Assemblies
Solucin
Tcnica
Subassemblies
Ensamblar
Comp. Producto y
Entregar Producto
68
Preparar para
Verificacin
Ejecutar
Peer Reviews
Plan
Verificacin
Verificar Productos
Seleccionados
Acciones
Correctivas
69
- Requisitos Cliente
- Requisitos Producto
- Productos
- Validacin de Requisitos
Validar Producto o
Componentes Producto
Preparar para
Validacin
-Conformidad
-Deficiencias
70
Gestin de la configuracin
Gestin de la calidad de procesos y productos
Medicin y anlisis
Anlisis y resolucin de decisiones
Anlisis y resolucin de problemas
71
Calidad y no
conformidades
Medidas,
anlisis
Todas las reas de proceso
MA
Informacin
necesaria
PPQA
Procesos y
resultados;
estndares y
procedimientos
Elementos de
configuracin;
peticiones de
cambio
Lneas base;
informes de auditoria
CM
72
Sistema
Gestin
Configuracin
Establecer
Lneas
Base
Estado
BBDD
Peticiones
de cambio
Peticiones
de cambio
Establecer
Integridad
Resultados
Auditoria
Elementos
Accin
Productos
trabajo
Evaluacin
Objetiva
Procesos
Evaluacin
Objetiva
P. Trabajo
y Servicios
Informes y Registros
Proporcionar entendimiento objetivo
Comunicar
y Garantizar
Resolucin de
No Conformidades
Establecer
Registros
74
Objetivos Medicin
Personal
Medicin
Repositorio
Medicin
Procedimientos,
Herramientas
Indicadores Medicin
75
76
Senior
Management
Formacin en
procesos
Objetivos
Negocio
OT
Necesidades
Formacin
Procesos
Estndares y
Propios
OPF
Recursos y
Coordinacin
Propsitos de mejora de
procesos; Participacin
en definir, evaluar, y
desarrollar procesos
OPD
Procesos
Estndares
y Propios
reas de proceso de
gestin de proyecto,
soporte e ingeniera
Informacin de mejora
(e.j., lessons learned, datos)
77
78
mbito de aplicacin
P1
P9
Vocabulario
P7
P8
Gua
para mejora
de procesos
P3
Realizacin
de
evaluacin
Modelo de ref.
para procesos
y capacidad
P2
P6
Gua de
evaluacin
Modelo de
evaluacin
y gua de indic.
Guia de
capacitacin de
evaluadores
P4
P5
80
Dimensin de proceso
Caracterizada por las declaraciones del propsito de un proceso, que son objetivos esenciales
mensurables de un proceso.
81
Procesos de soporte
Procesos primarios
CUS: Cliente Proveedor
SUP: Soporte
ENG: Ingeniera
Procesos organizacionales
MAN: Gestin
ORG: Organizacin
82
83
84
85
86
87
Identificador
Identifica la categora del proceso y el n de secuencia en la categora. 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 (bsico, extendido y nuevo) y 2 de segundo nivel (componente,
componente extendido)
Propsito
Prrafo que establece el propsito del proceso indicando los objetivos globales de su ejecucin.
Salidas
Lista de resultados observables de la implementacin exitosa del proceso
Notas
88
89
PA 4.1 Medicin
90
91
92
Modelos giles
Ubicacin en el panorama general de modelos y procesos
Tcnicas y mtodos
giles
Adaptaciones
para softw.
TickIT
1991
ISO 9000-3
Trillium
1959
1979
1987
MIL-Q 9858
BS 5750
ISO 9000
Modelos especficos
para software.
Modelos y estndares
de calidad
Modelos genricos
Bootstrap
1995
ISO 12207
1995
Proy. SPICE
1993
CMM-SW
TR 15504
2003-05
ISO 15504
Modelos
CMM
2001
CMMI
DSDM
SCRUM
CRYSTAL
XP
ASD
PP
ISD
AM
1995
2000
Manifiesto
gil
93
Modelos giles
DSDM: Dynamic Systems Development Method
Es la metodologa ms veterana de las auto-denominadas giles. Surgi en 1994 de los trabajos de
Jennifer Stapleton, la actual directora del DSDM Consortium.
DSDM es la metodologa gil ms prxima a los mtodos formales, de hecho la implantacin de un
modelo DSDM en una organizacin la lleva a alcanzar lo que CMM considerara un nivel 2 de
madurez.
Sin embargo los aspectos que DSDM reprocha a CMM son:
Aunque es cierto que se ha desarrollado con xito en algunas organizaciones, lo que funciona bien
en unos entornos no tiene por qu servir para todos.
CMM plantea un foco excesivo en los procesos, olvidando la importancia que en nuestra industria
tiene el talento de las personas.
En comn con los mtodos giles, DSDM considera imprescindible una implicacin y una relacin
estrecha con el cliente durante el desarrollo, as como la necesidad de trabajar con mtodos de
desarrollo incremental y entregas evolutivas.
DSDM cubre los aspectos de gestin de proyectos, desarrollo de los sistemas, soporte y
mantenimiento y se autodefine como un marco de trabajo para desarrollo rpido ms que como un
mtodo especfico para el desarrollo de sistemas.
94
Modelos giles
eXtreme Programming (XP)
Este es el mtodo que ms popularidad ha alcanzado entre las metodologas giles, y posiblemente
sea tambin el ms 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 suposicin de que es posible desarrollar software de
gran calidad a pesar, o incluso como consecuencia del cambio continuo. Su principal asuncin es que
con un poco de planificacin, un poco de codificacin y unas pocas pruebas se puede decidir si se
est siguiendo un camino acertado o equivocado, evitando as tener que echar marcha atrs
demasiado tarde.
FEEDBACK
CORAJE
COMUNICACIN
95
Modelos giles
eXtreme Programming (XP)
Comunicacin
XP pone en comunicacin 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 da a da, y es
posible ajustar la agenda y las funcionalidades de forma consecuente
96
Modelos giles
eXtreme Programming (XP)
Simplicidad
La simplicidad consiste en desarrollar slo el sistema que realmente se necesita. Implica resolver en
cada momento slo las necesidades actuales.
Los costes y la complejidad de predecir el futuro son muy elevados, y la mejor forma de acertar es
esperar al futuro.
Con este principio de simplicidad, junto con la comunicacin y el feedback resulta ms fcil conocer
las necesidades reales
Coraje
El coraje implica saber tomar decisiones difciles. Reparar un error cuando se detecta. Mejorar el
cdigo siempre que tras el feedback y las sucesivas iteraciones se manifieste susceptible de mejora.
Tratar rpidamente con el cliente los desajustes de agendas para decidir qu partes y cundo se van
a entregar.
97
Modelos giles
eXtreme Programming (XP)
Las 12 prcticas de XP
XP no es un modelo de procesos ni un marco de trabajo, sino un conjunto de 12 prcticas
que se complementan unas a otras y deben implementarse en un entorno de desarrollo
cuya cultura se base en los cuatro valores citados
PRCTICAS DE CODIFICACIN
1.- Simplicidad de cdigo y de diseo para producir software fcil de modificar.
2.- Reingeniera continua para lograr que el cdigo tenga un diseo ptimo.
3.- Desarrollar estndares de codificacin, para comunicar ideas con claridad a travs del cdigo.
4.- Desarrollar un vocabulario comn, para comunicar las ideas sobre el cdigo con claridad.
PRCTICAS DE DESARROLLO
1.- Adoptar un mtodo de desarrollo basado en las pruebas para asegurar que el cdigo se
comporta segn lo esperado.
2.- Programacin por parejas, para incrementar el conocimiento, la experiencia y las ideas.
3.- Asumir la propiedad colectiva del cdigo, para que todo el equipo sea responsable de l.
4.- Integracin continua, para reducir el impacto de la incorporacin de nuevas funcionalidades.
98
Modelos giles
eXtreme Programming (XP)
Las 12 prcticas de XP
PRCTICAS DE NEGOCIO
1.- Integracin de un representante del cliente en el equipo, para encauzar las cuestiones de
negocio del sistema de forma directa, sin retrasos o prdidas por intermediacin.
2.- Adoptar el juego de la planificacin para centrar en la agenda el trabajo ms importante.
3.- Entregas regulares y frecuentes para satisfacer la inversin del cliente.
4.- Ritmo de trabajo sostenible, para terminar la jornada cansado pero no agotado.
99
Modelos giles
Scrum
No es propiamente un mtodo o metodologa de desarrollo, e implantarlo como tal resulta
insuficiente.
Scrum define mtodos de gestin y control para complementar la aplicacin de otros mtodos giles
como XP que, centrados en prcticas de tipo tcnico, 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:
100
Modelos giles
Scrum
101
Modelos giles
Otros mtodos giles
Familia de mtodos Crystal
La familia de metodologas Crystal ofrece diferentes mtodos para seleccionar el ms apropiado para
cada proyecto.
Crystal identifica con colores diferentes cada mtodo, y su eleccin debe ser consecuencia del
tamao y criticidad del proyecto, de forma que los de mayor tamao, o aquellos en los que la
presencia de errores o desbordamiento de agendas implique consecuencias graves, deben adoptar
metodologas ms pesadas.
Los mtodos Crystal no prescriben prcticas concretas
102
Modelos giles
Otros mtodos giles
PP (Pragmatic Programming)
Pragmatic Programming es la coleccin de 70 prcticas de programacin, comunes a otros mtodos
giles, cuya aplicacin resulta til para solucionar los problemas cotidianos
AM (Agile Modeling)
Agile Modeling es la presentacin de un nuevo enfoque para realizar el modelado de
sistemas,(diseo) y basado en los principios de los mtodos giles remarca la conveniencia de
reducir el volumen de la documentacin.
Modelos giles
Modelos de propiedad Comercial: MSF
MSF es la metodologa empleada por Microsoft para el desarrollo de software.
Hasta su versin 3 (principios de 2005) MSF se defina como un marco de desarrollo flexible para
adaptarse a las necesidades de cada proyecto, en oposicin a lo que sera una metodologa
prescriptiva; porque parte de la base de que no hay una estructura de procesos ptima para las
necesidades de todos los entornos de desarrollo posibles.
El marco MSF se asienta sobre unos Principios Fundamentales que definen la cultura del entorno
de desarrollo:
104
Modelos giles
Modelos de propiedad Comercial: MSF
Elementos que componen el modelo
Principios fundamentales
Modelos
Disciplinas
Conceptos clave
Prcticas contrastadas
Recomendaciones
Principios bsicos en los que se basa todo el modelo (los 8 de la pg. ant.)
105
Modelos giles
Modelos de propiedad Comercial: MSF
Relacin entre los componentes del modelo
Este diagrama es un ejemplo para mostrar la interconexin y relacin entre los componentes de
Microsoft Solutions Framework
Principio
Modelo o
Concepto
Prctica
Fundamental
Disciplina
Clave
Contrastada
Aprender de
las
experiencias
Modelo de
procesos
Disposicin al
aprendizaje
Hitos de
revisin
Permanecer
gil y esperar
el cambio
Gestin de
riesgos
Evaluacin
continua de
riesgos
Definir y
monitorizar
disparadores
de riesgos
Recomendac.
Uso de
facilitadores
externos
Creacin de
una BD de
riesgos
Est relacionado
En 2005, el desarrollo del nuevo producto de Microsoft Visual Studio 2005 Team System ha
ganerado la evolucin de MSF hacia la nueva versin 4.0 con dos lneas paralelas:
Modelos giles
Modelos de propiedad Comercial: RUP
Rational Unified Process
Es un proceso de Ingeniera del Software que proporciona una visin disciplinada para la asignacin
de tareas y responsabilidades en las organizaciones de desarrollo de software.
RUP es un modelo-producto desarrollado y mantenido por Racional Software, integrado en su
conjunto de herramientas de desarrollo, y distribuido por IBM.
RUP integra un conjunto de buenas prcticas para el desarrollo de software en un marco de
procesos vlido para un rango amplio de tipos de proyectos y organizaciones.
Desarrollo iterativo.
Gestin de requisitos.
Uso de arquitecturas basadas en componentes.
Uso de tcnicas de modelado visual.
Verificacin continua de la calidad.
Gestin y control de cambios.
107
Modelos giles
Modelos de propiedad Comercial: RUP
Rational Unified Process: Visin esttica
En su visin esttica, el modelo RUP est compuesto por:
Actividades: RUP determina el trabajo de cada rol a travs de actividades. Cada actividad
del proyecto debe tener un propsito claro, y se asigna a un rol especfico. Las actividades
pueden tener duracin de horas o de algunos das; y son elementos base de planificacin y
progreso.
Artefactos: Son los elementos de entrada y salida de las actividades. Son productos
tangibles del proyecto. Las cosas que el proyecto produce o usa para componer el producto
final (modelos, documentos, cdigo, ejecutables)
Disciplinas: son contenedores empleados para organizar las actividades del proceso. RUP
comprende 6 disciplinas tcnicas y 3 de soporte.
Tcnicas: modelado del negocio, requisitos, anlisis y diseo, implementacin, pruebas y
desarrollo.
Soprte: gestin de proyecto, gestin de configuracin y cambio, y entorno.
108
Modelos giles
Modelos de propiedad Comercial: RUP
Rational Unified Process: Visin dinmica
En su visin dinmica, la visin de la estructura del ciclo de vida RUP se basa en un desarrollo
iterativo, jalonado por hitos para revisar el avance y planear la continuidad o los posibles cambios de
rumbo.
Cuatro son las fases que dividen el ciclo de vida de un proyecto RUP:
1.- Inicio. Es la fase de la idea, de la visin inicial de producto, su alcance. El esbozo de una
arquitectura posible y las primeras estimaciones. Concluye con el hito de objetivo.
3.- Construccin. Desarrollo del producto hasta que se encuentra disponible para su
entrega a los usuarios. Termina con el hito del inicio de la capacidad operativa.
4.- Transicin. Traspaso del producto a los usuarios. Incluye: manufactura, envo,
formacin, asistencia y el mantenimiento hasta lograr la satisfaccin de los usuarios.
Termina con el hito de entrega del producto.
109
110
Gestin de proyectos
Cmo gestionar los proyectos de software
Referentes de la gestin formal de proyectos
Las principales referencias de la gestin formal de proyectos son las asociaciones:
PMI (Project Management Institute)
IPMA (International Project Management Association)
Y la metodologa:
PRINCE2 (Projects in Controlled Environments)
IPMA se constituy en 1965, PMI lo hizo en 1969, y PRINCE2 se comenz a desarrollar en 1989.
Siguiendo un camino inverso, PRINCE2 no nace como asociacin, sino como metodologa alrededor
de la cual se ha formado un grupo de desarrollo.
Gestin formal de proyectos
111
Gestin de proyectos
Cmo gestionar los proyectos de software
Referentes de la gestin formal de proyectos
mbito global de la gestin formal
PMI E IPMA defienden que la gestin de proyectos comprende un cuerpo de conocimiento que debe
ser profesionalizado, y que resulta vlido y aplicable a los proyectos de cualquier industria:
construccin, qumica, aeroespacial, TI, etc.
Aunque en la actualidad tambin comparten esta visin, tambin 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 Britnico, para que sirviera como estndar en los
proyectos de Tecnologas de la Informacin. Sin embargo, el mbito de aplicacin se fue ampliando
y en su revisin de 1996 se le dio cobertura global para los proyectos de todas las industrias.
112
Gestin de proyectos
Cmo gestionar los proyectos de software
Objeciones a la gestin formal de proyectos
Los modelos giles para el desarrollo de software plantean objeciones a la teora de la gestin
formal de proyectos.
113
Gestin de proyectos
Cmo gestionar los proyectos de software
Referentes de la gestin gil de proyectos
Las principales referencias de la gestin gil de proyectos son:
Scrum
Rational Unified Process (RUP)
Microsoft Solutions Framework (MSF)
Caractersticas
Scrum es un modelo gil no centrado en prcticas de programacin (como XP p. ej.), sino en
prcticas de gestin. Por eso puede y suele combinarse Scrum junto con otro de prcticas tcnicas.
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
prcticas contrastadas por Microsoft.
No son modelos de procesos sino marcos de trabajo adaptables a las circunstancias de las
organizaciones de los proyectos.
Gestin gil de proyectos
114
Gestin de proyectos
Cmo gestionar los proyectos de software
Fundamentos de la cultura gil con problemas de encaje en
la gestin formal de proyectos
Entrega temprana de software operativo.
Trabajo con incertidumbre de requisitos, y apertura constante a cambios en los mismos.
Entregas frecuentes de funcionalidades operativas.
Preferencia de la comunicacin verbal sobre otros medios.
Infravaloracin de mtricas tericas y formales, considerando como vlida el software que
funciona.
Auto-organizacin de equipos.
La gestin formal se asienta sobre la direccin del proyecto sobre un plan general con visibilidad y
mbito de certidumbre hasta el final del proyecto.
La planificacin de la gestin 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 gestin 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 gestin gil
115
Gestin de proyectos
Desavenencias
Gestin formal
Gestin gil
Equipos auto-gestionados.
116
Gestin de proyectos
Incompatibilidades
Gestin formal
Gestin gil
117
118
119
Producto nico
120
Gestin de agenda
Inicio
Planificacin del mbito
Definicin del mbito
Verificacin del mbito
Control de cambio del mbito
Definicin de la actividad
Secuencia de la actividad
Estimacin de tiempos
Desarrollo de la agenda
Control de la agenda
Plan de recursos
Estimacin de costes
Presupuesto
Control de costes
Plan de calidad
Aseguramiento de la calidad
Control de calidad
Plan de organizacin
Incorporacin de personas
Desarrollo del equipo
Gestin de riesgos
delproyecto
Gestin de compras
Plan de comunicaciones
Distribucin de la informacin
Informes de eficiencia
Cierre administrativo
Plan de riesgos
Identificacin de riesgos
Anlisis cuantitativo de riesgos
Anlisis cualitativo de riesgos
Plan de exposicin de riesgos
Monitorizacin y control de ries.
Plan de necesidades
Plan de compras
Compras
Seleccin de proveedores
Contratacin administrativa
Cierre de contrato
Gestin de costes
Fuente: PMBOK
121
Gestin de
proyectos
Gestin y
Negocio del
administracin
proyecto
122
Diseo Web
Desarrollo Web
Anlisis
Integracin
Diseo Admin
Implantacin
Desarrollo Admin
124
Optimizacin
Conceptos clave para la optimizacin del proyecto
Paso adelante
Paso atrs
Ruta crtica
Reasignacin de recursos
125
126
127
128
129
Actividades crticas
Actividades que estn en la ruta crtica y que no tienen demora permisible. Sus retrasos afectan al proyecto
130
131
132
133
Recomendaciones
134
GESTIN DE RIESGOS
Gestin de riesgos
IDENTIFICACIN
ANLISIS
TRATAMIENTO
Plan de gestin
de riesgos
consecuencia
CONSECUENCIA
Causa
consecuencia
CONSECUENCIA
CONSECUENCIA
Ms horas
consecuencia
Desbordamiento
costes
Incumplimiento
fechas
Requisitos
crecientes
Presin equipo
Ms errores
peor calidad
Desmotivacin
menor eficiencia
136
SOLUCIN TIPO
Desbordamiento de costes
Verificacin / validacin de
requisitos y diseo
Verificacin / validacin
pruebas en el desarrollo
Procesos de desarrollo
incontrolados
Producto incontrolado
Gestin de la configuracin
SQA
Problemas de comunicacin
Normalizacin document.
Comunicacin, resolucin prob.
riesgos polticos
Requisitos: inconsistencias, TBDs, crecientes
Tcnicos: requisitos de rendimiento, seguridad, plataforma tecnolgica
Calidad: deficiencias en las prcticas de desarrollo
Logsticos: mantenibilidad, operacin, disponibilidad (el impacto se produce
cuando el sistema est en uso.
Despliegue: integracin, instalacin, distribucin
Agenda
Coste
Calidad
Operacin
138
RED DE ACTIVIDAD:
F
(2)
C
(3)
A
(1)
(1)
B
(6)
(1)
(1)
G
(5)
I
(2)
K
(1)
L
(1)
10
139
Riesgos de requisitos
Las principales causas de riesgo por los requisitos son:
Requisitos incorrectos
Requisitos incompletos
Requisitos inconsistentes
Requisitos de dificultad imprevista
Requisitos imposibles
Requisitos ambiguos
Volatilidad
140
Probabilidad
Impacto
El anlisis de los riesgos es una tarea de ejecucin cclica que debe realizarse y revisarse
peridicamente de forma adecuada a las caractersticas del proyecto.
El resultado del anlisis se plasma en un registro de los riesgos con la identificacin de su
descripcin y caractersticas, con apoyo de herramientas para su consulta, revisin, priorizacin,
etc.
141
142
143
En 1996 se defini por primera vez un patrn para aplicar esos principios de
desarrollo en campos de scrum al software.
Esta fue la primera definicin de un patrn Scrum aplicado al software, diseada por
Jeff Sutherland y Ken Schwaber y presentada en OOPSLA 96
144
Roles
Scrum tiene una estructura muy simple. Todas las responsabilidades del proyecto se
reparten en 3 roles:
145
146
Equipo
Responsable de transformar el Backlog de la iteracin en un incremento de la
funcionalidad del software
Auto-gestionado
Auto-organizado
Multi-funcional
Scrum Master
Responsable del proceso Scrum
IMPLICADOS EN EL PROYECTO
Marketing
Comercial
Etc.
148
Sprint Backlog
Nueva funcionalidad
Product Backlog
seleccionado
Product Backlog
Requisitos priorizados
Visin:
ROI versiones
hitos
Fuente: Agile Project Management with Scrum
Ken Schwaber
149
150
151
152
2 0.2 2,4
2,4
3 0.2 3,6
3,6
1 0.2 1,2
1,2
1 0.2 1,2
1,2
2 0.2 2,4
2,4
5 0.2
1 0.2 1,2
1,2
18
18
Product Backlog
ID
Complejidad
Estim. ajustada
Estimacin inicial
Product Backlog
Trabajo pendiente
Sprint
Elemento
SPRINT 1
15
2 0.2 1,2
1,2
1,2
3 0,2 3,6
3,6
3,6
10
[Contina].
153
154
155
Reunin diaria
Reunin retrospectiva
156
Las gallinas no pueden intervenir ni distraer, y el Scrum Master puede limitar el nmero
de gallinas asistentes si lo considera oportuno.
Qu trabajo has realizado desde la ltima reunin?
Qu tienes previsto para hoy?
Qu necesitas?
157
158
159
160
Incumplimiento de fechas
Modificaciones de requisitos
Costes desbordados
Presin en el desarrollo
Funcionalidades inadecuadas
Etc.
El software es as?
161
Amplitud de mercado
Economa de escala en su produccin
Distribucin
Maleabilidad y desarrollo incremental
Segn como afrontan las organizaciones el desarrollo del software, ste puede
comportarse como factor de riesgo o amenaza para el negocio; o por el contrario
como una poderosa oportunidad de negocio.
162
163
Repetibilidad de resultados. Al conseguir que la calidad del resultado sea consecuencia del
proceso, producir aplicando el mismo proceso garantiza la homogeneidad de los resultados.
Mejora continua. Al aplicar meta-procesos que trabajan sobre los propios procesos de
produccin, midiendo y analizando los resultados se obtienen los criterios de gestin necesarios
para aplicar medidas que mejoran de forma continua la eficiencia y calidad de los procesos
base, y por tanto de los resultados.
Un know-how propio, consiguiendo finalmente una empresa que sabe hacer, porque su
modelo de procesos termina conteniendo un activo valioso de la organizacin: la clave para
hacer las cosas bien, con eficiencia y de forma homognea.
164
PERSONAS
PROCESOS
TECNOLOGA
165
Personas + tecnologa
Produccin heroica
La realidad de los procesos es cierta, pero en el tringulo personas - procesos - tecnologa cada
elemento acta con un peso especfico, diferente en funcin del tipo de produccin, e incluso de
las caractersticas de personalidad de cada empresa.
Cada sector y cada empresa, ms que importar una metodologa estndar sacada del manual del
perfecto consultor, debe comenzar por el gnosce te ipsum, y a partir de ah analizar y descubrir la
potencia de cada uno de los tres elementos de la produccin para componer el diseo de un
sistema de produccin a su medida.
166
Capital
Procesos
Tecnologa
Humano
Modelo de
produccin
Personas
Artesana
Ubicacin del
conocimiento - valor
Factores del
sistema de produccin
Estructural
Produccin heroica
Produccin industrial
Conocimiento
explcito
Conocimiento
tcito
167
Todas las industrias necesitan ambos tipos de capitales para elaborar los productos o servicios de
su negocio, pero la relevancia con la que cada uno de ellos puede influir en el resultado final es
muy diferente de unas empresas a otras.
Es frecuente que para las empresas dedicadas a la fabricacin de productos el componente
estructural sea ms crtico que para las dedicadas a los servicios, en las que el elemento humano
tiene ms relevancia.
Pero este no es un principio universal, y dentro de la misma industria o del mismo sector, la
estrategia y la tctica de cada empresa tambin influyen en los niveles de relevancia que van a
tener el capital humano y el estructural.
168
Valor aportado
en la produccin
Tecnologa
Personas
Valor que se
podra aportar
La obsesin por la excelencia mal entendida, lleva a muchos gestores a centrar sus esfuerzos en la
incorporacin de modelos o tcnicas, bien de procesos, bien de recursos humanos o de innovacin
tecnolgica; o de todos a la vez sin los criterios adecuados.
169
El software
170
El mayor o menor grado de xito en la calidad y eficiencia en el desarrollo de software depende del
equilibrio que se consiga al conjugar los siguientes factores:
171
Tamao
Contractuales
Las caractersticas del proyecto quiz la funcionalidad alcanzada en cada versin, as como la
precisin en el cumplimiento de las fechas puede ser poco trascendente o vital para el
negocio del cliente.
172
173
Equilibrio personas-procesos-tecnologa
174
Personalidad de la organizacin
Esta es la referencia final con la que deben alinearse y sincronizarse todas las variables
que operan juntas para lograr los objetivos
Gestin sistmica
Conducir la gestin desde la visin de la organizacin
Revisin y adaptacin
El mercado, el entorno tecnolgico y la misma base de conocimiento de nuestra
industria estn en continua evolucin. Es necesario vigilar el entorno e innovar.
176
Juan Palacio
jpalacio@navegapolis.net
http://www.navegapolis.net