BIBLIOTECAS DEL TECNOLÓGICO DE MONTERREY
PUBLICACIÓN DE TRABAJOS DE GRADO
Las Bibliotecas del Sistema Tecnológico de Monterrey son depositarias de los trabajos recepcionales y de grado que generan sus egresados. De esta manera, con el objeto de preservarlos y salvaguardarlos como parte del acervo bibliográfico del Tecnológico de Monterrey se ha generado una copia de las tesis en versión electrónica del tradicional formato impreso, con base en la Ley Federal del Derecho de Autor (LFDA).
Es importante señalar que las tesis no se divulgan ni están a disposición pública con fines de comercialización o lucro y que su control y organización únicamente se realiza en los Campus de origen.
Cabe mencionar, que la Colección de Documentos Tec, donde se encuentran las tesis, tesinas y
disertaciones doctorales, únicamente pueden ser consultables en pantalla por la comunidad del Tecnológico de Monterrey a través de Biblioteca Digital, cuyo acceso requiere cuenta y clave de acceso, para asegurar el uso restringido de dicha comunidad.
El Tecnológico de Monterrey informa a través de este medio a todos los egresados que tengan alguna inconformidad o comentario por la publicación de su trabajo de grado en la sección Colección de
Documentos Tec del Tecnológico de Monterrey deberán notificarlo por escrito a http://biblioteca.itesm.mx
Control de Cambios en Requerimientos de Software durante las
Fases de DesarrolloEdición Única
Title Control de Cambios en Requerimientos de Software durante las Fases de DesarrolloEdición Única Authors Ignacio Alonso Martínez Cárdenas
Affiliation Tecnológico de Monterrey, Universidad Virtual Issue Date 19961201
Item type Tesis
Rights Open Access
Downloaded 18Jan2017 20:19:17
CONTROL DE CAMBIOS EN REQUERIMIENTOS DE SOFTWARE
DURANTE LAS FASES DE DESARROLLO
TESIS
MAESTRÍA EN ADMINISTRACIÓN DE SISTEMAS DE INFORMACIÓN
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY
POR:
IGNACIO ALONSO MARTÍNEZ CÁRDENAS
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES
DE MONTERREY
PROGRAMA DE GRADUADOS EN INGENIERÍA Y TECNOLOGÍAS
UNIVERSIDAD VIRTUAL DEL ITESM
Los miembros del comité de tesis recomendamos que la presente tesis del ingeniero Ignacio Alonso Martínez Cárdenas sea aceptada como requisito parcial para obtener el grado académico de Maestro en Ciencias, espe-cialidad en;
ADMINISTRACIÓN DE SISTEMAS DE INFORMACIÓN
Comité de tesis:
José Raúl Pérez Cázarez, PhD
SINODALMaría Esperanza Garza, MC
SINODALMa. del Socorro Marcos de Khan, PhD
Directora del Programas de Graduados
en Ingeniería y Tecnologías
de la Universidad Virtual del ITESM
CONTROL DE CAMBIOS EN REQUERIMIENTOS DE SOFTWARE
DURANTE LAS FASES DE DESARROLLO
POR:
IGNACIO ALONSO MARTÍNEZ CÁRDENAS
TESIS
Presentada al Programa de Graduados en Ingeniería y
Tecnologías de la Universidad Virtual
Este trabajo es Requisito Parcial
Para Obtener el Título de
Maestro en Ciencias
o
Maestro en Administración de Sistemas de Información
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES
DE MONTERREY
Índice
1 Introducción 2
1.1 Descripción del problema 5
1.2 Preguntas 7 1.3 Descripción del Contenido 7
2 Revisión Bibliográfica 9
2.1 Requerimientos 9 2.2 Especificación de Requerimientos 11
2.3 Control de Cambios 16
3 Método y Procedimiento 26
3.1 Objetos 26 3.2 Procedimiento 39
4 Resultados 55
5 Resumen y Conclusiones 66
A Apéndices 70
A1 De la Empresa 70 A2 Modelo de Madurez (CMM) 73
A3 Bitácora de Cambios 78 A4 Plan de Configuración 81
A5 Experiencia 84
B Bibliografía 86
LISTA DE FIGURAS
Figura 1 SEL, Distribución de Errores por Origen 4
Figura 2 Ciclo de vida típico de un producto de software 6
Figura 3 Divisiones del Manejo de Configuración 17
Figura 4 Escala de Implantación 19
Figura 5 Flujo del proceso de Control de Cambios 21
Figura 6 Modelo de Diseńo de Cascada (ciclo de vida) 29
Figura 7 Modelo de Diseńo (cascada) Usado por Ambos Proyectos . . 30
Figura 8 Estructura de Proyectos 31
Figura 9 Concepto de MCI en P8 Am 46
Figura 10 Niveles de Madurez de Proceso 74
[image:9.612.105.535.155.490.2]Dedicado a:
Mi esposa Catalina por su paciencia,
A Nachito por su admiración,
Las mejores prácticas programáticas (de "software") son inútiles si éstas, están enfocadas a desarrollar las funcio-nes equivocadas. -Nacho.
Puente Tacoma Narrows
1 I N T R O D U C C I Ó N
L o s s i s t e m a s de programática, (de aquí e n a d e l a n t e referi d o c o m o software i n d i s t i n t a m e n t e ) se e n f o c a n a s a t i s f a c e r u n a n e c e s i d a d p e r c i b i d a p o r u n c l i e n t e . P o r l o t a n t o , c u a n d o h a b l a m o s d e r e q u e r i m i e n t o s de software, s o b r e e n t e n d e m o s l a n a t u r a l e z a f u n d a m e n t a l de estos, i.e. l a de c a p t u r a r e s a s n e c e s i d a d e s e x p r e s a d a s p o r e l c l i e n t e / u s u a r i o , s i n e m b a r g o , p o c o r e c o n o c e m o s , d e s u precisión y d e f e c t i b i l i d a d r e a l y m e n o s d e l a s p e c t o dinámico q u e h o y día h a n a d q u i r i d o .
L o s r e q u e r i m i e n t o s de software h a n e v o l u c i o n a d o a l a p a r de l a informática, s i n o e n l a compactación y l a v e l o c i d a d , sí e n l a c o m p l e j i d a d y e l v o l u m e n . C a s i t o d o s r e c o r d a m o s n u e s t r o s p r i m e r o s p r o g r a m a s : prácticamente l o s r e q u e r i m i e n t o s se c o n vertían e n código, y e l u s u a r i o g e n e r a l m e n t e se c o n f o r m a b a c o n q u e e l s i s t e m a h i c i e r a algo m u y p a r e c i d o a l o d i c h o v e r b a l m e n t e p o r e l diseńador (nosotros) y e l u s u a r i o .
E n a q u e l e n t o n c e s , h a b l a r de p r o g r a m a s fuente e r a h a b l a r prácticamente d e l "sistema", y éste p o r l o g e n e r a l se c o n t e nía e n a l g u n o s c i e n t o s de líneas de código. H o y , l o s s i s t e m a s p o s e e n l a v e r s a t i l i d a d y g r a d o de i n t e l i g e n c i a q u e l o s f u e r z a i n h e r e n t e m e n t e a " e x p a n d i r s e " geométricamente e n c o m p l e j i d a d .
Simultáneamente, e l m a n e j o de r e q u e r i m i e n t o s h a e v o l u c i o n a d o . S u elaboración, recopilación, c o n t r o l , documentación y r a s t r e o se h a n v u e l t o u n a d i s c i p l i n a i n g e n i e r i l .
se c o n v i e r t e e n u n a h a b i l i d a d n e c e s a r i a p a r a l a s u p e r v i v e n c i a . A q u e l l a s e m p r e s a s q u e n o se h a n p o d i d o a d a p t a r a l c a m b i o , es p e c i a l m e n t e e n l a s fases de d e s a r r o l l o o construcción, se están j u g a n d o u n a c a r t a p e l i g r o s a p a r a s u s u b s i s t e n c i a .
A n t e s , e l c l i e n t e podía e s p e r a r a q u e e l s i s t e m a f u e r a c o m p l e t o , p r o b a d o y reconocía q u e e l s i s t e m a sería d e p u r a d o (léase corregido) a lo l a r g o de l a s fases i n i c i a l e s de operación. E s o e r a p o s i b l e , p o r q u e c o n t a d a s firmas tenían el p o d e r y c o n o c i m i e n t o p a r a d e s a r r o l l a r esos "complejos" s i s t e m a s . H o y , e l c l i e n t e c u e n t a c o n u n a v a s t a v a r i e d a d de proveedores , q u e están d i s p u e s t o s a p o n e r e n s u s m a n o s , c a l i d a d m u n d i a l , p r e c i o y t i e m p o de e n t r e g a s i n m a y o r e s objeciones. Así, u n a e m p r e s a d e s a r r o l l a d o r a d e software e s t a o b l i g a d a p o r l a s c i r c u n s t a n c i a s a p r o v e e r s o l u c i o n e s p r e c i s a s , rápidas y l i m p i a s m e j o r q u e e l resto.
L o s p r o y e c t o s a c t u a l e s de software están afectados p o r e l a m b i e n t e e x t e r n o . U n p r o y e c t o h o y e n día se ve i m p a c t a d o p o r l o q u e s u c e d e e n e l e x t e r i o r y de n o a c e p t a r c o n t r o l a d a m e n t e e s o s c a m b i o s estratégicos p a r a l a v e n t a de u n p r o d u c t o , p u e d e p e r d e r o p c i o n e s de v e n t a .
C a b e p r e c i s a r q u e estos c a m b i o s d e b e n a s i m i l a r s e y v i t a l i z a r l o s p r o y e c t o s y n o e n f e r m a r o c o r r o m p e r l o s . E s decir, l o s c a m b i o s d e b e n v e r s e c o m o p o s i b i l i d a d e s de m e j o r a y n o c o m o d e t r a c t o r e s de éxito.
E n l a s i g u i e n t e figura (ver F i g u r a 1. e n pág. 4) t o m a d a d e l S o f t w a r e E n g i n e e r i n g L a b o r a t o r y1
de l a N A S A [ S E L , 1995] pode m o s e x t r a p o l a r e l m i s m o p r o b l e m a , e n otros p r o y e c t o s se soft w a r e , d o n d e l o s r e s u l t a d o s s o n s i m i l a r e s e n c u a n t o a l costo de u n m a l c o n t r o l de r e q u e r i m i e n t o s , pero s o b r e todo de s u s c a m b i o s . L a figura p r e t e n d e ser u n ejemplo i l u s t r a t i v o s o l a m e n t e .
O r i g e n d e E r r o r e s
Figura 1. SEL, Distribución de Errores por Origen
1. El "software Engineering Laboratory (SEL) es una organización patrocinada por el Goddard Space Flight Center de N A S A y fue creado en 1976 para investigar la efectividad de las tecnologías de software en proyec tos de desarrollo de software.
[image:14.612.50.510.264.515.2]1.1 Descripción del problema
E n m i c a r r e r a p r o f e s i o n a l h e s i d o diseńador, i n v e s t i g a d o r d e r e q u e r i m i e n t o s y p r o b a d o r de software, s i n e m b a r g o , d o n d e m a y o r s a t i s f a c c i o n e s y l e c c i o n e s h e a p r e n d i d o es, c o m o líder de p r o y e c t o .
E n b a s e a m i e x p e r i e n c i a c o m o líder de p r o y e c t o s de soft w a r e (ver Apéndice T a b l a 3. e n pág. 78) y lo q u e c o n o z c o de c o n t r o l de c a m b i o s o b s e r v o q u e u n o de l o s p r o b l e m a s q u e f r e c u e n t e m e n t e se p a s a n p o r alto e n l o s p r o y e c t o s de d e s a r r o l l o , y n o p o r f a l t a de r e c o n o c i m i e n t o , s i n o c o m o de u n d e s l i z a m i e n t o g r a d u a l de l a i m p o r t a n c i a , es el c o n t r o l de l o s c a m b i o s e n l o s re q u e r i m i e n t o s d u r a n t e l a s fase de d e s a r r o l l o de u n p r o d u c t o de s o f t w a r e .
P o r u n l a d o , e n l o s p r o y e c t o s d o n d e n o existe t a l c o n t r o l , e l l o g r o de e s t o s c a m b i o s reside n e t a m e n t e e n l a h a b i l i d a d a d m i n i s t r a t i v a p e r s o n a l de l o s diseńadores o d e l líder d e l p r o y e c t o . P o r otro, e n a q u e l l o s p r o y e c t o s d o n d e existe e l c o n t r o l de c a m b i o s , este d e p e n d e de l a o b j e t i v i d a d y c r i t e r i o d e l líder de c a m b i o s .
E n t o n c e s decidí p a r a e l objeto de e s t a tesis, a b o r d a r e l p r o b l e m a de cómo r e a l i z a r este c o n t r o l de c a m b i o s e n p r o y e c t o s d e d e s a r r o l l o de u n a m a n e r a pragmática y r e a l , e n c i m a de l o s p r o c e s o s y a p r e e s t a b l e c i d o s , e x c l u y e n d o a q u e l l o s c a m b i o s a n t e r i o r e s o u l t e r i o r e s a l d e s a r r o l l o , t o d a v e z q u e e s t o s c a e n e n l a de finición y e s t a b l e c i m i e n t o de n u e v o s p r o y e c t o s o d e l m a n t e n i m i e n t o p r o p i o d e l p r o d u c t o .
d u c t o i.e. l a d e l d e s a r r o l l o . V e r área s o m b r e a d a e n l a F i g u r a 2.
e n pág.
6.
[image:16.612.200.414.274.640.2]E s t a s r e c o m e n d a c i o n e s l a s p u s e e n práctica e n d o s p r o y e c t o s r e c i e n t e s . E l p r i m e r p r o y e c t o fue l a p r i m e r a v e z q u e se p u s o e n f u n c i o n a m i e n t o , y e n e l s e g u n d o se c o r r i g i e r o n o m e j o r a r o n l a s a c c i o n e s q u e n o p u d i e r o n a d e c u a d a m e n t e e j e c u t a r s e e n e l p r i m e r o .
N o es q u e n o e x i s t a n e n e l m e r c a d o b a s t a s y c o m p l e j a s h e r r a m i e n t a s p a r a r e a l i z a r este trabajo, n o es q u e e l c o n c e p t o s e a n o v e d o s o e n s i , t o d a v e z q u e d i s t i n t o s estándares h a c e n h i n capié e n e l d e b i d o c o n t r o l . S i n e m b a r g o y p a r a f r a s e a n d o a T o m d e M a r c o [Peopleware, 1987]:
Los mayores problemas de nuestro trabajo no son tanto
tecnológicos como sociológicos en
principio-E l c o n t r o l de c a m b i o s e n r e q u e r i m i e n t o s e n t o n c e s se c o m p l i c a , p o r l a f a l t a de u n p r o c e s o i n g e n i e r i l , l a falta de a d r e n a l i n a e i n g e n i o d e l líder, ó d e l agobio p o r l a e x c e s i v a b u r o c r a c i a e n e l p r o c e s o m i s m o , y p o r lo t a n t o , c o m p r o m e t e e l éxito de l o s p r o y e c t o s .
1.2 Preguntas
żCómo c o n t r o l a r los c a m b i o s de m a n e r a efectiva d u r a n t e l a e t a p a de d e s a r r o l l o de l o s p r o d u c t o s de software, m i n i m i z a n d o c o n esto e l efecto negativo q u e estos causarían de n o c o n t r o l a r s e ? .
ż Q u é r e c o m e n d a c i o n e s prácticas p u e d e u n líder de p r o y e c t o o b t e n e r de l a p r e s e n t e ?
1.3 Descripción del Contenido
Capitulo 2. Revisión bibliográfica. Donde se exponen los pun tas y temas conocidos.
Capítulo 3. Donde se describen los casos y el procedimiento practicado
Capitulo 4. Donde se describen con detalle los resultados de cada caso y se plantean los resultados generales de ambos. Capitulo 5. Donde se resumen y concluyen las observaciones,
2 R E V I S I Ó N B I B L I O G R Á F I C A
L a s n e c e s i d a d e s d e l c l i e n t e p u e d e n s e r f o r m u l a d a s a t r a vés d e r e q u e r i m i e n t o ( s ) escritos(s). E s t o s r e q u e r i m i e n t o s p u e d e n
s e r e l a b o r a d o s c o n j u n t a m e n t e e n t r e el c l i e n t e y l o s diseńadores d e ese software.
E n t o n c e s , se p r e s u m e d i r e c t a m e n t e , q u e e l éxito de u n s i s t e m a p u e d e s e r m e d i d o , p o r qué t a n b i e n l o s r e q u e r i m i e n t o s r e f l e j a n l a s n e c e s i d a d e s d e l c l i e n t e y qué t a n b i e n l a s n e c e s i d a d e s p e r c i b i d a s p o r e l c l i e n t e reflejan l a s n e c e s i d a d e s r e a l e s y p o r qué t a n b i e n éste c u b r e tales d e m a n d a s .
L o s objetivos de este capítulo serán a q u e l l o s de d e f i n i r l o q u e se e n t i e n d e p o r " r e q u e r i m i e n t o s " , l a s diferentes c l a s e s , l o q u e se e n t i e n d e p o r u n a "especificación de r e q u e r i m i e n t o " y p o r " c o n t r o l d e c a m b i o s " .
2.1 Requerimientos
Requirement:
(1) A c o n d i t i o n o r c a p a b i l i t y n e e d e d b y a u s e r to solve a p r o b l e m o r a c h i e v e a n objective.
(2) A c o n d i t i o n o r c a p a b i l i t y t h a t m u s t b e m e t o r p o s s e s s e d b y a s y s t e m o r s y s t e m c o m p o n e n t s to satisfy a c o n t r a c t , s t a n d a r d , s p e c i f i c a t i o n , o r o t h e r f o r m a l l y i m p o s e d d o c u m e n t s .
(3) A d o c u m e n t e d r e p r e s e n t a t i o n o f a c o n d i t i o n o r c a p a b i l i t y a s i n (1) o r (2).
E s t a s 3 d e f i n i c i o n e s c o n t i e n e n (resumen) algo, de l a c u l p a i n d i r e c t a de l a s fallas c o n e l m a n e j o de r e q u e r i m i e n t o s . P o r e j e m p l o , e n l a p r i m e r a (1), solo se h a b l a d e l " u s u a r i o " , m i e n t r a s q u e e l "cliente" h a s i d o e x c l u i d o , y éste debe a l a p a r o c o n m a y o r p r i o r i d a d s e r c o n s i d e r a d o , t o d a v e z q u e e n l a r e a l i d a d e l d i seńador d e software quizá, n i llegue a c o n o c e r a l u s u a r i o . D o n d e el c l i e n t e es q u i e n n e g o c i a o p a g a y e l u s u a r i o es s o l a m e n t e q u i e n físicamente interactúa c o n e l s i s t e m a , s e a o n o e l p r o p i e t a r i o . A s í q u e n o n e c e s a r i a m e n t e e s t a s d o s p e r s o n a s c o n c u e r d a n e n t r e l o q u e se r e q u i e r e , se facilita o a p o r t a u n s i s t e m a .
2.2 Especificación de Requerimientos
T o m a n d o l a definición d e l "Software E n g i n e e r i n g T e r m i n o l o g y " [ I E E E , 1990].
Requirement Specification:
A d o c u m e n t t h a t specifies the r e q u i r e m e n t s for a s y s t e m o r
c o m p o n e n t . T y p i c a l l y i n c l u d e d are f u n c t i o n a l r e q u i r e m e n t s , p e r f o r m a n c e r e q u i r e m e n t s , d e s i g n r e q u i r e m e n t s , i n t e r f a c e r e q u i r e m e n t s a n d d e v e l o p m e n t s t a n d a r d s .
E n s u s e n t i d o más a m p l i o , l a especificación de u n a e n t i d a d es: l a descripción de e s a e n t i d a d .
E n l a mayoría de l o s c a s o s u n a especificación será u n a descripción de l o s a t r i b u t o s q u e s o n "relevantes" a l u s o i n t e n c i o n a d o de l a especificación. S e d i s t i n g u e n d o s t i p o s de e s p e c i f i c a c i o n e s p o r e l u s o q u e se les p r e t e n d a d a r :
D e s c r i p t i v a s : A q u e l l a s q u e s i r v e n p a r a e n t e n d e r e s a e n t i d a d .
P r e s c r i p t i v a s : A q u e l l a s q u e s i r v e n p a r a c r e a r u n a e n t i d a d .
E s n a t u r a l u s a r l o s d o s t i p o s de especificación e n l a m i s m a especificación de r e q u e r i m i e n t o s , s i n e m b a r g o e s t a t e s i s se e n f o c a e n e l m a n e j o y c o n t r o l de l o s r e q u e r i m i e n t o s p r e s c r i p t i v o s , p r e c i s a m e n t e p o r l a d i f i c u l t a d de r e p r e s e n t a r y c r e a r algo q u e aún n o existe.
E s t a m i s m a analogía n o s d e s p i e r t a l a imaginación y n o s d e j a rápidamente p r e s e n t i r l a d i f i c u l t a d e s q u e u n d e s a r r o l l o de software n u e v o i m p l i c a , e n oposición a l de u n a m a q u i l a de soft w a r e . Entendiéndose p o r m a q u i l a , a q u e l l a producción e n serie de u n software y a existente, p r o b a d o y r e n t a b l e .
F o c a l i z a n d o e n los r e q u e r i m i e n t o s de software [ I E E E , 1990]:
Software Requirement Specification (SRS):
D o c u m e n t a t i o n of t h e e s s e n t i a l r e q u i r e m e n t s (functions, p e r f o r m a n c e , d e s i g n c o n s t r a i n t s , a n d attributes) of t h e software a n d its e x t e r n a l interfaces.
Así, l o s p r i n c i p a l e s tópicos q u e l o s e s c r i t o r e s de r e q u e r i m i e n t o s (SRS) d e b e n c o n s i d e r a n s o n :
F u n c i o n a l i d a d : żQué se s u p o n e q u e h a c e ?
I n t e r c o n e x i o n e s e x t e r n a s : żQué i n t e r a c c i o n e s tiene c o n h u m a n o s , e q u i p o s periféricos, y otros s i s t e m a s de software?
Desempeńo: V e l o c i d a d y t i e m p o s .
A t r i b u t o s : i n t e r n o s y e x t e r n o s , e.g. s e g u r i d a d , p o r t a b i l i d a d .
L i m i t a c i o n e s : i n t e r n a s y e x t e r n a s , e.g. m e m o r i a , l e n g u a j e .
2.2.1 Características
L a s e s p e c i f i c a c i o n e s de r e q u e r i m i e n t o s de software (SRS) p a r a s e r útiles d e b e n t e n e r l a s s i g u i e n t e s características [ I E E E 8 3 0 1 9 9 3 ; D e B o e r , 1993]:
Correcta
U n a S R S es c o r r e c t a sí y solo sí c a d a r e q u e r i m i e n t o a s e n t a d o , es t a l q u e e l software d e b a c u m p l i r l o .
Clara
U n a especificación debe s e r c o m u n i c a d a . P o r l o t a n t o e l c l i e n t e , e l diseńador, e l e q u i p o de inspección y p r u e b a , e l e q u i p o de a s e g u r a m i e n t o de c a l i d a d , d e b e n t e n e r l a m i s m a i n t e r p r e t a ción. U n a especificación es c l a r a c u a n d o tiene sólo u n a i n t e r p r e tación.
Completa
U n a especificación debe d e s c r i b i r t o d o s l o s a t r i b u t o s rele v a n t e s d e l a e n t i d a d q u e se e s p e c i f i c a . C o m o esto es m u y difícil de c u m p l i r y a q u e t e n d e m o s a sobreespecificar, r e q u e r i m o s l a s i g u i e n t e característica.
Precisa
Consistente
D e b e t e n e r c o n s i s t e n c i a i n t e r n a , i.e. n o d e b e t e n e r c o n t r a d i c c i o n e s d e n t r o de l a m i s m a , n i c o n t r a e s p e c i f i c a c i o n e s s u p e r i o r e s , c o m o p o r ejemplo u n a especificación de s i s t e m a (universo).
C u a n d o u n a especificación p i e r d e l a c o n s i s t e n c i a se re q u i e r e n g r a n d e s i n v e r s i o n e s e n t i e m p o p a r a c l a r i f i c a r y a c o r d a r c o n t o d a s l a s p a r t e s ( u s u a r i o , cliente y diseńador) c u a l e s p e c i f i cación p r e c e d e a c u a l y a q u e de p r i n c i p i o u n a contradicción i n válida a t o d a s l a s e s p e c i f i c a c i o n e s q u e están e n c o n f l i c t o .
Verificable
C o m o l a especificación de r e q u e r i m i e n t o s (SRS) será u t i l i z a d a p a r a v e r i f i c a r q u e e l p r o d u c t o final satisface l o s r e q u e r i m i e n t o s , d e b e e x i s t i r u n p r o c e s o c o n e l c u a l se c o m p r u e b e q u e e l p r o d u c t o c u m p l e c o n l a especificación. U n a especificación es v e r i f i c a b l e sí y s o l o sí c a d a r e q u e r i m i e n t o a s e n t a d o es v e r i f i c a b l e .
E j e m p l o de r e q u e r i m i e n t o s n o v e r i f i c a b l e s s o n a q u e l l o s s u b j e t i v o s c o m o : m u y rápido, a m i g a b l e , b o n i t o .
Utilidad
e l c l i e n t e e n t i e n d a l a s i m p l i c a c i o n e s de l a especificación e l e q u i p o de diseńo, e n t i e n d a l a s i m p l i c a c i o n e s de l a especifi
cación y
q u e h a y a u n a s u a v e transición de l a especificación h a c i a e l d i seńo.
L a u t i l i d a d de u n a especificación n o se m i d e n e c e s a r i a m e n t e e n e l h e c h o de q u e ésta r e s u l t e e n u n diseńo r e a l i n m e d i a t o . E n m u c h a s o c a s i o n e s u n a especificación o s u s m o d i f i c a c i o n e s s o n p r o m o t o r e s de o t r a s e s p e c i f i c a c i o n e s q u e sí se m a t e r i a l i z a n e n diseńos reales o e n p a t e n t e s .
Modificable
U n a especificación debe ser e s c r i t a de t a l m a n e r a q u e p e r m i t a c o n s i d e r a r n u e v a s e n t i d a d e s o l a modificación de l a s e x i s t e n t e s .
T o d o s l o s q u e v i v i m o s diseńando software, quisiéramos q u e e s t a característica n o l a t u v i e r a n , es más, n o creo q u e u n diseńador h a y a s i d o e l p r o m o t o r de e s t a característica...
C u a n d o u n a modificación a u n a especificación es a c e p t a d a , f o r z a d a o i n t r o d u c i d a a u n p r o y e c t o e n p r o c e s o de ejecución, l a s c o n s e c u e n c i a s p u e d e n s e r d e v a s t a d o r a s a m e n o s q u e se lleve u n c o n t r o l p r e c i s o e i n g e n i e r i l de estos c a m b i o s .
2.3 Control de Cambios
No basta saber, sino también aplicar el saber: no basta querer, es preciso obrar. -Goethe.
I m a g i n e m o s p o r u n m o m e n t o q u e se d e s e a c o n s t r u i r u n a c a s a . E s t a o b r a , le es a s i g n a d a a u n a r q u i t e c t o , q u i e n p l a s m a l a s i d e a s d e l c l i e n t e e n u n a serie de p l a n o s ( r e q u e r i m i e n t o s ) . E s t o s p l a n o s p r e t e n d e n reflejar l a s i d e a s e x p u e s t a s p o r e l c l i e n t e . S i t o d o f u e r a i d e a l l a c a s a d e b i e r a c o n s t r u i r s e c o n f o r m e a lo q u e l o s p l a n o s i n d i c a n , centímetro a centímetro.
Qué p a s a c u a n d o a l a m i t a d de l a o b r a l l e g a l a dueńa de l a c a s a y se d a c u e n t a q u e l a iluminación de l a c o c i n a n o es l a a d e c u a d a g r a c i a s a q u e u n m u r o c o m p l e t o e s t o r b a e l p a s o de l a l u z s o l a r ; qué p a s a c u a n d o e l bańo r e q u i e r e m o v e r l o s grifos a u n a a l t u r a q u e l o s nińos a l c a n c e n , c u a n d o y a t o d o e l m o s a i c o e s t a i n s t a l a d o .
I g u a l e n e l software. L o s r e q u e r i m i e n t o s h a c e n l a s v e c e s d e l m a p a , y m i e n t r a s m a s c l a r o s será más fácil r e a l i z a r e l p r o y e c t o , s i n e m b a r g o , u n a serie de e v e n t u a l i d a d e s , m e j o r a s y n u e v a s n e c e s i d a d e s (e.g. de ajuste preciso) p u e d e n f o r z a r u n a
u n a tensión entre l o s diseńadores c u a n d o estos c a m b i o s se r e a l i z a n c o n s t a n t e y c a p r i c h o s a m e n t e2.
E l c o n t r o l de c a m b i o s es u n a p a r t e d e l m a n e j o de c o n f i g u ración (del inglés c o n f i g u r a t i o n m a n a g e m e n t , p o r s i g l a s : C M ) y es p a r a propósitos de e s t a tesis l a p a r t e crítica de m a n e j o de p r o y e c t o s d u r a n t e l a fase de ejecución ( F i g u r a 3. e n pág. 17).
[image:27.612.102.531.439.621.2]E l propósito d e l C M (manejo de configuración) es el m a n t e n e r l a i n t e g r i d a d de l o s p r o d u c t o s (por p r o d u c t o s se e n t i e n d e e l software, h a r d w a r e y firmware, y s u documentación a s o c i a d a ) c o n f o r m e e v o l u c i o n a n d e s d e l a s e s p e c i f i c a c i o n e s , a través d e l d i seńo, d e s a r r o l l o y producción. N o es u n a a c t i v i d a d a i s l a d a , e x i s te p a r a a p o y a r e n e l d e s a r r o l l o y m a n t e n i m i e n t o d e l p r o d u c t o . U n p o b r e m a n e j o de configuración y l o s p r o d u c t o s se perderán; u n C M e x c e s i v o y l a s o r g a n i z a c i o n e s j a m á s entregarán p r o d u c t o s p o r e l e x c e s o de b u r o c r a c i a .
Figura 3. Divisiones del Manejo de Configuración
P e r o , qué es m a n e j o de configuración. T o m a n d o l a des cripción de F l e t c h e r B u c W e y [ I E E E , 1995] de m a n e j o de c o n f i g u ración más c e r c a n a a los fines de e s t a tesis, q u i e n a s u v e z compendió l o s estándares I E E E 6 1 0 (IEEE) y de M I L S T D 9 7 3 ( d e p a r t a m e n t o de l a d e f e n s a de l o s E U A ) :
Configuration management:
E s u n a d i s c i p l i n a que a p l i c a dirección y supervisión técni c a y a d m i n i s t r a t i v a p a r a :
(a) Identificar y documentar características físicas y funcionales de los objetos de configuración (CIs, del inglés configuration item).
(b) Controlar cambios a los objetos y su documentación.
(c) Registro y reporte de la información necesaria para manejar los obje tos (CIs) efectivamente, sus estados y su documentación asociada.
(d) Auditar los objetos para verificar su adherencia a las especificaciones y requerimientos.
E l c o n t r o l de c a m b i o s (del inglés c o n f i g u r a t i o n control) es el t e r c e r m a y o r p r o c e s o i d e n t i f i c a d o p a r a e l m a n e j o de c o n f i g u ración ( F i g u r a 3 . e n pág. 17) y s i lo viéramos e n e l a s p e c t o histó r i c o , ocuparía e l tercero y penúltimo n i v e l e n l a p l a t a f o r m a ( F i g u r a 4 . e n pág. 19).
Figura 4. Escala de Implantación
C o m o p r o c e s o , e l c o n t r o l de c a m b i o s es l a p r o p u e s t a s i s temática, justificación, evaluación, coordinación, aprobación/ desaprobación de t o d o s l o s c a m b i o s después d e l e s t a b l e c i m i e n to f o r m a l de l a configuración.
U n p r o d u c t o p u e d e s e r c a m b i a d o , p o r t r e s r a z o n e s p r i n c i p a l e s :
(a) El producto está en desacuerdo con las especificaciones
(b) Mejoras
E l p r i m e r p a s o e n l a resolución de u n p r o b l e m a es l a i d e n tificación (registro) de éste, y a s e a a través d e u n r e p o r t e d e f a l l a , u n a petición f o r m a l de c a m b i o o m e j o r a ( F i g u r a 5. e n pág. 21).
E s t a s p e t i c i o n e s d e b e n s e r a n a l i z a d a s d e s d e e l p u n t o d e v i s t a d e i m p a c t o s y d o c u m e n t a r l o s p r o s y c o n t r a s e n u n d o c u m e n t o q u e p e r m i t a a l a dirección d e l p r o y e c t o t o m a r d e c i s i o n e s s o b r e e l f u t u r o de esos c a m b i o s . E s t a s p e t i c i o n e s d e b e e s t a r f u n d a m e n t a d a s c o n l o s detalles, d i a g r a m a s e i n d i c a c i o n e s técni c a s l o m a s p r e c i s a s p o s i b l e , además de l o s c o s t o s a p r o y e c t o
(tiempo básicamente) y de s e r p o s i b l e s u g e r i r a l t e r n a t i v a s v i a b l e s , e n o r d e n de p r i o r i d a d , según q u i e n l a s a r g u m e n t a .
Figura 5. Flujo del proceso de Control de Cambios
2.3.1 Eras del Control de Cambios
E n m i opinión S u s a n D a r t [SEI, 1992] n o s d e s c r i b e p e r f e c t a m e n t e l a s t r e s e r a s d e l m a n e j o de c o n f i g u r a c i o n e s (CM) q u e simultánea e implícitamente d e s c r i b e a q u e l l a s d e l c o n t r o l de c a m b i o s ( C C ) :
P a s a d o :
U n p a s a d o d o n d e e l C M e r a u n p r o b l e m a o r g a n i z a c i o n a l p r i v a d o , d o n d e l a s s o l u c i o n e s incluían p r o c e d i m i e n t o s y políti c a s m a n u a l e s , i.e. l a gente contenía l a información de C M e n s u s c a b e z a s o e n u n a r c h i v e r o físico.
P r e s e n t e :
E l p r e s e n t e está c a r a c t e r i z a d o p r i n c i p a l m e n t e p o r a s p e c t o s tecnológicos. E s decir, q u e l a tecnología existente p a r a so p o r t a r e l C M es l i m i t a d a p a r a g r a n d e s a p l i c a c i o n e s y p l a t a f o r m a s m u y específicas, así q u e l a mayoría de l a s g r a n d e s o r g a n i z a c i o n e s c o n s t r u y e n s u s p r o p i o s s i s t e m a s de C M .
F u t u r o :
E l f u t u r o se caracterizará p o r 5 t e m a s p r i n c i p a l e s :
1. Tecnología
Nuevos y más perfectos requerimientos.
2. Orientación a procesos
Se requiere una definición precisa de estos.
La gerencia necesita asistencia para tomar decisiones sobre si adquirir ó ha cer los sistemas de C M .
4. Política
Todo parece indicar que el gobierno Norteamericano eventualmente reque rirá que sus contratistas tengan un cierto nivel (nivel 3 al menos) de C M M (ver Apéndice A2 en pág. 73). De suceder esto, las grandes firmas crearán una barrera para los nuevos entrantes (competidores) que orillaran al resto de las firmas a lograr niveles iguales o mejores.
5. Estandarización
Cada vez se reconoce a C M como un factor importante de estandarización, quizá pronto sea contemplado por organismos internacionales de estandarización.
2.3.2 Herramientas Existentes de Manejo de Configuración ( C M )
Evitando h a b l a r de los diversos productos existentes en el mercado de soporte a u t o m á t i c o de C M , a c o n t i n u a c i ó n se hace u n a e x t r a c c i ó n o r e s u m e n de las c u a l i d a d e s / t ó p i c o s inherentes que poseen el universo de los productos existentes (SEI, D a r t Susan):
E s decir, c a s i todos los productos contienen l a m a y o r í a de las siguientes c a r a c t e r í s t i c a s .
D e p ó s i t o :
Distribución
Permiten a múltiples usuarios tener acceso al depósito.
M a n e j o de c o n t e x t o
Capturan el dominio (conjunto de cualidades del artículo de configuración) para el usuario, eliminando con esto que el usuario recuerde como el objeto obtuvo cierto estado y cuales son todos los artículos, relaciones y herra mientas en ese contexto.
C o n t r a t o
Representan un plan y registro formal de trabajo de cada artículo de confi guración.
Petición d e C a m b i o
Llevan el proceso de cambio en configuraciones y lleva un memoria de es tos cambios.
Modelación
Extraen la noción de una configuración a partir de una instancia de ésta, al describir totalmente la configuración.
Depósito de p a r t e s
Optimizan la necesidad de regenerar estas partes y maximiza la compartición de estas partes (reutilización).
Atribución
M a n t e n i m i e n t o de consistencia
Permiten al sistema identificar inconsistencias.
A r e a de trabajo
Permiten aislamiento del trabajo entre diseńadores y distingue entre partes inmutables (globales) de aquellas áreas de trabajo privadas y provisionales.
T r a n s p a r e n c i a
Permiten un mecanismo de visión de una configuración, desde el depósito principal hacia un área de trabajo con protección contra accesos no autoriza dos.
T r a n s a c c i ó n
3 M É T O D O Y P R O C E D I M I E N T O
3.1 Objetos
L o s objetos u t i l i z a d o s p a r a r e a l i z a r l a investigación s o n : d o s p r o y e c t o s de software de t e l e c o m u n i c a c i o n e s r e a l e s y c o n temporáneos, d e n t r o de u n a e m p r e s a i n t e r n a c i o n a l , q u e t a n sólo e n México tiene más de 9 0 ańos de h a c e r n e g o c i o s e n telefo nía: Ericsson. A m b o s p r o y e c t o s se d e s a r r o l l a n ( r o n ) e n S a l t i l l o , C o a h u i l a , d u r a n t e l o s ańos de 1 9 9 5 y 1 9 9 6 . E l apéndice A l e n pág. 7 0 c o n t i e n e l o s d a t o s a d i c i o n a l e s de E m p r e s a Tecnológica E r i c s s o n S . A . de C . V . u b i c a d a e n S a l t i l l o , C o a h u i l a , México.
E l enfoque será c u a l i t a t i v o , c o n d o s objetivos p r i n c i p a l e s :
A . Dar a conocer métodos y practicas existentes.
B. Sugerir alternativas de mejora, mismas que habrán de practicarse en sendos proyectos.
L o s r e s u l t a d o s c u a n t i t a t i v o s , r e s u l t a n t e s de l a m e d i c i o n e s y estadísticas p r o p i a s de l a ingeniería de software de l a e m p r e s a serán u t i l i z a d a s p a r a enfatizar l a i m p o r t a n c i a y c o n s e c u e n c i a s de u n b u e n o m a l c o n t r o l de c a m b i o s e n lo p a r t i c u l a r .
S e e s c o g i e r o n d o s p r o y e c t o s c o n l a s s i g u i e n t e s caracterís t i c a s :
• P8A. E l cual ya finalizó la etapa de desarrollo en Abril de 1996, y entra en la etapa de producción y distribución (ver Figura 2. en pág. 6).
3.1.1 Modelo de Diseño (Ciclo de Vida del Software)
L o s p r o y e c t o s P 8 A y P 8 B u t i l i z a n u n M o d e l o de Diseńo de C a s c a d a3 (ver F i g u r a 6. e n pág. 29).
E l c o n c e p t o f u n d a m e n t a l d e l m o d e l o de c a s c a d a es e l de t e r m i n a r u n a e t a p a c o n v e r i f i c a c i o n e s a n t e s de e m p e z a r l a s i g u i e n t e , e v i t a n d o c o n esto l a propagación de fallas, e n e l s u p u e s t o de q u e u n a falla e n c o n t r a d a e n l a s e t a p a s i n i c i a l e s es m a s b a r a t a e n c o s t o y dańo q u e e n e t a p a s p o s t e r i o r e s .
E r i c s s o n e n p a r t i c u l a r h a d e t e r m i n a d o q u e e l c o s t o de u n a f a l l a se e s c a l a p o r 10 e n t r e c a d a fase; así p o r e j e m p l o , u n a f a l l a q u e a l p r i n c i p i o c u e s t a 1 peso e n c o n t r a r l a y c o r r e g i r l a , e n l a e t a p a de m a n t e n i m i e n t o llega a c o s t a r h a s t a 1 0 , 0 0 0 p e s o s e n c o n t r a r l a y c o r r e g i r l a .
C a b e h a c e r n o t a r q u e e l m o d e l o de c a s c a d a h a s u f r i d o u n c o n s t a n t e p e r f e c c i o n a m i e n t o desde 1 9 7 0 p o r c a u s a d e l u s o q u e h a t e n i d o d e n t r o de l a s g r a n d e s e m p r e s a s d e s a r r o l l a d o r a s de software, t a n t o m i l i t a r e s c o m o civiles. I n c l u s o h a y q u i e n e s a u g u r a n s u d e c a d e n c i a t o t a l , a l ser s u s t i t u i d o p o r m o d e l o s más d i námicos y a c o r d e s a l f i n de m i l e n i o (e.g. M o d e l o s E v o l u t i v o s e Increméntales); s i n e m b a r g o , aún e l m o d e l o es v i g e n t e y l o s m o d e l o s e v o l u t i v o s aún s e m e j a n réplicas de c a s c a d a s , e n oposición a l a aseveración categórica de F . B r o o k s , [1995] -the waterfáll model is wrong!-. C i e r t o es q u e e l a p l i c a r e l m o d e l o c o m o t a l , tie
n e s u s efectos s e c u n d a r i o s negativos, s o b r e todo c u a n d o se u s a e n p r o y e c t o s de a l t a v o l a t i l i d a d o e n p r o d u c t o s de v i d a c o r t a , p e r o eso n o lo a n u l a .
E l m o d e l o u t i l i z a d o p o r E r i c s s o n (ver F i g u r a 7. e n pág. 30), v i e n e h a s e r u n a adaptación m o d e r n a d e l de c a s c a d a , d o n de l a s d i f e r e n c i a s más n o t o r i a s c o n el m o d e l o clásico ( F i g u r a 6. e n pág. 29) s o n :
1. Se tienen mojoneras de dos tipos:
•"Milestones", donde se verifica la entrada y salida entre fases.
•"Tollgates", donde el proyecto es evaluado desde el aspecto financiero y de mercado. En las aduanas ("tollgates") se determina el futuro del proyecto como tal.
3.1.2 Estructura de los Proyectos
L o s d o s p r o y e c t o s (objetos de e s t a tesis) están a c a r g o d e d o s o r g a n i z a c i o n e s d e diseńo, u n a l o c a l i z a d a e n México, d e a h o r a e n a d e l a n t e r e f e r i d a c o n e l sufijo " m " (e.g. P 8 A m ) , y l a o t r a l o c a l i z a d a e n l o s E s t a d o s U n i d o s d e América, d e a h o r a e n a d e l a n t e r e f e r i d a c o n e l sufijo " u " (e.g. P 8 A u ) . E s t a t e s i s s e enfo c a e n l o s p r o y e c t o s r e a l i z a d o s e n México, s i n e m b a r g o d o n d e l o s efectos s e a n e x t r a fronteras habrán d e referirse a m b o s ( m y u ) .
L o s d o s p r o y e c t o s están r e l a c i o n a d o s e n p r i n c i p i o , u n o c o m o m e j o r a d e l otro, es decir, P 8 A s e r i a e l i n i c i a l y P 8 B será l a s i g u i e n t e versión d e P 8 A .
[image:41.612.166.457.420.627.2]L a e s t r u c t u r a d e l o s d o s p r o y e c t o s P 8 A m y P 8 B m s e l l e v a a l c a b o d e l a s i g u i e n t e f o r m a :
Figura 8. Estructura de Proyectos
Proyecto Global
P8
Proyecto Local
P8u
Proyecto Local
Así, c a d a p r o y e c t o tiene s u p r o p i a organización i n t e r n a de p r o y e c t o , e s t o es, c o n s u s líderes de p r o y e c t o , de c a l i d a d , de p r u e b a , y s o n r e s p o n s a b l e s de l o s p r o d u c t o s i n h e r e n t e s . L a for m a e n q u e se s i n c r o n i z a n es a través de l a s m o j o n e r a s ("milesto n e s " y "tollgates") q u e s o n l a s m i s m a s p a r a a m b o s p r o y e c t o s l o c a l e s .
P a r a n o a h o n d a r e n detalles, ésta es l a f o r m a e n q u e E r i c s s o n h a t r a b a j a d o l o s últimos v e i n t e ańos (ver F i g u r a 7. e n pág. 30), d o n d e e n o c a s i o n e s e l número de p r o y e c t o s l o c a l e s p u e d e l l e g a r a i n v o l u c r a r h a s t a c i n c o o seis o r g a n i z a c i o n e s diferentes, e n m u c h o s de l o s c a s o s de d i v e r s o s países.
L a f o r m a e n q u e E r i c s s o n l o g r a l a i n t e g r i d a d de s u s p r o d u c t o s es g r a c i a s (entre o t r a s cosas) a u n e s t r i c t o c o n t r o l de Identificación de Configuración y C o n t r o l de E s t a d o s . P o d e m o s d e c i r q u e e s t o s d o s tópicos (ver F i g u r a 3 . e n pág. 17) de M a n e j o d e Configuración, s o n l a c o l u m n a v e r t e b r a l de l a i n t e g r i d a d de l o s p r o d u c t o s E r i c s s o n y s o n lo s u f i c i e n t e m e n t e sólidos c o m o p a r a o p a c a r a l o s o t r o s 2 ( C o n t r o l de C a m b i o s y Auditorías).
L a m e t i c u l o s a identificación de configuración c o m p r e n d e prácticamente t o d o t i p o de artículos, objetos, d o c u m e n t o s , e q u i p o s , s i s t e m a s , s u b s i s t e m a s , f u n c i o n e s y c o m p o n e n t e s q u e se p u e d a n e n c o n t r a r bajo l a firma. T o d o p r o d u c t o , a i s l a d o o i n t e g r a d o de n p i e z a s , se e n c u e n t r a r e g i s t r a d o e n u n a b a s e de d a t o s l l a m a d a P R I M4,
a c c e s i b l e d e s d e c u a l q u i e r o f i c i n a E r i c s s o n e n e l m u n d o . Allí se e n c u e n t r a n r e f e r e n c i a s c r u z a d a s de m a n u f a c t u r a y documentación, t a l q u e c u a l q u i e r e m p l e a d o (diseńador, v e n d e d o r o a r q u i t e c t o ) p u e d e u b i c a r u n p r o d u c t o p a r t i c u l a r .
A d e m á s , a l o l a r g o de l a v i d a de u n p r o y e c t o (más de d o s ańos) l a documentación v i v a se e n c u e n t r a e n o t r a b a s e de d a t o s m u n d i a l l l a m a d a Delta5.
E s t a les p e r m i t e l l e v a r u n e s t r i c t o c o n t r o l de E s t a d o de l a documentación a s o c i a d a . P o r c i t a r u n e j e m plo, allí se p u e d e v e r el e s t a d o de u n d o c u m e n t o p a r t i c u l a r , s u e s t a d o de revisión ( p r e l i m i n a r , listopararevisión, i n s p e c c i o n a do, a p r o b a d o ) y l a s m i n u t a s (registros de inspección) q u e a v a l a n d i c h a s i n s p e c c i o n e s . P o r cierto e s t a s m i n u t a s (registros de i n s pección) f a c i l i t a n e l C o n t r o l de C a m b i o s y a q u e i n d i c a n e l núme r o y t i p o d e f a l l a s e n c o n t r a d a s y c a l i f i c a n o d e s c a l i f i c a n l o s objetos i n s p e c c i o n a d o s .
Aquí, es e l m o m e n t o p r e c i s o p a r a r e m a r c a r q u e e s t o s p r o y e c t o s c a r e c e n de u n sistemático (ingenieril) C o n t r o l de C a m b i o s . E r i c s s o n a d o l e c e a lo largo de s u s filas, de u n M a n e j o de Configuración a p r o p i a d o .
C a d a p r o y e c t o l o c a l posee algún t i p o de C o n t r o l de C a m b i o s , p e r o e s t o s n o se e n c u e n t r a n i n t e g r a d o s e n el p r o y e c t o glo b a l . C i e r t o es q u e d i v e r s o s p r o y e c t o s sí lo p r a c t i c a n , p e r o n o e x i s t e u n c o n t r o l científico o a l m e n o s i n g e n i e r i l de éste. D i g a m o s q u e e l C o n t r o l de C a m b i o s e n E r i c s s o n r e c i b e u n a c e r c a m i e n t o pragmático, q u e e n o c a s i o n e s f u n c i o n a y e n o c a s i o n e s n o .
C a b e h a c e r n o t a r q u e e s t a d e b i l i d a d , h a s i d o r e s a l t a d a e n d o s frentes, p o r u n l a d o ISO9001:1994 (en s u cláusula 4 . 4 . 9 ) :
L a mayoría de l o s c e n t r o s de diseńo de E r i c s s o n t i e n e n l a cer tificación ISO9001 c o n m e r e c i d o s a t r i b u t o s , s i n e m b a r g o l a sustentación sólida d e l C o n t r o l de C a m b i o s a n i v e l g l o b a l de
p r o y e c t o s está a u n débil. L o s c e n t r o s de diseńo l o c a l e s c u m p l e n este r u b r o , p e r o n o lo h a c e n m u y b i e n a n i v e l intercompańías.
y p o r otro, el m o d e l o de m a d u r e z , C M M Versión 1.1 [ H u m p h r e y , 1989] q u e es e l estándar de c a l i d a d de software más re c o n o c i d o e n l a s e g u n d a m i t a d de l o s n o v e n t a s :
D i v e r s o s c e n t r o s de diseńo de E r i c s s o n h a n h e c h o e s f u e r z o s s u s t a n c i a l e s p a r a o b t e n e r n i v e l e s (específicamente N i v e l 3) d e n t r o d e l M o d e l o de M a d u r e z de C a p a c i d a d (CMM), p o r s e r éste e l estándar r e q u e r i d o p o r e l G o b i e r n o N o r t e a m e r i c a n o a través de s u d e p a r t a m e n t o de l a d e f e n s a (ver Apéndice A 2 e n pág. 73). E l M a n e j o de R e q u e r i m i e n t o s y e l M a n e j o de C o n f i g u ración de S o f t w a r e s o n P r o c e s o s C l a v e s d e l N i v e l 2 . E r i c s s o n n o h a p u b l i c a d o e l r e s u l t a d o de s u s auditorías e n C M M , p e r o se p r e s u m e q u e s i está c o m o el r e s t o de l a s e m p r e s a s de d i s e ńo d e software, aún se e n c u e n t r a e n l o s n i v e l e s i n i c i a l e s .
3.1.3 Contenido Técnico de P8Am
E l propósito d e l p r o y e c t o P 8 A m es d e s a r r o l l a r y l i b e r a r n u e v a f u n c i o n a l i d a d y p e r f e c c i o n a m i e n t o s e n u n a s e r i e de s u b s i s t e m a s p a r a s a t i s f a c e r l o s r e q u i s i t o s p a r a C e n t r a l e s telefóni c a s públicas, de tránsito (Tándem) e I n t e r n a c i o n a l e s (IXC). L o s p r i n c i p a l e s c l i e n t e s a s a t i s f a c e r s o n e m p r e s a s telefónicas e n l o s E s t a d o s U n i d o s d e Norteamérica.
E l p r o y e c t o a b a r c a t o d a s l a s fases d e l d e s a r r o l l o de soft w a r e , d e s d e s u fase de e s t a b l e c i m i e n t o h a s t a l a liberación y e l m a n t e n i m i e n t o (ver F i g u r a 7. e n pág. 30).
1. Adherencia al Estándar de Redes Inteligentes (AIN 0.1)
2. Mejoras a la versión 0.1 de SSP (Tándem de datos)
3. Mejorar Filtrado de la Información del AbonadoA (ANI)
C o n t a n d o c o n l a s s i g u i e n t e s fechas i m p o r t a n t e s , c o m u n e s t a n t o p a r a P 8 A m y P 8 A u :
• La fecha de liberación fue el 8 de Abril de 1996.
• La fecha para disposición al cliente, es el 25 de Julio de 1996.
L a c a r g a de trabajo se dividió c o m o sigue (tomar referen c i a e n l a F i g u r a 7. e n pág. 30):
Administración de Proyecto
5,000 horashombre (mhr)
Especificación y Diseńo de Funciones 12,150 mhr
Diseńo de bloques, de software y prueba básica 19,505 mhr
Prueba Funcional
12,200 mhr
Prueba de Sistema Fuente 400 mhr
Total P8Am
51,115 mhr (la mayoría durante 1995)
3.1.4 Contenido Técnico de P8Bm
E l propósito d e l p r o y e c t o P 8 B m e n T X M es d e s a r r o l l a r y l i b e r a r n u e v a f u n c i o n a l i d a d y p e r f e c c i o n a m i e n t o e n u n a serie de s u b s i s t e m a s de l a c e n t r a l telefónica E r i c s s o n AXE10, e n e l s i s t e m a fuente 2/APT 210 10 p a r a satisfacer los r e q u i s i t o s p a r a C e n t r a l e s telefónicas públicas l o c a l e s , de Tránsito (Tándem) e I n t e r n a c i o n a l e s (IXC). L o s p r i n c i p a l e s c l i e n t e s a s a t i s f a c e r s o n e m p r e s a s telefónicas e n l o s E s t a d o s U n i d o s de Norteamérica.
L o s objetivos de m e r c a d o p a r a el p r o y e c t o P 8 B i n c l u y e n l a satisfacción de r e q u i s i t o s n u e v o s p a r a u n a e m p r e s a a d m i n i s t r a d o r a de s e r v i c i o s telefónicos y de conmutación de v o z y d a t o s , e n s u rápida expansión de n e g o c i o s domésticos e i n t e r n a c i o n a l e s . P r o v e y e n d o n u e v a y m e j o r a d a f u n c i o n a l i d a d p a r a c l i e n t e s i m p o r t a n t e s d e l m e r c a d o N o r t e a m e r i c a n o (las compańías o p e r a d o r a s B e l l , R B O C s p o r s u s s i g l a s e n inglés), c u m p l i e n d o c o m p r o m i s o s c o n t r a c t u a l e s existentes c o n estos c l i e n t e s y a s e g u r a n d o p r o g r a m a s de c o m p r a s de Software n u e v o p a r a l a b a s e y a i n s t a l a d a .
L a serie de m e j o r a s c o m p r e n d e n lo s i g u i e n t e :
1. Probador Digital Remoto de Líneas (ROTL)
2. Administración de Opciones (para el abonado).
3. Desarrollo de la facilidad Rechazo de Llamadas Desco nocidas (Anonymous Cali Rejection).
C o n t a n d o c o n l a s s i g u i e n t e s fechas i m p o r t a n t e s , c o m u n e s t a n t o p a r a P 8 B m y P 8 B u :
• La fecha de liberación para P8B será el 15 de Septiembre de 1996.
• La fecha para disposición al cliente para P8B será el 30 de Diciembre de 1996.
L a composición de l a c a r g a de trabajo se a p r e c i a c o m o s i g u e :
Administración de Proyecto 5,000 mhr
Especificación y Diseńo de Funciones 12,600 mhr
Diseńo de bloques, de software y prueba básica 15,160 mhr
Prueba Funcional
10,620 mhr
Seguimiento durante Pruebas 1,000 mhr
Total P8Bm
Instantánea de Ambos Proyectos
L a s i g u i e n t e t a b l a r e s u m e algo de l o s números de a m b o s p r o y e c t o s t a n t o e n duración, c o m p l e j i d a d , v o l u m e n e n líneas de código, d e n s i d a d de f a l l a s6, v o l u m e n de código ( K L O C s7) y c o n
tribución de a m b o s p r o y e c t o s . E s t o s números sólo c o m p r e n d e n l a e t a p a de d e s a r r o l l o8
.
Parámetro Proyecto P8Am Proyecto P8Bm
Duración 11 m e s e s 9 m e s e s
F e c h a d e Liberación 8 / A p r / 9 6 1 5 / S e p / 9 6
P r e s u p u e s t o d e H o r a s
5 1 , 0 0 0 4 4 , 0 0 0
P l a n t i l l a
(diseńadores) 5 0 5 2
N ú m e r o d e P r o d u c t o s
( u n i d a d e s d e software) 3 1 3 5
V o l u m e n t o t a l
( K L O C ) 9 2 . 0 3 7 9 5a
D e n s i d a d d e F a l l a s
( f a l l a s / K L O C ) 0 . 1 7 0 . 0 8
N ú m e r o d e E s p e c i f i c a c i o n e s d e R e q u e r i m i e n t o s
( S R S s )
5 19
P o r c e n t a j e d e Contribución
a l P r o y e c t o G l o b a l 5 0 8 0
[image:48.612.85.519.209.563.2]a.Es un valor aproximado ya que los productos aún no han sido codificados.
Tabla 1. Instantánea de Ambos Proyectos
6. La densidad de fallas se mide constantemente a partir de la pmeba básica (ver Figura 7. en pág. 30). sin em bargo aquella que a la empresa más le interesa es la densidad de fallas durante los primeros 6 meses en opera ción del producto (6MOP). La densidad es el número de fallas sobre el volumen de líneas.
7. K L O C es una medida generalizada en la ingeniería de software y es igual a mil líneas de código (indistinto del lenguaje).
3.2 Procedimiento
L a metodología de diseńo e n E r i c s s o n se respetó a lo l a r g o d e a m b o s p r o y e c t o s ; s i n e m b a r g o se i n t r o d u j e r o n c i e r t a s a c c i o n e s ( b u e n a s prácticas) q u e s i n c o n t r a v e n i r l a metodología y p r o c e s o s e s t a b l e c i d o s c r e í m o s9
n o s darían m a y o r atención a l c o n t r o l de c a m b i o s , de e s t a m a n e r a se evitó conflicto c o n e l s i s t e m a de c a l i d a d , y e l c o o r d i n a d o r de c a l i d a d aprobó e l u s o de d i c h a s prácticas.
U n o de e s t o s p r o c e d i m i e n t o s e s t a b l e c i d o s es e l de " C o n t r o l de C a m b i o s " q u e es y a u n a b u e n a práctica d e n t r o de E r i c s s o n S a l t i l l o , p e r o n o de l o s p r o c e d i m i e n t o s m u n d i a l e s , es decir, q u e e n e s t o s p r o y e c t o s i n t e n t a m o s u n a m e j o r a de este p r o c e d i m i e n t o b a s a d o s e n l o s r e s u l t a d o s o b t e n i d o s c o n antelación. A ú n y c u a n d o e l p r o c e s o es d i r e c t o , carece de u n a visión a d m i n i s t r a d o r a de e s t o s (cambios) y lo q u e e x p e r i m e n t a m o s e n p r o y e c t o s a n t e r i o r e s e r a q u e múltiples c a m b i o s e r a n o m i t i d o s bajo l a ex c u s a (real) de f a l t a de t i e m p o ; desviación de l a atención, i.e. e l diseńador prefiere i n v e r t i r t i e m p o e n c o d i f i c a r q u e e n d o c u m e n tar; o p o r d i f e r e n c i a de c r i t e r i o s : p a r a u n o s , u n c a m b i o m a y o r es u n a c o s a s i n i m p o r t a n c i a y p a r a otros, u n c a m b i o s e n c i l l o p u e de s e r s u p e o r p e s a d i l l a . P o r c i t a r u n ejemplo: e l p r o y e c t o a n t e r i o r P 7 + (del c u a l f u i líder) t u v o u n revés costosísimo e n h o r a s y d e n s i d a d de f a l l a s , p o r q u e u n c a m b i o e n u n párrafo de l o s r e q u e r i m i e n t o s fue c o n s i d e r a d o " s i m p l e " p o r e l experto, s i n e m b a r g o p a r a l o s p r o g r a m a d o r e s fue u n a v e r d a d e r a c a r g a de t r a b a j o ( 1 5 0 0 hrs.) y anímica, y a q u e a l e s t a r c e r c a l a f e c h a de p r u e b a s f u n c i o n a l e s , se c r e a r o n fallas e n p o r c i o n e s de código y a v e r i f i c a d o e n p r u e b a s básicas y p o r lo t a n t o c o n e s t a b i l i d a d .
E l p r o c e s o u t i l i z a d o e n E r i c s s o n S a l t i l l o se a p r e c i a e n l a s i g u i e n t e i m a g e n (la p a r t e s u p e r i o r e s t a t r u n c a d a p o r c o n f i d e n c i a l i d a d ) :
S e o b s e r v a l a falta de u n c u e r p o i n t e g r a d o r / a d m i n i s t r a d o r g e n e r a l de t o d o s l o s c a m b i o s . C i e r t o q u e el comité de c a m b i o s ( C R T d e l Inglés " C h a n g e R e v i e w Team") tiene a c c e s o a t o d o s ellos, p e r o n o l o s i n t e g r a , m e n o s l o s a d m i n i s t r a e n e l s e n t i d o a m p l i o de l a p a l a b r a , de m a n e r a s i m i l a r a l a F i g u r a 5. e n pág. 2 1 .
E l p a s o 2 es e l o r i g e n de l a falta de integración y a q u e e l e q u i p o ( C R T ) se reúne b i e n a l p r i n c i p i o de s u s a c t i v i d a d e s , p e r o s u s m i e m b r o s c a d a v e z más o c u p a d o s e m p i e z a n a faltar a s u c o m p r o m i s o c o n e l e q u i p o . E l p r o c e s o se v u e l v e e l trabajo de u n a s o l a p e r s o n a , l a c u a l a l l l e g a r a l p a s o 11, e s t a t a n a g o b i a d a p o r e l trabajo, q u e s i m p l e m e n t e n o d a e l " s e g u i m i e n t o " n e c e s a r i o p a r a v e r i f i c a r q u e e l c a m b i o s e a i m p l a n t a d o . L o s o r i g i n a d o r e s d e l c a m b i o p r o n t o se d e s i l u s i o n a n p o r l a l e n t i t u d d e l p r o c e s o y lo a b a n d o n a n , p a r a h a c e r l o s c a m b i o s a s u m a n e r a .
L o s p r o y e c t o s a n t e r i o r e s a P 8 c o n t e m p l a b a n e l c o n t r o l de c a m b i o s c o m o u n a a c t i v i d a d útil, pero q u e sólo t e n i a éxito c u a n d o l o s diseńadores c o o p e r a b a n p a r a r e a l i z a r l a . N a d a más l e j a n o de l a ingeniería de software, q u e n o es c a p r i c h o s i n o p r o c e s o .
3.2.1 Proyecto P8Am
E n e l p r o y e c t o P 8 A m se i n t e n t a r o n l a s s i g u i e n t e s a c c i o n e s c o n e l fin de h a c e r efectivo e l c o n t r o l de c a m b i o s , y dejar de s e r c o n ello u n p r o c e s o a n h e l a d o p e r o ineficaz:
1. Introducir el Plan de Manejo de Configuración.
2. Asignación de la posición de Administrador de Cambios.
E l p l a n de configuración es u n d o c u m e n t o q u e p r e t e n d e p o r p r i m e r a v e z e n l a h i s t o r i a de E r i c s s o n S a l t i l l o , c u b r i r e l c o n t r o l de c a m b i o s de l o s p r o d u c t o s q u e s o n r e s p o n s a b i l i d a d de P 8 A m (ni P 8 A n i P 8 A u t u v i e r o n t a l plan) q u e f u e r a n i m p a c t a d o s a p a r t i r d e l fin de Diseńo de Función y h a s t a e l fin de l a P r u e b a F u n c i o n a l (ver F i g u r a 7. e n pág. 30).
P a r a t e n e r éxito e n e l c o n t r o l , fue de v i t a l i m p o r t a n c i a q u e hiciéramos u n " c o n g e l a m i e n t o " de l a b a s e de diseńo, así q u e a p r o v e c h a m o s l a m o j o n e r a de F i n d e l Diseńo de Función y c o n s i d e r a r l a c o m o l a b a s e p a r a a m a r r a r el e s t a d o de l o s d o c u m e n tos. L e l l a m a m o s c o n g e l a m i e n t o , p o r q u e a p a r t i r de e s a fecha, ningún c a m b i o es p e r m i t i d o s i n p a s a r a n t e s p o r el c o n t r o l d e l a d m i n i s t r a d o r de c a m b i o s , s e a que el d o c u m e n t o y a esté a p r o b a d o o n o p o r l o s comités r e s p e c t i v o s . E n p r o y e c t o s a n t e r i o r e s a l g u n o s c a m b i o s se filtraban bajo l a e x c u s a de q u e l o s d o c u m e n t o s n o e s t a b a n a p r o b a d o s y q u e p o r e n d e e l "proceso" l es permitía aún h a c e r l o s ; e s t a práctica promovía de a l g u n a m a n e r a q u e l o s d o c u m e n t o s más volátiles se m a n t u v i e r a n a b i e r t o s (sin a p r o b a r s e ) h a s t a los últimas fases p o s i b l e s , e l u d i e n d o de e s t a m a n e r a l o s c o n t r o l e s de c a m b i o s . A l g o q u e n o s o t r o s e n d i seńo l l a m a m o s , tomar atajos...
L a s m e t a s e s t a b l e c i d a s p o r e l p l a n f u e r o n :
1. Identificar la base funcional. Aprovechando el final de la etapa (mojonera) ya mencionada.
2. Definir la organización de Manejo de Configuración.
3. Analizar y aprobar los cambios a la base.
4. Prevenir cambios no autorizados.
5. Asegurar la observancia del procedimiento de control de cambio.
L a s f u n c i o n e s d e l a d m i n i s t r a d o r de c a m b i o s f u e r o n l a s de r e c i b i r l a s p r o p u e s t a s de c a m b i o s y v e r i f i c a r q u e f u e r a n c a l i f i c a d a s y d e s e r a c e p t a d a s , q u e f u e r a n i m p l a n t a d a s además de lle v a r e l índice de configuración m a e s t r o . E s t e r o l sería e l r e s p o n s a b l e de m a n t e n e r e l p l a n y v e r i f i c a r q u e se l l e v a r a a l c a b o .
Imagen 2. Organigrama de P8Am
dían c a m b i o s n o c o n t r o l a d o s . C a b e r e s a l t a r e l h e c h o de q u e e l índice e r a u n e x t r a c t o d e l I n d i c e de Configuración (global) de t o d o e l p r o y e c t o .
Indice de Configuración Maestro (MCI)
E n l a I m a g e n 3. e n pág. 4 8 , se m u e s t r a e l M C I d e l p r o y e c to y allí se a p r e c i a cómo se especifica e l t i p o de d o c u m e n t o s (e.g. F F , d e l inglés, F u n c t i o n F r a m e w o r k ) , e l t o t a l de éste t i p o de d o c u m e n t o s ; el e s t a d o , l a f e c h a e n q u e adquirió d i c h o e s t a d o y e l foro q u e a v a l a d i c h o estado; l a revisión (e.g. P A 5 , q u e s i g n i f i c a l a q u i n t a revisión p r e l i m i n a r de u n d o c u m e n t o q u e u n a v e z l i b e r a d o será revisión final A) y u n a m a r c a q u e i n d i c a s i h a t e n i d o c a m b i o s r e c i e n t e s .
D e l a m i s m a i m a g e n p o d e m o s a p r e c i a r l a f o r m a l i d a d d e l índice, a l p o s e e r u n autor, el a d m i n i s t r a d o r de c a m b i o s ; u n a aprobación, l a d e l líder de proyecto; u n a inspección, l a d e l c o o r d i n a d o r de c a l i d a d ; u n a f e c h a de emisión y revisión de ésta, así c o m o u n a l i s t a de l o s r e c e p t o r e s o b l i g a d o s de este d o c u m e n t o .
3.2.2 Proyecto P8Bm
E n b a s e a l a s e x p e r i e n c i a s d e l p r o y e c t o P 8 A m , se m o d i f i c a r o n y p e r f e c c i o n a r o n a l g u n a s de l a s prácticas e n el p r o y e c t o P 8 B .
L a s a c c i o n e s específicas p a r a r e a l i z a r e l c o n t r o l de c a m b i o s e n e l p r o y e c t o P 8 B m f u e r o n l a s s i g u i e n t e s :
1. Asignación de un administrador de cambios con mejores condiciones de tiempo para realizar su trabajo.
2. Se introdujo una Bitácora de Cambios.
3. E l índice maestro fue sustituido por el índice de configu ración.
4. Se omitió el plan de configuración.
5. Se destinó un tiempo específico en las juntas de segui miento, para que el administrador de cambios diera su avance
E l h e c h o de q u e e l líder de proyecto de P 8 B m f u e r a e l a d m i n i s t r a d o r de c a m b i o de P 8 A m permitió l a rápida i n c o r p o r a ción y atención d e l n u e v o líder de c a m b i o s e n s u p r o y e c t o p e r o también t u v o efectos s e c u n d a r i o s , c o m o l o s s i g u i e n t e s :
P R O S
• rápido entendimiento del problema
• continuidad
• reconocimiento por parte del líder, del tiempo requerido para realizar esta labor, ya que él mismo vivió la sobrecarga de tareas por mal considerar que el manejo de cambios sería sencillo en el proyecto anterior (del cual él fue el administrador de configuración)
C O N T R A S
• como los proyectos corrieron simultáneamente (durante 5 meses aproxima damente), el administrador de cambios de P8Am no tuvo el tiempo deseable para realizar la tarea adecuadamente, ya que gran parte de su tiempo lo tuvo que invertir en preparar su proyecto (P8Bm).
E l a d m i n i s t r a d o r de c a m b i o s t u v o más t i e m p o p a r a r e a l i z a r s u trabajo y a q u e n o tenía a c t i v i d a d e s a s i g n a d a s de diseńo, p e r o tenía a c t i v i d a d e s q u e le permitirían c o n j u g a r s u trabajo. E l a d m i n i s t r a d o r e n t o n c e s solo tenía a s i g n a c i o n e s c o m o i n s p e c t o r y / o m o d e r a d o r q u e le permitían e n t e r a r s e de p r i m e r a m a n o de l o s c a m b i o s , c o n j u g a n d o mejor s u t a r e a de a d m i n i s t r a d o r de c a m b i o s .
A l i g u a l q u e e n P 8 A m , e l a d m i n i s t r a d o r de c a m b i o s f o r m a p a r t e de l a p l a n t i l l a d e l p r o y e c t o c o m o se a p r e c i a de l a I m a g e n 4 . e n pág. 5 1 .
Imagen 4. Organigrama de P8Bm
L a bitácora de c a m b i o s1 0
g u i m i e n t o q u e fácilmente se d i l u y e c u a n d o sólo se confía e n l a m e m o r i a (cerebro) ó, se v u e l v e t e d i o s a c u a n d o se d e j a e n m a n o s d e l a máquina.
E s t e t r a b a j o debe r e a l i z a r s e p e r s o n a l m e n t e p o r e l a d m i n i s t r a d o r de c a m b i o s .
T X M . P 8 E 0 CLASS,page2(6) T E C H N I C A L L O G
Imagen 5. Bitácora de Cambios de P8Bm
E l índice m a e s t r o se sustituyó p o r q u e e n P 8 B m l a d e p e n d e n c i a c o n P 8 B u e r a mínima, así q u e e l índice de configuración g e n e r a l fue s u f i c i e n t e . E s t e porcentaje de contribución e implíci t a m e n t e de d e p e n d e n c i a se a p r e c i a e n T a b l a 1. e n pág. 3 8 .
E l P l a n de Configuración se suprimió c o m o u n a c e r c a m i e n t o pragmático d e l líder de p r o y e c t o P 8 B m . E l líder pensó q u e c o n esto eliminaría b u r o c r a c i a , s o b r e algo q u e él tendría u n c o n t r o l d i r e c t o de t o d a s f o r m a s , es d e c i r n o q u i s o o b l i g a r s e él m i s m o p o r e s c r i t o .
E l p l a n de configuración n o debe e l i m i n a r s e bajo e l riesgo d e p e r d e r f o r m a l i d a d y atención, y s i funcionó p a r a P 8 B m fue p o r q u e e l líder de p r o y e c t o es u n campeón e n c o n t r o l de c a m b i o s , p e r o esto es p r o d u c t o de u n a c o i n c i d e n c i a y p o r l o t a n t o es difícil de r e p e t i r y / o e s t a b l e c e r c o m o p r o c e s o i n g e n i e r i l .
D a r u n t i e m p o e n l a s j u n t a s de s e g u i m i e n t o r e s a l t a l a i m p o r t a n c i a de l a a c t i v i d a d y p o n e e n a l e r t a a t o d a l a p l a n t i l l a d e l p r o y e c t o d e l a v a n c e de l o s c a m b i o s ( c a n t i d a d y frecuencia) así c o m o de l a atención q u e se les está d a n d o p a r a i m p l a n t a r l o s o d e s c a r t a r l o s . E n l a s j u n t a s s e m a n a l e s de s e g u i m i e n t o se r e v i s a r o n cuántos y cuáles s o n l o s más a n t i g u o s s i n r e s o l v e r s e y p o r lo t a n t o se p u e d e n t o r n a r e n p o t e n c i a l e s a g u a f i e s t a s1 1.
E l efecto H a w t h o r n e1 2 t u v o aquí u n efecto p o s i t i v o h a
c i e n d o e v i d e n t e e l interés d e l e q u i p o a d m i n i s t r a d o r de p r o y e c t o s
11. U n tópico no entendido en el desarrollo de software es: que una molestia no atendida desde el inicio, con el paso del tiempo adquiere dimensiones de problema progresivamente mayores.