Escolar Documentos
Profissional Documentos
Cultura Documentos
Alfaomega
Datos catalograficos Piattini, Mario; Garcia, FelLx y Caballero, Ismael Calidad de Sistemas Informaticos Primera Edici6n Alfaomega Grupo Editor, S.A. de Formato: 17 x 23 cm Calidad de Sistemas Infol'maticos yiario G. Piattini Velthuis. Felix O. Garcia Rubio, Ismael Caballero Munoz-Reja ISBN: 84-7897-734-1, cdici6n original public ada por RA-MA Editorial, Madrid, Espana Derechos reser\'ados RA-MA Editorial Primcra edici6n: Alfaomcga Grupo Editor, Mexico, mayo 2007
2007 Alfaomega Grupo Editor, S.A. de C.V. Pit~igoras 1139. Col. Del Valle. 03100. yiexico D.F.
c.v., Mexico
Paginas: 416
ISBN: 978-970-15-1267-8
ylicrnbro de la Camara Nacional de la Industria Editorial Mexicana Registro No. 2317 pag. Web: http://www.alfaomega.com.mx E-mail: libl.el.iapitagol.as@alfaomega.com.mx ISBN: 978-9701512678 Del'echos I'esenados: La infoI111aci6n contenida en est a obra tiene un fin exclusi\'amente didactico y, por 10 tanto, no esta pre\'isto su apro\'echamiento a nivel profesional 0 industrial. Las indicaciones tecnicas y programas incluidos, han sido elaborados con gran cuidado por el autor y reproducidos bajo estrictas nOI1l1as de control. .-\LF.-\O?\IEGA GRUPO EDITOR, S.A. de c.v. no sera juridicamente responsable por: en'ores u omisiones; daii.os y perjuicios que se pudieran atribuir a1 uso de la inf0l111aci6n comprendida en este libro. ni por la utilizaci6n indebida que pudiera darsele. Edici6n autOJizada para \'enta en Mexico y todo el continente americano. Impl'eso en Mexico. Printed in Mexico.
c.P. 03100.
Chile: Alfaomega Grupo Editor. S.A. - Dr. Manuel Barros BorgoDo 21 Pro\'idencia. Santiago. Chile Tel.: (56-2) 235-4248 - Fax: (56-2) 235-5786 - E-mail: agechile@a[faomega.cl Argentina: Alfaomega Grupo Editor Argentino. S.A. - Paraguay 1307 P.B. "II". Capital Federal. Buenos Aires. c.P. [057 - Tel.: (54- [[) 4811-7183 /8352, E-mail: agea@fibertel.com.ar
A Emilio del Peso, IIlla de las personas con mayor calidad hllmana y pro/esional que he tellido la sllerte de conocer.
Mario Piattini
A mis padres, Felix y Tina, y a mis hermanas. Alayte y Miriam. por Sll siempre incolldicional apoyo y por la alegria y los (lI1imos qlle me transmiten cada dia.
Felix Garcia
A inlllQ y a mis padres, por rada Sll apoyo, Sll paciencia, Sl/ comprension y Sli cariiio.
Ismael Caballero
INDICE
AUTORES ......................................................................................................................... XV PROLOGO ..................................................................................................................... XVII PREFACIO ..................................................................................................................... XIX
VIII
2.6. Histogran1a .......................................................................................................... 28 2.7. Diagrama de Dispersion 0 de Correlacion ........................................................ 29 3. HERRAMIENTAS DE GESTION ................................................................................. 30 3.1. Diagralna de afinidad ......................................................................................... 30 3.2. Diagrmna de relaciones ...................................................................................... 31 3.3. Diagrama de matriz 0 matricial... ....................................................................... 32 3.4. MatJiz de amilisis de datos ................................................................................. 33 3.5. Diagrama de redes de actividad 0 de flechas .................................................... 33 3.6. Diagrmna de arbol .............................................................................................. 33 3.7. Diagrama de proceso de decisiones ................................................................... 33 4. HERRAMIENTAS DE CREATIVIDAD ...................................................................... 34 5. HERRAMIENTAS ESTADISTICAS ............................................................................ 35 5.1. Control estadfstico del proceso .......................................................................... 35 5.1.1. indices de Capacidad Cp, P p, CPK Y PpK ............................................... 36 5.1.2. indices de Capacidad CPU, PPU, CPL, PPL ...................................... 37 5.2. Diseiio de expeIilnentos ..................................................................................... 37 6. HERRAMIENTAS DE DISENO .................................................................................... 38 6.1. QFD (Quality Function Deployment) ............................................................... 38 6.2. M1FE (Analisis Modal de Fallos y Efectos) .................................................... 39 7. HERRAMIENTAS DE MEDICION .............................................................................. 43 7.1. COQ (coste de la calidad) ................................................................................. .43 7.2. Benchmarking ..................................................................................................... 43 7.3. Encuestas ............................................................................................................. 44 8. NIVELES DE MADUREZ .............................................................................................. 45 9. LECTURAS RECOMENDADAS .................................................................................. 46 10. SITIOS WEB RECOTvIENDADOS ............................................................................. .46 11. EJERCICIOS .................................................................................................................. 46 CAPITULO 3. MODELOS Y NORMAS DE CALIDAD ............................................ 49
1. INTRODUCCION ........................................................................................................... 49 2. GESTION DE LA CAUDAD TOTAL .................. ,...................................................... .49 3. NORMAS ISO 9000 ........................................................................................................ 50 3.1. ISO y el proceso de norrnalizacion .................................................................... 50 3.2. Norrnas sobre calidad ......................................................................................... 53 3.3. Nonna ISO 9001 ................................................................................................. 56 3.3.1. Sistema de gestion de la calidad .......................................................... 58 3.3.2. Responsabilidad de la direccion ........................................................... 58 3.3.3. Gestion de los recursos ......................................................................... 58 3.3.4. Realizacion del producto ...................................................................... 59 3.3.5. Medicion, analisis y mejora ................................................................. 61 4. MODELO EFQM ............................................................................................................. 62 4.1. Vision general ..................................................................................................... 62
RA-MA
iNDlCE
IX
4.2. Critelios del modelo ........................................................................................... 63 4.2.1. Liderazgo .............................................................................................. 63 4.2.2. Politic a y estrategia ............................................................................... 64 4.2.3. Personas ................................................................................................ 64 4.2.4. Alianzas y recursos ............................................................................... 65 4.2.5. Procesos ................................................................................................ 65 4.2.6. Clientes .................................................................................................. 66 4.2.7. Resultados en las personas ................................................................... 66 4.2.8. Resultados en la sociedad ..................................................................... 66 4.2.9. Resultados clave de desempefio ........................................................... 66 5. CAF: MARCO COMUN DE EVALUACION .............................................................. 66 6. SEIS-SIGI\1A .................................................................................................................... 67 7. PREMIOS ......................................................................................................................... 68 8. LECTURAS RECOMENDADAS .................................................................................. 70 9. SITIOS \VEB RECOMEl\TJ)ADOS ................................................................................ 70 10. EJERCICIOS .................................................................................................................. 71
RA-ivL"'-
3. 4. 5. 6.
2.3. Modelo de calidad en uso ................................................................................... 88 2.3.1. Efectividad ............................................................................................ 88 2.3.2. Productividad ........................................................................................ 88 2.3.3. Seguridad de uso ................................................................................... 89 2.3 A. Satisfacci6n ........................................................................................... 89 204. Evaluaci6n de un producto software .................................................................. 89 TRABAJOS BASAD OS EN LAS NORMA ISO 9126 E ISO 14598 .......................... 91 LECTURAS RECOMENDADAS .................................................................................. 92 SITIOS WEB RECOMENDADOS ................................................................................ 92 EJERCICIOS .................................................................................................................... 92
1. INTRODUCCION ........................................................................................................... 97 2. GESTION DE LOS PROCESOS SOFTWARE .......................................................... 100 3. EL MODELADO DE LOS PROCESOS SOFTWARE .............................................. IO2 3.1. Elementos del Proceso Software ...................................................................... 103 3.2. Clasificaci6n de los Lenguajes de Modelado de Procesos (LMP) ................. 104 3.3. Metamodelos de proceso software ................................................................... 106 3.3.1. Modelado de procesos: Diagramas de Gantt y Diagramas PERT ... 107 3.3.2. F0n11ato de Intercambio de Procesos ................................................. 108 3.3.3. Lenguaje de Especificaci6n de Procesos (PSL) ................................ 109 3.304. Modelo del Proceso Unificado .......................................................... 110 3.3.5. Core Plan Representation (CPR) ....................................................... 110 3.3.6. Definici6n de Proceso de la Workflow Management Coalition ....... 111 3.3.7. Arquitectura de Sistemas de Infonnaci6n Integrados (ARIS) .......... 112 3.3.8. SPEARMINT ..................................................................................... 112 3.3.9. PROMENADE ................................................................................... 114 3.3.10. SPEM ................................................................................................ 116 3.3.11. SMSDM ............................................................................................ 121 4. ENTORl"\JOS DE INGENIERlA DEL SOFTWARE ORIENTADOS AL PROCESO ...................................................................................................................... 126 4.1. Introducci6n y Caracteristicas .......................................................................... 126 4.2. Clasificaci6n de los PSEE ................................................................................ 128 4.3. Ejemplos de PSEE ............................................................................................ 130 4.3.1. SPADE ................................................................................................ 130 4.3.2. APEL ................................................................................................... 132 4.3.3. Serendipity .......................................................................................... 136 5. LECTURAS RECOMENDADAS ................................................................................ 139 6. EJERCICIOS .................................................................................................................. 140
G: R/\-MA
iNDICE
XI
XII
1. INTRODUCCION ......................................................................................................... 199 1.1. Teona de la Medicion del Software ................................................................. 200 1.2. Terminologia de la Medicion de Software ...................................................... 202 1.3. Proceso de creacion de M6tricas ...................................................................... 205 2. ESTANDARES Y METODOLOGIAS DE MEDICION ........................................... 209 2.1. La medicion en los modelos de madurez y metodos de evaluacion y rnejora ............................................................................................................. 211 2.2. Goal Question Metric (GQM) .......................................................................... 214 2.2.1. Planificacion ....................................................................................... 215 2.2.2. Definicion ........................................................................................... 217 2.2.3. Recopilacion de datos ......................................................................... 220 2.2.4. Interpretacion ...................................................................................... 221 7 7 - Jernp 1 de ap l' " 777 _._.). E' 0 rcaClon d e GQM ........................................................ __ _ 2.3. Goal Question Indicator Metric (GQ(I)M) y Goal-Driml Softv,;are ;vleasllrement ..................................................................................................... 223 2.3.1. Plantilla para la definicion de indicadores ......................................... 228 2.4. Practical Software Measurement (PSM) ......................................................... 229 2.5. IEEE Std 1061-1998. Metodologia para M6tIicas de Calidad del Sofhvare ............................................................................................................ 231 2.6. ISO/lEC 15939 ................................................................................................. 234 3. IYIETRICAS SOFT\V.A.RE ............................................................................................. 236 3.1. Medicion del Proceso ....................................................................................... 23 7 3.2. Medicion del Proyecto ..................................................................................... 238 3.3. Medicion del Producto ..................................................................................... 240 3.3.1. Metricas de codigo fuente .................................................................. 241 3.3.2. MetI'icas de complejidad .................................................................... 242 3.3.3. MetIicas para sistemas 00 ...........:.................................................... 243 3.3.4. Puntos funcion .................................................................................... 250 4. HERRAMlENT AS DE MEDIClON SOFTWARE ..................................................... 255 5. LECTURAS RECOMENDADAS ................................................................................ 256 6. SITIOS \VEB RECOMENDADOS .............................................................................. 256 7. EJERCIClOS .................................................................................................................. 256
CAPITULO 10. CALIDAD DE LA LNFORl\1ACION ............................................... 259
h\D1CE
XIII
3. 4.
5. 6. 7.
2.1. Calidad de los Modelos Conceptuales ............................................................. 261 2.1.1. Propuesta de Lindland et al ................................................................ 262 2.1.2. Propuesta de Moody y Shanks ........................................................... 265 2.1.3. Propuesta de Shanks y Darke ............................................................. 268 2.1.4. Propuesta de Kesh .............................................................................. 269 2.1.5. Propuesta de Schuette y Rotthowe .................................................... 271 2.1.6. Propuesta del Grupo Alm'cos ............................................................. 273 2.2. Calidad de los Modelos L6gicos ...................................................................... 273 2.2.1. Bases de Datos Relacionales .............................................................. 274 2.2.2. Bases de datos l11ultidimensionales ................................................... 274 2.2.2.1. Metricas a nivel de Tabla ..................................................... 278 2.2.2.2. MetJicas a nivel de EstJella .................................................. 279 2.2.2.3. Metricas a nivel de Esquema ............................................... 279 CALID.A.D DE DATOS ................................................................................................. 281 3.1. Metodologia para la medici611 de la calidad de los datos ............................... 284 EV ALUACION Y MEJORA DE LA CAUDAD DE LA INFORMACION ............ 286 4.1. Metodologia TDQM ......................................................................................... 289 4.2. Metodologia de Evaluaci6n AIMQ ................................................................. 290 4.3. IP-MAP: Representaci6n del Producto de Info1l11aci6n ................................. 291 4.4. Metodologia TQdM (English. 1999) .............................................................. 292 . . _ _ - lOyecto Da Q' . ("M"ISler y. Batll1l, 100/ )................................................... '97 UIl1CIS . _ 4 .). P' 4.6. Marco de Trabajo de Eppler (2003) ................................................................. 298 4.6.1. Elementos del marco y criterios de calidad ....................................... 299 4.6.2. Pasos en el marco de Eppler .............................................................. 300 4.7. CALDEAy EVAMECAL ............................................................................... 301 4.7.1. CALDEA: Modelo de Madurez de calidad de infonnaci6n basado en Niveles de Madurez .......................................................... 303 4.7.2. EVAMECAL: Metodologia de Evaluaci6n y Mejora del PGI ........ 308 4.7.3. Ejemplo de Aplicaci6n de CALDEA ................................................ 311 LECTURAS RECOMENDADAS ................................................................................ 315 SnIOS WEB RECOMENDADOS .............................................................................. 316 EJERCICIOS .................................................................................................................. 316
XIV
RA-ivlA
2. FACTORiA DE EXPERlENCIA Y PARADIGMA DE MEJORA DE LA CALIDAD (QIP) ............................................................................................................ 326 2.1. QIP (Paradigma de mejora de la calidad) ........................................................ 326 2.2. Factoria de experiencia ..................................................................................... 328 2.3. Base 0 repositorio de experiencia .................................................................... 329 3. FAMILIAS DE ESTUDIOS .......................................................................................... 331 3.1. Experirnentos .................................................................................................... 332 3.1.1. Descripci6n del proceso experimentaL ............................................ 332 3.1.2. Replicaci6n de los experimentos ....................................................... 338 3.1.3. Ejemplo: detenninaci6n de la eficacia del Pair Designing para la compartici6n y difusi6n de conocimiento ......................................... 339 3.2. Casos de estudio ............................................................................................... 346 3.2.1. Definici6n y aplicaciones ................................................................... 347 3.2.2. Diseiio de casos de estudio ................................................................. 347 3.2.3. Fases de un caso de estudio ................................................................ 349 3.3. Encuestas ........................................................................................................... 353 3.4. Comparativa entre las estrategias empiricas .................................................... 355 4. LECTURAS RECOMENDADAS ................................................................................ 356 5. SITIOS WEB RECOMENDADOS .............................................................................. 357 6. EJERCICIOS .................................................................................................................. 357 ACRONIlVI0S ................................................................................................................... 359 BIBLIOGRAFIA .............................................................................................................. 363 iNDICE ALF ABETICO .................................................................................................. 387
AUTORES
X:VI
PROLOGO
*
&
Hemos asistido en los ultimos afios a un avance espectacular de la denominada Sociedad de la Infonnaci6n. En paralelo a este avance, la dependencia de nuestra sociedad y economia de los sistemas infonmiticos para su funcionamiento e inc1uso supervivencia se ha ido haciendo cada vez lTIllS mayor. La Ingenielia y la Calidad del Sofuvare, que aportan tecnicas y herramientas para lograr productos y servicios de gran fiabilidad que puedan satisfacer las necesidades de los usuarios, han madurado considerablemente en estos ultimos afios. De un enfoque centrado en el control de la cali dad y la detecci6n de disconforrnidades en los productos, se ha pasado a estudiar la mejora de los procesos de creaci6n y desarrollo de sistemas infonnaticos as! como la certificaci6n de los mismos. Queda, sin embargo, mucha labor por hacer si comparamos la situaci6n de la calidad en el sofuvare con la de otros sectores como el autom6vil, la industria qu!mica, etc., 10 que es nonnal teniendo en cuenta la relativa juventud y la naturaleza tan peculiar del sofuvare. Varios paises han venido invirtiendo grandes cantidades de recursos con el fm de potenciar la industria del sofuvare tanto para atender la demanda intema como para convertir el sofuvare en uno de los sectores estrategicos de crecimiento. As!, se han instal ado fabricas de sofuvare en muchas regiones, se han creado centros de estudio y de investigaci6n y otras estructuras con el fm de disponer del personal cualificado y de las tecnicas y herramientas adecuadas para la construcci6n de sofuvare de calidad.
En el caso de Espai'ia, la Secretaria de Estado de T elecomunicaciones y para la Sociedad de la Infol111aci6n del Ministerio de Industria, Turismo y Comercio en el marco del Plan Avanza 2006-2010 promueve la mejora de la calidad del software mediante ayudas a las empresas para la obtenci6n de certificaciones basadas en los plincipales modelos y n0l111aS de calidad como CMML ISO 15504, ISO 12207, ISO 90003. Por otra pmte, se fomenta la creaci6n de Platafol111aS Tecnol6gicas Espai'iolas, hom610gas a las europeas, entre las que destacan INES (Iniciativa Espai'iola de Sofuvare y Servicios) entre cuyos objetivos esta precisamente la investigaci6n e innovaci6n en los temas relacionados con la calidad de los productos y servicios software. Creemos que estas iniciativas ofrecen una I11UY buena oportunidad para que la industria espai'iola del sofuvare de un salto significativo en los aspectos relacionados con la calidad y responda adecuadamente a los retos que suponen la creaci6n de diferentes "e-servicios" que demanda la sociedad actual. Esta demanda se preve crezca exponencialmente a medida que la socied2.d del conocimiento alcance la mayor parte de la poblaci6n. 0tro aspecro que cabe res altar es la gran cantidad de recursos que se han destinado a la creaci6n de modelos y estandares relacionados con la cali dad del sofuvare. En efecto. es de gran imponancia en la sociedad globalizada que actualmente vivimos. que existan estandares reconocidos internacionalmente que pel111itan a las empresas cOOl'dinar sus esfuerzos, y reutilizar las "mejores practicas" de desanollo y gesti6n del sofuvare. A este respecto quelTia destacar la labor llevada a cabo por A.r"'OR. especialmente por el CT0i71. relativa a la creaci6n y seguimiento de diferentes estandares relacionaclos con los procesos del ciclo de vida del sottware y los sistemas de infol111aci6n. Este libro presenta los principales conceptos relacionados con la calidad del sofuvare. ofreciendo una panoramica bastante completa sobre los estandares relacionados con la calidad de los productos y procesos sofuvare. Ademas trata aspectos muy impOltantes como son Ia medici6n d.; la calidad. ]a calidad de datos 0 la gesti6n del conocimiento que complementan las areas mas tradicionales de esta materia. Creo que el material del libro puede resultar lItil para que tanto los estudiantes como los profesionales puedan construir y gestionar productos y servicios de mayor calidad. contlibuyendo de esta manera a la consolidaci6n de la Sociedad de la Inf0I111aci6n. Madrid a 2 de junio de 2006 Victor M. Izquierdo Loyola Subdirector General de Empresas de la Sociedad de la Inf0l111aci6n Presidente del Comite Tecnico de Norn1alizaci6n 71 de AENOR
PREFACIO
Soda puede IOrcer el cUlilino de fa \'erdo(/.1' la calidad pOl'qlle es{(/s adelga::an y no quiebrail.1' siempre (me/un sobre Iii lIlel1lira y lo/eillU de indusrria, como el ace ire sob!'e el agzl([,
Cerml1les, El Quiiole
La calidad de los sistemas infonmiticos Se he! cOlwertido hoy en dia en uno de los principales objetivos estrategicos de las organizaciones debido a que, cada vez mas, los procesos mas importantes de las organizaciones -y, por 10 tanto. su supervivenciadepel1del1 de los sistemas info1111aticos para su buen funcionamiento, Seglll1 la nonna ISO 9000 la calidad es el "grado en el qUe un conjunto de caracteristicas inherentes cumple con los requisitos". Como los requisitos dependenin de las diferentes partes interesadas (stakeholders), la calidad es un concepto multidimensional, ya que puede ser sinonimo de eficiencia, flexibilidad, cOlTeccion. confiabilidad, facilidad de mantenimiento, portabilidad, facilidad de uso, seguridad, integridad. etc.
xx
Ri\-tvLA.
En la evolucion expelimentada por la calidad de los sistemas infonmiticos se ha pas ado de un tratamiento centrado fundamentalmente en la inspeccion y deteccion de errores en los programas, a una aproximacion mas sistematica, dada la importancia que ha adquirido la calidad en la ingenieria de sistemas y en la ingerueria del software. La demanda de software por parte de las organizaciones y, en general, de la sociedad ha crecido mucho mas deprisa que la capacidad de la industria para producir software de calidad, haciendo cronica la denorninada "crisis del software". En los ultimos afios se han publicado diversos estudios y estandares en los que se exponen los principios que se deben seguir para la mejora de la cali dad de productos y procesos. Todo ello ha influido de forma significativa en el papel que actualmente tiene la calidad en las organizaciones, que pasa a conveltirse en una "filosofia", una ventaja competitiva, una cultura, que afecta a toda la organizacion. La presente obra reline diferentes aspectos de calidad relacionados con los sistemas infonnaticos, por 10 que se ofrece una vision amplia sobre diferentes factores que se deben tener en consideracion para la construccion de software de calidad. En este libro se persiguen los siguientes objetivos:
o
Presentar de forma clara los conceptos fundamentales relacionados con la calidad de los sistemas informaticos. Exponer los aspectos mas significativos relacionados con la calidad de productos y procesos software. Dar a conocer los diferentes estandares relacionados con la calidad del software. Tratar aspectos muy importantes para conseguir sistemas de infonnacion de calidad como pueden ser la medici6n, la cali dad de la infonnacion 0 la gestion del conocirniento.
A 10 largo de esta obra se ha combinado el rigor cientifico con la experiencia practica, proporcionando una panorarnica actuaI y completa sobre la problematica asociada a la calidad de los sistemas informaticos.
1. CONTENtDO
La obra consta de once capitulos, agrupados en cuatro partes. La primera parte ofrece una vision general de los conceptos, tecrucas y nonnas de calidad. El primer capitulo introduce el concepto de calidad partiendo de las defmiciones mas comunes hasta su interpretacion por parte de los principales gurus y estandares intemacionales.
RA.-i'vLA.
PREFACIO
XXI
El capitulo 2 resume las principales tecnicas utilizadas para la gestion de la cali dad, pasando por las herramientas basicas de calidad, las estadisticas 0 las de gestion, entre otras. En el capitulo 3 se exponen las aproximaciones mas importantes a la calidad, desde la gestion de la calidad total, pasando por el modelo EFQM y hasta seis-sigma (sixsigma), dedicando una gran parte a la explicacion de las normas de la familia ISO 9000. La parte II consta de dos capitulos, en el capitulo 4 se presenta una vision holistic a de la calidad de los sistemas de informacion, asi como algunos de los problemas de calidad que presentan los mismos. EI capitulo 5 explora las diferentes caracteristicas y subcaracteristicas de calidad de un producto software asi como el proceso de evaluacion, basandose en las principales normas intemacionales. En el sexto capitulo, con el que inicia la parte III relativa a la cali dad de proceso software, se discuten los principales elementos del proceso software y los lenguajes de modelado propuestos hasta la fecha. EI capitulo 7 resume los principales modelos de procesos de ciclo de vida, especialmente el ISO 12207, que pemliten tener una idea general de los procesos software. En el capitulo 8 se presenta las plincipales propuestas relativas a la evaluacion y mejora de procesos: modelos de madurez, nonnas intemacionales, metodos de evaluacion, etc. La cuarta y liltima parte dellibro aborda otros aspectos de la cali dad de los sistemas de infonnacion. Asi, en el capitulo 9 se presentan los conceptos relativos a la medicion del software, los plincipales modelos y nom1as relacionados con la medicion, y las metricas mas utilizadas. En el capitulo 10 se proponen conceptos relativos a la cali dad de la infonnacion, asi como un modelo de madurez y un metodo de evaluacion relacionados con la calidad de la infonnacion. A continuacion, el capitulo 11 se centra en la gestion del conocinliento y su importancia para conseguir sistemas de infonnacionde calidad. Por ultimo, se incluye la bibliografia y los acronimos utilizados en el texto.
RA-i\lA
Alumnos de Escuelas y Facultades de Infonmitica. Participantes en seminarios 0 cursos monognificos sobre calidad de sistemas de informacion 0 calidad de software. Profesionales infonmiticos que esten trabajando en el area del desalTollo de Sistemas de Infol1nacion. Directivos que tengan entre mantenimiento de sistemas. sus responsabilidades el desalTollo y
Usuarios avanzados, que tengan interes en adquirir unos conocimientos sobre las tecnicas y metodologias mas utilizadas para asegurar la calidad de los sistemas de infol1nacion. Analistas 0 consultores que, allll teniendo conocimientos de la materia, quieran abordarla de fOl1na mas sistematica.
Debido a la diversidad de la audiencia, el estudio de esta obra puede realizarse de maneras muy distintas dependiendo de la finalidad y conocimientos previos del lector.
Medicion para la gestion en la lngenierfa del Sofhmre. Dolado, l y Fel11andez, L (eds). 2000, (ISBN 84-7897-403-2), que recopila diferentes trabajos relacionados con la gestion cuantitativa de los proyectos y la calidad del software. Calidad ell el desarrollo y mantellimiento del soj'hmre. Piattini, M. y Garcia, F. 2003, (ISBN 84-7897-544-6), que ofrece una panoramic a actual sobre diferentes investigaciones realizadas por grupos destacados en calidad y mejora de procesos y productos. Amilisis y Diseiio de Aplicaciones lnforlllaticas de Gestioll. Una perspectiva de lngenierfa del Sofhmre. Piattini, M., Calvo-Mazano, lA., Cervera, l y Fel11andez, L. 2004, (ISBN 84-7897-587-X), que aborda el desalTollo y mantenil11iento de software, asi como diferentes aspectos relacionados con la calidad: pruebas, verificacion y validacion, etc.
PREFACIO
4. AGRADECIMIENTOS
Queniamos expresar nuestro agradecimiento, en plimer lugar, a los alumnos de la asignahlra Calidad de Sistemas de li!/ormacion de la Escuela Superior de Infonnatica de Ciudad Real, asi como a los asistentes a los diferentes seminmios y conferencias que hemos organizado sobre diferentes aspectos de la calidad de los sistemas infonnaticos en estos liltimos quince afios. Sus sugerencias, comentmios y ctiticas nos han pennitido depurar el material que presentamos en esta obra y planteamos que podtia resultar lltil disponer de un libro que ayudara a la gesti6n de la calidad de los SI. Tambien deseamos dar las gracias a D. Victor Izquierdo Loyola por haber aceptado escribir la presentaci6n de esta obra. Tambien queremos agradecer a la empresa Alvadalejo S.L. que se encarg6 de la filmaci6n del libro, y a la editorial RA-MA, especialmente a don Jose Luis Ramirez, por su continuo apoyo y colaboraci6n.
Mario G. Piattini Velthllis FelL>; Oscar Garcia Rubio /smael Caballero ivll11loz-Reja
Introduccion a fa Cafidad
CAPiTULO 1
CONCEPTO DE CALIDAD
"No me preocupa si alga es cam a barato. S610 si es buena. Y si alga es 10 sl!ficientemente bueno, entonces el pllblico pagara par ella. " Walt Disnel'
1. DEFINICION DE CAUDAD
La calidad se ha convertido hoy en dia en uno de los principales objetivos estrategicos para las organizaciones debido a que, cada vez mas, su supervivencia depende de la calidad de los productos y servicios que ponen a disposicion de los usuarios y clientes y de la satisfaccion de estos. Segill1 el Diccionario de la Real Academia Espanola de la Lengua (DRAE, 2006), la calidad es (en sus cuatro primeras acepciones):
1. Propiedad 0 conjunto de propiedades inlJerentes a algo, qlle permitenjllzgar Sll valor. 2. Buena calidad, sliperioridad 0 excelencia. 3. Caracler, genio, indole. 4. Condicion
0
Aunque coloquialmente podria parecer mas adecuada la segunda definicion a la hora de evaluar la calidad de un producto 0 un servicio (ya que se pretende -en sentido absoluto- la "excelencia"), las organizaciones estan interesadas en la primera y tercera acepci6n de calidad. En efecto, se intenta detenninar las propiedades inherentes a una cosa
CAUDAD DE SISTEMASIN"FOR,'vL,I"TICOS
RA-M.A.
que nos pennita conseguir que sea mejor que las otras, pero esto sera relativo, ya que dependera del punto de vista utilizado. Por otra parte, las organizaciones deberan asegurar los requisitos que se fijan en los contratos. Histolicamente, los diferentes gurus de esta area han dado diversas definiciones de calidad (Hoyer y Hoyer, 2001):
@
W.A. Shewhart: "Existen dos aspectos de la calidad EI primero tiene que vel' con la cOl1sideracion de la calidad de IIna cosa como una realidad objetiva independiente de la existencia del hombre, La otra tiene que vel' con 10 qlle pensamos, sentimos 0 creemos como resllltado de la realidad objetiva. En otras palabras hay lin [ado subjetivo de la calidad" (Shewhart, 1931). Philip B. Crosby: "La prim era sllposicion erronea es que calidad significa bondad, hljo, brillo 0 peso. La palabra calidad se utiliza para significar el valor relativo de las cosas enfrases como bllena caUdad, mala calidad y la expresion calidad de vida ". Calidad de vida es lin cliche pOl'que cada oyente aSlime que la persona que habla entiende exactamente 10 que para 131 signtjica la frase. Esta es precisamente la razon pOl' la que debemos definir caUdad como conjormidad COil los requisitos si queremos gestionarla". (Crosby, 1979). Genichi Taguchi: "La calidad es la perdida que un producto causa a la sociedad desplles de ser entregada ... ademas de las perdidas callsadas pOl' Sll fill1cion intrinseca". (Taguchi y Wu, 1979). Anlland V. Feigenbaum: "La caUdad de prodllcto 0 servicio puede ser definida como las caracteristicas to tales compllestas de producto y senJicio de marketing, ingenieria, fabricacion y mantenimiento por medio de las cuales el prodllcto y servicio en lISO cllmplil'a las e.xpectativas del cliente". (Feigenbaum, 1983). Kaoru Ishikawa: ''Debemos enfati::ar la orientacion al cliente ... Como uno intelpreta el temzino "calidad" es importante... Intelpretado restringidamente, calidad signtjica alidad de prodllcto. Intelpretado ampliamente, calidad signtfica calidad de trabajo, calidad de servicio, calidad de informacion, calidad de proceso, calidad de division, calidad del personal -inclll)'endo trabajadores, ingenieros, directivos y ejeclltivos-, calidad del sistema, calidad de la elllpresa, calidad de objeti1'os, etc.". (Ishikawa, 1985). W. Edwards Deming: "La dtficliitad de delinir calidad es traducir las necesidadesfilturas delllsllario en caracteristicas lIledibles, de manera que un prodllcto plleda ser diseiiado y producido para dar satisfaccion al llsuario al precio qlle paga... (, QlIe es calidad? La calidad solo se puede dl?:jinir en terminos del agente". (Deming, 1986).
!::': RA-MA
Joseph M. Jman: "La palabra calidad tiene multiple significados. Los dos significados que dominan el uso de la palabra son: 1. La cali dad consiste en las caracteristicas del producto que satisfacen las necesidades de los clientes y les proporcionan por tanto satisfacci6n con el producto. 2. Calidad consiste en ausencia de deficiencias .... Es conveniente estandarizar en una corta definici6n la palabra calidad como adecuacion at uso". (Jman, 1988).
JrlRAt'i
CROSBY
FElGEl\1JAUM
prop6sito de mejorar el producto 0 servicio. con el objetivo de llegar a ser competitivos. de pemmnecer en el negocio y de proporcionar puestos de trabaio. 2. Adoptar una nueva filosofia. Rechazar la aceptaci6n de defectos 3. Suprimir la dependencia de la inspecci6n para lograr la cali dad. Eliminar la necesidad de la inspecci6n en masa. incorporando la cali dad dentro del producto en primer lugar. 4. Acabar con la practica de hacer negocios sobre la base del precio. En vez de ello. minimizar el costo total. Establecer la tendencia a tener un iinico proveedor para cualquier articulo. con una relaci6n a largo plazo. de lealtad v confianza.
Proceso de Planificaci6n de la Calidad (considerar las necesidades del cliente. diseiio. capacidad de fabricaci6n y desarrollar los objetivos del proceso y de la calidad). Pane del Proceso de Control de la Calidad.
RM5. La calidad es una fomm de gesti6n. I. Establecer una filosofia de mejora continua y pemmnente. 2. Proporcionar sopone a la gesti6n. BM7. Comprender que la calidad es una etica.
EI papel de los metodos estadisticos se encuentra cubieno por el Proceso de Control de la Calidad.
Proceso de Control de la Calidad (induye control de parametros de proceso, control de medici6n, estandares de desempeiio, interpretar valores actuales vs. Estandares). Parte del Proceso de ;VJejora de la Calidad (considera mejora de proceso y de producto, productividacL tiempos de ciclo, seguridad de uso. entomo. reducci6n de costes). Parte del Proceso de Mejora de la Calidad. Parte del Proceso de Mejora de la Calidad. Parte del Proceso de Mejora de la Calidad.
2. Equipo de mejora de lacalidad. 6. Utilizar un sistenm de acciones correctivas. 4 1. Mantener un sistema de eliminaci6n de causas de error.
6. Instituir metodos de formaci6n modemos en el trabaio. 7. Dar a todos los empleados las herrarnientas adecuadas para hacer bien el trabaio. 8. Desechar el miedo, de manera que cada uno pueda trabajar con eficacia para la ora anizaci6n.
CROSBY
FEIGE7'lBAF\I
9. Eliminar las barreras entre departamentos. animar a los ditcrentes departamentos a trabajar conjuntamente en Ia resolucion dc problemas. 10. Eliminar los objcti\'os y cs16gancs que cxigcn nuc\'os ni\'clcs de producti\idad. sin proporcionar metodos de mejora especiticos. II. Eliminar est{mdares de trabajo que cspccitican cuotas nurn~ricas. utilizar m~todos cstadisticos para mcjorar 1a l'roducti\idad y calidad de
lQnna contmua.
B~! 1.
I1tlI110ricos. posters
Presente en su libra Tora! QlIa/i~l' Comro! (aunquc no sc cite cxp1icitamente en los principios ni en los bcnchmarks I.
12, Tener un prograllla
12. Eliminar todas las batTeras que impiJan a los trabajadorcs s-(;ntir~(' l)rgullosos de $U trabaio. l~, Impbntar un prl)g:ran1u \'igoroso de cducacion y auto-mcjora,
de rcconocimicnto.
~.
de \kjura ('1.:
Tencr
ronl1aci(~n
la Calidad.
5upcl\'isada.
B\12. Ca1idad e5 10 que las clicntcs diccn que cs B\!3. Calidad y coste s,'n una suma no una
ditCr~ncia.
loot In\'olucrar a tedo d personal de Iu organizacilH1 en la luella por conseguir la transt~1nllacion. Esta es turea de
todos.
Parte del
Proc~so
de \!cjora dc 1a Ca1id;1d.
1. \!antener compromisa de 1a direccion. 3. Tener planes de illcdici6n de la calidad. -+. Estimar el coste de 1a calidad. 7. Tener un progruma de cero ddcct('ls. .9. Lograr dias en los qu~c sea posible encontrar cero defectos. 1-+. I-Iacer los 13 pasos otm \'C2.
B\!6. Cali dad e innoyacion son mutuamente dependiemes. B\!9. Calidad es cl camino m{ls cfic[~z en costes y menos intensi\'o en capital hilcia Ia producti\idad. B\!10. Calidad sc itnplcmenta con un sistema total concctilco con los c1 iclltes y proyccdorcs. 3. Calidad es csencial para 1a innovacion desde la conccpcic\n del discno hasta 1a utilizacicin par parte del cliente. .J. Reconocer que el coste y ]a calidad son complementarios.
Tabla l.1. Comparacion de Filosofias de Calidad de los Cuatro Gurus (Mouradian, 2002)
En la tabla 1.1 se resumen y se comparan las principales ideas sobre la calidad de los cuatro gurus del siglo XX: Deming C14 puntas para fa gestion''j. Juran ("La Trifagfa
(; RA-\L-\
de Juran sobre como gestiol/ar la ca!idad"), Crosby ("14 pasos para fa ca!idad") y Feigenbaum (,,4 principios de gestion y 10 djrectrices para fa ap!icacion de estos prillcipios"). Cada fila ilustra la idea de cada uno con respecto al mismo critelio.
Por otro lado, en las principales n0l111aS intemacionales, la calidad se define como "el grado en ef que UII cOlljunto de caracteristicas illherelltes clllnpfe COil los requisitos" (ISO. 2000a), 0tra definicion interesante de calidad es la proporcionada por ISO 8402: "Col!illl1tO de propiedades 0 caracteristicas de WI prodllcto 0 serdcio qlle Ie cOI?jieren aptitud para satislacer 1I11ClS necesidades expresadas 0 implicitas ", Asi se puede ver que la calidad no se trata de un concepto absoluto: el consumidor la juzga con to do relatiyismo en un producto, En general (Piattini et al.. 2003). es posible considerarIa como un concepto multidimensional (referida a muchas cualidades), sujeta a restricciones (p, ej .. depende del presupuesto disponible) y ligada a compromisos aceptables (p, ej .. plazos de entrega). Incluso. se puede considerar que no es ni total mente subjeti\'3, (pOl'que ciertos aspectos pueden medirse) ni total mente objetiva (ya que existen cualidades cuya evaluacion solo puede ser subjetiva). Asi pues. la calidad no es absoluta. es multidimensional (vease la figura 1.1). Ademas la cali dad sllele ser transparente cuando esta presente pero resulta facilmente reconocible cuando esta ausente (por ejemplo. cuando el producto falla 0 el sel';icio es deficiente).
OPORTI..:";mAD
A este respecto merece la pena recordar las cinco "j'istas" de la calidad que sefiala Garvin (1984):
RA,-MA
Vista trascendental: la calidad es algo que se reconoce pero no se define. Por 10 que se puede concebir la calidad como un ideal al que se intenta llegar, aunque no 10 conseguimos debido a deficiencias en la tecnologia, en el proceso de fablicaci6n, en la comprensi6n, etc. Esta vista no resulta demasiado util para la gesti6n de la calidad y es amlloga a la segunda acepci6n del DRAE (2005). Vista de usuario: la calidad es adecuacion al proposito. Por 10 que se puede cuantificar las caracteIisticas de los productos, medirlos y establecer objetivos a alcanzar. Vista de fabricante: la calidad es confonnidad con las especificaciones. Esta concepcion de la calidad expande su alcance para exal11inar la cali dad durante la produccion y despues de la entrega del producto. Se trata de una vista centrada en el proceso. Vista del producto: que considera que la calidad esta unida a las caracteIisticas inherentes del producto. Mientras que las vistas del usuario y fabricante se tienen "des de fuera", la del producto es "des de dentro", ya que se centra en la l11edida de los atIibutos internos de los productos. Vista basada en valor: la calidad depende de la cantidad que el cliente este dispuesto a pagar.
Hay que tener en cuenta adel11as que la calidad puede tener varios oIigenes (vease figura 1.2):
Calidad Necesaria
9RA-1vV\
(!)
La calidad reatizada: la que es capaz de obtener la persona que realiza el trabajo, gracias a su habilidad en la ejecucion de una tarea. Se potencia con la mejora de las habilidades personales y tecnicas de los participantes en lill proceso. La calidad programada: la que se ha pretendido obtener. Es la que aparece descrita en una especificacion, en un docwnento de disefio 0 en un plano. Es, por tanto, la que se Ie ha encomendado conseguir al responsable de ejecutar el trabajo. Se potencia con la elaboracion de una especificacion que sirva de buena referencia a los participantes en un proceso. La calidad necesaria: la que el cliente exige con mayor 0 menor grado de concrecion 0, al menos, la que Ie gustaria recibir. Se potencia con una adecuada obtencion de infonnacion de la idea de cali dad de los clientes.
(!)
(!)
La gestion de la calidad pretendeni conseguir que estos tres circulos coincidan 10 mas posible. Todo 10 que este fuera de dicha coincidencia sera motivo de derroche, de gasto superfluo 0 de insatisfaccion. De todas maneras, consideramos que tambien resulta fundamental tener en cuenta la "calidad esperada" por el cliente, que no siempre coincide con la necesaria, y ver su grado de coincidencia con la calidad realizada, ya que en el fondo muchos problemas de la calidad pueden tener su origen en falsas expectativas por parte del cliente sobre las caracteristicas de un producto 0 servicio.
! Para mas infomlaci6n se recomienda leer http: \\\vw.egiDtoIOf,ia.org cienci,l'll1atcmaticas unidades.htm 0 httD: w\\w.I11etalunivers.com are.:;; metrologiadimensionaL tutorialm.:dicionantiguedad. hUll
10
&>RA-MA
constancia de una garantia de calidad que data del 429 A.c.), gIiega, impelios en los que la estandarizacion juega tambien un importante pape!.
romana, etc.;
Durante la Edad Media y el Renacimiento, la creacion de pueblos y ciudades incremento la division del trabajo y el desanollo de habilidades especializadas. Cobran impOltancia los artesanos que se familiarizan con los materiales utilizados y reciben un entrenamiento especifico durante su aprendizaje, organizandose una jerarquia de categorias (maestro, aprendiz, etc.) y los gremios con el fin de administrar los monopolios y transmitir la experiencia y conocimientos. Juran (1995) destaca que en este momento historico, los artesanos son los que realizan toda la secuencia de tareas para la creacion de un producto y que el comprador es el responsable del "aseguramiento" de la calidad, inspeccionando y probando el producto en los mercados. Este autor destaca tambien excelentes sistemas de gestion de la calidad como el del "Arsenal de la Repziblica Veneciana" durante los siglos XII al XVIII. Precisamente, a mediados del siglo XVIII se inicia en InglatelTa la reyolucion industrial que se expande al resto de Europa y otras partes del mundo, y en la que destacan la gI'an cantidad de maquinas inventadas. Surgen las abricas que pe1111iten un aumento de la productividad. y que implantan la produccion en mas a en la que las tareas se dividen entre yarios trabajadores de la fabrica, dando como resultado una mayor produccion mas asequible y un aumento de la demanda. Crece tambien la necesidad de estandarizacion de las piezas: en este sentido Mouradian (2002) sefiala a Jean-Baptiste de Gribeauyal como el primer inventor que introdujo el concepto de intercambiabilidad en 1767 para la fablicacion de artilleria fiancesa. Se supervisan los productos resultantes de la cadena de produccion y nace el control de calidad (pasa 0 no pasa). Por otro lado, los trabajadores no se encuentran en estado de autocontrol pOl'que no tienen contacto con e1 cliente. Esta situacion se agudizara alm mas C011 la adopcion del sistema de produccion cientifica de F.W. Taylor en e1 que se separa claramente la planificacion de la ejecucion (taylorismo). Se crearon los departamentos de inspeccion, se aumento la produccion. pero se tel1nino dafiando las relaciones personales. 10 que tuvo a la postre un efecto negativo sobre la cali dad. La gestion y el concepto de "calidad moderna" surgen en 1924 en los Bel! Telephone Laboratories. para atender las rec1amaciones de los clientes que instalaban teh~fonos (inwntado en 1876). Se crea e1 Departamento de Aseguramiento de Calidad del que fOl1no parte W.A Shew'hart, y a quien se Ie puede considerar como el padre del modemo aseguramiento de la cali dad. Shewhart propUgI10 la utilizacion de tecnicas estadisticas y control de procesos (la "plimera ola" del control estadistico de la calidad, seglll1 Juran (1995). Shewhart introduce el grafo de controL el desanollo del muestreo estadistico (Tague, 2005) y es el creador de1modelo PHV A (Planificar, Hacer, Verificar, Actuar). El libro de Shewhart (1931), que subraya la impoltancia de los metodos de control estadistico del proceso para reducir la variabilidad del proceso, se conviltio en el texto basi co en las empresas sobre calidad en Japon y en EElJU.
11
Shewhart se dedic6 a impartir una serie de cursos durante los afios 1920 aplicando algunas de las tecnicas citadas, Joseph Juran fue uno de los asistentes a estos cursos y posterionnente trabajaria sobre control estadistico. Por su parte, W. Edwards Deming tambien trabaj6 con Shewhart hacia 1920 y luego en el departamento de agricultura norteamericano en el que impuls6 la utilizaci6n del Disefio de Experimentos (DOE) propuesto por Fisher. Durante la Segunda GuelTa Mundial, Juran y Deming colaboraron con las fuerzas annadas nOlteamer1canas, que hicieron un gran uso de la inspecci6n por l11uestreo, adaptando las tab las desalTolladas en Bell System, en 10 que Juran (1995) denol11ina la "segunda ola" del control estadistico del proceso. Al acabar la guelTa se produjo una gran escasez de productos, por 10 cual la calidad de los pocos que quedaron descendi6 considerablemente, porque los fabr1cantes dieron pl10l1dad a la producci6n de gr'andes VOlL1l11eneS para conseguir cuota de mercado. Por otra parte, los japoneses despues de la Segunda GuelTa Mundial se enfrentaron. entre on'os muchos problemas, al desafio de cambial' su reputaci6n de productos de mala calidad. Juran (1995) sei'iala n'es contribuciones impOltantes que llevadan a modificar notablemente esta situaci6n: los cursos de fOl111aci6n organizados porIa Ch'i! COllllllllllicatiolls Section de las fuerzas de ocupaci6n nOlteamericana. las conferencias de Deming sobre conn'ol estadistico de la calidad y las conferencias de Juran sobre gesti6n de la cali dad. La industria japonesa aplicando estos principios ganada gr'andes cuotas de mercado a nivel intemacional con productos muy competitivos. En los ai'ios cincuenta otros dos gUrLlS tambien influyeron notablemente en la difusi6n de las ideas sobre calidad: Anmnd Feigenbaum, que public6 el libro Total Quality Control en 1951 y Philip B. Crosby que impuls6 impOltantes programas de mejora de la calidad desde el Quality College. Durante estos ai'ios se crearon en muchas empresas norteamericanas y europeas los departamentos de calidad, cuya misi6n se cenn'aba en separar los buenos productos de los malos al final de la secuencia de producci6n. En estas empresas, como sefiala Juran (1995) la producci6n se lleva a cabo por departamentos .estancos, y la fonnaci6n junto con la necesidad de dar importancia a la cali dad se limita al departamento de calidad. En los ai'ios sesenta cuatro aspectos desafiaron la adecuaci6n de la calidad en EEUU:
I
EI incremento del consumismo EI incremento de demandas judiciales sobre calidad EI incremento de la regulaci6n gubemamental sobre la calidad La revoluci6njaponesa de la calidad
12
Durante los 60 y 70 varios productos japoneses aumentaron su cuota de mercado a nivel intemacional, mientras que tanto las empresas norteamericanas como europeas no se habian tomado en serio el tema ya que pnicticamente se vendi a 10 que se producia. En los 70 hubo una crisis de cali dad en estos paises que se supero en los ochenta con exho11aciones a preocuparse por la calidad. mejora de la cali dad proyecto por proyecto, y la "tercera ola" de control estadistico del proceso (Juran, 1995). Este autor sel'iala como en los ochenta se reemplaza el taylorismo por el enriquecimiento del puesto de trabajo transfiriendo a la mana de obra decisiones y acciones previamente asignadas a los directivos. Se hace enfasis en el autocontrol, autoinspeccion, extension de los trabajos, equipos de trabajo autodirigidos. mejora de la calidad, implicacion de 1a alta direccion, p1anificacion estrategica de la calidad, reingenieria de procesos de negocio, fOn11aclOn, medicion, benchmarking, etc. En definitiva, el significado de "ca1idad" cambia desde un enfoque centrado solo en el producto a Lm enfoque de gesti6n organizacional, de significar cumplir las especificaciones del producto a satisfacer todas las necesidades y expectativas del c1iente. La calidad se extiende a la empresa en su conjunto y pasa a tener la maxima prioridad. en el momenta en que el c1iente tiene mayores posibilidades de eleccion y que, por tanto. aumenta continuamente su eXlgencla sobre los productos y servicios que compra. En estos anos se empezaron a usar 1a familia de nonnas ISO 9000 en Europa y se desalTollan toda una pletora de premios sobre la calidad (como el Malcom Baldrige :\'acional Quality Award de 1987). En los noventa se desalTolla aim mas los temas de calidad y aparecen nuevos enfoques. como Seis-Sigma. SegllI1 Juran (1995) si el sig10 x,'( fue e1 Siglo de la Productividad, el siglo XXI sera conocido como el Siglo de la Calidad.
gRA.-ivV\
13
Politica de la calidad: intenciones glob ales y orientaci6n de una organizaci6n relativas a la calidad tal como se expresan fonnalmente por la alta direcci6n. Sistema de gestion de la calidad: sistema de gesti6n para dirigir y controlar una organizaci6n con respecto a la calidad. Planificacion de la calidad: parte de la gestion de la calidad enfocada al establecimiento de los objetivos de la cali dad y a la especificaci6n de los procesos operativos necesarios y de los recursos relacionados para cumplir los objetivos de la calidad. Control de la calidad: parte de la gesti6n de la calidad orientada al cumplirniento de los requisitos de la calidad. Aseguramiento de la calidad: parte de la gesti6n de la cali dad orientada a proporcionar confianza en que se cumplinin los requisitos de la cali dad. Mejora de la calidad: parte de la gesti6n de la calidad orientada a aumentar la capacidad de clill1plir con los requisitos de la calidad.
Tambien son muy importantes los tenninos relativos a la confonnidad, como aceptaci6n del producto 0 servicio:
e e e
Conformidad: cumplirniento de un requisito. No Conformidad: incumplirniento de un requisito. Defecto: incumpliIniento de un requisito asociado a un uso previsto especificado.
0
Accion Preventiva: aCClOn tomada para elin1inar la causa de una no confonnidad potencial u otra situaci6n potencialmente indeseable. Accion Correctiva: accion tomada 'para eliminar la causa de una no confonnidad detectada u otra situaci6n indeseable. Correccion: accion tomada para elimmar una no confonnidad detectada. Una correccion puede ser por ejemplo un reproceso (acci6n tomada sobre un producto no confonne para que cumpla con los requisitos) 0 una reclasificacion (variac ion de la c1ase de un producto no confonne, de tal fonna que sea confonne con requisitos que difieren de los irUciales). Reparacion: accion tomada sobre un producto no confonne para convertirlo en aceptable para su utilizacion prevista.
14
RA-MA
Desecho: accion tomada sobre un producto no confonne para impedir su uso inicialmente previsto.
Lograr la confonnidad con los requisitos del cliente y la mejora de la calidad. Proveer la fonnacion apropiada. La repetibilidad y la trazabilidad. Proporcionar evidencias objetivas. Evaluar la eficacia y la adecuacion continua del sistema de gestion de la calidad.
Manuales de la calidad: documentos que proporcionan infonnacion coherente, interna y externamente, acerca del sistema de gestion de la calidad de la organizacion. Planes de la calidad: documentos que describen como se aplica el sistema de gestion de la calidad a un producto, proyecto 0 contrato especifico. Especificaciones: documentos que establecen requisitos. GUlas: documentos que establecen recomendaciones 0 sugerencias. Procedimientos documentados, instrucciones de trabajo y pIanos documentos que proporcionan infonnacion sobre como efectuar las actividades y los procesos de manera coherente. Registros: documentos que proporcionan evidencia objetiva de las actividades realizadas 0 resultados obtenidos.
o o
4. LECTURAS RECOMENDADAS
o
Juran, J.M. (ed.) (1995). A History of Managing for Quality. ASQC Quality Press, Milwaukee. Este libro editado por Juran, uno de los mayores gunis de la calidad, recopila la historia de la calidad en diferentes paises y epocas, centrandose en los grandes imperios antiguos y en el desarrollo industrial europeo y norteamericano. Sin embargo, adolece del defecto de no tratar los logros de calidad en el mundo iberoamericano.
o RA.-ivLA.
e
15
Mouradian, G. (2002). The Quality Revolution: A Histol) of the Quality Movement. University Press of America, Lanhan. En este libro se repasa la historia de la calidad desde los origenes de las civilizaciones hasta el siglo XXI. ISO (2000a). UNE-EN ISO 9000:2000 Sistemas de gesti6n de la calidad. Flilldamentos y vocabulario. AENOR. Esta norma intemacional presenta los principales conceptos basicos relacionados con la calidad y establece una tenninologia aceptada en todos los paises iberoamericanos.
http://\vww.aec.es La Asociaci6n Espanola para la Calidad es la mas importante a nivel nacional y tiene varias secciones dedicadas a aspectos especificos de la calidad. Adelmls edita la revista "Calidad". http://w\vw.asq.org La American Society for Quality es una de las asociaciones mas importantes a nivel intemacional y posee un catalogo de libros relacionados con la gesti6n de cali dad. Ademas edita varias revistas sobre calidad, entre ellas Quality Progress (sobre diferentes aspectos de la calidad en general) y Software Quality Journal (especializado en calidad de software). http://\v\vw.juran.com/Web del Instituto Juran donde se puede encontrar informaci6n sobre la actividad de esta organizaci6n basada en las ideas de Juran. http://w\vw.philipcrosbv.com/Web de Philip Crosby y asociados. Se muestra la actividad empresarial de esta organizaci6n. Es posible acceder a una colecci6n interesante de artfculos escritos por sus miembros, entre ellos, Philip Crosby.
6. EJERCICIOS
1. De las definiciones de cali dad dadas por los gurus y nonnas intemacionales, (,Cmll considera que refleja mejor la "vista de fabric ante" en tenninologia de Garvin (1985)? (, Y cualla "vista de usuario"? Comente estas dos apreciaciones sobre la calidad: Kitchenham afmna que "la calidad es dificil de definir, imposible de medir y facil de reconocer", seglin Gillies la cali dad es "tr-ansparente cuando esta presente, pero facilmente de reconocer en su ausencia". Compare estas afirmaciones con las defmiciones de calidad citadas en este capitulo. Explore los sistemas de calidad existentes en los imperios Inca y Azteca. (,Que funciones 0 roles existian relacionados con la calidad? (,Quienes las desarro llaban?
2.
3.
16
RA-ivlA
4.
Describa la organizaci6n de la AEC (Asociaci6n Espanola de la Calidad), y de la ASQ (American Society for Quality). (,Que diferencia hay entre una "acci6n correctiva" y una "correcci6n"? Ponga ejemplos de ambas. Explique que actividades de la gesti6n de la calidad podrian considerarse de "control de la cali dad" y cuMes de "asegurarniento de la calidad". Especifique el contenido que deberia tener un Manual de la Calidad, para ello puede ser conveniente revisar la norma ISO 10013: Directrices para desarrollar Manuales de la Cali dad. Especifique un metodo para desarrollar un Plan de Calidad. ConsuIte, si 10 estirna conveniente, la norma ISO 10005: Gesti6n de la Calidad - Directrices para Planes de la Calidad. Resuma la historia de la calidad en su pais desde 1960 hasta la actualidad, senalando sus principales hitos: creaci6n de una asociaci6n nacional, implantaci6n de prernios, difusi6n de normas, etc.
5.
6.
7.
8.
9.
10. Estudie la evoluci6n de la calidad en las industrias automovilistica, farrnaceutica, aeronautica y rnilitar.
CAPITULO 2
*'7
&
"Si no lIsamos las herramientas de calidad, pronto desclibriremos 10 poco zitiles que somas para Illlestra comunidad ala hora de Gliadir valor a las lecciones que vamos aprendiendo " Dr. Frank K. Toda
1. INTRODUCCION
Las herramientas de calidad son tecnicas y metodos mas 0 menos justificados que ayudan a obtener informacion para mejorar un escenario de calidad. Aunque son muchas las c1asificaciones que se pueden encontrar, en este libro se ha optado por la propuesta por Okes (2002) para presentar las mas importantes. Esa c1asificacion pennite agrupar las herrarnientas en las siguientes categorias.
CiI
herramientas basicas herramientas de gestion herramientas de creatividad herrarnientas estadisticas herrarnientas de disefio herrarnientas de medicion
CiI
CiI
CiI
CiI
CiI
18
@RA-lvlA.
En los siguientes apartados se expondran los fundamentos de cada una de ellas, finalizando con una reflexion sobre los modelos de madurez y el uso de las herramientas.
alrnac. interne
[~
dato,
Para desarrollar un diagrama de flujo se recomienda seguir estos pasos: 1. 2. Definir el proceso que debe ser representado. Identificar y definir las actividades que deben ser desanolladas y el orden en el que deben hacerlo. Representar las actividades como cajas y la transicion entre actividades como flechas de manera que sea posible hacer una traza de este desarrollo.
3.
19
4.
Revisar el diagrama de flujo con otras personas implicadas en el proceso para llegar a un consenso sobre su validez. La figura 2.2 representa un ejemplo de diagrama de flujo.
r
I
I
1. Identificar Calidad
Dlme"'o.,, de -,- - r
_ __
N~----------~
5.0btener Conclusiones 4. Ejecutar el Plan de Mediciones 3. Realizar un plan de mediciones
20
RA-MA
Medidas
Materiales
Personal
Exactitud
Compilador
Programadores
Tiempo
SGBDR
Analistas
-ilJ;>
Inferencia
Impresoras
Presion
Procesamiento
Orden adores
Medio Ambiente
Metodos
Maquinas
1.
Elaborar un enunciado claro del efecto (problema) que se ha detectado. Dibujar el diagrama de la espina de pescado, colocando el efecto (problema) en un cuadro en ellado derecho. Identificar de 3 a 6 espinas mayores que puedan ser las causas del problema / efecto principal.
2.
3.
4. Dibujar las espinas mayores como flechas inclinadas dirigidas a la flecha principal. 5. Identificar causas de primer nivel relacionadas con cada espina mayor.
6. Identificar causas de segundo nivel para cada causa de primer nivel. 7. Identificar causas de tercer nivel para cada causa de segundo nivel, y as! sucesivamente. Observando los resultados, identificar la causa raiz que permita obtener conclusiones en la resoluci6n del problema.
8.
s RA-ivV\
21
2.
3.
4. 5. 6.
7.
8. 9.
Para detenninar las causas de mayor incidencia en un problema, se traza una linea horizontal a partir del eje vertical derecho. desde el punto don de se indica el 80% hasta su
21
RA.-MA
interseccion con la curva acumulada. Desde este punto trazar una linea veltical hacia el eje horizontal. Los items comprendidos entre esta linea veltical y el eje izquierdo (de cantidades acumuladas) constituyen las causas cuya eliminacion resuelve el 80% del problema. Asi en el ejemplo mostrado en la figura 2.4, las causas identificadas como A, G y F representan ese 20% de las causas que alTeglalian el 80% de los problemas.
Diagrama de Pareto
--
......
--
-=<
--
--
--
......
--
--
--
2-, .
de comprobacion
La Hoja de Recopilacion de Datos tambien llamada Hoja de Registro. Lista de Velificacion. Chequeo 0 Cotejo sirve para identificar y analizar tanto los problemas como sus causas. Para ello establece los l11ecanismos necesarios para reunir y clasificar los datos recabados seglll1 detenllinadas categolias, mediante la anot~cion y registro de sus fi'ecuencias para cada uno de los contextos posibles: verificacion (inspeccion, chequeo 0 tare as de mantenil11iento), localizacion de defectos en las piezas, distribucion de variaciones de variables de los articulos, c1asificacion de articulos defectuosos, etc. Para ello es preciso, por un lado, definir una estnlchlra, en la que se almacenan'll1 los datos: por otro. especificar el procedil11iento de recopilacion y analisis de dichos datos, indicando quien. como y cuando hacer la planificacion y la caphlra.
RA-ivl"'-
De modo general las hojas de recopilaci6n de datos se pueden c1asificar seglin el tipo de datos en:
o
I)
De velificaci6n. inspeccion, chequeo 0 tareas de mantenimiento. De localizaci6n de defectos en las piezas. De dishibuci6n de variaciones de variables de los articulos (peso, volumen, longitud, calidad, etc.). De c1asificaci6n de articulos defectuosos.
0
I)
I)
2.5. Grafo
Diagrama de control
Son representaciones gnlficas utilizadas para detem1inar desde un punto de vista estadistico si un proceso esta 0 no bajo controL esto es, si hay variabilidad en el proceso y descubrir a que obedece esta variabilidad. La variabilidad es cualquier desviaci6n que el producto 0 servicio final puede tener respecto a la especificacion de los usuarios y que puede ser deb ida a cualquiera de los elementos. Los graficos de control sil-ven para representar una caracteristica de cali dad medida o calculada a partir de muesh'as del producto que son tomadas a 10 largo de un espacio de tiempo. Consta de una linea central (que suele ponerse en tomo a la media muestral ~l) y dos limites de control superior (LCS) e inferior (LCI) que se basan en conceptos y resultados estadisticos l (vease figura 2.5).
LCS
.Ll
LCI
I Es posible detinir Llna serie de tests que demuestran estadisticamente que el proceso esta bajo control. aunque todos los puntos es~n entre los dos limites.
24
@RA-MA
En el gnifico se dibujan los datos correspondientes al proceso. Si todos los puntos estan entre estos dos limites, puede decirse que el proceso esta bajo control.
2.
3.
4.
5. 6.
En funcion de como esten agrupados los datos de las muestras y de los estadisticos que se quieran es.tudiar. se pueden crear distintos tipos de grafos de control por variables. Estos tipos son 16S siguientes:
@
X-Barra 0 de Medias: pennite estudiar como varian las medias de las muestras estudiadas (vease figura 2.6). R 0 Recorrido: pennite esmdiar como varian los rangos de los valores muestrales estudiados. Se utiliza cuando el tamai'io de las muestras es inferior a 10 (vease figura 2.7). S 0 de desviaciones tipicas (cr): pennite estudiar como varian las desviaciones tipicas de los valores muestrales estudiados. Se utiliza cuando el nllmero de muestras es superior a 10.
RA-MA
25
340
320
UCL=339,5
X=275
i5.
(I)
E 260 co
240 220
LQ=210,5
200
, 2
, 6
10
, 12 14 Sample
, 16
i8
20
22
24
200
R=88,5
o
2:
, 4
10
12 14 Sample
16
18
20
, 22
lCL=:O
24
26
RA-ivlA.
eX-Barra! Rode Medias-Recorridos: son la representaci6n conjunta de un gritfico X-Ban-a con uno R. Se supone que si la variable estudiada sigue una distribuci6n nonnal, entonces X-Ban-a y R son independientes. Si se presentan gritficos paralelos, entonces la distribuci6n seria sesgada. Es interesante siempre comparar la media de los rangos con la variaci6n pen-nitida (vease figura 2.8).
Grafico XBarra-R de Fallos de Sistema de Informacion
350~-------------------------------------------------'
UCL=33'i/5
2M~-.
__- ,__- ,__- ,__- ,__- ,__- ,__- , , -__, , - - , , -__. -__. - . J
10 1;2 14 1$ 1S 20
sample
lCL=21O,5
200
1-========================,
/ /~ ~/~\J\ / '-J /
8 10 12 14 5ample
UCL=ZCJZ,O
/1',
v--J+-<\,
16 18 20
~
2+
---"
L:::::;::=::;:=:::;::=:::;::=:::;::=:::;::==;:===;:===;:===;:===;===;=-.J L~L=O
22
Numero de productos defectuosos: se pretende evaluar si el proceso esta 0 no bajo control atendiendo al numero de productos defectuosos que genera. Es posible encontrar los dos siguientes tipos de diagramas: a. Tipo p 0 de Proporcion de Unidades No Conformes: es un grafico de control que pennite representar la proporci6n de unidades no confonnes de cada muestra respecto del tiempo. Dichas muestras no tienen por que
27
ser del mismo tamafto. La figura 2.9 muestra un ejemplo de un gnifico de control por atributos de la proporci6n del numero de defectos.
Grafico P de Datos Invalid os
0,8~------------------------------------------'
lJCL=O,7397
0,6 ::: 0,5
o :;::
13
o
Q.
0,4
is: 0,3
0,2
0,1
P=0,2692
0,0
2
4
6
,
8 10 12
14
lCL=O
18
8<3mple
Tests perfbrmed with unequal sample sizes
b.
Tipo np 0 de Numero de Unidades no conformes respecto del tiempo: es un gnifico de control que pennite representar el numero de unidades no conformes de la muestra respecto del tiempo. Pennite analizar tanto el mimero de unidades no conformes como la posible existencia de causas especiales. Al realizar la inspecci6n de un atributo se clasifican las unidades en conformes 0 no confonnes (np). EI tamafto de las muestras puede variar en cada inspecci6n. La figura 2.10 muestra un ejemplo de un tipo de gnifico de control por atributos de unidades no confonnes.
Numero de Defectos por Producto. Se pretende detenninar si el proceso esta bajo control, estudiando el numero de defectos que tiene cada producto. En funci6n de la profundidad del estudio se pueden encontrar los siguientes tipos de diagramas de control de esta clase:
c.
Tipo Code numero de no conformidades: pennite representar el numero de defectos 0 de no confonnidades de todas las unidades producidas con respecto al tiempo. Para ella se contara el numero de defectos c que tiene cada muestra. La figura 2.11 muestra un ejemplo de este tipo en la que el proceso no esta bajo control.
28
RA-MA
d.
Tipo U 0 Numero Medio de No Conformidades: este tipo de diagrama deriva del anterior, pero se realiza calculado la media del numero de unidades no conformes de una muestra.
Graficos NP de Datos Invalidos
22,5
UCL=21,99
20,0
17,5
~
III
15,0
CJ
"E. 12,5
01
10,0
: : Alr' ,''m,.
\
1 1 1
V~
9 U
(~
~
'aT\
1
~
LCL=5,61
ffi
ill
Sample
Figura 2.10. Diagrama de Control por Atributos tipo np (generado con Minitab)
2.6. Histograma
EI histograma 0 diagrama de distribucion de Jrecuencias es una representaci6n gnifica por medio de barras verticales, que ilustra la frecuencia con la que ocurren eventos relacionados entre sf. Se trata de un instrumento de sintesis muy potente que permite apreciar la tendencia de un fen6meno. El histograma puede ser usado para:
CD
Obtener una comunicaci6n clara y efectiva de la variabilidad del sistema. Mostrar el resultado de un cambio en el sistema. Identificar anormalidades examinando las formas del grafico. Comparar la valiabilidad con los lirnites de especificaci6n.
CD
CD
CD
GRA-MA
29
LCL=O
10 12 Sample
14
15
18
20
Adjunto al histograma es recomendable realizar un grMico denominado poligono de frecuencias trazado sobre las marcas de clase de las barras del histograma. Se fOlma uniendo los pumos fonnados por la intersecci6n de la marca de clase 0 punto medio, con la fi:ecuencia absoluta 0 con la relativa desde la marca de clase antelior a la primera clase, hasta la marca de clase posterior a la ultima, (estas clases ficticias tienen una frecuencia cero). Visualizando ambos graficos se puede apreciar distintos tipos de histograma seglin su fonna: nonnal, bimodaL de dientes rotos 0 de peine, cortado, distorsionado. etc. Un ejemplo de histograma es el mostrado en la tigura 2.12.
de Correlaci6n
Tambien llamada Diagrama de Correlaci6n: esta heITamienta sirve para estudiar una posible relaci6n entre dos vaIiables objeto de estudio de un control de calidad. Para ella es preciso reunir datos de sucesos oClm-idos don de participan los dos factores que se pretende detem1inar si tienen 0 no relaci6n. Los datos serall en la fonna (x.y) donde "x" representa el valor que se pretende detenninar si influye (causa), e "y" el valor del factor que se considera influido (consecuencia). Estos pares de puntos se dibujan en un diagrama en el plano como una nube. La observaci6n de esta nube pem1itira detenninar si hay 0 no relaci6n entre ellas. En caso de haber relaci6n, se espera poder expresarla como una funci6n matematica y f(x). Nonnalmente, se espera que esta relaci6n sea lineaL aunque otras funciones polin6micas son posibles.
30
RA.-IvL>\
120
iOJ -
5J
20
i70
168
iSJ
208
210
La figura 2.13 muestra las diferentes relaciones que pueden darse: correlaci6n fueltemente positiva, positiva, no correlaci6n, negativa, y fueltemente negativa. Como resultado del amilisis se obtendra un coeficiente de correlaci6n r, que indicara la fuerza de la relaci6n, y si esta es positiva 0 negativa:
iii
Si r es cero, entonces no hay correlaci6n entre los dos factores estudiados. Cuanto mas cerca este r de 1 6 -1 mas fuelte es la relaci6n entre los dos factores. Si r > 0, entonces a medida que la magnitud de la causa crece, la magnitud de la consecuencia tambien. Si r<O, entonces a medida que la magnitud de la causa crece, la magnitud de la consecuencia decrece.
iii
iii
iii
3. HERRAMIENTAS DE GESTION
3.1. Diagrama de afinidad
Los diagramas de afinidad sil"Ven para organizar un gran nlunero de ideas en categorias relacionadas, 0 afines (Tague 2005). Fue creado por Kawakita en los atlOS sesenta. Las ideas suelen venir de sesiones de trabajo 0 de sesiones de Tonnentas de Ideas.
31
Para elaborar un diagrama de afinidad, se recomienda seguir estos pasos: 1. 2. 3. Registrar todas las ideas y conceptos que sUljan en el glUpO de trabajo. Crear categolias generales para esas ideas basandose en criterios de afinidad. Asignar cada idea afinidad.
0
v
0
0 0 C
0
0 0 0
Q 0
o
0
0 C 0
00 0
No Correlacion
0 0
0
0 0 0
c
0
Correlacion Negativa
0
x
0
x
0
0 0
y
o
0
0
00
Correlacion Positiva
y
o
o c o
0 0
0
c (;
0 0
o 0
00
0 C 0
0 0
;::" 0 0
00 C
0
Correlacion Compleja
y
0 0 0 0 00 0 0
00 00 0
00
32
RA-lvL~
2. 3.
Proponer una causa como la mis probable Estudiar la relaci6n entre esta primera causa y el resto de las causas, sefialando con flechas las relaciones que vayan surgiendo. Es posible que haya diferentes niveles de relaci6n. Descartar en cada iteraci6n las causas no seleccionadas. Repetir la iteraci6n hasta encontrar la causa que mas relaciones tenga. La figura 2.14 muestra un ejemplo de diagrama de relaci6n.
4. 5.
c
D
matricial
Al igual que ohas henamientas de las citadas hasta ahora, pennite representar grafical11ente la relaci6n existente entre varios factores. Para ella hay que colocar los factores sobre las filas y colunmas de una l11atliz. Si existe relaci6n, se l11arca en la intersecci6n de los factores. Es posible indicar el grado 0 intensidad de la relaci6n existente. Se suele utilizar para definir la relaci6n enhe los distintos factores que intervienen directa 0 indirectal11ente en un proceso de mejora de calidad. La figura 2.15 representa un ejemplo de diagrama mahicial.
VLOCIDAD VEWCIDAD
... ~
I
I I I
SGGRIDAD
!
I I I
.. .COi'iiE:'<IDOS
-4
..
s RA-ivL\
33
de flechas
Son una herramienta de planificaci6n que se emplea para representar gnificamente y de forma estructurada la secuenciaci6n de actividades que hay que desarrollar en un plan de mejora de calidad siguiendo un orden cronol6gico. La infonnaci6n que se debe mostrar es la duraci6n de cada tarea, holgura, dependencias entre actividades. Tienen un principio y un final, con 10 que es posible estimar eminto tiempo se va a necesitar para desarrollar el mencionado plan. Como las flechas indican caminos, es posible identificar caminos criticos en la realizaci6n del plan. La figura 2.16 muestra un ejemplo de este tipo de diagrama.
34
@RA.-MA
Para elaborar un diagrama de este tipo, se deberia seguir este procedimiento: 1. Obtener 0 desarrollar un diagrama de arbol con el plan propuesto, teniendo en el primer nivel el objetivo del plan, en el segundo, las actividades pl1ncipales para conseguirlas y en el tercero, una lista de tareas para cada una de esas actividades. Para cada tarea del tercer nivel identificar que es 10 que podria salir mal. Revisar todas las listas de problemas potenciales y eliminar aquellos que sean improbables 0 cuyas consecuencias pudieran llegar a ser poco significativas. Los problemas resultantes poddan mosharse como un cuarto nivel. Para cada problema potencial, identificar planes 0 acciones de contingencia que mitiguen los efectos de esos problemas. Estos planes se pueden mostrar en un quinto nivel. Esrudia la viabilidad de cada plan de contingencia, marcando con una "X" los impracticables y con una "0" los que Sl poddan llegarse a dar.
2. 3.
4.
5.
4. HERRAMIENTAS DE CREATIVIDAD
Aunque existen herramientas de creatividad como los mapas concephtales, el usa de analoglas, etc. aqui se presentani solo la tonl1enta de ideas como la mas utilizada. Es una herramienta de trabajo en grupo basada en la creatividad de los componentes del grupo de trabajo. Se pretende obtener el mayor numero de ideas 0 soluciones en el menor tiempo posible, seleccionando poste1101111ente las mas indicadas, es decir, aquellas que mejor se adaptan a los objetivos del problema. Para ella es necesar10 que el equipo de trabajo conozca dichos objetivos. Existen dos modos de realizacion de esta tecnica:
EI
Modo estructurado: todos los miembros del grupo se yen forzados a participar, siguiendo un hImo riguroso .. Modo Iibre: los miembros del grupo van aportando ideas seglll1 se Ie van a ocun1endo sin seguir ningUn ru1110 preestablecido. Se crea un ambiente mas relajado pero se corre el peligro de que haya personas que no participen y por tanto no se conozcan sus ideas.
EI
Definicion y comunicacion del asunto a tratar a todos y cada uno de los miembros del gmpo. Se tiene que planificar una agenda para facilitar la asistencia e todos los miembros.
35
Exposicion de ideas. Los pariicipantes van apOliando ideas en alguno de los modos expuestos anterionnente y el moderador 0 director de la reuni6n las va a anotando en alglin lugar visible por todos los pariicipantes. Seleccion de ideas. Cuando ya no haya mas ideas, todos los miembros deben seleccionar aquellas dimensiones que mejor se adapten al objetivo de la medici6n, descartando las peores.
5. HERRAMIENTAS ESTADisTICAS
5.1. Control estadistico del proceso
Se entiende por capacidad de un proceso el grado de aptitud que tiene para cumplir con las especificaciones tecnicas deseadas. Cuando la capacidad de un proceso es alta, se dice que es capaz. Cuando se mantiene estable a 10 largo del tiempo se dice que esta bajo control. Para determinar si un proceso es 0 no capaz, se pueden utilizar las siguientes herTamientas:
e e e e
Este apartado se centrara en los estudios de los indices de capacidad. Se considera un indice de Capacidad como la relaci6n entre la variaci6n natural del proceso y el nivel de variaci6n especificada. Se pueden hacer dos clasificaciones:
e
Respecto a su posici6n: a. b. c. d. indices cenrtados con respecto a los limites indices descentrados con respecto a.los limites pero contenidos en ellos S610 con limite superior S610 con limite inferior
Respecto a su a1cance temporal a. b. A corto plazo 0 intragrupo (Capacidad Potencial) A largo plazo 0 intragrupo e intergrztpo (Capacidad Global)
36
RA-MA
LARwPtAZO
(h'i-m.-\GRD'.PO E,' h"{lERGRllPO
PPU
PPL
P p,
C PK Y PPK
Sean LS Y LI los limites de tolerancia exigidos en las especificaciones, se defme el indice de capacidad de proceso como:
C
p
= LS-LI
6u
CPK
= A1in{
LS - j.J j.J - LI , } 3u 3u
10
Para afinnar que un proceso es capaz Cp y/o CPK deben ser mayor 0 igual que 1.33, que garantiza que el 99.994% de los productos fabricados 0 servicios prestados por el proceso centrado esta dentro de las especificaciones. En caso de ser necesario estudiar los dos, ambos deben valer como minima 1.33. En otro caso, habra que aplicar acciones con'ectoras.
Estudio de Capacidad del Proceso " Deteccion de fall os en el Sistema de Informacion"
L5l
Prv-:~ss
USl
LSL
D.a:t;a; ll 1775;C1C)OCI
1825.JIOOOO
--Within
Over311
Cp
CPL
I
0;23
0,32
5"rnpl-=
S;rtlp.!~
""-=::tl)
N
18(t2)~S 149
1:;
293308:9 28 .. 15313
StD.;:vi)\IHhirl)
StD.;v(O'~\:r~!f)
CPLI
QJ;;;:
0,2r.
(j:2~:
<::pl;
CC?~~
Overall Ca~'!!biSty
Pp
0,31)
0,3?
02~
PPl
PPU
P~k
0,2;
Cpm
*"
PPM
PPf,'
3':129,90
Exp. (J<[o:n:ll Po:rTorm,an:.:;: ppr'il =: LSL 1E>Ui4J$(' ppr,i r= U;;L ::1S,n~,l-; PPhl Tot,,! 377003,.01)
QRA.-MA
37
En la figura 2.18 se muestra un ejemplo donde mediante la observacion de los indices de capacidad potencial y global puede deducirse que el proceso no es capaz, ni a largo ni a corto plazo, y que por tanto habra que aplicar correcciones
CPU = L530-
CPL
= jl-LI
30-
38
6. HERRAMIENTAS DE DISENO
6.1. QFD (Quality Function Deployment)
El Diagrama de Despliegue de la Funci6n de Calidad (Quality Function Deployment) es una tecnica utilizada para planificar nuevos productos y servicios 0 realizar mejoras en los existentes a partir de metodos mauiciales, cuyo objetivo es que los requisitos del c1iente lleguen a estar completamente contenidos en las espcificaciones tecnicas del producto 0 servicio. La principal ventaja de esta tecnica es la reducci6n del tiempo del disefio y la disminuci6n de los costes, manteniendo y mejorando la calidad. Para realizar un proyecto usando QFD se deberian seguir estos pasos (Carretero et
al., 1999):
1.
Fase de Organizacion: donde se delimitani el alcance del proyecto, definiendo tanto el objetivo del proyecto como los miembros del equipo que deben trabajar en el. Estas personas deben tener experiencia demostrable y pertenecer a los distintos departamentos implicados en el proyecto. Fase de Definicion. En esta fase se realiza la programaci6n temporal del proceso, delimitandolo en el tiempo, y planificando temporalmente la duraci6n y las precedencias de cada una de sus tareas. Tambien es necesario revisar el objetivo del proyecto para adaptarlo a los recursos de la empresa. Fase de Identificacion y Amilisis de Necesidades. A partir de este punto comienza el desarrollo del QFD. En esta fase es donde se recopilanlos requisitos del c1iente, se analizan y se interpretan por los miembros del grupo de u'abajo y finalmente se relacionan con las caracteristicas del producto que deben sintonizar con los requisitos de los c1ientes. Para ella se suelen utilizar cuatro tipos de matrices importantes:
a.
2.
3.
donde se relacionan las necesidaaes del c1iente con las caracteristicas del producto 0 servicio a disefiar. b.
c.
RA.-ivlA
39
d.
jvlatri::. de pfantficacion de fa prodllccion, que va a recopilar la relaci6n entr'e las especificaciones del diseno (registradas en la matriz de planificaci6n del proceso) y la normas de producci6n, estableciendo el procedimiento, la programaci6n y los puntos de control del proceso de producci6n.
En la fase de identificaci6n y analisis de necesidades es donde tiene lugar la planificaci6n critica, centr'andose principalmente en las definiciones del producto 0 servicio. Para completar esta fase, habria que trabajar sobre cada una de las matrices de la figura 2.19; as!, habria que realizar las siguientes actividades: 1. 2. 3. 4. Seleccionar un Producto/Servicio Importante a Mejorar Obtener la Voz del Cliente Identificar las Necesidades del Cliente Organizar las Necesidades del Cliente
5. Priorizar las Necesidades del Cliente 6. 7. 8. 9. Establecer los Parametros de Diseno Generar la Matriz de Relaciones Obtener la Evaluaci6n de Desempeno del C1iente Correlacionar los Parametros de Diseno
40
RA-MA
~
CARACTERisTICAS DEL PRODUCTO La voz dellngeniero
I-
::i
U
w w
..J,s
c.Sl
we
"Ill
>
enu
U u 0
inO
~~
_ N 0'"
wZO
MATRIZ DE RELACIONES
u::..J
(j
..,
>
3>
oS:
0:3:
"en
La tabla 2.1 muestra la infonnaci6n basica que se necesita manejar para realizar un AMFE. Consta de los siguientes campos:
41
Funcion y/o Proceso: describe la funcion del elemento analizado. Si se presentan varias funcionalidades, se separanin adecuadamente, ya que pueden dar lugar a distintos modos de faUo. Fallo: se refiere al incumplimiento de uno 0 varios requisitos especificaciones del elemento, aunque no este observado par el cliente. o o
0
Mada de Falla: es la forma en la que el elemento estudiado puede dejar de cumplir las especificaciones para las que fue disenado. Ejecta de Falla: en el caso de que se produzca el faUo, en este apartado deben completarse todos los datos correspondientes a las diferencias de funcionamiento observadas. Habria que describir a que areas puede afectar el faUo: si a seguridad, salud, medio ambiente, funcionamiento correcto, ... Causa de Falla: hay que describir las anomalias de las que se tiene sospecha que han podido producir el faUo: variaciones en los parametros de manipulacion optima, deficiencias en el diseno del producto, servicio o proceso, deficiencia en los materiales usados, uso indebido por parte del cliente, etc.
Evaluacion de la Prioridad: que comprende los siguientes conceptos: o Controles preventivos: hay que reflejar los resultados de los controles preventivos previamente realizados a la aparicion del faUo, para estudiar si es el resultado de un accidente fortuito 0 bien es por causa de alglin tipo de desgaste. Jndice de Frecuencia (F): pennite asignar una probabilidad de que ocurra lma causa potencial del modo de faUo. Jndice de Gravedad (G): sirve para estimar el nivel de consecuencias sentidas por el cliente. Este indice de gravedad esta tabulado y es funcion creciente de estos factores: insatisfaccion del cliente, degradacion en las prestaciones. coste de reparacion. Indice de Deteccion (D): es el val~r que mide la probabilidad de que la causa y el faUo Ueguen al cliente, es decir, la probabilidad de que los indices de deteccion no funcionen. Indice de Prioridad de Riesgo (JPR): mide cuales son los fallos cuyas probabilidad de riesgo es mayor. Esto pennite identificar los fallos en los que se deben concentrar principalmente la atencion para empezar a aplicar ah! las acciones correctoras oportunas. Se obtiene calculando el producto de los tres indices anteriores: IPR= FG-D.
o o
42
RA-ivLA.
Acciones Correctoras: para detem1inar las acciones conectoras es conveniente seguir cada fallo, por 10 que se debe tener en cuenta el valor del indice de Prioridad de Riesgo. En funcion de este indice, las acciones que se pueden asociar se puede clasificar en "Eliminar la causa dellalla", "Redllcir la probabilidad de acurrencia", "Redllcir la gravedad del lalla", "Alilnentar la probabilidad de deteccion". Responsabilidad y plazo: sirve para anotar la persona 0 area que se hara cargo de la ejecucion de las acciones conectoras indicadas anterionnente en los plazos previstos. Resultados: tras adoptar las conespondientes acciones conectoras se refleja la fecha de aplicacion. Tras esta fecha, se sei'ialan los nuevos valores de los indices de frecuencia, de gravedad y de deteccion y se calcula de nuevo el IPR.
El procedimiento general para desaITollar cualquier tipo de AMFE podria ser el siguiente (Tague, 2005):
1.
FOl1nar un equipo multifuncional con conocimiento amplio y diverso sobre los productos, servicios, procesos y necesidades de los usuarios. Otras fimciones que deberian ser capaces de desanollar son las de disefio, producci6n, calidad, pruebas, fiabilidad, mantenimiento, compras (y suministros), ventas (y atencion al cliente) y servicios a clientes. Estil11ar el alcance y los lil11ites de aplicacion del Ai\1FE, identificando el producto, proceso 0 servicio a estudiar, as! como los modos de fallos potenciales, las causas y las posibles consecuencias. Elaborar y rellenar toda la documentacion relativa a la evaluaci6n de PriOlidad para cada uno de los modos de los fallos potenciales objeto del estudio: esto implica rellenar todos los campos de la tabla 2.1. Lo que aCaITea calcular los conespondientes indices de Gravedad, Frecuencia, Deteccion e IPR. En funcion de los valores de IPR, estil11arJas acciones conectoras, identificar los responsables y estimar el plazo. Ejecutar las acciones conectoras, y una vez pas ada la fecha de aplicacion, volver a calcular los conespondientes indices para comprobar la validez de las acciones conectoras ejecutadas.
2.
3.
4.
5.
1;;: RA-lvLA
43
7. HERRAMIENTAS DE MEDICION
7.1. COQ (coste de la caUdad)
Tambien llamado Analisis de Costes de Pobre Calidad, el COQ es un proceso uti liz ado para identificar problemas potenciales, y cuantificar los costes en los que habria que incurrir por no hacer las cosas bien desde el plincipio. Para realizar un analisis COQ se recomienda seguir estos pasos: I. 2. Obtener 0 dibujar un diagrama de flujo detallado del proceso. Identificar todas las fases y actividades del proceso y marcar aquellas que inculTan en costes de calidad: inspecci6n, reparaci6n y control de danos. Cuestionarse las razones de que haya tanto muchas como pocas actividades marcadas que inClllTan en costes de cali dad. Para cada actividad marcada estimar el coste que puede implicar los fallos procedentes de una deficiente calidad y el coste que puede suponer implementar acciones bien cOlTectoras, bien preventivas para elTadicar/evitar esos problemas. Estimar la viabilidad de las acciones COlTectoras. Proponer aquellas acciones COlTectoras cuya viabilidad sea posible.
3.
4. 5.
7.2. Benchmarking
Tague (2005) define benchmarking como un proceso estructurado que pennite comparar las mejores practicas de las organizaciones, de manera que se pueden incorporar aquellas que no se desalTollan 0 mejorar las que se desalTollan a la propia organizaci6n, 0 a los procesos de la organizaci6n. Las fases para desalTollar un benchmarking es el siguiente: 1.
Planificar:
a.
Definir los objetivos del estudio. Hay que elegir aquellos que sean criticos para el exito organizacional. Fonnar un equipo muldisciplinar que afronte finnemente el estudio que se va a desalTollar.
b.
44
.:g RA-ivlA
c.
Estudiar los propios procesos de la organizaclOn: es preciso conocer como nmcionan las cosas intemamente para hacer un buen trabajo en la comparacion. Identificar los profesionales de la organizacion que podrian desanollas las mejores pnicticas.
d.
2. Recopilar Datos:
a. Recopilar los datos directamente de los profesionales de la organizacion. Hay que recoger tanto las descripciones de los procesos como los datos numericos, usando cuestionarios, entrevistas telefonicas y/o visitas.
3.
i\nalizar:
a. Comparar los datos recolectados, tanto los numeric os como los descriptivos. Detenninar las brechas entre las medidas de rendiIniento de los procesos de la propia organizacion con los de las ou-as organizaciones. DetenniI1ar las diferencias en las pnicticas que provo can dichas brechas.
b.
c.
4.
Adaptar:
a. b. c.
DesaITollar objetivos para los procesos de la organizacion. Desanollar planes de accion para conseguir esos objetivos. Implementar y monitOlizar dichos planes.
7.3. Encuestas
Estan destinadas a detenninar la naturaleza de los procesos. Existen dos modalidades:
e
Intenogacion directa: los trabajadores del verbalmente al encuestado y anota sus respuestas.
conocimiento
intenogan
45
8. NIVELES DE MADUREZ
Varios autores han sefialado que las organizaciones pueden presentar diferentes niveles en la gesti6n de la calidad. Asi, por ejemplo, Crosby (1979) distingue los siguientes cinco niveles:
II
Incertidumbre (uncertain!)). La direcci6n no entiende la calidad, por 10 que el personal apaga fuegos constantemente sin investigar las causas de los problemas. No hay mejora de calidad ni medidas del coste de la calidad ni muchas inspecciones. Despertar (mvakening). La direcci6n no invierte tiempo ni dinero en la cali dad, se pone enfasis en la valoraci6n pero no en la prevenci6n. Iluminacion (enlightenment). La direcci6n soporta la mejora de la calidad, existiendo un departamento de calidad que reporta a la direcci6n. Sabiduria (wisdom). La direcci6n comprende la importancia de la calidad y participa en el programa de calidad, haciendo enfasis en la prevencion de defectos. Certidumbre (certainty). Toda la organizacion esta involucrada en la mejora continua.
II
II
II
II
En el mismo sentido, Silverman (1999) distingue los niveles de: aseguramiento de la calidad, resoluci6n de problemas, alineamiento e integraci6n, obsesi6n por el cliente y "despertar espiritual" (spiritual mvakening); mientras que Westcott (2001) los denomina: disfuncional, despertar, desarrollo, madurez y sistema de c1ase mundial.
N~'EL.nE lVlADli"REZ
.J ..... ' . \
DES<;,RIPClo.'\i.
... "
to';.,>;
TT~
C'.
"".;.;:n.,: c";
Bajo
Medio
Alto
No existe sistema de calidad fonnal 0 no se usa. ." Reclamaciones y costes de fallos son altos. No hay mejora continua fonn~l Departamento de Calidad es responsable Costes de cali dad intemos altos, los extemos bajos. Cada departamento acepta su papel en sistemas de gestion de cali dad. Proyectos de mejora con empleados Los sistemas de gestion de calidad, seguridad, finanzas, etc. estin integrados y dirigidos por la estrategia de la organizacion. Los departamentos y procesos monitorizan desempefio y meiora diaria.
Auditorias Coste de Cali dad Control Estadistico de Proceso Encuestas clientes FMEA! Dis. Exp. Benchmarking
46
RA-MA
Las helTamientas que una organizaci6n puede utilizar varianin seglin el nivel de madurez de calidad que presente. Okes (2002) presenta la propuesta que se refleja en la tabla 2.2. Ademas, se puede encontrar un cierto orden de prelaci6n a la hora de utilizar las helTamientas, por ejemplo: SPC se tiene que utilizar antes que DOE, ya que un proceso debe estar en condici6n estable antes de estudiarlo; COQ se utiliza antes que el benchmarking, ya que COQ utiliza datos internos, mientras que benchmarking utiliza datos externos.
9. LECTURAS RECOMENDADAS
e
CalTetero, A, Ingelmo, P., Sanchez-Infantes, lA, Sanchez-Infantes, P., Sanchez, lA, (1999). Calidad. Editorial Editex. Se trata de un muy buen libro de introducci6n a la cali dad en general. Florae, W. A Y Carleton, A D. (1999). Measuring the Software Process. Statistical Process Control for Software Process Improvement. Addison Wesley. Es sin duda uno de los mejores libros a la hora de aplicar las tecnicas de control estadistico del proceso al software. Juran, lM., Blanton, A (2001) Manual de Calidad. Ed. McGraw-Hill. EI Manual de Cali dad es uno de los libros considerados como c1asicos desde su plimera edici6n. Presenta muchos conceptos de calidad a 10 largo de los cuarenta y ocho capitulos de sus dos volumenes. Tague, N.R. (2005) The Quality Toolbo;r Segunda Edici6n. Quality Press, Milwaukee. Este libro es la "caja de helTamientas" de calidad propuesta por la American Society for Quality.
http://\v\vw.asq.onrilearn-about-qualitv/qualitv-tools.htmILa American Society for Quality mantiene un cataIogo de Libros muy interesante sobre todas las helTamientas de calidad que se han presentado en este capitulo. http://www.qfdi.org Se trata de la web del QFD Institute que reline una amplia cantidad de material sobre QFD.
11. EJERCICIOS
l.
G R.A.-MA
47
2.
Analizar, mediante un diagrama de Ishikawa, las posibles causas que producen los fallos del disefio del software de un sistema de infonnaci6n. Preparar un cuestionario que inc1uya los datos necesarios para llevar a cabo un estudio sobre los defectos de los datos en una base de datos atendiendo a tres variables distintas: exactitud de los datos, fiabilidad de la fuente que los proporciona y precisi6n de los datos. Realizar un estudio sobre la insatisfacci6n de los c1ientes con un producto software, desalTollando las siguientes actividades: para la identificaci6n y analisis de los posibles problemas usar una tonnenta de ideas; jerarquizar los posibles problemas usando las helTamientas estudiadas que se consideren mas adecuadas; elaborar un diagrama causa/efecto; representar los diferentes graficos de control (como histograma, Pareto, ... ). Investigue las interpretaciones estadisticas de cada uno de los tests aplicables a los graficos X-BanaJR 0 X-BalTa/So Investigue la interpretaci6n estadistica de los distintos coeficientes definidos para el estudio de capacidad de procesos. En el proceso de puesta en marcha de un sistema de infonnaci6n, indique algunas de las cusas de variabilidad; las acciones de mejora que pennitirian disminuir la variabilidad de un proceso, y las causas sobre las que acrua cada acci6n de mejora.
3.
4.
5.
6.
7.
CAPiTULO 3
EI buen gusto como nonna eqllivale a lIna amonestacion para que neguemos nuestro sincero gusto y 10 sustituyamos por otro que no es elnuestro, pel'O que es bueno. Ortega y Gasset
1. INTRODUCCION
Desde mediados del siglo pasado hasta la actualidad se han propuesto diferentes modelos para la gesti6n de calidad, y se han aprobado divers as nonnas, varias de las cuales han sido aplicadas en las organizaciones. Dentro de las diferentes propuestas destacan la Gesti6n de la Calidad Total, el modelo EFQM y, mas recientemente SeisSigma. En este capitulo se resumira muy brevemente todas estas nonnas dedicando, como es 16gico, mayor atenci6n a las nonnas ISO 9000 debido a su gran difusi6n.
50
~RA-tvL"-
Shewhart, y popularizado luego por W. Edwards Deming, por 10 que se conoce "Cicio de Deming":
e
Planificar, establecer los objetivos y procesos necesarios para conseguir resultados de acuerdo con los requisitos del c1iente y las politicas de la organizaci6n. Hacer, implementar los procesos. Verificar, realizar el seguirniento y la medici6n de los procesos y los productos respecto a las politicas, los objetivos y los requisitos para el producto, e informat sobre los resultados. Actuar, tomar acciones para mejorar continuatnente el desempeiio de los procesos.
e e
La gesti6n de la calidad total se basa ademas en otros principios (Hyde, 1992; Martin, 1993) que persiguen la mejora continua de los procesos, incorporando el conocimiento y la experiencia de los trabajadores:
e
e e e
Comprorniso de la alta gesti6n con todos los empleados Reducci6n de los ciclos de desarrollo Producci6n "just in time" Reducci6n de costes de productos y servicios Implicaci6n y enriquecirniento ("empOlvennent") Reconocirniento y celebraci6n Propuesta de objetivos cuantificados y benchmarking Toma de decisiones basadas en hechos del puesto de trabajo del personal
II
e e
II
51
tecnicas en los diferentes campos de la industria. Pueden ser miembros de ISO todos aquellos paises del mundo que 10 deseen, representados a traves de su organismo nacional de nonnalizaci6n (vease la figura 3.1): pOl' ejemplo, ANSI (American National Standards Institute) por EEUU 0 AENOR (Asociaci6n Espanola de Nonnalizaci6n y Certificaci6n) por Espana.
EEUU FRANCIA
ANSI AFNOR
JTCI
SC27
Los trabajos de elaboraci6n de nonnas estan encomendados a los Comites Tecnicos (TC), que sue len subdividirse en Sub comites (SC) y estos, a su vez, en Orupos de Trabajo (WO) para desarrollar temas especificos. En algunas areas, ISO colabora con otras organizaciones; por ejemplo, en el campo de las tecnologias de la infonnaci6n fonna junto con la International Electrotechnical Commission (lEC) el Joint Technical Committee I UTC1), que se encuentra dividido en varios subcomites, entre ellos el SC7 de Ingenieria del Software y Sistemas, que posee diferentes gmpos de trabajo (v ease tabla 3.1).
52
RA-l'vL-\
..
>
y>
....
'-.- ..
i\~~o x .. ..",I
. \ ......
2 4
6 7
9 10 12 19 20 21 22
-.)
?'
I I I
24
Documentaci6n de sistemas software Herramientas y entomos CASE Evaluaci6n de productos software y metricas para productos y procesos software Gesti6n del Ciclo de Vida Aseguramiento de sistemas y software (gesti6n de riesgos, seguridad de acceso, seguridad de uso, ... ) Metodos, pnicticas y aplicaci6n de evaluaci6n de procesos en la adquisici6n, desarrollo, entrega, operaci6n, evoluci6n del producto software y servicio relacionado Medici6n del tamafio funcional Lenguajes de modelado, metadatos y marco ODP, colaboraci6n con OMG, ITU-T y otras organizaciones (como IEEE) SWEBOK (Cuerpo de Conocimiento de la Ingenieria del Software) Proceso de gesti6n de activos software Vocabulario consolidado de Ingenieria de Sistemas y de Software Gesti6n de Calidad de Sistemas Ciclos de vida del software para pequefias empresas
El proceso de elaboracion de una nonna intemacional, hasta su publicacion definitiva, puede ser bastante largo, ya que empieza con la decision del TC de incluir la elaboracion de una nueva nonna en su programa de trabajo. A continuacion el WG elabora diferentes Bon'adores de Trabajo (WD, Worldng Draft) hasta a1canzar el suficiente consenso para elevar el docmnento a la consideracion del TC. Posterionnente, el comite remite un Bon'adm' de Comite (CD, Committee Draft) a todos los paises miembros para recabar sus comentarios, Una vez analizados los comentalios recibidos, se elabora un Proyecto de NOl7na Intel71acional (DIS, Draft of Intel71ational Standard) que se remite nuevamente a los paises miembros, Si los paises aprueban el DIS, se prepara un Proyecto de Nonna Intemacional Final (FDIS, Final Draft of International Standard), que se remite para aprobacion defmitiva. Por ultimo, se edita y publica la Nonna Internacional (IS, International Standard) aprobada en la fuse anterior. Todo este proceso hace que la nonna pueda contar con el suficiente consenso por parte de los paises, pero a costa de alargar demasiado el tiempo necesario para aprobar una nonna, sobre to do en areas como las TIC que evolucionan con mucha rapidez. En Espana las nonnas intemacionales son traducidas y publicadas por AENOR como nonnas UNE (Una Nonna Espai"1ola). A nivel europeo, otros organismos como el
1 EI nfunero y distribuci6n tanto de los subcomites como de los grupos de trabajos dentro de un subcomite suele ir variando segtin los temas que se van abordando, por 10 que rernitimos al lector a http://www.jtc1-sc7.onr/ para una informaci6n actualizada sobre los rnismos.
R.A.LA.
53
publican
las
nonnas
U1\TE-EN ISO 9000. Sistemas de gestion de la calidad. Fundamentos y vocabulario. Como su titulo indica, esta nonna describe los fundamentos de los sistemas de gesti6n de la calidad y especifica su tenninologia (vease capitulo 1). UNE-EN ISO 9001. Sistemas de gestion de la calidad. Requisitos. La nonna ISO 9001 especifica los requisitos para un sistema de gesti6n de la cali dad que pueden utilizarse para su aplicaci6n interna pOI' las organizaciones, para certificaci6n 0 con fines contractuales. Se centra en la eficacia del sistema de gesti6n de la calidad para dar cumplimiento a los requisitos del cliente. UNE-EN ISO 9004. Sistemas de gestion de la calidad. Directrices para la mejora del desempefio. La nonna ISO 9004 proporciona orientaci6n sobre un rango mas amplio de objetivos de un sistema de gesti6n de la calidad que la Nonna ISO 9001, especialmente para la mejora continua del desempefio y de la eficiencia glob ales de la organizaci6n, asi como de su eficacia. La nOlma ISO 9004 se recomienda como una guia para aqueUas organizaciones cuya alta direcci6n desee ir mas alla de los requisitos de la nonna ISO 9001, persiguiendo la mejora continua del desempefio. Sin embargo, no tiene la intenci6n de que sea utilizada con fines contractuales 0 de certificaci6n. En la figura 3.2 se representa las diferencias entre ambas nonnas segll11 Cianfrani et al. (2002), siguiendo una "jerarqztia de fa calidad'. l:.JNE-EN ISO 19011. Directrices para la auditoria de sistemas de gestion de la calidad y/o medioambiental. Esta nonna proporciona directrices basicas para la realizaci6n de una auditoria conjunta de ISO 9001 e ISO 14001.
(i)
(i)
(i)
Ademas, existen otras nonnas relacionadas con 1a familia de las nonnas ISO 9000. que se reflejan en la tabla 3.2.
54
RA-MA
9004
Excelencia en eI desempeiio
Ventaja competitiva
Eficiencia
Eficacia
I .....
OBJETIVO
..
ISO 10002 ISO 10005 ISO 10006 ISO 10007 ISO 10012 ISO!TR 10013 ISO:TR 10014 ISO 10015 ISO!TR 1001 7 ISO 10019
Gestion de la calidad - Satisfacci6n del cliente - Directrices para gestionar reclamaciones en las organizaciones Sistemas de Gestion de la Calidad - Directrices para Planes de la Calidad Sistemas de Gestion de la Calidad - Directrices para la Calidad en la Gesti6n de Proyectos Sistemas de Gestion de la Calidad - Directrices para la Gesti6n de la Configuracion Sistel~as de Gesti6n de la Medici6n - Requisitos para los procesos y eqllipamientos de medicion Directrices para la Docllmentacion del Sistema de Gestion de la Calidad Directrices para la Gestion de la Economia de la Cali dad Gesti6n de la Calidad - Directrices para la Fonnaci6n Directrices sobre Tecnicas Estadisticas para la nonna ISO 900 I Directrices para la seleccion de consultores de sistemas de gesti6n de la calidad y la utilizacion de sus servicios
La familia de normas ISO 9000 se bas a en ocho plincipios de gesti6n de la calidad que pueden ser utilizados por la direcci6n con el fin de conducir a la organizaci6n hacia una mejora en el desempeiio (ISO, 2000a):
12 RA-IvlA
55
Enfoque al cliente: las organizaciones dependen de sus clientes y por 10 tanto deberian comprender las necesidades actuales y futuras de los c1ientes, satisfacer los requisitos de los mismos y esforzarse en exceder sus expectativas. Liderazgo: los lideres establecen la unidad de prop6sito y la 01ientaci6n de la organizaci6n. Deberian crear y mantener un ambiente inte111o, en el cual el personal pueda llegar a involucrarse totalmente en el logro de los objetivos de la organizaci6n. Participacion del personal: el personal, a todos los niveles, es la esencia de una organizaci6n y su total compromiso posibilita que sus habilidades sean usadas para el beneficio de la organizaci6n. Enfoque basado en procesos: esta familia de n01111as promueve la adopci6n de un enfoque basado en procesos cuando se desalTolla, implementa y mejora un sistema de gesti6n de la calidad. El modelo de sistema de gesti6n de la calidad basado en procesos, que se muestra en la figura 3.3, ilustra que los c1ientes juegan un papel significativo para definir los requisitos como elementos de entrada. El seguimiento de la satisfacci6ndel c1iente requiere la evaluaci6n de la infOlmaci6n relativa a la percepci6n del cliente acerca de si la organizaci6n ha cumplido sus requisitos. Una ventaja del enfoque bas ado en procesos es el control continuo que proporciona sobre los vinculos entre los procesos individuales dentro del sistema de procesos, asi como sobre su combinaci6n e interacci6n. Enfoque de sistema para la gestion: identificar, entender y gestionar los procesos intelTelacionados como un sistema, contribuye a la eficacia y eficiencia de una organizaci6n en ellogro de sus objetivos. Mejora continua: la mejora continua del desempei'io global de la organizaci6n deberia ser un objetivo pennanente de esta. Enfoque bas ado en hechos para la torrta de decision: las decisiones eficaces se basan en el analisis de los datos y la infOlmaci6n. Relaciones mutuamente beneficiosas con el proveedor: una organizaci6n y sus proveedores son interdependientes, y una relaci6n l11utuamente beneficiosa aumenta la capacidad de ambos para crear valor.
56
RA-:tvL,,-
informacion +----
L
E
RESPONSABILlD,AD DE LA DIRECCION
b .. 'u
C
L
GESTION DE RECURSOS
N
T E
r--R-E-AL-IZA--C-I-O-N-' DELPRODUCTO
-info
E
N
T
requisitos
E S
Figura 3.3. Enfoque de procesos segun la norma ISO 9000 (ISO, 2000a)
Necesita demostrar su capacidad para proporClOnar de fonna coherente productos que satisfagan los requisitos del cliente y los reglamentarios aplicables, Aspira a aumentar la satisfacci6n del cliente a traves de la aplicaci6n eficaz del sistema, incluidos los procesos para la mejora continua del sistema y el aseguramiento de la confonnidad con los requisitos del cliente y los reglamentatios aplicables.
Todos los requisitos de esta nonna intel11acional son generic os y se pretende que sean aplicables a todas las organizaciones sin importar su tipo, tamafio y producto suminish'ado, En la figura 3.4 se muestra el contenido de la n01111a ISO 9001(ISO, 2000b), cuyo nllcleo 10 constituyen los apartados del 4 al 8 inclusive,
57
o INTRODUCCION
1 OBJETO Y CAMPO DE APLICACION 2 NORMAS PARA CONSULTA 3 TERMINOS Y DEFINICIONES 4 SISTEMA DE GESTION DE LA CALI DAD 5 RESPONSABILIDAD DE LA DIRECCION 6 GESTION DE LOS RECURSOS 7 REALIZACION DEL PRODUCTO 8 MEDICION, ANALISIS Y MEJORA ANEXO A (Informativo) CORRESPONDENCIA ENTRE LAS NORMAS ISO 9001:2000 E ISO 14001:1996 ANEXO B (Informativo) CORRESPONDENCIA ENTRE LAS NORMAS ISO 9001:2000 E ISO 9001:1994 BIBLIOGRAFiA ANEXO ZA (Normativo) REFERENCIAS NORMATIVAS A PUBLICACIONES INTERNACIONALES CON SUS CORRESPONDIENTES PUBLICACIONES EUROPEAS
Figura 3.4. Contenido de la norma ISO 9001 (ISO, 2000b)
58
RA-NL-\
Ademas hata sobre los requisitos de la documentaci6n, inuicando que: "La doclimentacion del sistema de gestion de la calidad debe incluir:
a) declaraciones documentadas de IIna politica de la calidad y de objetivos de la calidad, b) un manllal de la calidad, c) los procedimientos documentados reqlleridos en esta norma internacional, d) los docllmentos necesitados por la Olganizacion para asegurarse de la ejicaz planificacion, operacion y control de sus procesos, y e) los registros reqlleridos por esta norma internacional. "
.\': R/\.-ivL"-
59
Tratandose diferentes aspectos relativos a los recursos humanos, infraestructura (edificios, espacio de trabajo y servicios asociados; equipo para los procesos, y servicios de apoyo, tales como transporte y comunicaci6n) y ambiente de trabajo,
a) los objetivos de la calidady los requisitos para el producto; b) la necesidad de establecer procesos, doclimentos y de proporcionar recursos especifzcos para el producto; c) las actividades requeridas de ver[fzcaci6n, validaci6n, seguimiento, inspecci6n y ensayo/prueba especifzcas para el producto asi como los criterios para la aceptacion del mismo; d) los regiso'os que sean necesarios para proporcionar evidencia de que los procesos de realizaci6n y el producto resliltante cumplen los requisitos ",
La nom1a sefiala ademas que la elaboraci6n de planes de calidad puede servir para definir la manera en que los requisitos del sistema de gesti6n de la cali dad cumpliran un contrato especifico 0 con cada producto,
a) los requisitos especificados por el cliente, incll~vendo los requisitos para las actividades de eno'ega y las posteriores a la misma, b) los requisitos no establecidos por el cliente pero necesarios para el lIS0 especificado 0 para elliso previsto, ClIando sea conocido, c) los requisitos legales y reglamentarios relacionados con el producto, y d) clIalqllier requisito adicional determinado porIa organizaci6n",
Ademas, la organizaci6n debe revisar los requisitos relacionados con el producto, y detenninar e implementar disposiciones eficaces para la comunicaci6n con los clientes,
60
RA-ivIA
3.3.4.4. Compras
En cuanto al proceso de compras la nonna establece que: "La organizacion debe asegurarse de que el prodllcto adqllirido eumple los requisitos de compra especijicados. EI tipo y alcance del control aplicado al proveedor y al producto adquirido debe depender del impacto del produeto adquirido en la posterior realizacion del producto 0 sobre el producto final n. Ademas, la nonna establece que "la organizacion debe eva/uar y seleccionar los proveedores en fill1cion de su capacidad para suministrar productos de aeuerdo con los requisitos de la organizacion" y que "la organizacion debe establecer e implementar la inspeccion u on'as actividades necesarias para asegurarse de que ef producto comp'ado cumple los requisitos de compra especijicados n.
0RA.-MA
61
Activas. Si la organizaci6n va al c1iente y Ie pregunta cuestiones deliberadas 0 hace observaciones directas del comportamiento del c1iente. Se pueden c1asificar en: Encuestas, Gmpos de discusi6n con participaci6n de c1ientes ("customerfoells group "), y Entrevistas personales. Pasivas, que se pueden c1asificar en:
e
Receptivas, en las que el c1iente acude a la organizaci6n con devoluciones 0 quejas. Se pueden dividir en: Quejas, Devoluciones, Puntuaciones del proveedor. Indirectas, en las que se utilizan fuentes secundarias y que pueden ser: Infonnes del cliente, Amilisis competitivo, Medios de noticias.
La nOl1na establece que: "la organizacion debe Ilemr a cabo a illtermlos plantfieados allditorias intemas para determinar si tl sistema de gestion de la caUdad: es C01?/orme eon las disposiciones planificadas (vease 7.1), eon los requisitos de esta nonna illtenzacional y con los reqllisitos del sistema de gestion de la calidad establecidos por la organizacion, b) se ha il71plementado y se mantiene de manera ejicaz n. a) Tambien u'ata sobre el seguimiento y medici6n de los procesos (a los que la organizaci6n debe aplicar metodos que demuesu'en su capacidad para alcanzar los resultados planificados) y del producto. As! como del conu'ol del producto no confol1ne (que debe estar definido en un procedimiento documentado), del analisis de datos (que deben ser "apropiados para demostrar la idoneidady la eficacia del sistema de gestioll de
62
RA-ivlA.
la calidad y para evaluar donde puede realizarse la mejora continua de la eficacia del sistema de gestion de la calidad".
POI' ultimo en la nOl1l1a se aborda la mejora, tanto la mejora continua, como las acciones cOlTectivas y preventivas. En estos temas se profundizan en la nonna ISO 9004, que propugna un enfoque de auto-evaluacion para evaluar la madurez del sistema de gestion de la calidad para cada apartado de la nonna en una escala que flucrua de 1 (sin un sistema fOl1l1al) hasta 5 (la mejor clase de desempefio), vease la tabla 3.3.
4. MODELO EFQM
4.1. Vision general
El modelo EFQM, que fue creado como marco para evaluar las organizaciones con el fin de conceder el European Quality A.-ward, se puede utilizar como:
I>
hel1'amienta para autoevaluacion, fonna de comparacion (benchmark) con otras organizaciones, guia para identificar las areas de mejora, base para un vocabulario comun y una manera de pens aI', estmctura para sistemas de gestion de la organizacion.
I>
I>
I>
I>
Este modelo se basa en nueve criterios, cinco "agentes facilitadores" -que abarcan 10 que hace una organizacion-, y cuatro "resultados" -que se ocupan de los que la organizacion consigue- (vease figura 3.5). Segim el modelo EFQM "los resultados excelentes respecto al desempeiio, clientes, personas y sociedad, se cOl1siguen mediante el liderazgo que guia la politica y estrategia, que ~e !leva a cabo por medio de personas, alian:::as), recursos, y procesos ". El modelo EFQM se basa en una serie de principios:
I>
Orientacion a los resultados Orientaci6n al c1iente Liderazgo y coherencia en los objetivos Gestion pOI' procesos y hechos
I>
I>
I>
RA-lvLA.
63
e e e e
DesarTollo e implicacion de las personas Aprendizaje, innovacion y mejora continuos DesarTollo de alianzas Responsabilidad social
"
uj
Personas
(9%) y Estragegia (8%) Alianza y
"
"vV~V
Resultados en
v)
las Personas
en los Clientes en la Sociedad (6%) Resultados Clave de Desempeiio (10%)
liderazgo (10%)
Procesos
(10%)
Recursos
(9%)
mejoras en segmentos especificos de su sistema de calidad: Responsabilidad Social Corporativa, Gestion de Riesgos, Innovacion, Gestioll del Conocimiento y Gestion de Recursos Humanos.
4.2.1. LIDERAZGO
Los subcriterios para los lideres excelentes se basan en que estos:
e
DesalTollan la mision, vision, valores y principios eticos y acruan como modelo de referencia de una cultura de excelencia, Se implican personalmente para garantizar el desalTollo, implantacion y mejora continua del sistema de gestion de la organizacion,
64
RA-MA
<
Interacruan con clientes, proveedores y representantes de la sociedad, Refuerzan una cultura de excelencia entre el personal de la organizaci6n, Definen e impulsan el cambio en la organizaci6n.
,
",',
"
Orientacion\.
"
Aproximaci6n reactiva
4
5
clase"
No hay una aproximaci6n sistematica evidente; sin resultados, resultados pobres 0 resultados impredecibles Aproximaci6n sistematica basada en el problema 0 la prevenci6n; minimos datos disponibles sobre el resultado de la mejora. Aproximaci6n sistematica basada en el proceso, etapa temprana de mejoras sistematicas; datos disponibles sobre la confonnidad con los objetivos y existencia de tendencias de mejora Proceso de mejora en uso; buenos resultados y tendencia mantenida de mejora. Proceso de mejora ampliamente integrado; Resultados demostrados de "mejor en su c\ase" por medio de estudios comparativos
(benclllllOrkim;)
4.2.3. PERSONAS
En este cliterio se evallmn:
o
idRA-MA.
65
Identificacion, desanollo y mantenimiento del conocimiento y la capacidad de las personas de la organizacion. Implicacion y asuncion de responsabilidades por parte de las personas de la organizacion. Existencia de un dialogo entre las personas y la organizacion. Recompensa, reconocimiento y atencion a las personas de la organizacion.
4.2.5. PROCESOS
En cuanto a los procesos se evalua: Disefio y gestion sistematica de los mismos. Introduccion de mejoras mediante innovacion. Disefio y desanollo de productos y servicios basandose en las necesidades y expectativas de los c1ientes. Produccion, distribucion y servicio de atencion, de los productos y servicios. Gestion y mejora de las relaciones con los c1ientes.
66
@RA-MA
4.2.6. CLIENTES
Las organizaciones excelentes miden de manera exhaustiva y a1cat1Zan resultados sobresalientes con respecto a sus clientes, por 10 que el modelo establece dos subcriterios basados en medidas de percepci6n y en indicadores de rendimiento
3.
4.
EI CAF se considera un modelo "ligero", adecuado para obtener una primera valoraci6n de c6mo acrua una organizaci6n. Se podria considerar un primer paso para avanzar en la gesti6n de la calidad, que podria ser complementado facilmente con modelos mas amplios como el EFQM, con el que es compatible.
i': Ri\-ivV\
67
6.
SEIS~SIGMA
Seis-Sigma (Six-Sigma) tiene su origen en la estadistica, ya que sigma, como es sabido, es el simbolo de la desviaci6n estandar. Un proceso que esta en nivel de seis sigmas produce s610 3,4 defectos por cada mill6n. Se puede considerar como una filosofia de gesti6n que agrupa varias tecnicas con el fin de conseguir procesos casi perfectos. Seglll1 Tayntor (2003) se basa en los siguientes presupuestos: Prevenir defectos Reducir la vmiaci6n Centrarse en el cliente Tomar decisiones basadas en hechos Alentar el trabajo en gmpo
EI proceso seis sigma se descompone en cinco fases, que responden al acr6nimo DMAIC y que constan de varios pasos (Tayntor, 2003): Definir el problema e identificar 10 que es importante: consiste en definir el problema, fonnar un equipo, establecer un esquema del proyecto, desalTollar el plan del proyecto, identificar los clientes, identificar las salidas clave, identificar y priOlizar los requisitos de los clientes, y documentar el proceso actual. Medir el proceso actual, que incluye: detenninar que medir, llevar a cabo las mediciones, calcular el nivel sigma actual, detenninar la capacidad del proceso, y llevar a cabo comparaciones (benchmark) con Hderes del proceso. Analizar 10 que esta mal y las soluciones potenciales, detenninando las causas de la variaci6n, realizando una tonnenta de ideas para la mejora de procesos, detenninando que mejoras tendrian el mayor impacto para satisfacer los requisitos del cliente, desalTollando un mapa de procesos y evaluando los riesgos asociados al proceso revisado. Mejorar el proceso implantando las soluciones, 10 que lleva consigo: obtener la aprobaci6n para los cambios propuestos, finalizar el plan de implementaci6n, e implementar los cambios aprobados. Controlar el proceso mejorado asegurando que los cambios se mantienen, mediante el establecimiento de metricas clave, el desalTollo de la estrategia de
68
RA-MA
control, la celebracion y comunicacion de los exitos, la implementacion del plan de control, y la medici on y comunicacion de las mejoras. El objetivo de una organizacion que adopta esta filosofia es continuar la mejora de sus procesos solo si los resultados son irnportantes para satisfacer los requisitos de los clientes.
7. PREMIOS
Existen multitud de prellllos relacionados con la calidad, a continuacion presentamos los mas irnportantes:
II
Premio Deming: se creo en 1951 a raiz de las conferencias de Deming en Japon, es gestionado por la ruSE (Japanese Union 0/ Scientists and Engineers) y se considera el premio indushial mas importante de Japon. Malcom Baldrige National Quality Award, se creo en 1987, tras el fallecimiento del secretario de comercio del mismo nombre, con el fin de premiar a las empresas que demostrasen un gran progreso en el area de la calidad. Los Malcom Baldrige Criteria/or Peljonnance Excellence defmen un conjunto de practicas de gestion de alto desempeiio en las categorias siguientes (vease figura 3.6): Liderazgo, Planificacion Estrategica, Enfoque al Cliente y Mercado, Medicion, Analisis y Gestion del Conocimiento, Enfoque a los Recursos Humanos, Gestion de Procesos y Resultados de la empresa. Estos criterios se basan en una serie de conceptos y valores fundamentales como son: elliderazgo visionario, la excelencia dirigida al cliente, el aprendizaje personal y organizacional, la valoracion de los empleados y los socios, la agilidad, la gestion para la irmovacion, el centrarse en el futuro, la gestion basada en hechos, 1a responsabilidad social, el centrarse en resultados y la creacion de valor, y una perspectiva sistemica (Baldrige, 2005). European Quality Award, se creo eJl 1991 pOI' la European FOWldation for Quality Management (EFQM), en colaboracion con la Comision Europea y la European Organization for Quality. El premio se basa en el modelo EFQM, y se da a la organizacion que demuesh-a que su aproximacion a la gestion de cali dad total ha hecho una irnpOltante conhibucion a la satisfaccion de las expectativas de los clientes, empleados, accionistas, y otras partes involucradas. Premio Iberoamericano de la Calidad, es W10 de los Programas de Cooperacion de la Cwnbre Iberoamericana de Jefes de Estado y de Gobiemo y 10 gestiona la Fundacion Iberoamericana de la Calidad - FUNDIBEQ. Se otorga a las organizaciones que han destacado por sus resultados exitosos, f!Uto
II
II
II
~RA-rvL\
69
"""
-(
2. Planlficacion Estrategica
5.
Recursos Humanos
~~==:)
.i
. /
.
Negocios
~
/.----!!-~
:<f
~ 7. Resultados de "
"'-.:..
;/
4.Matiidas.Analls;s y GBStl6.n
tl)
Premios de la ASQ. Entre los que cabe destacar: Brumbaugh Award (al articulo publicado el ano anterior que ha hecho la contribuci6n mas importante al desarrollo de aplicaci6n industrial de control de calidad), Edwards Medal (a la persona que demuestre el liderazgo mas destacado en la aplicaci6n de metodos de control de cali dad modema); Deming Medal (a la persona que ha combinado con exito la aplicaci6n del pensamiento estadistico y la gesti6n para conseguir la calidad de productos y servicios); Feigenbaum Award (a la persona que muestre "caracteristicas sobresalientes de liderazgo, profesionalidad, y potencial en el campo de la calidad"); Eugene L. Grant Award (a la persona que haya demostrado un liderazgo destacado en el desarrollo y presentaci6n de un programa educacional en control de calidad); Ishikmva Medal (a la persona 0 equipo que haya mostrado un liderazgo en la mejora de los aspectos humanos de la calidad); E. Jack Lancaster (a la persona en reconocimiento de su dedicaci6n y contribuciones destacables en la fratemidad intemacional de los profesionales de la calidad); Shewhart Medal (a la persona que haya realizado la contribuci6n mas detacable a la ciencia y tecnicas del control de la calidad); Freund-Marquardt Medal (a las personas que hayan tenido puestos de responsabilidad en el establecimiento de estandares centrados en los sistemas de gesti6n de las organizaciones); Juran
70
RA-MA
ji;/edal (al lider organizacional que muestre un desempeno distinguido en un papel sostenido, practicando los principios clave de la calidad)".
Cl
Premios Principe Felipe, convocados por el Ministelio de Indushia, Comercio y Turismo, tienen como objetivo "el reconocimiento Pllblico de las empresas radicadas en Espaiia que hayan realizado lin importante esJuerzo pOl' mejo/'Qr su cOlllpetitividad a fl-m'es de los principales Jactores que la dejznen". Estos Premios pueden ser a la Excelencia Empresarial, contemplando varias categorias, (asi, pOl' ejemplo, en su decima edici6n abarcaban: Calidad Indushial, Diseno, Energias Renovables y Eficiencia Energetica, Intemacionalizaci6n, Excelencia TUlistica, Sociedad de la Infom1aci6n y Tecnologias de la Infonnaci6n y lasComunicaciones, y Gesti6n de la Marca Renombrada) 0 a la Competitividad Empresalial, en dos modalidades: Pequenas y Medianas Empresas (PYME) y Grandes Empresas (este premio tiene un rango superior al de los delmis, en la medida en que reconoce una actuaci6n de conjunto comprensiva de los factores de competitividad contemplados en las diferentes modalidades de los Premios anteriores). Premio a la Calidad en la Administracion General del Estado, es convocado por el Ministerio de Adminish'aciones Pllblicas, y esta basado en el Modelo EFQM de Excelencia en su adaptaci6n a la Administraci6n Pllblica.
8. LECTURAS RECOMENDADAS
e
Cianfrani, CA., Tsiakals, lJ. y West, lE. (2002). ISO 9001:2000 cOlllentada. Madrid, Asociaci6n Espanola de Nonnalizaci6n y Certificaci6n. Este libro profundiza en algunos aspectos de la nonna ISO 9000. Arthur, lL. (1992). Improving SoJnvare Quality - An Insider's Guide to TQM Nueva York, Wiley. Arthur presenta la utilizaci6n de los principios de calidad total y de sus helTamientas asociadas para la mejora de la calidad del software. Tayntor, C.B. (2003). Six Sigma Jor software development. Florida, EEUU, CRC Press. Este libro se presenta la aplicaci6n de la filosofia "Seis Sigma" al desalTollo de software
Cl
wW\v.isixsigma.com Este sitio ofrece bastante infonnaci6n sobre las cuestiones relacionadas con la filosofia Six Sigma http://W\v.efqm.org Este es el portal de la EFQM, que es una fundaci6n sin animo de lucro creada en 1989 y que ofrece infonnaci6n y fonnaci6n para las orgamzaclones interesadas en alcanzar la "excelencia" en sus mercados y negoclOS.
10. EJERCICIOS
1. Analice las diferentes categorias utilizadas a la hora de conceder el Malcom Baldrige National Quality Award. Vease http://\v"\vw.quality.nist.gov. Examine la organizaci6n a la que la han concedido el premio este ano en funci6n de los principios de calidad establecidos por los gurus (tabla 1 del tema 1). En caso de trabajar en una Universidad publica, privada 0 "corporativa", estudie los Educational Criteria for Pelformance Excellence que estim disponibles en: http://www.quality.nist.gov Segtin Baldrige (200Sb), estos clitelios se disefiaron para ayudar a las organizaciones a utilizar un enfoque integrado en la gesti6n del desempefio organizacional, que de como resultado: Entrega de valor con mejora continua a los estudiantes y personas involucradas, connibuci6n a la calidad de la fonnaci6n, mejora de la eficiencia y capacidades organizacionales en su conjunto, aprendizaje personal y organizacional. (,Que opina sobre estos clitelios? (,Cree que existe alguna relaci6n entre estos cliterios y el aprendizaje activo centrado en el alumno?
2.
3.
Encuentre los diferentes prelnios a la calidad que se cone eden en su pais 0 paises del entomo y compare los clitelios de estos premios respecto a los del Malcom Baldlige National Quality Award y a los delmodelo EFQM. Sugerencia: acceda a http://andes.fundibeq.org/redibexlpremios.html.
Bianualmente se celebran los "European CAF events", cuyas actas puede encontrar en http://www.eipa.nllCAF/ConferenceActivities. Analice las ponencias de las dos ultimas ediciones identificando los elementos de gesti6n de calidad que reciben mas atenci6n por parte de los responsables de las administraciones publicas europeas.
4.
C.<\PITULO 4
1. SITUACION DE LA CAUDAD DE SI
Desde hace varios anos se viene insistiendo en la "crisis" de la Ingenieria del Software y en los desastres que los fallos de software pueden llegar a causar en las organizaciones. A este respecto cabe destacar los infonnes "CHAOS" del Standish Group que peri6dicamente "fotografian" la situaci6n del sector. En el ultimo infonne (Standish, 2001), se senala que s6lo el 28% de los proyectos infonnMicos finalizan en el tiempo estimado, con los recursos planificados y con una ca4.idad aceptable, mientras que casi una cuarta parte no llegan a finalizar nunca. El resto 10 hace pero consumiendo muchos m<ls recursos 0 con menos funcionalidades de las previstas (vease figura 4.1). A pesar de ella debemos congratulamos ya que se ha pasado del 16% en 1994 a128% en el ano 2000, 10 que indica que se va progresando en este sentido. En NIST (2002) se repasan las perdidas econonucas (de varios centenares de millones de d6lares) y en vidas humanas debido a los fallos del software en diferentes sectores como, por ejemplo, el aeroespacial (desastres como los del Ariane 5, las sondas de la misi6n a Marte, algunos aviones comerciales, etc.). Recientemente, Jorgensen y Molokken-Ostvold (2006) revisan la estimaci6n de un 189% de retraso en la entrega para los proyectos infonnMicos que senalaba el infonne
76
RA.-ivL\
CHAOS de 1994, por 10 que deberia cuestionarse, en opinion de estos autores, si la industria del software ha mejorado desde entonces tanto como parece seglin los liltimos estudios.
Terninados
Gal
ceficiencias 49%
Terninados
Gal
Fracaso
23%
En la maYOlia de libros sobre Ingenieria del Software 0 Cali dad del Software se pueden encontrar estudios parecidos, as! como casos famosos (Arnbulancias de Londres, Aeropuerto de Denver, etc.) que tienen que hacer reflexionar a los lectores sobre la impOltancia que los sistemas de infol111acion tienen para el funcionamiento de la sociedad actual (que presenta una dependencia cada vez mayor de estos), as! como para el bienestar de las personas, 10 que enfatiza almmas la impOltancia de la calidad.
Capacidad. Cuando se inicia un mercado. la capacidad de ofrecer un producto es 10 mas importante ya que los primeros c1ientes estan dispuestos a aceptar menos calidad de 10 habitual si existen pocos proveedores capaces de ofi'ecer el producto.
.~
RA-ivLA.
77
c
o
N S U M I D
;\1 U C H 0 S
Time to Market
CaUdad
o
R
E
S
0 C 0 S
Capacidad
Coste
pocos
iv!UCHOS
PROVEEDORES
Coste. En un mercado con muchos proveedores pero pocos consumidores, el consumidor es quien dicta la cali dad que desea, as! que la unica estrategia posible para el proveedor es conseguir la calidad solicitada al menor coste posible.
Time-to-market. En un mercado en el que pocos proveedores compiten por muchos consumidores, 10 111<lS imp0l1ante sent poner el producto 10 antes posible en elmercado.
Calidad. En los mercados maduros la calidad es el detel1ninante principal del exito, ya que sera dificil conseguir el coste mas bajo.
3. COMPONENTES DE LA CAUDAD
La calidad de un sistema infol1natico puede descomponerse en diferentes factores que contribuyen a la misma. En Wilkin y Castleman (2003) se describe un instrumento multidimensional (denominado QUALIT) capaz de medir la calidad de los sistemas de infol1naci6n entregados, en el que se diferencia entre la calidad del sistema (entendida como juicio global sobre el grado en que los componentes tecnicos del mismo proporcionan la calidad
78
RA-MA
de la infonnacion y servicio requerido por los stakeholders), calidad de la infonnacion propocionada a los stakeholders (excluyendo manuales de usuario y pantallas de ayuda), calidad del servicio (proporcionado por el departamento de SI y el personal de soporte). Para cada uno de estos componentes los autores han identificado varias dimensiones; as!, por ejemplo, para la calidad del sistema se consideran: funcionalidad, integracion, usabilidad, fiabilidad y seguridad. Por otra parte, Stylianou y Kumar (2000) proponen una "vision holistica" de la calidad de los sistemas de infonnacion, en la que se consideren diferentes dimensiones. Basandonos en este trabajo, en la figura 4.3 proponemos diferentes dimensiones de la calidad de un sistema de infonnaci6n.
La cali dad de una empresa u organizacion depended de la cali dad de los procesos de negocio sopOliados por el sistema de infonnacion, as! como la propia calidad de este. A su vez en la calidad del sistema de infonnacion podremos distinguir:
e e e e e
Calidad de la infraestructura Cali dad de la gesti6n Calidad del servicio Calidad del personal Cali dad de la infonnacion
79
I)
En los siguientes capitulos nos centraremos en los dos ultimos aspectos: calidad del software, tanto de proceso como de producto, asi como calidad de la infonnaci6n, que son los que mas atenci6n han recibido en los ultimos ailos.
4. LECTURAS RECOMENDADAS
I)
Glass, R.L. (2003), Facts and Fallacies of Software Engineering. AddisonWesley, Boston. Con el fin de evitar los fallos en los proyectos software, 10 mejor es conocer los "hechos" y las "falacias" de la Ingenieda del Software. En este libro Robert Glass presenta 55 hechos y 10 falacias que hay que conocer y tener en cuenta a la hora de desalTollar sistemas de infonnaci6n. Evans, I. (2004). Achieving Software Quality through Teamwork. Artech House, Boston. En este libro podemos encontrar algunas claves sobre la "calidad del personal", ya que su autora proporciona una visi6n general de la cultura de equipo necesaria para desalTollar software de calidad.
I)
http://catless.ncl.ac.uk/Risks En esta direcci6n se puede encontrar el "Forum On Risks To The Public In Computers And Related Systems" del Committee on Computers and Public Polic)' de ACM, moderado pOI' Peter Neumann y que estudia los peligros de la falta de cali dad de los sistemas de info1l11aci6n. http://w"\vw.stickvminds.com/. El sitio web de la revista Sticky Minds dedicado a las pruebas y a la calidad del software, presenta muchas definiciones de Calidad del Software dadas por profesionales; es un contrapunto interesante a las definiciones mas academic as de este concepto.
II
6. EJERCICIOS
1. Analice en que cuadrante del marco propuesto pOl' Card (1995) se situadan las siguientes tecnicas:
a. b. c. d. DesalTollo Rapido de Aplicaciones (RAD) Orientaci6n a objetos HelTamientas CASE Metodos agiles
80
RA-tvL'\.
2.
Lleve a cabo una revision sistematica, utilizando el metodo propuesto en Kitchenham (2004) de los articulos que tratan el concepto de Calidad de Sistemas de Informacion aparecidos en la revista A;JJS Quaterly (w\V\v.misq.om:) en los ultimos 10 anos. Analizar la evolucion experimentada por este concepto durante este periodo de tiempo. Estime, consultando las fuentes bibliognificas que considere oportuno, el coste total debido a la baja calidad del software en el que puede haber incurrido su pais o comunidad. Indique de que manera se puede adaptar el modelo SERVQUAL (Parasuraman, A., V. A. Zeitharni y L. L. Berry (1998). "SERVQUAL: a multi-item scale for measuring consumer perceptions of service quality". Joumal of Retailing. Vol. 67(4). pp. 420-450) ala calidad del servicio en un sistema de informacion.
3.
4.
CAPITVL05
1. MODElOS CLAslCOS
Historicamente se han desarrollado para evaluar la calidad de los productos software diferentes modelos que pretenden seguir las directrices de cali dad de otros tipos de productos: descomponer la calidad en una categoria de caracteristicas mas sencillas que facilita su estudio (Galin, 2004). Uno de los modelos clasicos mas utilizados desde su creacion, incluso con vigencia en nuestros dias, es el desarrollado por McCall (McCall et al., 1977), en el que la calidad de un producto software se descompone en once caracteristicas 0 factores de calidad agrupados en tres categorias (vease figura 5.1): Operacion de producto, Revision de producto y transicion de producto. A finales de los afios ochenta, fueron propuestos dos modelos altemativos a los de McCall basados igualmente en la identificacion de factores: el modelo de factores de Evans y Marciniak (1987) y el modelo de factores de Deutsch y Willis (1988). En la tabla 5.1 puede encontrarse una comparativa entre los distintos modelos donde se muestran los factores observados por cada uno de los autores en sus correspondientes trabajos. Otro modelo considerado como clasico es el reconocido como FURPS, acronimo compuesto por las iniciales en ingles de las categorias Funcionalidad, Facilidad de uso, Fiabilidad, Rendimiento y Capacidad del software; esta lista es una de las muchas
82
RA-MA
adaptaciones y/o complementaciones del modelo de McCall que cada organizaclon ha ideado para sus propios trabajos, como la dada por Grady y Caswell (1987) para Hewlett Packard.
Vision de la direc!<.!c~i=o~n~~~~~====='V~i~s~io~n~de~l~d~e:s~a!.!.r!..!ro""I...,la",d",o,...r Facilidad de uso~cr:;m~~I~~~1on Seguridad (integrida Eficiencia
Comunicatividad Volumen y tasa de ElS Datos comunes Control y audit. de acceso Integridad de datos Eficiencia de almacenam. Eficiencia de ejecucion Complecion Trazabilidad Consistencia Precision Tolerancia a errores Concision Autodescriptividad Simplicidad Modularidad Instrumentacion Capacidad de ampliacion
Vision de usuario
Operacion d producto
Fiabilidad
~~:~~~~i~li!!
FACIOR CALIDAD SOFT\VARE Correccion Fiabilidad Eficiencia Integridad Usabilidad Mantenibilidad Flexibilidad Testeabilidad Portabilidad Reusabilidad Interoperabilidad Verificabilidad Expandibilidad Seguridad de Uso Manejabilidad Capacidad de supervivencia
MCCALL (1916)
..
l\:h:RCINIAl( . . (1981)
./ ./ ./ ./ ./
I. DHJISCHyWILLrs(1988)
.
./ ./
./ ./ ./ ./ ./
./ ./
./ ./ ./ ./ ./
./ ./
.
I
./
./ ./ ./ ./ ./
./
./
./
./
./
I I I
./ ./
./
./ ./
./
Tabla 5.1. Comparacion entre modelos de calidad de producto software (Galin, 2004)
f:RA-MA.
83
En cualquier caso, todos estos modelos requieren identificar metric as para esas caracteristicas de cali dad que penni tan medir cuantitativamente como de bueno es un software atendiendo a esos criterios. El capitulo 9 de este libro pretende cubrir este aspecto.
:
Requisitos de Calidad 2503n
;~l;;t;?
'.i&4~
ISOJIEC 2500n - Division de Gestion qe Calidad. Las nonnas que fonnan este apartado definen todos los modelos, tenninos y definiciones comunes referenciados por todas las oh"as nonnas de la serie SQUARE. ISOJIEC 2501n - Division de Modelo de Calidad. La nonna de este apartado presenta un modele de cali dad detallada incluyendo caracteristicas para calidad interna, externa y en uso. ISOJIEC 2502n - Dhision de Medici6n de Calidad. Estas nonnas incluyen un modele de referencia de la medicion de la calidad del producto, definiciones de medidas de calidad (interna, extern a y en uso) y guias practicas para su aplicacion.
84
RA.-ivLA.
ISOIlEC 2503n - Division de Requisitos de Calidad. Estas nonnas ayudan a especificar requisitos de calidad que pueden ser utilizados en el proceso de elicitaci6n de requisitos de calidad del producto software a desaITollar 0 como entrada del proceso de evaluaci6n. ISOIlEC 2504n -Division de Evaluacion de Calidad. Este apartado incluye nonnas que proporcionan requisitos, recomendaciones y guias para la evaluaci6n de productos software.
En el momento de redactar este libro, las diferentes nonnas de la familia ISO 25000 alin no se han tenninado de elaborar, por 10 que a continuaci6n se explican las nonnas ISO 9126 e ISO 14598, ya que probablemente los conceptos basicos se mantengan con pocos cambios significativos en las nuevas nonnas.
+----------
Uso y retroalimentaci6n
I
Contribuye a especificar
t
Indica
~
Requisitos de caUdad externa
+-----------~
I
Calidad extern a
Validaci6n
I
Contribuye a especificar
i
Indica
~
Requisitos de caUdad interna
Verificaci6n
.
+-----------~
CaUdad interna
Q RA-tvL-\
85
intlinsecas, como el c6digo fuente, extema; medible en el comportamiento del producto, como en una pmeba; 0 en uso: medible durante la utilizaci6n efectiva por parte del usuario en un contexto determinado. Siguiendo la filosofia de los modelos clasicos de calidad de un producto software, la nom1a ISO 9126 descompone la calidadjerarquicamente en una serie de caracteristicas y subcaracteristicas que pueden usarse como una lista de comprobaci6n de aspectos relacionados con la calidad.
.
Adecuaci6n Exactitud Interoperabilidad Seguridad de
:
Capacidad de ser entendldo Capacidad de ser aprendldo Capacidad de ser operado Capecidad de atraccion Cumplimiento de la usabilidad Capacidad de ser analizado Capacidad de ser cambiado Capacidad de ser probado Cump!imiento de la mantenibi!idad
rv1adurez
Tolerancla a rallos Capacidad de recuperac16n Cump!imiento de la fiabiHdad
aeceSD
Cumphmiento de la funclonalidad
Adaptabilidad
Instalabilidact
Coexistencia Capacidad de ser
reemplazado
Cumplimiento de
Ja portabilidad
2.2.1. FUNCIONALIDAD
Capacidad del producto software para proporcionar funciones que satisfacen necesidades declaradas e implicitas cuando se usa bajo condiciones especificadas. Ista caracteristica se subdivide a su vez en:
o
Adecuacion. Capacidad del producto sofuvare para proporcionar un conjunto apropiado de funciones para tareas y objetivos de usuario especificados.
86
RA-MA
iii
Exactitud. Capacidad del producto software para proporcionar los resultados efectos correctos 0 acordados, con el grado necesario de precision.
iii
Interoperabilidad. Capacidad del producto software para interactuar con uno o mas sistemas especificados. Seguridad de acceso. Capacidad del producto software para proteger informacion y datos de manera que las personas 0 sistemas no autorizados no puedan leerlos 0 modificarlos, al tiempo que no se deniega el acceso a las personas 0 sistemas autorizados. Cumplimiento funcional. Capacidad del producto software para adherirse a normas, convenciones 0 regulaciones en leyes y prescripciones sirnilares relacionadas con funcionalidad.
iii
iii
2.2.2. FIABILIDAD
Capacidad del producto software para mantener un nivel especificado de prestaciones cuando se usa bajo condiciones especificadas. Esta caracteristica se subdivide a su vez en:
iii
Madurez. Capacidad del producto software para evitar fallar como resultado de fallos en el software. Tolerancia a fallos. Capacidad del software para mantener un nivel especificado de prestaciones en caso de fallos software 0 de infringir sus interfaces especificados. Capacidad de recuperacion. Capacidad del producto software para reestablecer un nivel de prestaciones especificado y de recuperar los datos directamente afectados en caso de fallo. Cumplimiento de la fiabilidad. Capacidad del producto software para adherirse a normas, convenciones 0 regulaciones relacionadas con la fiabilidad.
iii
iii
2.2.3. USABILIDAD
Capacidad del producto software para ser entendido, aprendido, usado y ser atractivo para el usuario, cuando se usa bajo condiciones especificadas. Esta caracteristica se subdivide a su vez en: Capacidad para ser entendido. Capacidad del producto software que permite al usuario entender si el software es adecuado y como puede ser usado para unas tareas 0 condiciones de uso particulares. Capacidad para ser aprendido. Capacidad del producto software que perrnite al usuario aprender sobre su aplicacion.
lRA-MA
87
Capacidad para ser operado. Capacidad del producto software que pennite al usuario operarlo y controlarlo. Capacidad de atracci6n. Capacidad del producto software para ser atractivo al usuario. Cumplimiento de la usabilidad. Capacidad del producto software para adherirse a nonnas, convenciones, guias de estilo 0 regulaciones relacionadas con la usabilidad.
2.2.4. EFICIENCIA
Capacidad del producto software para proporcionar prestaciones apropiadas, relativas a la cantidad de recursos usados, bajo condiciones determinadas. Esta caracteristica se subdivide a su vez en:
Comportamiento temporal. Capacidad del producto software para proporcionar tiempos de respuesta, tiempos de proceso y potencia apropiados, bajo condiciones determinadas. Utilizaci6n de recursos. Capacidad del producto software para usar las cantidades y tipos de recursos adecuados cuando el software lleva a cabo su funci6n bajo condiciones determinadas. Cumplimiento de la eficiencia. Capacidad del producto software para adherirse a nonnas 0 convenciones relacionadas con la eficiencia.
2.2.5. MANTENmILIDAD
Capacidad del producto software para ser modificado. Las modificaciones podrian incluir correcciones, mejoras 0 adaptaci6n del software a cambios en el entomo, y requisitos y especificaciones funcionales. Esta caracteristica se subdivide a su vez en:
Capacidad para ser analizado. Es la capacidad del producto software para serle diagnostic ad as deficiencias 0 causas de los fallos en el software, 0 para identificar las partes que han de ser modificadas. Capacidad para ser cambiado. Capacidad del producto software que pennite que una detenninada modificaci6n sea implementada. Estabilidad. Capacidad del producto software para evitar efectos inesperados debidos a modificaciones del software. Capacidad para ser probado. Capacidad del producto software que pennite que el software modificado sea validado. Cumplimiento de la mantenibilidad. Capacidad del producto software para adherirse a nonnas 0 convenciones relacionadas con la mantenibilidad.
88
RA-?viA.
2.2.6. PORTABILIDAD
Capacidad del producto software para ser transferido de un entomo a otro. Esta caracteristica se subdivide a su vez en:
G
Adaptabilidad. Capacidad del producto software para ser adaptado a diferentes entomos especificados, sin aplicar acciones 0 mecanismos distintos de aquellos proporcionados para este proposito por el propio software considerado. Instalabilidad. Capacidad del producto software para ser instalado en un entomo especificado. Coexistencia. Capacidad del producto software para coexlstlr con otro software independiente, en un entomo comun, compartiendo recursos comunes. Capacidad para ser reemplazado. Capacidad del producto software para ser usado en lugar de otro producto software, para el nusmo prop6sito, en el mismo entomo. Cumplimiento de la portabilidad. Capacidad del producto software para adhelirse a nonnas 0 convenciones relacionadas con la portabilidad.
2.3.1. EFECTIVIDAD
Capacidad del producto software para pennitir a los usuarios alcanzar objetivos especificados con exactitud y compleci6n, en un contexto de uso especificado.
2.3.2. PRODUCTIVIDAD
Capacidad del producto software para pennitir a los usuarios gastar una cantidad adecuada de recursos con relaci6n a la efectividad alcanzada, en un contexto de uso especificado.
RA-ivLA
89
Calidad de Uso
2.3.4. SATISFACCION
Capacidad del producto software para satisfacer a los usuarios en un contexto de uso especificado.
La division de la escala en dos categorias: satisfactOlio e insatisfactOlio. La division de la esc ala en cuatro categorias lirnitadas por el nivel actual de un producto existente 0 altemativo, el peor caso y el nivel proyectado. El nivel actual se declara con el fin de controlar que el nuevo sistema no suponga un deterioro en relacion a la situacion actual. EI nivel proyectado es 10 que se considera alcanzable con los recursos disponibles. El peor caso es la frontera
90
RA-MA
para aceptacion de! usuario por si acaso e! producto no cubre e! nive! proyectado (figura 5.7).
Establecer Propos ito de fa Evaluaci6n
Tomar medidas
Valorar Resultados
niyel
PlaneadO~
-
Rango objetiyo
satistbctorio
niyel actua~ -
.
Minimanii!nte aceptabt~ insatistbctorio
lnaceptabt~
el casu peo,--
niveles de puntuaciOn
escala de nii!dicion
<:: RA.-MA
91
SQUID (Boegh, 1. et 01., 1999), pennite la especificacion, planificacion, evaluacion y control de la calidad de software a tI'aves de los procesos de desanollo. La calidad queda definida como un comportamiento operacional de los productos requeridos por sus usuarios. Ofrece un metodo y una henamienta de soporte que reciben el nombre de SQUID. QUINT2 (Niessink, 2002) amplia el modelo de la ISO 9126 para evaluar la calidad de arquitecturas software. Bertoa et 01., (2005). Adaptan la nom1a ISO 9126 a los componentes COTS. Losavio et 01. (2003) refinan el modelo de cali dad de la ISO 9126 para arquitecturas software, llegando a proponer divers as medidas para los atIibutos de calidad. Franch y Carvallo (2003), y Botella et. al (2003), desanollan una metodologia que conduce a la constmccion de modelos de cali dad especificos de dominio en tenninos del estandar ISO 9126, y que han aplicado a paquetes software COTS (commercial off-the-shelj). Esta metodologia consta de siete pasos (figura 5.8):
O.
1. 2. 3. 4. 5.
6.
Definir el dominio Detenninar subcaracteristicas de calidad Definir unajerarquia de subcaracteristicas Descomponer subcaracteristicas en atIibutos Descomponer atIibutos derivados (aquellos que no sean medibles directamente) en atIibutos basicos Establecer relaciones entI'e entidades de calidad (por ejemplo, aumentar la subcaracteristica de seguridad lleva consigo que aumente la madurez de un producto) Detenninar metIicas para los atIibutos.
Simlo y Belchior (2003). Amplian las subcaracteristicas y atIibutos propuestos por la nonna ISO 9126 llegando a identificar 124 atIibutos de calidad para los componentes software. Moraga et 01., (2005) proponen un modelo de calidad para portlets basada en la adaptacion de ISO 9126 asi como en algunos de los trabajos anterionnente citados.
92
RA-l\IA
Paso 1
Paso 3
Paso 4
Paso 5
Paso 6
Figura 5.8. Metodologia para la construccion de modelos de calidad especificos de dominio (Franch y Carvallo, 2003)
4. LECTURAS RECOMENDADAS
Cechich, A., Piattini, M. y Vallecillo, A. (eds.) (2003). Component-Based Sofnvare Quality: jvfethods and Techniques. Splinger Verlag LNCS 2693. En esta recopilacion se abordan diversos aspectos de la calidad relativa a los sistemas sofuvare basados en componentes.
6. EJERCICIOS
1. Compare las caracteIisticas y subcaracteIisticas de calidad del modelo de McCall y de1l110delo propuesto en la nonna ISO 9126, (,cmille parece m1s completo?, (,a que elementos de la calidad Ie concede 111<1S importancia McCall? y (,a cmiles la non11a ISO 9126?, (,encuentra gran sil11ilitud entre ambos? Como sefiala Kan (2003), los panimetros de satisfaccion del c1iente que monitol1za IBM son: capacidad, funcionalidad, usabilidad, desel11pei'io, fiabilidad, instalabilidad, l11antenibilidad, documentacion!infOlmacion, y servicio), mientras
2.
GRA-?vLA,.
93
que Hewlett-Packard utiliza: funcionalidad, usabilidad, fiabilidad, desempeiio y servicio; compare estos panimetros con las caracteristicas de la nonna ISO 9126. 3. Tomando como base el proceso de selecci6n propuesto por la nonna ISO 14598, defina un proceso de selecci6n para henamientas de amllisis y diseiio Olientado a objetos, adaptando si fuera necesario el modelo de calidad de la ISO 9126. Compare elmodelo definido con la nonna ISO 14102 (ISO, 1995). Compare las diferentes propuestas existentes sobre modelos de calidad para componentes (p.ej. Simao y Belchior (2003) 0 Bertoa et al. (2005)) analizando que caracteristicas y subcaracteristicas de la nonna ISO 9126 se han adoptado tal cual, l11odificado 0 descartado para este tipo de software. Desanolle un proceso de analisis y selecci6n para sistemas de infonnaci6n geognifica (SIG) teniendo en cuenta las caracteristicas distintivas de este tipo de sistemas. Proponga a continuaci6n diferentes fonnas de medir las caracteristicas propuestas. Accediendo al portal de ISO (wlvw.iso.ch) investigue cual es la situaci6n actual de las nOlmas de la familia ISO 25000, Y su trazabilidad respecto a las nonnas ISO 9126 e ISO 14598. Analice. utilizando una matriz, las diferentes interacciones que pueden darse entre las subcaracteristicas del modelo de calidad de la ISO 9126. Por ejemplo, una mayor funcionalidad podria influir en una men or facilidad de prueba.
4.
5.
6.
7.
CAPiTULO 6
EL PROCESO SOFTWARE
"Los Procesos Software tall/bien son Software" Leon Osten veil
1. INTRODUCCION
Tradicionalmente la Ingenieria del Software se ha centrado en metodologias y lenguajes de programacion, modelos de desalTollo y helTamientas. Sin embargo, y teniendo en cuenta la creciente complejidad de los sistemas, se hacia necesario incluir detenninadas areas que hoy en dia son criticas para la ingenieria del software, como las infraestructuras de gestion y organizacion, por 10 que surge la denominada ingenieria del software basada en el proceso (Wang y King, 2000). Tal como se destaca en numerosos estudios, actualmente la calidad de cualquier producto no puede ser asegurada simplemente inspeccionando el producto por sl mismo 0 desalTollando controles de calidad estadisticos. Esta 'l.finnacion se basa en que existe una cOlTelacion directa entre la calidad del proceso y la calidad del producto obtenido (Fuggeta, 2000) y en consecuencia, una organizacion no puede garantizar la entrega de productos de calidad centrando sus programas de calidad unicamente en el producto (Satpathy y Harrison, 2002). Durante las tres ultimas decadas, el estudio de los procesos de produccion de software ha llevado al desalTollo de varios ciclos de vida en la ingenieria del software como, por ejemplo, los modelos cascada, evolutivo y en espiral (Piattini et 01., 2003). Estos modelos del ciclo de vida ayudan a los ingenieros y a los gestores a comprender mejor el proceso software, y a detenninar el orden de las actividades necesarias en la vida de un producto software.
98
Sin embargo, es muy importante establecer claramente la diferencia entre proceso software y ciclo de vida, ya que en much as ocasiones son tratados en la bibliografia como conceptos equivalentes. Un ciclo de vida software es "un marco de referencia que contiene los procesos, las actividades y las tareas invoilicradas en el desarrollo, fa explotacion y el mantenimiento de lin producto de software, abarcando la vida del sistema desde fa definicion de los reqllisitos hasta la finalizacion de Sll lISO" (ISO, 1995; ISO, 2002b). El ciclo de vida software define los principios y las directrices de acuerdo a las cuales se deben llevar a cabo estas etapas. Por ejemplo, el ciclo de vida en cascada sugiere que antes de comenzar una nueva fase se deben haber finalizado los entregables de la fase anterior. EI proceso software es un concepto mas amplio, bas ado en el de ciclo de vida, y cubre todos los elementos necesarios (tecnologias, personal, artefactos, procedimientos, etc.) relacionados con las actividades involucradas en la vida de un producto software. En este contexto los ciclos de vida aportan un marco de referencia para los procesos de desarrollo y mantenimiento del software (vease Capitulo 7). Un proceso se define como un conjunto de actividades interrelacionadas que transfommn entradas en salidas (ISO, 1995). Un proceso define quien esta haciendo que, cuando, y como a1canzar un detenninado objetivo. Respecto al proceso software, en la literatura podemos encontrar divers as definiciones:
EI
"Conjunto de actividades, Iluitodos, practicas y transformaciones que la gente lisa para desarrollar), mantener software y los productos de trabajo asociados (planes de proyecto, diseiio de doclllnentos, codigo, pruebas y manuafes de uSliario) " (SEI, 1995). "Proceso 0 conjlli1fO de procesos usados por una organizacion 0 proyecto, para plantficar, gestionar, ejecutar, monitorizar, controlar y mejorar SliS actividades software relacionadas" (ISO, 1998).
EI
EI
"Conjunto coherente de politicas, estructuras organizacionales, tecnologias, procedimientos y artefactos que son necesarios para concebir, desarrollar, empaquetar y mantener un producto software" (Fuggeta, 2000).
"Conjunto parcialmente ordenado de actividades lie vadas a cabo para gestionar, desarrollar y mantener sistemas software" (Acuna et af., 2001). "Ef proceso soff1vare define como se organiza, gestiona, mide, soporta y mejora el desarrollo, independientemente de las tecnicas y lI1etodos usados" (Demiame et al., 1999).
EI
EI
El proceso software es un proceso con una natmaleza especial, detenninada por las siguientes caracteristicas (Demiame et al., 1999):
- EI
Es complejo.
kRA.-MA
99
No es un proceso de produccion tipico; ya que esta dirigido por excepciones, se ve muy detenninado por circunstancias impredecibles, y cada uno tiene peculiaridades que 10 distingue de los delmis. Tampoco es un proceso de ingenieria "pura"; ya que se desconocen las abstracciones adecuadas, depende en gran medida de demasiada gente, el diseno y la produccion no estan claramente diferenciados, y los presupuestos, calendarios y calidad no pueden ser planificados de forma suficientemente fiable. No es (completamente) un proceso creativo; ya que algunas partes pueden ser descritas en detalle y algunos procedimientos son impuestos previamente. Esta bas ado en descublimientos que dependen de la comunicacion, coordinacion y cooperacion dentro de marcos de trabajo predefinidos: los entregables generan nuevos requisitos; los costes del cambio del software no suelen reconocerse; y el exito depende de la implicacion del usuario y de la coordinacion de muchos roles (ventas, desarrollo tecnico, c1iente, etc.).
La necesidad de participacion humana de forma creativa y la ausencia de acciones repetitivas hacen que ni el desarrollo ni el mantenimiento del software sean procesos de fabricacion, pero existen algunas similitudes entre ambos tipos de procesos que son lltiles para comprender los procesos software con una perspectiva mas amplia. Al igual que los procesos de fabricacion, los procesos software cons tan de dos subprocesos interrelacionados (McLeod, 1990; Demiame et al., 1999):
e
Proceso de Produccion, relacionado con la construccion y mantenimiento del producto software. Proceso de Gestion, que es el encargado de estimar, planificar y controlar los recursos necesarios (personas, tiempo, tecnologia, etc.) para poder llevar a cabo y poder controlar el proceso de produccion. Este control genera infonnacion sobre el proceso de produccion, que puede ser usada posterionnente para mejorar el proceso y por tanto, mejorar la calidad del producto software.
Por 10 tanto, el proceso software es un campo de estudio amplio y complejo en el mundo de la ingenieria del software, en el que debido a la gran cantidad y diversidad de elementos relacionados, se podrian establecer en las siguientes categorias (Fuggetta, 2000):
e
Tecnologia de Desarrollo Software, relacionado con el soporte tecnologico, en fonna de herrarnientas, infraestmcturas y entomos. Metodos y Tecnicas de Desarrollo Software, que constituyen Hneas guia sobre como se deben hacer las cosas: uso de la tecnologia y realizacion de las actividades.
II
100
R.-\-MA
Comportamiento Organizacional, relacionado con los recursos humanos. Los procesos software son llevados a cabo por equipos de personas que tienen que estar coordinados y deben gestionarse desde una eficiente estructura organizacional. Economia y Marketing, relacionado con la gestion de proyectos, debido a que el producto software final debe cumplir con unos plazos y costes detenninados y debe satisfacer las necesidades del cliente al que va destinado.
La integracion de las tecnologias de produccion y de gestion en un entomo de trabajo constituye la esencia de la Tecnologia del Proceso Software y como resultado se han desanollado los denominados Entornos de Ingenieria del Software orientados al Proceso (PSEE, Process-centered Software Engineering Environment). A pesar de su importancia y de los avances en la investigacion en estos temas, muy pocas propuestas de PSEE han sido aplicadas de fonna pnictica en la indusnia. Tal y como se ha comentado las razones son variadas, desde la ligidez de muchas de las propuestas que ha dificultado su aplicacion indusnial en mercados diniunicos, a la necesidad de introducir este tipo de entomos poco a poco, pmtiendo de un modelado descriptivo de los procesos que ayude a su entendimiento y comunicacion, para posterionnente afiadir los detalles necesmios para proporcionar sopOlte a su ejecucion. Sin embargo y a pesar de que el tema de los procesos software no se ha establecido alm como una disciplina que se ensefie y practique universalmente por la indusnia del software es de esperar que en el fhturo las tecnologias de sopOlte a los procesos software maduren y sean adoptadas por las organizaciones.
Definicion del Proceso. La definicion del proceso es la primera responsabilidad clave que hay que asumir para poder realizar una gestion efectiva de los mismos. Para ello, es necesario modelar los procesos, es decir, representar los elementos de interes que intervienen. EI modelado de los procesos software, por 10 tanto, constituye un paso fundamental para la
t RA-iviA
10 1
comprensi6n y mejora continua de los procesos de una organizaci6n (Arbaoui et aI., 2003).
Mejorar el Proceso
Controlar el Proceso
Ejecucion y Control del Proceso. Los proyectos software de una empresa se llevan a cabo de acuerdo a los modelos de procesos definidos. En este sentido, es importante poder controlar en todo momento la ejecuci6n de estos proyectos (yen consecuencia, de los procesos cOlTespondientes) para garantizar que se obtienen los resultados esperados. Para ello, se han desalTollado en las dos llltimas decadas los denominados "En 10177 os de lngenieria del Sofnmre orientados a Procesos" (PSEE), que son los sistemas software que ayudan en el modelado de los procesos software utilizando un determinado lenguaje y en su posterior automatizaci6n por medio de Sll reificaci6n (enactment). Medicion y Mejora. Existe una importante cOlTelaci6n entre la medici6n y la mejora de los procesos software. Antes de poder mejorar un proceso es necesario llevar a cabo una evaluaci6n, cuyo objetivo es detectar los aspectos que se pueden mejorar. Para ello, es conveniente disponer de un marco de trabajo efectivo que facilite la identificaci611 de las entidades relevantes candidatas a ser medidas. Con los resultados de la medici6n de los procesos es posible disponer de una infomlaci6n objetiva que pennita planificar, identificar y llevar a cabo de una manera eficiel1te las acciones de mejora necesarias. Dada la importancia de estos aspectos, se estudian con mucho mayor detalle a 10 largo del libro. La medici6n del software es tratada en el capitulo 9, mientras
102
RA-ivl-\
que los modelos y estandares de evaluacion y mejora de procesos se tratan en el capitulo 8. A continuacion se presentan las caractedsticas del model ado y ejecucion de los procesos software.
Facilidad de entendimiento y comunicacion, 10 que requiere que un modelo de procesos contenga suficiente informacion para su representacion. Un modelo, como representacion del pJ;oceso que es, puede ser usado para la fonnacion del personal. Soporte y control de la gestion del proceso.
Provision para la automatizacion orientada al rendimiento del proceso, 10 que requiere un entorno de desan'ollo efectivo del software, proporcionando orientaciones, instrucciones y material de referencia al usuario. Provision para el soporte auto matico a la ejecucion, para 10 cual es necesario automatizar ciertas partes del proceso, dar soporte al trabajo en grupo, compilacion de metricas y aseguramiento de la integridad del proceso. Soporte a la mejora del proceso.
II)
9RA.-MA
l03
En la literatura se pueden encontrar diversos lenguajes y fonnalismos de modelado, conocidos como "Lenguajes de Modelado de Procesos" (LMP), que tienen como objetivo representar de una fonna precisa y no ambigua, los diferentes elementos relacionados con un proceso software. A continuaci6n se describen los diferentes elementos relacionados con el modelado de procesos, para 10 cual se abordan en primer lugar los diferentes conceptos comunes relacionados con el proceso software. En el siguiente apartado se presentan diversos lenguajes 0 metamodelos para la definici6n y representaci6n de modelos de procesos.
Actividad. Una actividad es una operaci6n at6mica 0 compuesta, 0 un paso de un proceso. Las actividades se encargan de generar 0 modificar un conjunto dado de artefactos; incorporan e implementan procedimientos, reglas y politicas. Ademas, una actividad es un concepto con un cOl11ponente funcional fuerte ya que acarrea entradas, salidas, y resultados intennedios. Producto. El conjunto de artefactos a ser desarrollados, entregados y mantenidos en un proyecto es 10 que se denomina producto. Recurso. Un recurso es un activo que una actividad necesita para llevarse a cabo. En este campo, hay dos recursos de principal importancia: por un lado los desarrolladores (los agentes humanos en el proceso), y por otro, las herral11ientas de desarrollo (los agentes computerizados que tradicionalmente han sido usados en desarrollo del software como editores especializados y herramientas para la gesti6n, compiladores, etc.) y las herramientas de prop6sito general (como hojas de ca1culo, editores de diagral11as, etc. que pueden ser usados para manejar el proceso). Roles y Directivas. Norma1l11ente, las hen;anlientas estan fuertemente unidas a las actividades en las que son usadas, mientras que los desarrolladores se relacionan indirectamente a una actividad por medio de sus roles, es decir, el conjunto de responsabilidades, obligaciones y tareas (por ejemplo disenadores, jefes de proyecto, revisores, etc.). El caracter de la organizaci6n impacta en el proceso indirectamente por medio de roles, y tambien directal11ente por medio de directivas (politicas, reglas, y procedimientos) que gobieman las actividades. Las directivas nonnalmente vienen en manuales, y por 10 tanto deberian ser estructuradas.
<>
<>
<>
104
RA-MA
Herramienta
Actividad
Producto
Recurso
Organizacion
Funcional, que representa que elementos del proceso se estan implementando y que flujos de infonnaci6n son impprtantes para los elementos basicos del proceso. Compol"tamental, que representa cuando y bajo que condiciones se implementan los elementos del proceso. Organizacional, que representa d6nde y pOl' que persona de la organizaci6n son implementados los elementos del proceso. Informativo, que representa las entidades de infonnaci6n de salida manipuladas pOl' un proceso, incluyendo su estmctura y sus relaciones.
0
Los diferentes lenguajes de model ado de procesos, proporcionan la notaci6n necesaria para representar los procesos software y dicha representaci6n puede incluir las
105
clases de infonnacion comentadas anterionnente. En la tabla 6.1 se resume un buen l1Lllnero de las propuestas de modelado de proceso existentes, y los aspectos de informacion que capturan (Acuna et al., 2001). Otra posible clasificacion de los lenguajes de model ado es la establecida por McChesney (1995) seg(ill la cuallos procesos se pueden clasificar en:
Descriptivos, cuyo objetivo es desclibir un proceso que se esta llevando a cabo en una organizacion. Se distinguen dos tipos de modelos descliptivos :
o o
Informales, cuyo objetivo es proporcionar un modelo cualitativo e infonnal. Formales, que estan relacionados con la evaluacion, mejora y prediccion de procesos.
Prescriptivos, tienen como objetivo definir los medios necesmios 0 recomendados para la ejecucion de un proceso. Se clasifican en:
o
l'vfanuales, que pueden ser estandares, metodologias y metodos centrados en la gestion, desanollo, evaluacion, ciclo de vida del software y procesos de soporte al ciclo de vida. Ejemplos de este tipo de modelos son: metodologias tradicionales estmcturadas, metodologias orientadas a objetos, metodologias de ingenieria del conocimiento, estandares de ciclos de vida como ISO 12207. Automaticos, que realizan actividades relacionadas con la asistencia, soporte, gestion y tecnicas de produccion de software asistida por ordenador. Ejemplo de este proceso es el "Proceso Unificado de Desanollo" (Jacobson et al., 1999). Ademas este tipo de modelos se puede clasificar en: orientado a actividades u orientado a personas, en funcion de los aspectos en los que se centran.
Existen oU'as clasificaciones de lenguajes de modelado, como la que proporciona Ambriola et al. (1997), en la que se distinguen tres categorias en funcion del nivel de abstraccion: Lenguajes de Especificacion de. Procesos (Process Specification Languages, PSL), Lenguajes de Disefio de Procesos (Process Design Languages, PDL) y Lenguajes de Implementacion de Procesos, (Process Implementation Languages. PIL). Zamli y Lee (2001) proponen otra clasificacion mas generica y menos centrada en los PSEE que la anterior, distinguiendose entre LMP:
No ejecutable (Noll-enactable), en la que se incluyen a los LMP que proporcionan soporte lll1icamente a aspectos de entendimiento y comunicacion y no a los aspectos de ejecucion. Simulados (Simulated). que proporcionan una representacion de los procesos software adecuada para su simulacion a alto niveL que n0l111almente sirve de
106
C9 RA-ivLi\
ayuda para el disei'io de los procesos, pero no proporciona detalle suficiente para la guia y control de ejecuci6n de los procesos.
Ii>
Ejecutable (Enactable), que penniten que el modelo de procesos pueda ser ejecutado para guiar activamente e inc1uso controlar un proceso software.
LE~G(:AJE BASE
PERsPEcnvAS DE L'iFORMACION
Lenguaje de Programacion Procedural (Ramanathan y SarkaL 1988) Amilisis y Diseiio de Sistemas. incluyendo Diagramas de Flujo de Datos (Frailey. 1991) y tecnicas de amllisis y disello estructurado (McGo\\"an y Bohner, 1993) Lengu~es y Aproximaciones de [nteligencia Artificial. incluyendo las reglas y las pre'post condiciones (Ban!houti et a/ .. 1995) Eventos y Disparadores Control de Flujo (Finkelstein et a/. 1994) Diagral11as de Transiciones de Estados y Redes de Pea; (Deiters y Gruhn. 1990): (Bandinelli et a/.. 1995). Diagral11as de Estado (Kellner y Hansen. 1989): (Kellner. 1991): (Harel y Politi. 1998): (Raffo y Kellner. 1999) Lenguajes Fllncionales Lengu~es Fonna1es (Curtis et a/.. ! 992): (Huff. 1996) ;Vlodelado de Datos. incluyendo diagramas entidadinterrelacion. datos estmcturados y declaraciones de re1acion (Penedo y Shu. 1991) ivlodelado de Objetos (Engels y Groenewegen. 1994) Mode1ado Cllantitativo (Abdel-Hamid y {vladnick. 1991) Redes de Precedencia. incluyendo l110delado de dependencias de actores (,{u y Mylopoulos. 1994)
Funcional Comportamental Infonnativa Funcional Organizacional Infonnativa Funcional Comportal11ental COl11portal11ental Funcional Comportamental Organizaciona1 Funciona1 Infolmativo Omanizacional. Infonnativo COl11portal11ental Compoliamental. Organizacional
A continuaci6n se descIiben de fonna general una selie de lenguajes representatiyos de 111odelado de proceso expresados en fonna de metamodelos de procesos. En la bibliografia tambien podemos encontrar una gran diversidad de lenguajes de 111odelado que han sido propuestos en relaci6n con Ento111os de IngenieIia del Software Orientados al Proceso (PSEE), que se tratan ll~as adelante cuando se aborden estos ento1110S.
I Es un modele explicito de los constmctores y reglas necesarias para constuir modelos especificos de un detenninado dominio de interes.
(': RA-MA
107
precisa para su posterior ejecuci6n efectiva. En funci6n de los aspectos del proceso a representar sera necesario incluir unos constructores u ohos y por ella en la literatura se puede enconhar una gran diversidad de lenguajes para el model ado de los procesos software. Ello supone la existencia de diversos fOl1nalismos para modelar los procesos existiendo un alto grade de heterogeneidad. A continuaci6n se describen de f0l111a general diferentes propuestas de modelado de procesos.
DIAGRAMAS PERT
Los diagramas de Gantt fueron creados por Hemy Gantt en el aii.o 1917. Representan las diferentes actividades de un proceso como banas sobre un calendatio aportando una representaci6n visual de las actividades, su duraci6n y su planificaci6n. En la figura 6.3 se presenta un sencillo ejemplo de diagrama de Gantt.
Estuclio Preliminar
2 Ana!lsis de Requisttos
"
Diseno
(ociifiulci6n
PruebEls
4
5
EI metamodelo que representa el diagrama de Gantt es bastante simple y en eI s610 estan incluidos los conceptos de Actividad e Instante de Tiempo (TimePoint).
A::tividad 1 1 Dia
/
\
Jlctjvidad 2 2Dias
108
Los diagramas PERT (Program Evaluation and Review Techniqlle) representan grMicamente los procesos mediante un grafo dirigido en el que se incluyen las tareas, su duraci6n y sus relaciones de precedencia. Son mas dificiles de leer que un diagrama de Gantt, pero a su vez penniten un analisis mas complejo del proceso, como la identificaci6n de caminos criticos. En la figura 6.4 se muestra un ejemplo de un diagrama PERT. Estos lenguajes de procesos presentados son claros ejemplos de modos de representaci6n simple, ya que definen el minimo numero de constmctores necesarios.
etc.) de compartir sus modelos de procesos. Dicha especificaci6n fue propuesta originalmente en 1993 y desde entonces ha evolucionado y mejorado. EI concepto de proceso en PIF es "1111 conjzmto de acth'idades COil ciertas relaciolles entre sf y con objetos ell detenninados Instal/tes de Tiempo". En la figura 6.5 se representa en UrvIL la jerarquia de entidades que componen elmetamodelo PIF.
Entity
Activity
Object
TimePoint
Relation
Decision
Agent
Creates
Modifies
Before
Uses
Performs
Activity Status
Successor
Los principales elementos. de acuerdo al metamodelo PIF son: la entidad Actividad (Actidty) que se define como "cualquier cosa que OCUlTe en el tiempo", como por ejemplo un proceso. una tarea. 0 incluso un evento; la entidad Relacion (Relation). que representa la relaci6n entre dos entidades y puede ser de varios tipos, como por ejemplo la relaci6n creates. que enlaza una actividad con los objetos (Objects) que
109
produce; los instantes de tiempo (timepoillts) que pueden ser una hora precisa, 0 un punto del tiempo en el que puede ocurrir un evento; y finalmente la entidad Objeto (Object), que representa todas aquellas entidades implicadas en un proceso, como artefactos, helTamientas y agentes.
Object
end
Timepoint
at
participatesjn
in
begin
end
Activity
En el nllcleo del metamodelo PSL se define la base minima necesaria para la representacion de modelos de procesos. Esta base minima es extendida mediante modulos de extension, como por ejel11plo extensiones para el ordenamiento temporal sobre instantes de tiempo. El lenguaje PSL define de una fonna muy precisa y no ambigua modelos de procesos mediante axiomas 0 definiciones usando KIF (KnOfl"/edge Interchange Format). Algunas de estas especificaciones se pueden expresar en el
110
@RA-MA
metamodelo, pero otras necesitan de mecamsmos mas potentes como OCL (Object Constraint Language).
Nombres (names), en el que se definen los mecanismos de nombrado Elementos Basicos (Basic Elements), defme los elementos basicos, que son refinados en otros paquetes. Estructura del Proceso (Process Structure), define los principales conceptos del proceso, como artefactos (arttfacts) , roles (roles), 0 productos de trabajo (,\"Ork items). Guia (Guidance), define como deberia documentarse cada componente del proceso. Componentes del Proceso (Process Components), define mecamsmos de empaquetamiento.
II>
RA-ivLI\
III
Pia n
Actio n TimeSpec
Objective
Acto r
Resource
/
may involve from
to
Transition Infotmation
-------------
112
:Q
RA-IvLA.
De acuerdo a la WfMC el proceso se divide en Actividades del Proceso de Flujo de Trabajo (Wor~floH' Process Activities), que pueden ser at6micas 0 podrian estar compuestas por otros subprocesos. Estas actividades se planifican mediante Infonnacion de Transicion (Transition b?lormation) sobre Datos Relevantes del Flujo de Trabajo (Worliflmr Relevant Data). LasaCtividades son realizadas por alguien 0 algo definido por una Especificacion de Participante del Flujo de Trabajo (WorJ...j7mr Participant Specification) y pueden invocar Declaraciones de Aplicacion de Flujo de Trabajo (WorkfloH' Aplication Declaration). Los datos relevantes del flujo de trabajo dan cobertura a un subconjunto de datos del dominio de aplicacion que son necesarios para especificar condiciones de h'ansicion 0 precondiciones y poscondiciones de actividad.
INTEGRADOS (ARIS)
El metamodelo Arquitectura de Sistemas de lnfonnacion lntegrados (Architecture of Integrated b?/o17nation Systems, ARIS) (Scheer, 1998), tiene como objetivo dar soporte al modelado, analisis y reingenieria de procesos de negocio. De acuerdo a ARIS, un proceso es un conjunto de Funciones (jzlIlctions) cuyo objetivo es satisfacer Metas Corporativas (cOlporate goals). Una funcion produce Salidas (outputs) y procesa Objetos de Infonnacion (bifonnation Objects) tales como eventos y mensajes. El trabajo es realizado por Unidades Organizacionales (Organizational Units) que incluyen maquinas, computadores y recursos humanos.
3.3.8. SPEARMINT
SPEARMINT (Becker-Komstaedt et al., 2003) es una herramienta desarrollada por el Fraunhofer lESE (Institute .lor Experimental Sojhrare Engineering) (vease w\vw.fraunhofer.de) para describir procesos software. SPEARMINT sopolia la captura, documentacion, mantenimiento y amilisis de los modelos de procesos software. El metamodelo (figura 6.9) en el que se basa la herramienta es 10 suficientemente expresivo para el modelado descriptivo de los procesos. Como se puede observar en la figura 6.9,las clases que constituyen elmkleo del metamodelo son: "Entity", "Activity", "Arti/act", "Role", "Resollrce", y "Toof'. Las asociaciones mas destacadas son: "contains", "consumes", "modifies", "produces", entre actividades y aliefactos: "involves" enh'e los roles y actividades, "lIses" entre recursos y actividades, y 'precedes" entre estados, clase absh'acta de la que heredan las actividades y las bifurcaciones de control (clase JoinSplitState). Las clases "ProdlictFlmrGraph" y "ControIFlo,rGraph" y sus asociaciones son especificas para elmodelado visual. En base a este metamodelo, la herramienta proporciona una notacion grafica similar a UML para la definicion de modelos de procesos. Ademas, de dar sopOlie al modelado, SPEARMINT proporciona capacidades para el analisis y pel111ite generar guias (Electronic Process Guide, EPG) y manuales de ayuda al entendimiento del proceso.
[;RA.-MA
113
En la actualidad, las funcionalidades de SPEARMINT han sido integradas en la herramienta VINCENT (vease http://\'l\\w.iese.fhg.de/Speannint EPGO. que constituye un nuevo entomo tecno16gico desan'ollado por el tranhoufer lESE para la gesti6n del proceso software y en el que se inc1uye un repositolio con infonl1aci6n sobre: los modelos de procesos: los elementos necesarios para dar soporte a aspectos de rendimiento del proceso (plantillas, listas de comprobaci6n, etc.): y sobre los productos de trabajo producidos durante el desanollo de los proyectos. Un ejemplo de definici6n de un modelo de procesos con la helTamienta es mostrado en la figura 6.10.
114
@R/\-MA
::>::':U
,'"isn:?!::,;",
[ill -----------Ii> ~
, ,
I
I , I
Designer
Figura 6.10. Definicion de una vista de un modelo de procesos con SPEARMINT (Becker-Kornstaedt et aI., 2003)
3.3.9. PROMENADE
PROMENADE (Franch y RibO, 1999; 2003) es un lenguaje para la modelizacion de procesos software que utiliza UML para describir sus constmctores, mediante la generacion de un profile. En la figura 6.11 se representan la extension que PROMENADE realiza sobre el metamodelo de UML para el modelado de procesos software.
Model (UML)
MetaDocument
I !
MetaRole
I SPMetamod
ModelElement (UML)
Trigger
' RA-iviA
115
Como se puede observar en la figura 6.11, las clases que componen el nucleo de PROMENADE son:
e
lvfetaDocument, 1\1etaTask, MetaRole, que son consideradas como especializaciones del constructor Clase de UML. Estas tres clases son los constructores cuyas instancias caracterizan un modelo de procesos software.
La clase SPMetamod (Software Process Metamodel) es una subclase del constructor UML Model. Las clases Precedence y Trigger son constmctores utilizados para modelar los aspectos dimimicos de los modelos de procesos. nuevos constructores definidos en
imports-modeJs
\
has-as-maintask-cJass
/
/ /0 ..
I
~
Imported Mod
maintaskMod 0 .. * \
1.'
model otherCI
0.. 1
dI
1
SPMeiamod
Class(UML)
1 has-as-other-cJass
mOd~/
has-as-task-CJa/,
maintaskcl 1 subtasksCI .
....---;
/
D <> 1Cl.",
model
'"
"
''-.,
1.:
iasksCI
0.:
"'.
1.. '
.'-.,"',
rolesCI
MetaTask
1.:
I
i
I
I
MetaRole
supertaskCI
......~ask
0.. 1
has-as-subtasks-cJass
'... 1 '.
I I
!
MetaDoeument
I I I
has-as~~rameters
""
'.
parameters ",....
. ..
doc
consists-of
"
1.,* ......
1.:
Parameter (UML)
Este lenguaje da soporte al modelado de los procesos software estableciendo dos vistas fundamentales:
116
RA-MA
Parte estatica, que contiene la defmici6n de los elementos que fonnan parte de un modelo de procesos software. Las clases fundamentales de este modelo son: Tarea, Documento, Agente, Herramienta, Recurso, Rol y Comullicaciol1. Parte dinamica, que pennite establecer el comportamiento de los procesos software. Para ello se establecen dos tipos de constmcciones: el control proactivo, para establecer las precedencias temporales entre las tareas que llevan a cabo el proceso, y el control reactivo, para describir el comportamiento del proceso software especificando sus reacciones ante la oculTencia de eventos. El control pro activo utiliza relaciones de precedencia, definidas en el marco de UML como una clase especial de dependencia. El control reactivo se basa en reglas ECA (evento-condici6n-acci6n).
PROMENADE adelmis sopolta la reutilizaci6n de modelos, para 10 cual se proporcionan los mecanismos de abstracci6n, que penniten desechar detalles de un modele; y adaptaci6n, para hacer que un modele sea mas especifico 0 preparado para ser reutilizado.
3.3.10. SPEM
SPEM (Software Process Engineering lvletamodef) es una especificacion de OMG (2002). SPEM describe un metamodelo generico para la descripcion de procesos software concretos. Esta basado en MOF y utiliza UML como notacion de modelado. Por tanto, se basa en los principios de orientacion a objetos. En esta propuesta no se da soporte a la ejecucion (enactment) de los procesos, es decir, la planificacion y ejecucion de proyectos usando un modele de proceso descrito con SPEM. Ademas del metamodelo, la especificacion SPEM tambien esta estructurada como un perfil UML (UiViL profile), es decir, una vatiante de UML que utiliza los mecanismos de extension de UML en una fOlma estandar para un proposito particular. Esto pelmite intercambiar definiciones de procesos, tanto con helTamientas basadas en MOF, como con las basadas en UML. Como metamodelo. SPEM constituye una plantilla para la creacion de modelos de procesos concretos, como podrian ser el "Proceso Unificado de DesalTollo de software de Rational" (RUP) y el modelo de evaluacion y mejora de procesos de ISO 15504. El modele conceptual de SPEM esta basado en la idea de que un proceso software consiste en la colaboracion enh'e entidades absh'actas y activas denominadas "roles de proceso" (process roles) que realizan operaciones denominadas "actividades" (actidties) sobre entidades tangibles denominadas "productos de h'abajo" ('l'Ork products). EI fundamento de los procesos software consiste en la interaccion 0 colaboracion de mllitipies roles mediante el intercambio de productos de trabajo y la ejecuci6n 0 disparo de ciertas actividades. El objetivo de un proceso es llevar un conjunto de productos de trabajo a un estado bien definido. En la figura 6.13 se representa en UML este modele conceptual basico.
RA-ivV\
117
Rol de Proceso
--=~~~~~0 . .*
+entrada
usa
produce
0 ..* Actividad
0 ..*
SPEM especifica el conjunto minimo de elementos necesarios para describir cualquier proceso software concreto, sin incluir constmctores para areas 0 disciplinas especificas; de fonna que en SPEM se describe un metamodelo genelico. El objetivo fundamental de esta especificaci6n es tratar de homogeneizar la diversidad tennino16gica existente en los lenguajes de modelado de procesos software en los que los mismos conceptos se tratan con nombres diferentes. La especificaci6n SPEM esta compuesta por un conjunto de paquetes en los que se des crib en cada uno de sus elementos. Todos estos paquetes se construyen a partir del paquete SPElV!_Folllldatiol1, que es un subconjunto de UML 1.4 (OMG, 2001), y el paquete de extensiones de SPEM (SPElvI_Exlensions_Package), que aflade los constructores y la semantic a necesaria para la ingenieria del proceso software. El l1lkleo de la estructura de SPEM esta basado en la del metamodelo de UPM, estando f0l111ada por 5 paquetes: Elementos Basicos (Basic Elements), Dependencias (Dependences), Estructura del Proceso (Process Structllre). Componentes del Proceso (Process Componems). y Cicio de Vida del Proceso (Process L)/ecycle). Como se puede observar en la figura 6.14, en el paquete eSh1.1ctura del proceso se incluyen los principales elementos estmcturales a' paltir de los cuales se constmye la desclipci6n de un proceso. Los principales elementos de este paquete son: "Producto de Trabajo" (WorkProdllct) 0 artefacto, que es cualquier cosa que es producida, consumida 0 modificada por un proceso. Podria ser un fragmento de infonnaci6n, un documento, un modelo, c6digo fuente, etc; "Definici6n de Trabajo" (TVorkDe/inition) que es una clase no abstracta de operaci6n que desclibe el trabajo realizado en el proceso. Tiene entradas y salidas explicitas representadas mediante el constmctor "Parametro de Actividad" (ActivityParameter); "Actividad" (Acth'ity), que es la principal clase en la que se especializa Definici6n de Trabajo y desclibe una parte 0 partes de trabajo realizadas por un rol de proceso tales como las tareas, las operaciones y acciones que un detenninado rol realiza 0 asiste. Una actividad puede estar fonnada por un conjunto de elementos at6micos denominados "Pasos" (steps): Realizador del Proceso (ProcessPelfomer) que describe el
lIS
@RA-MA
encargado de realizar lll1 conjunto de "Defilliciones de Trabajo" que componen un proceso y "Rol del Proceso" (ProcessRole) que es una subclase de Realizador del Proceso y desclibe las responsabilidades asociadas a los "Productos de Trabajo" junto con los roles que realizan y asisten en actividades especificas,
ModelElement
(from Core)
Classifier
(from Core)
WorkProductKind Parameter
(from Cora)
v:';ird
Parame!erOirectionKind
Operation
(from Core)
0.:
ActivityParameter
nas\:ctf.PerA:1Jl a::t :
Bc:)~ean
WorkProduct
-,uoVio" 0 .. '
WorkDefinition
0 .. ' 0 .. '
-parer,tWOtk
+perform:.
ProcessPerformer
{ordered}
0 .. "
Activity . .
.... sep
Step
ActionState
(from ActivitjGr<l;)hs)
0 .. 1
ProcessRole
+asSs.ant
-:es;::):':sloleRcle
0 .. "
SPEM no dispone de notaci6n gnifica propia, pero al ser un metamodelo basado en los constructores de U1vlL y al estar definido como profile UML, es posible utilizar notaci6n UML para representar modelos de procesos, para 10 cual se deben definir los estereotipos e iconos asociados de los constructores propios de SPENt Los principales diagramas UML que pueden ser utilizados para representar las distintas vistas de un proceso software son los siguientes:
o
Diagramas de Clases, En el contexte del modelado del proceso software los diagramas de clases pueden utilizarse para representar: herencia, dependencias, asociaciones simples, comentarios para asociar elementos de modele a guias (mediante una uri por ejemplo), relaciones entre realizadores del proceso 0 rol del proceso y productos de trabajo y la estmctura, descomposici6n y dependencias entre productos de trabajo, Sin embargo, los diagramas de clases para modelar
RA-NLt\
procesos no pueden incluir interfaces, plantillas, agregaciones simples, asociaciones cualificadas y asociaciones n-mias. En la figura 6.15 se muestra un ejemplo de diagrama de clases para representar dependencias entre productos de trabajo.
Producto
//'~;d
:C6digo de los Componentes :Base de Datos Fisica
/"
~,"
---=
Manual de Usuario
Figura 6.15. Ejemplo de Dependencias entre productos de Trabajo representadas con un diagram a de clases
En la figura 6.16 se muestra un ejemplo en el que mediante un diagrama de clases se ilustra la relaci6n enh'e productos de trabajo y roles del proceso:
Figura 6.16. Ejemplo de Dependencias entre productos de Trabajo y Roles de Proceso representadas mediante un diagrama de clases
120
:9 R,-\-MA
Diagramas de Paquetes. Los diagramas de paquetes penniten ia representaci6n de: procesos, componentes de procesos, paquetes de proceso y discipiinas. En ia figma 6.17 se muestra un ejempio de representaci6n de un proceso y sus discipiinas asociadas.
<~Oisciplin~':>:=
!l7;;::4em~rt.-:e:-i';)n
o:<Clzci;;line::>::>
?rtP..<oas
Figura 6.17. Ejemplo de un Proceso y sus "Disciplina~" asociadas representado con un Diagrama de Paquetes UML
Realizar
MOdelos Sfstema Arquttecto
clel
Sistema
Figura 6.18. Ejemplo de un Diagrama de Casos de Uso para representar Actividades y los Roles de Proceso asociados
f RA.-ivV\
121
Diagramas de Casos de Uso. Los diagramas de casos de uso se pueden utilizar para representar la relaci6n entre los Roles del Proceso y las Definiciones de Trabajo. En la figura 6.18 se muestra un ejemplo de utilizaci6n de los diagramas de casos de uso para representar las actividades de una definici6n de trabajo y los roles que asisten en su realizaci6n. Diagramas de Secuencia. Los diagramas de secuencia se pueden utilizar para ilustrar la interacci6n entre instancias de elementos de SPEM. Diagramas de Transicion de Estados. Se utilizan para representar el comportamiento de elementos de modelado SPEM, como, por ejemplo, los estados y transiciones que representan el comportamiento de un detenninado producto de trabajo. Cuando se utiliza este tipo de diagrama para modelado de procesos el paralelismo y anidamiento estan pemlitidos, pero no se pueden utilizar indicadores de historia y declaraciones de sefiales. En la figura 6.19 se representa el compOltamiento de una actividad mediante un diagrama de transici6n de estados en el que se especifican los pasos que componen la actividad y su flujo de control.
Initial State
Final State
Figura 6.19. Ejemplo de Diagrama de Transicion de Estados para representar la Actividad "Revisar los Modelos de Usuario"
(i)
Diagramas de Actividad. Los diagramas de actividad representan en el contexto del model ado de procesos la secuenciaci6n de las actividades del proceso, asi como los productos utilizados por dichas actividades y los roles responsables. En la tlgura 6.20 se muesh'a un ejemplo de diagrama de actividad.
3.3.11. SMSDM
El metamodelo SMSDM (Standard jvletamodel for Sojhrare De\'eloplIIent Methodologies) (Henderson-Sellers y Gonzalez-Perez, 2004; Standards Australia, 2004) establece un marco de trabajo para la definici6n y extensi6n de metodologias de desalTollo de sofuvare. incluyendo sus h'es aspectos principales: el proceso a seguir, los productos uti liz ados y generados y las personas implicadas. Este metamodelo esta basado principalmente en los metamodelos: SPEM y OPF (OPEN Process FrameH'ork) para los COnShlJctores directamente relacionados con el
122
&: RA-MA
modelado de procesos software, OOSPICE para la evaluaci6n de la capacidad de procesos y LiveNet para sistemas de trabajo colaborativo basado en computador (CompllterSupported Collaborative Work, CSCW). SMSDM combina los anteriores metamodelos para dar soporte no ll11icamente al modelado del proceso en si, sino tambien a los productos y a la evaluaci6n de la capacidad tanto en el contexto del desalTollo de software como de sistemas CSCW.
Proyaeto
Apflcaciones Antiguas \
------------r-----
Inicio
DT.AYD.10l I',
Fin
(P.DT.AYD.20) \
'i
\
iP.DT-AlJD.40i \
I
DT-AYD.3tJ)
'i
\
\
Detan~do de
Req1iiSltos
Las plincipales caracteristicas del metanlodelo SMSDM se pueden resumir en las siguientes:
@
Facilita la instanciaci6n del metamodelo en fonna proyectos. Ello se debe a que no s610 se proporciona un metamodelo, como OCUlTe en muchas oU'as propuestas, sino ademls se inc1uyen las guias necesarias para instanciar el metamodelo en fonna de proyectos. Para ello se utilizan "pOl rertypes" , que pem1iten representar en el mismo modelo los elementos de metamodelado y sus instancias (elementos concretos de una metodologia). Integran los aspectos del proceso y del modelado en un unico metamodelo para la definici6n de metodologias. Mienu'as que propuestas como SPEM U
OOSPICE descliben los aspectos de proceso de las metodologias, estandares como UML descliben los aspectos de modelado.
I
El metamodelo incluye constructores especificos para modelar la cap acid ad de los procesos definidos. Esta es una dimension muy significativa que puede afectar a las metodologias definidas, y por tanto, debe ser considerada a nivel de metamodelo.
Definiciones de cada concepto en lenguaje natural. Diagramas de Clases UML, en los que los conceptos son representados como clases, y se muestran ademas sus atributos y relaciones. Equivalencias con otras propuestas. Cada concepto de SMSDM es relacionado con conceptos equivalentes 0 similares en otras propuestas y enfoques.
En la figura 6.21 se representan en UML las clases que constituyen el micleo de SMSDM. En el nivel mas alto de abstraccion SMSDM define las clases lvlethodologyElement y ProjectElemellt para representar los elementos a nivel de metodologia y a nivel de proyecto, respectivamente. Como se puede apreciar en la figura 6.21 entre las subclases de estos elementos existe una relacion basada en p01\"ert)pes (representada mediante un pequeno circulo que parte del elemento de metamodelado y conecta con una linea discontinua el elemento a nivel de modelo), ya que representan elementos de distintos niveles de abstraccion. Los aspectos temporales del proceso son representados con las clases StageKilld y Stage, los aspectos de trabajo mediante las clases WorkUnitKind y vVorkUnit que representan operaciones cohesivas realizadas durante un proyecto. Por otro lado los artefactos obtenidos 0 utilizados son modelados mediante las clases FVorkProdllctKind y WorkProdlict. Las clases ActiollKind y Action representan el acto especifico de utilizar un detenninado producto de trabajo por algunos tipos de unidades de trabajo (workunits). Los roles son l11odelados mediante las clases ProducelKind y Producer que son los responsables (nonnalmente humanos) para llevar a cabo ciertas acciones. Finalmente, las clases ivlodelUflitKind y Model Un it representan los bloques basicos de conshuccion de productos de trabajo y ModelUnitUsageKind y su c1ase asociada a nivel de modelo Model Unit Usage representan usos especificos de una detenninada unidad de modelo (modelunit) en un producto de h"abajo. Por otro lado, la c1ase recurso se especializa en: Language, que representa un conjunto interrelacionado de model unit kinds que pueden utilizarse para conshuir ciertos modelkinds; Notation (un conjunto de artefactos, nonnalmente graficos, mas reglas de usa, que pueden utilizarse para representar productos de h'abajo); Guideline (reglas y directivas sobre el uso apropiado de un detenninado elemento de una metodologia); Constraint (una condicion relacionada a la ejecucion de una accion) y Outcome (un resultado visible del rendimiento de un detenninado producto de trabajo).
124
3RA-MA
En la figura 6.21 se representa la parte del l11etal110delo SMSDM donde se l11uestran las relaciones entre las clases basicas dell11etamodelo WorkUnit y Stage:
On
!ModeIUnitUsase-Kind'
!...l:;S~r.gh:;!~S:.a,~:;~
,,"",,"0
Notatio-o
Como se puede apreciar en la figura 6.21, los aspectos de proceso son modelados mediante la inclusion de las clases WorkUllitKind, StageKind y sus respectivos subtipos. H'orkUnitKind es especializado en Wor~1lo-\\'Kind, un cOI~unto cohesivo pero heterogeneo de tare as que persiguen una serie,de objetivos. La unidad rmis simple de trabajo es la tarea (TaskKilld) que utiliza detenninadas tecnicas (TeclllliqZleKind) para conseguir sus objetivos. WorkUnitKind tambien se caracteriza pOI' su prop6sito (purpose), su nivel minimo de capacidad al que puede ser realizado (lvlinCapabilityLet'el) y los resultados esperados (outcomes). POI' su parte, en relacion a StageKind se distinguen dos tip os de etapas: con duraci6n (Stage,\'ithDurationKind) y sin duracion 0 instantanea (instantaneolisStageKind). A su vez, StageWithDZlrationKind es especializada en distintos constructores mas concretos, como L[f'eCycleKind, que representa el proceso seguido en un proyecto. 0 PhaseKind, que representa una etapa de larga duraci6n realizada con un detem1inado enfoque y nivel de abstracci6n denu'o de un proyecto.
{lil
? ;;;
0.. '
0.'
I Con!oxt
0.:
CornpOfliHl!
0.'
, I , ,
I
I I I _.~ I ICumpmWI11
,
I I I
I
I
I
I I I
T,,,k
-I
US05 ~
__.___ L~_
0'
I
I I
0'
~
,Contexl
:;;
o
:::r
2;;
'"
r
tT1
SL_
0:
,Con!m(j
~~,_____
"tJ
6 n
(f)
::q
o o
(f)
~
v,
Figura 6.22. RCpl'cscntaci{H1 dc los Aspcctos dc Proccso con SMSIlM (Hcndcrson-Scllcrs y Gonzalcz-Pcrcz, 201M)
,'-'
126
.1;) RA-MA
La relaci6n entre proceso y producto es representada mediante la clase ActionKind que es siempre realizada en el contexto de una detemlinada tarea y que se lleva a cabo sobre un detenninado producto de trabajo (WorkProdllctKind). Esta relaci6n se muestra en la figura 6.23.
-Cause Performs.
+Effact
ActsUpcr +Su~lec:
WorkProductKind
1..'
.----,
WorkProduct ~Erkc! A:rsUpcn '" .-SU::;jC:: Performs. 1--____. , ' - - - - - - - - - - - j_ _ _-j------------j+Creat<):lDate +Lasl:hangeDaie 1.: +Status
-C.::lUGO
Figura 6.23. Relaci6n entre Proceso y Producto en SMSMD (Henderson-Sellers y Gonzalez-Perez, 2004)
AChtalmente el metamodelo SMSDM ha sido aceptado como estindar en Australia (Standards Australia, 2004) y esta siendo sometido a votaci6n para su aprobaci6n como estandar ISO.
RA.-i'.L-\
127
Los PSEE dan soporte a los procesos de ingenielia, usados para concebir, diseilar. desanollar y mantener un producto software. a traves de un mode10 de procesos explicito definido mediante un LMP adecuado. Los modelos asociados a un PSEE especifican como las personas deb en interachIar y trabajar, y tambien como y cmindo las helTamientas utilizadas en el proceso deben ser utilizadas y/o activadas autolmiticamente. Un elemento clave del ent0l110 10 constiruye el motor del proceso (process engine) que es el encargado de guiar y ayudar a las personas a la hora de llevar a cabo las distintas actividades del proceso, y automatiza la ejecucion de las actividades que no requieren intervencion humana. El motor de procesos esta constiruido por los siguientes elementos (Cugola y Ghezzi, 1998):
(i)
Un Interprete del Modelo de Procesos, ejecuta el modelo controlando las henamientas usadas durante e1 proceso, guiando a las personas participantes y velificando que se satisfacen las restricciones especificadas en e1 mode10 (como por ejemp10 e1 orden de ejecucion de cieltas actividades). Un Entorno de Interaccion del Usuario, constihlido por las henamientas que uti1izan los usuarios, como pueden ser editores, compi1adores, agendas, henamientas de gestion de proyectos, etc. Estas henamientas son contro1adas por e1 interprete, que las utiliza para recibir realimentacion de los usuarios y darles soporte durante e1 proceso. Un Repositodo. gestiona la infol111acion que es persistente en e1 ent0l110. Almacena los artefactos producidos durante el proceso y que son gestionados pOl' el entol110, como pueden ser archivos de codigo fuente. documentacion. ejecutables, casos de prueba. infol1nes, etc. Tambien se incluye toda la infol111acion del estado achlal del proceso que esta siendo ejecutado.
(i)
(i)
Basado en los elementos anteriores se ha desanollado un modelo de referencia y una propuesta arquitechlral para ent0l110S PSEE en general (Fugetta et at.. 1999). De acuerdo a este modelo de referencia, un PSEE esta controlado por un motor de procesos, cuyo objetivo es controlar el flujo de infol111acion entre los desanolladores de acuerdo al modelo de procesos. El modelo es almacenado en un repositorio, junto con la definicion del producto e infol111acion relevante sobre el estado del proceso. Ademas del repositorio, existen otro nivel de memoria importante fOl1nado por los espacios de trabajo, que son conjuntos de recursos infol1naticos que los desarTolladores utilizan cuando desempel'ian un detel1ninado rol en cierta actividad 0 tarea. Un PSEE tambien tiene que tener la capacidad para compartir datos con el exterior mediante canales de importacioniexportacion, que per111itan el intercambio de productos y modelos en un fOl1nato de comunicacion reconocible. En la figura 6.24 se resumen los componentes esenciales de este modelo de referencia. La linea discontinua desde el motor de procesos a la capa de comunicacion indica que el motor de procesos controla el PSEE esencialmente controlando el flujo de infol111acion entre el repositorio y los espacios de trabajo, entre unos espacios de trabajo y otros, y entre los usuarios y sus espacios de trabajos.
128
RI\-JvV\
Usuarios
~
Usuarios
A
Producto, Modelo de Procesos y Repositorio de Procesos
~
"
...
j.
"
<ill
Capa de Comunicaci6n
<ill
Motor de Procesos
J. 'f
"
Espacio de Trabajo
Espaciode Trabajo
Vf
RA-MA
129
Otro de los aspectos clave de los PSEE es el tipo de soporte que ofrecen a los usuarios, distinguiendose entre cuatro posibles tipos (Bandinelli et aI., 1996):
III
Rol Pasivo. El usuario guia el proceso y el PSEE opera en respuesta a las peticiones del usuario. Guia Activa. El PSEE guia el proceso y pregunta al usuario cuando es necesario, recordandoles en todo momento que actividades debedan realizar. Los usuarios son libres para decidir y realizar las acciones sugeridas por el entomo. Obligacion. El PSEE fuerza a los usuarios a actuar tal y como se ha especificado en elmodelo de procesos. Automatizacion. El PSEE ejecuta las actividades usuarios.
Slll
III
III
III
intervencion de los
Un mismo PSEE puede adoptar distintas fom1as de soporte al usuario, como por ejemplo adoptar el enfoque de automatizacion para actividades que no requieren la intervencion de los usuarios y el de obligacion para el resto. Tambien es posible clasificar los PSEE en funcion de la fonna de controlar y guiar el proceso. En este caso se distingue entre PSEE Proactivos, en los que el entomo inicia y controla las operaciones realizadas por las personas y Reactivos en los que el entomo queda subordinado a los usuarios. En las ultimas dos decadas se han propuesto una gran diversidad de PSEE, entre los que se pueden destacar los siguientes (Hanison et al., 1999), (Cugola y Ghezzi, 1998), (Demiame et al., 1999): Adele (Belkhatir et al., 1991), APS (Balzer y Narayanaswamy, 1993), Arcadia (Taylor et aI., 1988), EPOS (Comadi et aI., 1994), HFSP (Katayama, 1989), Marvel (Kaiser et aI., 1990), Merlin (Junkermann et al., 1994), OIKOS (Montangero y Ambriola, 1994), SPADE (Bandinelli et aI., 1993), GOODSTEP (Emmerich et al., 1993), MELMAC (Deiters y Gmhn, 1990). Oz (Ben-Shad y Kaiser, 1994), PCTE (Boudier et al., 1988). Sin embargo, la repercusion industrial de estos entomos ha sido minima, quedando en un plano 'meramente investigador a nivel de prototipos. Solo algunos entomos han sido comercializados como es el caso de IPSE 2.S (Warboys, 1990), SynerVision (HewlettIPackard Company, 1993), y ProcessWeaver (F emstrom, 1993). Una comparativa de muchos de estos entomos es proporcionada por Arbahoui et al. (2002). A pesar de los grandes avances en la investigacion de los PSEE, la gran mayoda no ha tenido la aceptacion industrial esperada. Una de las causas mas sigr1ificativas ha sido el enfasis que los PSEE han dado a la descripcion de modelos de procesos como modelos nonnativos cuyo seguimiento debia ser estricto. Ell0 Oligino PSEE muy dgidos que se adaptaban mal a la naturaleza de las organizaciones, aspecto especialmente cdtico hoy en dia en el que el mercado es muy dinamico y altamente competitivo (Demiame y Oquendo,
130
R..-\-MA
2004). Por otro lado, muchas de las propuestas incluyen LMP muy complejos y poco
intuitivos que ha dificultado su uso por los profesionales que prefieren lenguajes mas intuitivos y que les facilite su comunicacion y entendimiento del proceso (Fugetta, 2000). Todo ella ha OIiginado una importante reflexion en la comunidad investigadora siendo algunos requisitos y retos importantes para el futuro los siguientes (Arbaoui et aI., 2002):
e
EI PSEE debe dar soporte dimimico a la ordenacion de actividades. Si la ordenacion de las actividades puede ser elaborada y modificada dinamicamente. el motor de reificacion del PSEE debe ser capaz de continuar apoyando y asistiendo durante la realizacion del proceso. Un aspecto clave son las interacciones de los humanos con el PSEE. El PML y el PSEE (como sopol1e del PML) deberian pel1nitir cierta flexibilidad que les pel1nita ser tltiles dentro de la estrategia adoptada pOl' una compai'iia, que puede ir desde un estlicto y disciplinado proceso "dirigido por el plan" hasta un proceso completamente libre don de "la desviacion es la n0l111a". EI PSEE debe dar soporte a la distribucion de procesos software, 10 cual comprende la modulmidad, heterogeneidad, interoperabilidad y componibilidad de procesos y la federacion de fragmentos de proceso. Tambien implica que el PSEE debe ser capaz de dar sop0I1e a la comunicacion, coordinacion. cooperacion y negociacion entre los usuarios realizadores con sus diferentes roles. EI PSEE debe dar sop0I1e a la evolucion de procesos software: tanto evolucion "ot/~!ine" como "all-line". En este caso deben tenerse en cuenta las consecuencias en los procesos que estan en curso y en los que ya han sobrepasado el punto de cambio en el modelo. Los PSEE tambien deben dar sop0I1e a la evolucion privada: el cambio sera local a la instancia de modelo de proceso que se esta ejecutando. sin impactar ni en elmodelo reificado ni en el modelo en si mismo. Las desviaciones del proceso respecto del modelo deben ser sop0I1adas y negociadas. y su impacto debe ser gestionado.
4.3.1. SPADE
El ent0l110 SPADE (Bandinelli et aI., 1993; 1995: 1996) es un PSEE disefiado en la Universidad Politecnica de Milan que proporciona soporte al anaJisis, disefio y ejecucion (enactment) de los procesos software. Para el modelado de los procesos utiliza el f0l111alismo SLANG (SPADE Language), que es un LMP basado en una extension de Redes de Petri a alto nivel. En SLANG un proceso se descIibe como una jerarquia de actividades. Cada actividad puede incluir interacciones con usumios/helTamientas y
\"' R:\.-MA
acceso a datos del proceso. Existe un interfaz de la actividad "Run Tests". que es invocada por la actividad "Test jVfodule Collection". "Run Tests" tiene dos transiciones simples de entrada y salida, denominadas, respectivamente "Start Test'" y "End Test", dos lugares de entrada (""Executable Module" y "Ready Test Cases") y un lugar de salida ("Final Test Results "). En la parte derecha de la figura se ilustra una posible implementaci6n para la actividad en la que se representa como un m6dulo ejecutable (executable module) que es ejecutado repetidamente. cada vez con un detenninado caso de prueba (ready test cases). Los resultados de cada ejecuci6n se comparan con los resultados esperados y el resultado de la comparaci6n se afiade a los resultados de prueba acumulados. Cuando se han ejecutado todas las pruebas la actividad tennina. Las actividades y estados de actividad en SLANG son representados como redes de Petli, mientras que los datos del proceso se representan como tokens. Un modelo de procesos en SLANG esta compuesto basicamente por los siguientes elementos:
e
ProcessT)pes, que es un conjunto de definiciones de tipos organizadas de fonna jerarquica de acuerdo a un estilo 00. En SLANG todos los datos del proceso son caracterizados como tipos y organizados en jerarquias de herencia. El elemento raiz es el tipo ProcessData, del que heredan el resto de tipos. ProcessActivities. es un conjunto de definiciones de actividad. Una definici6n de actividad es una red de Petri a alto nivel donde se incluyen lugares (places), arcos (acs) y transiciones (transitions). Cada lugar tiene un nombre y un tipo y se compOlta como un repositorio que ll11icamente contiene tokens de su tipo 0 cualquiera de sus sUbtipos. Los lugares pueden cambiar sus contenidos como consecuencia de transiciones de disparo (fire transitions). Un caso particular son los lugares de inteliaz de usuario, que se representan mediante circulos dobles y son lugares que pueden cambiar sus contenidos como consecuencia de la intervenci6n humana. Se utilizan para transferir eventos extemos causados por humanos. Las transiciones representan eventos cuya oculTencia sup one una cantidad de tiempo despreciable y llevan asociadas una condici6n de guarda y una acci6n. La condici6n de guarda es un predicado sobre los tokens que peltenecen a los lugares de la transici6n de enh'ada y se usa para decidir si se dispara la transici6n. EI compOltamiento dinamico de una transici6n se desclibe mediante las reglas de disparo. Cuando se dispara la transici6n se ejecuta la acci6n asociada y los tokens de entrada pasan a los lugares de salida. La invocaci6n de helTamientas en SLANG se modela mediante "h'ansiciones negras" (black transitions). en las que la acci6n es la invocaci6n de una rutina ejecutable (ejemplo un fichero ejecutable en UNIX). La ejecuci6n se lleva a cabo de fonna asincrona. Los arcos en la red pueden llevar asociados pesos (por defecto el valor es 1). EI peso indica el numero de tokens que fluyen tras el disparo de una hansici6n. Este peso puede ser definido de fonna estcitica 0 dinamica sefialada mediante un caracter "*,, en cuyo caso se establece en tiempo de ejecuci6n y puede valiar en el tiempo. Aparte del tipo nOlTnal de arco, SLANG establece dos tipos especiales para mejorar la entendibilidad:
132
'9
RA-ivl~
read-on(l', para conectar arcos a transiciones y overwrite para conectar transiciones a lugares.
EI entomo SPADE proporciona soporte multiusuario y pennite el paralelismo entre actividades, mediante la asociaci6n de cada actividad conCUlTente con diferentes motores de proceso (instancias del intel-prete SLANG) que pueden estar distribuidos en una red de estaciones de trabajo. Las helTamientas son integradas en el entomo y su invocaci6n es descrita en el modelo de procesos. Los datos del proceso (incluyendo los propios modelos) son almacenados en un repositorio gestionado por un SGBD Olientado a objetos. SPADE esta tambien constituido por un entomo de interacci6n del usuario, que gestiona la interacci6n entre los usuarios y las helTamientas. Este entomo de interacci6n esta basado en DEC (Digital Equipment Corporation) FUSE (Friend(v Unified Software Environment), que facilita la integraci6n entre helTamientas, para 10 cual ofrece una serie de servicios que pueden ser invocados a traves de intelfaces de programaci6n que definen protocolos para facilitar la cooperaci6n entre henamientas. En resumen, la arquitectura de SPADE esta constituida pOl' tres elementos fundamentales (vease figura 6.25):
e
EI Entorno de Interaccion de Usuario. fonnado pOI' instancias de DEC FUSE. Un Filtro, denominado SCI (SPADE Communication Intel.iace), que constituye el subsistema de comunicaci6n y pem1ite conectar los motores de proceso con las instancias de DEC FUSE. EI Entorno de Ejecucion del Proceso, que contiene los motores de proceso (instancias de intel-pretes SLANG) y el repositorio.
En SPADE, de acuerdo a su arquitectura, cuando un usuario se conecta al sistema, se crea un nuevo servidor de mensajes que se conecta al SCI y el usuario interactlla con un intelfaz de control que Ie pennite ejecutar helTamientas y configurar su propia instancia FUSE a traves de la cual va participar en la ejecucion del proceso de acuerdo a sus responsabilidades.
4.3.2. APEL
APEL (Dami et al., 1998; Estublier et al., 1998: 2003) es un PSEE desan'ollado en el Laboratoire Logiciels, Systemes, Reseallx, en Francia. Los objetivos fundamentales que persigue se basan en dar soporte ala: I.
Interoperabilidad entre PSEE heterogeneos, pel111itiendo al disefiador del proceso construir una "federacion" de PSEE (Estublier et aI., 2003) capaces de gestionar procesos complejos y distribuidos. Evolucion del Proceso, con el fin de hacer frente a situaciones imprevistas durante la ejecuci6n.
2.
o RA-:VLA.
133
Filtro
Interfaz de Comunicaci6n SPADE
Cliente 02
C!lente 02
8
00
Clients 02
Servidor 02
. BBDD
Para dar soporte a la federacion de PSEE existentes, APEL adopta una arquitectura mixta basada en dos arquitecturas basicas: arquitectura basada en controL en la que las interacciones entre los PSEE se produce mediante llamadas a rutinas de proceso, en la que cada PSEE es una entidad autonoma que encapsula solo la parte del proceso del que es responsable. En esta arquitectura existe un supervisor de PSEE que gestiona el modelo de procesos COl11lll1 a todos los PSEE y en el que se expresa el orden relativo de ejecucion de los subprocesos que tienen que llevarse a cabo por otros PSEE: arquitectura basada en estados, en la que cada PSEE compm1e una representacion COI11Lll1 del estado del proceso global de f0111m que la interaccion entre PSEE es implicita (no se realizan nunca llamadas directas entre PSEE). Cada PSEE de la federacion puede l110dificar su estado local 0 cambial el estado COmlll1 como resultado de variaciones en su estado local.
134
QRA-'.IA
La arquitectura basica del ent0l110 APEL (Dami et ai., 1998) se ilustra en la figura 6.26. APEL tiene dos fonnas de representaci6n del proceso: gnifica, destinada a usuarios finales del proceso y para desclipciones del proceso a alto nivel y textual, para usuarios avanzados y henamientas. Como se puede apreciar en la figura 6.26, la arquitectura consiste basicamente en:
III
Un editor gnifico para capturar y modelar procesos. Un traductor de la representaci6n grafica en textual. Un compilador de la representaci6n textual a un fonnalismo ejecutable. Un estado comun, que mantiene el estado actual del proceso en ejecuci6n y de las entidades creadas durante la ejecuci6n.
III
III
III
Un conjunto de servicios que varian desde serVlClOS de interfaz de usuano a servicios de control. Para dar soporte a la interoperabilidad entre distintos PSEE la arquitechlra basic a de APEL ha evolucionado para incorporar los siguientes elementos adicionales (Eshlblier et al., 1998):
III
Metamodelo Comun, para facilitar el intercambio de infonnaci6n y entendimiento de los distintos PSEE de la federaci6n. Modelo de Procesos Comun. Servidor del Proceso, que en tiempo de ejecuci6n contiene el modelo de procesos y la reificaci6n de todas las entidades creadas por el proceso en ejecuci6n. Su intelfaz pennite a los componentes crear cualquier entidad y cambiar de fonna arbitraria el proceso actual, asi como el modelo. Este es el aspecto basico que da soporte a la evoluci6n del proceso en APEL. Servidor de Eventos, que captura y gestiona todos los eventos (tal y como se han definido en el modelo de procesos 'tomllIl). Motor Comun del Proceso, que en funci6n de los eventos que recibe del servidor de eventos se encarga de la ejecuci6n del modelo de procesos comllIl asegurando que se cumple la semantica del proceso del servidor del proceso. Modelo de Interoperabilidad, que recibe peticiones de los motores de proceso en fonna de evento y transfonna si es necesario, esos eventos en peticiones a otros servidores de proceso. Tambien se encarga de garantizar la consistencia en la federaci6n.
III
III
III
III
III
135
_ ______v_
Motor del Proceso
jyietoaos de Usu8no
Herramlentas de Usuario
Servicios de Ejecuci6n
Modelo Principal
El entomo APEL recibe su nombre del lenguaje de modelado utilizado: Abstract Process Engine Langllage. Los conceptos basicos del fom1alismo APEL para elmodelado de los aspectos estaticos son: actividad, producto y agente. Estos elementos pueden tener estados, que vaIian como consecuencia de transiciones que se disparan debido a la ocurrencia de eventos. La noci6n de estado y evento constituyen el nllcleo de los aspectos dinamicos del metamodelo APEL. En APEL, los ~spectos dinamicos del proceso son descIitos mediante:
e
El flujo de control, que representa las actividades y las reglas que pem1iten su ejecuci6n y ordenaci6n en el tiempo. Describe los aspectos relacionados con la secuenciaci6n de las operaciones y la interacci6n entre operaciones concurrentes. El flujo de datos, muestra c6mo los productos fluyen a traves de las actividades que los producen, u'ansfonnan 0 consumen. De este modo, un flujo de datos conecta la salida de una actividad a la enu'ada de otra actividad y representa un estado de datos intennedio dentro de un proceso.
136
RA.-ivLA.
Diagramas de Estados (State Diagrams, SD), que son definidos para un producto, agente 0 actividad y representan la evolucion de dichos elementos en el tiempo as! como los eventos y condiciones que producen los cambios de estado.
COlllroi:flolr
5D
Figura 6.27. Representacion en APEL de flujos de control, flujos de datos y diagram as de estados (Dami et al., 1998)
En la figura 6.27 se muestra un ejemplo en el que se pueden apreciar como se representan gnificamente en APEL las actividades. flujos de datos y control y diagramas de estados.
4.3.3. SERENDIPITY
Serendipity (Grundy y Hosking, 1998) lOonstituye un ejemplo muy representativo de la influencia e importancia de los entomos de soporte al trabajo colaborativo (Computer-Supported Cooperative Work, CSeW) en los PSEE. Este PSEE integra el modelado de procesos y el soporte al trabajo cooperativo para dar sopOIte a gI'andes sistemas de naturaleza colaborativa. Para ello. proporciona un nuevo lenguaje gnlfico de modelado de procesos que pen11ite tanto el modelado descriptivo de procesos indicando el trabajo a realizar, as! como una extension que pen11ite modelar los eventos que intervienen en la ejecucion del proceso. Como lenguaje de modelado Serendipity usa EVPL ().:tended Visual Planning Language), que es una extension del lengIlaje VPL (Swenson. 1994), que preserva la
RAYLA.
137
nocion de "planes de trabajo" (H'ork plans) pero afiade capacidades especificas para dar soporte al modelado de procesos genericos. De este modo EVPL puede ser utilizado para modelar, desde modelos de procesos de trabajo genericos y reutilizables, hasta planes de trabajo concretos para lill proyecto en particular. Algunas novedades que incorpora EVPL son: identificadores de proceso, para mejorar la entendibilidad y las referencias entre modelos; representaciones para elementos relevantes del modelo como los roles, aliefactos y henamientas y conexiones de "uso" entre etapas del proceso y representaciones de roles artefactos y henamientas. La figura 6.28 muestra un ejemplo de un modelo de procesos representado con EVPL, que representa la definicion del subproceso "modificaciones del disefio" en el que se muestran las actividades (stages) a realizar, sus dependencias temporales y los roles y henamientas necesarios.
m 1:modell -roles
@
miW
ml . 1 : d<i'::~ ign~X'
~
{;!)
rR
t1~d",1l",,,-
:'if""
'J';"'';
"~d.~s: i9n~:J.~
(,r)
.....
d~$i9n~:c
I=:J
F\.J)H~
'''It",dit,;
[EJ
t"lk,; with
e~
~:
rR d"',;ign
u,;.::,;
(A)
... ,J;.. .. )
ml .:3 : t",;t.::r
ch~c}~ cn.tln9~s
~.
ml .2 : cod~:C:!r
(.f) . ~., ..
.....
...... .
r orm:f;u i Id",,-
:IJ!.
Los elementos de EVPL descritos hasta el momenta solo penniten la descripcion estcitica de un modelo de procesos en los que linicamente se incluyen flujos de "ejecucion" entre actividades. Sin embargo, es necesario especificar por ejemplo
138
RA-MA.
dependencias entre etapas del proceso que pertenecen a distintos modelos, eventos de modificaci6n de artefactos y de invocaci6n de herramientas, asi como reglas y restricciones de los modelos. Para ella EVPL incorpora constructores especificos, basados fundamentalmente en los conceptos de "filtros" y "acciones", que reciben eventos de etapas del proceso, artefactos, herramientas, roles u otros filtros y acciones. Una vez definido el modelo de procesos en Serendipity, este puede ser ejecutado por los usuarios para un detenninado proyecto en cualquier momento. Los procesos en ejecuci6n pueden ser modificados en cualquier momento con el fin de extender y mejorar la propia especificaci6n del proceso. Un modelo de procesos es ejecutado mediante la selecci6n de la etapa del proceso a ejecutar a traves del interfaz de usuario del entomo. El usuario tambien debe especificar el motivo de la ejecuci6n y si la etapa del proceso tiene defmidos submodelos de procesos, se debe indicar la etapa de comienzo. Una vez iniciada la ejecuci6n por el usuario, el entomo envia un evento de ejecuci6n (enactment) a la etapa del proceso a ejecutar, que a su vez envia eventos de enactment a todas sus etapas conectadas. Cuando se ha completado el trabajo asociado a dicha etapa del proceso 0 un subproceso se producen eventos de finalizaci6n iniciandose la ejecuci6n (en funci6n del tipo de conexi6n) de las siguientes etapas. En la figura 6.29 se muestra un modelo de procesos que esta siendo ejecutado. Las etapas que aparecen sombreadas son aquellas que estan en ejecuci6n (sin haber finalizado alm). De la misma fonna los flujos de eventos que han activado alguna etapa tambien aparecen destacados en el modelo, mientras que la etapa actual sobre la que el usuatio esta trabajando es destacada en negrita. La intelfaz del entomo facilita al usuatio seleccionar cualquier etapa a ejecutar y visualizar una lista de las etapas que ha ejecutado.
~fl
OO:@
Ii
O,ew
i)
(Rdd
l Delete 1
( Redo
Conte!!t ) ( Undo
l Cancel
~ RA-tvL~
139
Para dar soporte al trabajo colaborativo en Serendipity, las vistas de los modelos de procesos pueden ser compartidas entre los desarrolladores de forma sincrona, semisincrona y asincrona. La edici6n sincrona usa la metMora del espacio de trabajo compartido en el que todos los usuarios comparten los mismos datos y las vistas de estos datos son editadas sincronamente usando un enfoque "10 que tll ves es 10 que yo veo". En la forma de edici6n asincrona, cada usuario tiene una versi6n alternativa del modelo de procesos la cual modifican independientemente de otros usuarios. Los usuarios pueden exportar su alternativa al espacio de trabajo compartido de forma que los usuarios pueden mezclar dos 0 mas altemativas para producir una nueva versi6n. En la forma de trabajo semi-sincrona, los cambios hechos por un usuario son enviados a otros usuarios de interes mediante dialogos y vistas de forma que estos usuarios puedan elegir si incorporar esos cambios en sus modelos. Para facilitar el trabajo colaborativo, Serendipity ha sido integrado con pequenas herramientas CSCW, que proporcionan facilidades de edici6n de notas, mensajeria, conversaci6n y comunicaci6n en general entre las personas que interacruan con el entomo.
5. LECTURAS RECOMENDADAS o Cugola, G. y Ghezzi, e. Sofnmre processes: a retrospective and a path to the
jiltllre, Sofnmre process - Improvement and practice, vol. 4, pp. 101-123, 1998. Este articulo presenta las caracteristicas de los principales enfoques que se han seguido en la investigaci6n de los procesos software a 10 largo de la his tori a, identificando sus puntos fuertes y debiles, asi como los aspectos a mejorar que pennitan seguir avanzando en el futuro.
o
Derniame J.e., Wastell D., Kaba A. (eds) (1999). Sofnvare Process: Principles, Methodology and Technology, LNCS N1500, Springer Verlag, January 1999. Este libro proporciona al lector una panoramica completa del campo de los procesos software enfocada en las tecnologias de proceso software, y mas concretamente en los Entomos de Ingenieria del Software Olientados al Proceso y los Lenguajes de Modelado de Procesos que Ie dan soporte. Fuggetta, A. (2000). Sofnvare Process: A roadmap. Proceedings of the 22th International Conference on Sofuvare Engineering, Limerick (Ireland), pp. 2534. Este articulo presenta de fonna general la historia en la investigaci6n del proceso sofuvare, evaluando de fonna critica los logros obtenidos y las direcciones en las que se deben enfocar los trabajos futuros.
Proceedings of the European Workshop on Sofnvare Process Technology (EWSPT). Lecture Notes in Computer Science. http://w\vw.infonnatik.unitlier.de/~ley/db/conflewspt/ El workshop constituye la referencia europea mis importante en la investigaci6n en tecnologias de proceso Sofuvare. Este workshop fue iniciado en el ano 1991 bajo la denominaci6n "Workshop
140
Europeo sobre Modelado de Procesos Software", nombre que fue cambiado en el ano 1992 por el actual. " Revista NOVATICA. MOl1ografia sobre Teenologia de Proeeso Sofhrare. Ruiz, F. y Canfora, G. (eds). Ntllnero 171, Septiembre-Octubre 2004. Versi6n en ingles UPGRADE: The European Journal for Informatics Professional. En http://w\vw.upgrade-cepis.onv'issues/2004/5/upQ:rade-vol-V -5 .html. Este numero especial de la Revista NovaticalUpgrade presenta una monografia sobre la tecnologia de los procesos software.
6. EJERCICIOS
1. Representar el proceso de METRICA 3 "Planificaci6n de Sistemas de Informaci6n" (vease http://w.\vw.csi.map.es/csi/metrica3D utilizando los siguientes Lenguajes de Modelado de Procesos: a. b. c. Diagrama de Gantt. Diagramas de Actividad UML. SPEM (Software Process Engineering Metamodel).
(,Que lenguaje de los utilizados anterionnente proporciona mayor expresividad para representar dicho proceso? 2. Realizar una busqueda bibliografica para analizar la influencia que tienen los sistemas de h'abajo cooperativo basado en computador (CSCW) en los Entornos de Ingenieria del Software Orientados al Proceso. Analizar la influencia de la tecnologia de los Procesos de Negocio, y en particular de los Sistemas Gestores de Flujos de Trabajo en los Procesos Software, incluyendo un ejemplo de aplicaci6n. Realizar un ejemplo en el que se aplique uno de los Entornos de Ingenieria del Software Orientado al Proceso analizados en este capitulo para un caso particular de Proceso Software. (,Cuai ha sido ia evoiuci6n en ia tecnoiogias de procesos software hasta nuestros dias? (veanse lecturas recomendadas).
3.
4.
5.
CAPITULO 7
142
lado, la nonna ISO 15288 (ISO, 2003) define cicio de vida de los sistemas como "fa evofllcion en ef tiempo de lin sistema de inten?s desde su concepcion hasta su retirada", destacando que un modelo de cicio de vida es "un marco de procesos y actividades relativas af cicio de vida que actlia tambibl como una referencia comzin para fa cOlllllnicacion y ef entendimiento". El cicio de vida abarca, por tanto, toda la vida del sistema, comenzando con su concepcion y finalizando cuando ya no se utiliza. A veces tambien se habla de "cicio de desarrollo", que es un subconjunto del anterior y que empieza en el amilisis y finaliza con la entrega del sistema al usuario. A continuacion se resumen los principales estandares relacionados con los ciclos de vida propuestos por las nonnas ISO 12207 y 15288.
Proceso de adquisicion. El propos ito ,de este proceso es obtener el producto 0 servicio que satisface la necesidad expresada por el cliente. Este proceso consta de cuatro subprocesos: preparacion de la adquisicion, seleccion de proveedor, supervision del proveedor y aceptacion del cliente. Proceso de suministro. Este proceso proporciona un producto cliente que satisface los requisitos acordados.
0
servicio al
Proceso de desarrollo. El proposito de este proceso es transfonnar un conjunto de requisitos en un producto 0 sistema bas ado en sofuvare que satisface las necesidades planteadas por el cliente. Debido al interes que tiene este proceso, se resumen a continuacion sus principales subprocesos:
(; RA.-lvLA
143
PROCESOS PRINCIPALES ADQUISICION SUMINISTRO DESARROLLO . EXPLOT ACION MANTENIMIENTO PROCESOS ORGANIZACIONALES GESTION INFRAESTRUCTURA MEJORA RECURS OS HUMANOS GESTION DE ACTIVOS GEST. PROG. REUTIUZACION INGENIERiA DE DOMINIO
PROCESOS DE SOPORTE DOCUMENT ACION GESTION DE LA CONFIGURACION ASEGURAMIENTO DE CAUDAD VERIFICACION VAUDACION REVISION CONJUNT A AUDITORiA GEST. RESOLUe. PROBLEMAS USABIUDAD .............. EV ALUACION DE PRODUCTO GEST. PETICIONES DE CAMBIO
PROCESODE ADAPTACION
Figura 7.1. Procesos del cicio de vida software segun ISO 12207
o
Elicitacion de requisitos, cuyo objetivo es recopilar, procesar y seguir la traza de las necesidades y requisitos del cliente a 10 largo del ciclo de vida del producto 0 servicio, as! como establecer una linea de configuraci6n (baseline) que sirva como base para definir los productos de trabajo necesarios. Analisis de requisitos del sistema, cuyo objetivo es tranSf0l111ar los requisitos definidos por los participantes 0 implicaClos (stakeholders) en un conjunto de requisitos tecnicos del sistema deseado que guianln el disefio del sistema. Disefio arquitectonico del sistema, euyo objetivo es identificar que requisitos del sistema que deben ser ubicados en los elementos del mismo. Analisis de los requisitos del software, euyo objetivo es estableeer los requisitos de los elementos de software del sistema. Disefio del software, cuyo objetivo es proporcionar un disefio para el software que implemente los requisitos y pueda ser velifieado respecto a los mismos. Construccion del software, cuyo objetivo es produeir unidades de software ejecutable que reflejen apropiadamente el disefio del software.
144
:&:RA-MA
Integracion del software, cuyo objetivo es combinar las unidades de software produciendo elementos de software integrados, consistentes con el disefio software, que demuestra que se satisfacen los requisitos funcionales y no funcionales sobre una platafonna equivalente 0 completa. Prueba del software, cuyo objetivo es confinnar que el producto sofuvare integrado satisface los requisitos defmidos. Integracion del sistema, cuyo objetivo es integrar los elementos del sistema (incluyendo elementos sofuvare, elementos hardware, operaciones manuales, y otros sistemas) para producir un sistema completo que satisfaga el disefio del sistema y las expectativas de los clientes expresadas en los requisitos del sistema. Prueba del sistema, cuyo objetivo es asegurar que la implementaci6n de todos los requisitos del sistema se prueba para la confonnidad y que el sistema esta listo para entregar. Instalacion del software, cuyo objetivo es instalar el producto sofuvare que satisface los requisitos acordados en el entomo objetivo. Proceso de operacion. Este proceso incluye la operaci6n del producto software en su entomo final y proporcionar soporte a los clientes del mismo. Consta de dos subprocesos: usa operacional y soporte al cliente. Proceso de mantenimiento. Este proceso incluye la modificaci6n de un sistema 0 producto sofuvare despues de la entrega para cOl1'egir los fallos, mejorar el renditniento u otros atributos, 0 adaptarlo a un entomo modificado. Esta modificaci6n 0 la retirada de los productos existentes debe hacerse preservando la integridad de las operaciones organizacionales.
Proceso de documentacion. Este proceso sirve para desaITollar y mantener la infonnaci6n sofuvare registrada producida por un proceso. Proceso de gestion de la configuracion. Este proceso sirve para establecer y mantener la integridad de todos los productos de trabajo de un proceso 0 proyecto y hacerlos disponibles para las partes involucradas.
~ RA.-MA
145
Proceso de aseguramiento de la calidad. Este proceso asegura que los productos de trabajo y los procesos cumplen las previsiones y planes predefinidos. En la tabla 7.1 se reflejan los resultados de este proceso segllI1 el estandar ISO 12207.
Se desarrolJa una estrategia para lJevar a cabo el aseguramiento de la cali dad Se produce y mantiene evidencia del aseguramiento de la calidad Se identifican y registran los problemas y/o no confonnidades con los requisitos acordados
.
--7
Se veri fica el cumplimiento por parte de los productos. procesos y actividades de los estandares, procedimientos y requisitos aplicables
Tabla 7.1. Resultados del proceso de aseguramiento de la caUdad segun ISO 12207
e
Proceso de verificacion. Este proceso sirve para confinnar que todos los productos de trabajo y/o servicios software de un proceso 0 proyecto reflejan de fonna apropiada los requisitos especificados. Proceso de validacion. Este proceso sirve para confinnar que se cumplen los requisitos para el uso pretendido del producto de trabajo software. Proceso de revision conjunta. Este proceso sirve para mantener un entendimiento COmllI1 entre las diferentes partes involucradas sobre el progreso respecto de los objetivos del acuerdo y 10 que debe hacerse para ayudar a asegurar el desanollo de un producto que satisface a las partes involucradas. Estas revisiones conjuntas se dan a 10 largo de toda la vida del proyecto tanto a nivel de gesti6n del proyecto como a nivel tecnico. Proceso de auditoria. Este proceso pemlite detenninar, de fonna independiente, la confonnidad de los productos y procesos seleccionados con los requisitos, planes y acuerdos. Proceso de gestion de la resolucion de problemas. Este proceso pennite asegurar que todos los problemas descubiertos se identifican, analizan, gestionan y controlan hasta su resoluci6n. Proceso de usabilidad. Este proceso pennite asegurar que se consideran los intereses y necesidades de las partes involucradas con el fin de pennitir la optimizaci6n del sopOlte y de la fonnaci6n, la mejora de la productividad y calidad del trabajo, la mejora de las condiciones de trabajo de las personas y la reducci6n de la probabilidad de rechazo del sistema por parte del usuario. Proceso de evaluacion de productos. Este proceso pennite asegurar, mediante el examen y la medici6n sistem<iticos, que un producto satisface las necesidades implicitas y explicitas de los usuarios de ese producto.
146
RA-MA
Proceso de gestion de las peticiones de cambio. El prop6sito de este proceso es asegurar que las peticiones de cambio son gestionadas, sometidas a seguimiento y controladas.
Proceso de gestion. Este proceso persigue organizar, monitOlizar, y controlar el inicio y el desempefio de cualquier proceso para conseguir sus objetivos de negocio de la organizaci6n. Este proceso sirve para asegmar la aplicaci6n consistente de practicas para la organizaci6n y los proyectos. Estas practicas son inherentes a la gesti6n de una organizaci6n pero deben concebirse para ser instanciadas para cada uno de los proyectos. Debido al interes que tiene este proceso para la gesti6n de la calidad, se resumen a continuaci6n sus principales subprocesos: Alineamiento organizacional, cuyo objetivo es asegmar que los procesos software necesarios para la organizaci6n para proporcionar productos y servicios software, sean consistentes con los objetivos de negocio. Gestion organizacional, cuyo objetivo es establecer y llevar a cabo las practicas de gesti6n del sofuvare que sean consistentes con los objetivos de negocio de la organizaci6n, dmante la realizaci6n de los procesos necesarios para proporcionar productos y servicios sofuvare. Gestion de proyectos, cuyo objetivo es identificar, establecer, cOOldinar y monitOlizar las actividades, tareas y recmsos necesarios para que un proyecto produzca un producto y/o servicio en el contexte de los requisitos y reshicciones del proyecto. Gestion de calidad, cuyo objetivo es conseguir la satisfacci6n de los c1ientes, monitorizando la calidad de los prod~ctos y servicios, a nivel organizacional y de proyecto, con el fin de asegmar que estos satisfacen los requisitos de los c1ientes. En la tabla 7.2 se reflejan los resultados de este proceso seglin el estandar ISO 12207. Gestion de riesgos, cuyo objetivo es identificar, gestionar, analizar y controlar los riesgos de fonna continua, tanto a nivel organizacional como tecnico. Medicion, cuyo objetivo es recopilar y analizar datos relacionados con los productos desanollados y los procesos implementados en la organizaci6n y sus proyectos, para sopOliar la gesti6n eficaz de los procesos y demoshar de fonna objetiva la calidad de los productos.
RA-ivlA
147
-7
Se establecen objetivos de cali dad basados en requisitos de calidad implicitos y explicitos definidos por el c1iente Se desarrolla una estrategia global para conseguir los objetivos definidos Se establece un sistema de gesti6n de calidad para implementar dicha estrategia Se realiza, y se confim1a el desempefio, de las actividades de control y aseguramiento de la calidad identificadas Se monitoriza el desempefio real respecto a los objetivos de calidad Se toman las acciones oportunas cuando no se logran los objetivos de cali dad
-7 -7 -7
-7 -7
Tabla 7.2. Resultados del proceso de gestion de calidad segun ISO 12207
e
Proceso de infraestructura. Este proceso pennite mantener una infraestructura fiable y estable necesaria para soportar el desempeiio de los o1:ros procesos. Esta infraestructura puede incluir hardware, software, metodos, henamientas, tecnicas, estandares y facilidades para el desanollo, operacion 0 mantenimiento. Proceso de mejora. Este proceso sirve para mejorar de fonna continua la efectividad y eficiencia a u'aves de los procesos utilizados y mantenidos de fomm alineada con las necesidades de negocio. Las fuentes de infom1acion que pueden proporcionar las entradas para el cambio son: resultados de valoracion de procesos, auditorias, infonnes de satisfaccion del cliente, eficiencialefectividad organizacional, coste de la calidad. El estado actual de los procesos podria detel1ninarse mediante el proceso de valoracion. Se compone de u'es subprocesos: establecimiento de procesos, valoracion de procesos y mejora de procesos. Proceso de recursos humanos. Este proceso sirve para proporcionar a la organizacion los recursos humanos adecuados y mantener su competencia, consistente con las necesidades de la empresa. Este proceso incluye tres subprocesos: Gestion de Recursos Humanos, FOl1nacion y Gestion del Conocimiento. Proceso de gestion de activos. Este proceso sirve para gestionar la vida de los activos reutilizables desde su concepcion hasta su retirada. Proceso de gestion del programa de reutilizacion. Este proceso sirve para planificar, establecer, gestionar, conu'olar y monitorizar el programa de reutilizacion de una organizacion y explotar de fonna sistematica las oportunidades de reutilizacion. Las partes afectadas podrian incluir a los adminisu'adores del programa de medicion, gestores de activos, ingenieros del dominio, desanolladores, encargados de operacion y encargados de mantenimiento.
148
:g RA-ivL-'I.
Proceso de ingenieria de dominio. Este proceso sirve para desalTollar y mantener modelos de dominio, arquitecturas de dominio y activos para el dominio.
OTRAS ENTRADAS
TIEMPO
I--
b\
CASCADA
DINERO
I REQUISITOS
I
LEY SEGURIDAD I SEGURIDAD FislCA APLlCACfON ADAPTACfON EVALUACION PRUEBAS ETC.
AOQ
sm.1
DES
r--
~
/"
MANUAL DE CAUDAD
PROCEOIMIEI'HOS
En el estandar IEEE (1998d) se dan recomendaciones sobre como registrar datos del cicio de vida resultantes de los procesos del cicio de vida del estandar IEEE (1998c). Estos datos tienen que dar soporte a las siguientes acciones:
(;'RA-MA
149
Describir y registrar infoDnacion sobre el producto software durante su ciclo de vida. Dar soporte a la usabilidad y mantenibilidad de un producto software. Definir y controlar los procesos del ciclo de vida. Comunicar informacion sobre el sistema, producto proyecto a quien 10 necesite.
0
e e e
serVlClO software y
Proporcionar la historia de 10 sucedido durante el desan-ollo y mantenimiento para dar soporte a la gestion y mejora de procesos. Proporcionar evidencia de los procesos que se han seguido. Asistir la planificacion logistica (replicacion, distJibucion, instalacion, fODnacion) para un producto software. Proporcionar historia sobre los cambios de los datos.
Identificar. planificar y programar las actividades de aseguramiento de la cali dad para el proceso 0 producto. Identificar estandares. metodologias. procedimientos y herramientas para llevar a cabo las actividades de aseguramiento de la cali dad y su adaptaci6n al proyecto. Identificar los recursos y las responsabilidades para la realizaci6n de las actividades de aseguramiento de la calidad. Establecer y garantizar la independencia de los responsables de llevar a cabo las actividades de aseguramiento de la calidad. Realizar las actividades identificadas de aseguramiento de la calidad en consonancia con los planes. procedimientos y programaciones releYantes. Aplicar los sistemas de gesti6n de cali dad organizacionales ai proyecto.
e e
e
~
Tabla 7.3. Objetivos del proceso de aseguramiento de la calidad segun IEEE (1998a)
Estos datos del ciclo de vida deben ser no ambiguos, completos, velificables, consistentes, modificables, tJ'azables, presentables (recuperables y visibles), seguros y privados, protegidos, con-ectos y adecuados. Debetian tener contenido relativo a datos de requisitos, datos de disefio, datos de prueba, datos de configuracion, datos de usuatio, datos de gestion y datos de calidad. Estos ultimos abarcan planes y procedimientos de calidad, estado de las acciones con-ectivas, analisis de causas raices, caracteristicas de calidad del producto y datos de medici ones de proceso, y critelios y fundamentos para las dccisiones clave. En la tabla 7.4 se presenta el contenido del plan de asegurat11iento de calidad de software.
ISO
RA-NL~
---? ---?
Infonnaci6n de un plan generico para el aseguramiento de la calidad del software. Estandares de calidad, metodologias, procedimientos y herramientas para llevar a cabo las tareas de aseguramiento de la calidad (0 las referencias correspondientes de la organizaci6n en su documentaci6n oficial. Procedimientos para la identificaci6n, co\ecci6n, clasificaci6n y disposici6n de los registros de calidad. Recursos, programaciones y responsabilidades para dirigir las actividades de aseguramiento de cali dad. Actividades y tareas seleccionadas a partir de los procesos de soporte, tales como Verificaci6n, Validaci6n, Revisiones Conjuntas, Auditorias y Resoluci6n de Problemas.
---?
---?
---?
En el estandar se dan guias para el contenido de las descripciones, planes, procedimientos, registros, infonnes, peticiones, especificaciones, etc. Se dan guias especificas sobre el contenido de los planes de adquisici6n, peticiones de modificaci6n, descripciones de disefio de bases de datos, planes del proceso de desarrollo, de mantenimiento, descripci6n de arquitectura software, etc.
Procesos de acuerdo, que incIuyen los procesos de adquisici6n y suministro. Procesos empresariales, que incIuyen: el proceso de gesti6n del entomo empresarial (cuyo objetivo es definir y mantener las polfticas y procedimientos necesarios para las actividades de la organizaci6n), gesti6n de la inversi6n (cuyo objetivo es iniciar y mantener suficientes y adecuados proyectos con el fin de conseguir los objetivos de la organizaci6n), gesti6n de los procesos del cicIo de vida de sistemas (cuyo objetivo es asegurar que se encuentran disponibles para ser utilizados por la organizaci6n procesos efectivos de cicIo de vida del sistema), gesti6n de recursos (para proporcionar recursos a los proyectos), gesti6n de la calidad (la nonna establece que el prop6sito del proceso de gesti6n de cali dad es "asegurar que los prodllctos, servicios e implementaciones de los procesos del ciclo de vida clIInplen los objetivos de calidad de fa empresa)' logran la satisfaccion del cliente"; en la tabla 7.5 se resumen las actividades que presenta este proceso). Procesos de proyecto, que se utilizan para establecer y hacer evolucionar planes de proyecto, valorar los logros actuales y el progreso respecto a los planes y controlar la ejecuci6n del proyecto hasta su culminaci6n. Dentro de este apartado encontramos los procesos de planificaci6n de proyectos,
Ell
Ell
f:RA-lvL\
151
evaluacion de proyectos, control de proyectos, torna de decisiones, gestion de riesgos, gestion de configuracion y gestion de infonnacion.
-+ -+ -+ -+ -+ -+
Establecer politicas, estandares y procedimientos de gesti6n de la calidad Establecer objetivos de gesti6n de la calidad de la organizaci6n basados en la estrategia empresarial para la satisfacci6n del cliente Definir las responsabilidades y autoridades para implementar la gesti6n de la cali dad Evaluar e informar sobre la satisfacci6n del cliente Llevar a cabo revisiones peri6dicas de planes de calidad de proyectos Monitorizar el estado de las mejorar de calidad de los productos y servicios
Procesos tecnicos, que incluyen el proceso de definicion de requisitos de las partes irnplicadas en el producto, analisis de requisitos, disefio arquitectonico, irnplernentacion, integracion, verificacion, transicion, validacion, operacion, rnantenirniento y retirada.
Al igual que la nonna ISO 12207 tarnbien la 15288 prop one un proceso de adaptacion de estos procesos a las necesidades concretas de una organizacion. Adernas, sefiala en el anexo B que las "etapas" (stages) se pueden utilizar para constmir marcos conceptuales en los que los procesos del cicio de vida del sistema se utilicen para modelar ciclos de vida, describiendo el proposito y las salidas de seis etapas: concepcion, desanollo, produccion, utilizacion, soporte, y retirada.
4. LECTURAS RECOMENDADAS
e
IEEEIEIA 12207.0-1996. Standardfor Information Technology - Software Life Cycle Processes. Institute of Electrical and Electronics EngineerslElectronic Industries Alliance. 01-Mar-1998. IEEEIEIA 12207.2-1997. Industry Implementation of International Standard ISOIIEC 12207: 1995; Standardfor Information Technology - Software Life Cycle Processes - Implementation Considerations. Institute of Electrical and Electronics EngineerslElectronic Industries Alliance. 01-Apr-1998 IEEEIEIA 12207.1-1997. Industl), Implementation of ISOIIEC 12207:1995 Standard for Iriformation Technology - Software Life Cycle Processes - Life Cycle Data. Institute of Electrical and Electr'onics EngineerslElectr'onic Industries Alliance. 01-May-1997.
Este gmpo de estandares IEEE proporcionan la implementacion industrial de la nonna ISO/IEe 12207. El docurnento 12207.0-1996 (el estandar base) consiste
15 J
RA-1vL-\
basicamente en el texto del estandar ISO 12207 junto con anexos explicativos. Los otros dos documentos contienen recomendaciones adicionales delivadas de MIL-STD-498 y de los estandares de ingenieria de IEEE, con algunas influencias adicionales.
http://\v\vw.l2207.comJ Sitio web con infonnacion actualizada y completa sobre la norma ISO 12207 y sus estandares y propuestas relacionadas. http://w\vw.ieee.onz Sitio web de la organizacion IEEE. http://\v\vw.incose.on!l Sitio \veb que proporciona infonnacion adicional sobre los procesos del cicIo de vida de sistemas.
e e
6. EJERCICIOS
1. Especifique cuales de los procesos de cicIo de vida software que aparecen en la nonna ISO 12207 son mas aplicables para pequefias y medianas empresas de desarTollo de software. Establezca el tipo de participacion de los diferentes "stakeholders" (jefes de proyecto, analistas, programadores, responsables de cali dad, etc .. ) en cada uno de los procesos de cicIo d~ vida. Lleve a cabo un estudio comparativo entre los estandares IEEE 1074, ISO 12207 e IEEE 12207.0, IEEE 12207.1, IEEE 12207.2. Analice las diferencias entre el proceso de soporte de la ISO 12207 "Aseguramiento de la Cali dad" y la n0l111a ISO 90003 (vease capitulo 8).
2.
3.
4.
CAPITULO 8
continllo progreso y crecimiento, palabras tales como mejora, logro y exito no tienen ningzln signijicado " Benjamin Franklin
1. PANORAMICA GENERAL
Hoy en dia la calidad del software no puede garantizarse imicamente centrando los programas de cali dad en el producto, dado que, tal y como se ha comentado en el capitulo 6, la cali dad final del producto software esta muy directamente relacionada con la fOlma en que se desarrolla y mantiene, es decir, con el proceso. Todo ella ha motivado en gran medida que las organizaciones dedicadas al desarrollo y mantenimiento del software se preocupen cada vez mas de la mejora de sus procesos. Ante esta situaci6n, los modelos de evaluaci6n y mejora de procesos y su estandarizaci6n han adquirido un papel muy impOltan!e para la identificaci6n, integracion, medici on y optimizacion de las buenas practicas existentes para el desarrollo y mantenimiento del software. La evaluaci6n y mejora de los procesos software pel1niten juzgar y decidir sobre la calidad de los procesos que estan sujetos a analisis, con el objetivo de poder establecer una estrategia para su mejora. La evaluaci6n de los procesos software se hace principalmente por dos motivos: bien para detel1ninar la capacidad de ill1 proveedor de cara a su contrataci6n, 0 bien para mejorar los procesos. Como resultado de los esfuerzos de la comunidad cientifica, se han propuesto toda una serie de modelos y estandares para promover la aplicaci6n de este proceso en las organizaciones. La aparicion en el mercado de estas propuestas esta ofreciendo a las empresas y departamentos de desarrollo infol1natico la posibilidad de adaptarse a una nueva fOlma de trabajo caracterizada principalmente por buscar la satisfaccion de los
154
clientes y disponer de una mejor visibilidad y control de la calidad de los procesos y de los productos finales. Sin embargo, en los ultimos alios estamos asistiendo a una gran proliferaci6n propuestas para la evaluaci6n y mejora de los procesos. En SelTad y Lake (1998) destaca la gran cantidad de marcos que pueden convertir este campo en "Zlna cirinaga fa qZle se empalltallen los esfiterzos de mejora de procesos si ZIlla organizaci6n 110 cllidadosa". Para ello conviene distinguir (vease figura 8.1): de se en es
People CMM
~ ~ ~
( Bootstrap)
( MPSB, )
~~
MOPROSOFT )
ISO 15939 )
~
(SsEl ~
Baldrige)
(IeEel
~
---l> Sus:i:Uye a
... Basado en
<
ISOIIEC 15288 )
... UsaReferen:::ia
Figura 8.1. La cienaga de los estandares y modelos de referencia de la madurez, evaluaci6n y mejora de procesos (adaptado.de http://\Hyw.software.org/guagmire)
I!l
0 el ISO 15288 para la ingenielia de sistemas, que han sido resumidos en el capitulo anterior.
I!l
Estandares y guias, que establecen 10 que deb eli a hacerse en una situaci6n contractual, como las nonnas ISO, estandares como el EIA Interim Standard (IS) 632 para procesos de ingenielia de sistemas, 0 los estandares militares como el MIL-STD-498 (desanollo y documentaci6n de software). Modelos de rnejora y rnetodos de valoracion interna, que establecen un camino a seguir describiendo las caractelisticas de los buenos procesos, como
I!l
C RA.-MA
155
CMM/CMMI y sus modelos asociados (PSP, TSP, etc), Bootstrap, Trillium para telecol11unicaciones, etc. En la tabla 8.1 se muestra un resumen de modelos representativos de referencia para la madurez, evaluaci6n y mejora de procesos software propuestos en la literatura. De entre todas estas iniciativas cabe destacar la influencia que tuYO CMM en la mejora del software, y, en la aChtalidad, su sucesor CMMI, as! como el estandar ISO 15504 y la reciente nonna ISO 90003, que promueve la adopci6n de un enfoque basado en procesos cuando se desalTolla, implementa y mejora un sistema de gesti6n de la calidad.
MODELO
BOOTSTRAP (Kuvaja et al., 1994) EIA 632. Processes for Engineering a System. (Sheard y Lake, 1998) ISO/IEC 15504 (ISO, 2004a-e) ISO/1EC 90003 (ISO/IEe. 2004f) MIL STD-498 MOPROSOFT (Oktaba et al.. 2003) Mps BPR (Weber y Rocha. 2004) SEI GvIMI- Capability Maturity Model Integration (SEI,2002) SCAtvIPI (Standard CMrvfI Appraisal Method for Process Improvement) (SEL 200 I) SEI Software Capability Evaluation (SCE) (Bymes y Philips, 1996) SEI SE-GvIM Capability Maturity Model for Systems Engineering (SEI. 1995) SEI P-CMM People Capability Maturity Model (Curtis etal., 2001) SEI IDEAL Model (Gremba y Myers, 1997) SEI Personal Software Process (PSP) (Humphrey. 1997) Systems Security Engineering Capability Maturity Model (SSE-CMMl (Departtnent of Defense U.S.A. 1999) SEI SW-CMM Capability l'vlaturity Model SM for Software (SEI, 1995) SEI Team Software Process (TSP) (Humphrey, 2000a; 2000b) Software Development Capability Evaluation (SDCE) (AFMC, 1994) Tickit (Tickit Project Office, 1992) Trillium (Trillium Team. 1994) (April Y Coallier. 1995)
{JRL
.... ...
h!!Q:/!www.cse.dcu.ie i essiscoQe i sm5/aQQroaclv boot-2.html h!!Q://\vww.eia.org http:!;\\\\\\".iso.org http://\v\\\\".iso.org h!!Q:/I\v\\\\".Qogner.demon.co.uk!mil 498/ w\v\v.lania.mxJbibliotecaimanualesimoprosoft! V%20 1.1 %20DocumentoBase.pdf http://\\\\w.softex.br/ httQ://\\ \Vw .sei.cmu.edulcmmi! h!!Q:i;\\\\\\".sei.cmu.edu/Qublications!document SiO l.reQorts/O I hbOO I.hunl httD:/!\\\\\\".sei.cmu.edu!Qublications'document s!96.reQorts!96.tr.002.html httQ:ii\\\\w.sei.cmu.edulcmnvse-cmm.html h!!Q:!/w\\w.sei.cmu.edwcmm-Qi http://\\\\w.sei.cmu.edulideallideal.html http://v\\\\\".sei.cmu.edu/tsQiQsQ.html http://\\\\w.ssc-cmm.org
h!!Q:!1\\".\ \\" .sei.cmu.edulcmnVcmm.html htm:!1\\\\w.sei.cmu.edu/tsQ!tsQ.httnl h!!Q:; \\\\\v.stsc.hill.af.millcrosstalklI997/04/de veloQment.asQ http://\\\\w.tickit.org/ htt12: !v,\\"\\2.umassd.edulswI1i1BeIICanadaitrilli um-htmlltrillium.html
I
I
Tabla 8.1. Resumen de los Modelos de Madurez y Metodos de Evaluaci6n y Mejora del Sofnvare (ultimo acceso de enlaces web en agosto de 2006)
156
Metodos de seleccion de contratistas, que especifican el examen de los procesos de una organizaci6n por alguien extemo (segunda 0 tercera parte) con el fin de comparar las fortalezas y debilidades de los contratistas para poder minimizar el riesgo de la compra. Por ejemplo, Software Capability Evaluation (SCE) 0 el SDCE de las Fuerzas Annadas de EEUU. Premios a la calidad, como el Malcolm Baldrige Nacional Quality A,mrd, European Quality Award, que han sido tratados en el capitulo 3.
Siguiendo esta "filosofia" tambien se han propuesto otros muchos modelos de madurez especificos: para pruebas (Olsen y Staal, 1998; Krause, M., 1994), gestion de proyectos (Ibbs y Hwak, 2000; McBride et al., 2004; Crawford, 2002; PMI, 2004), ingenieria de requisitos (Somerville y Ransom, 2005), desarrollo distribuido (Ramasubbu et al., 2005), mantenimiento (April et al., 2005), usabilidad (Earthy, 1997: Bevans, 2000), olltsourcing (Raffoul, 2002); arquitecturas (Burke, 2002; DoC, 2003; Gartner, 2002: Luftman, 2000; OMB, 2004; Van del' Raadt et al. 2005; NASCIO, 2003: Schekkennan, 2003); seguridad (Department of Defense U.S.A, 1999), reutilizaci6n (Topaloglu, 1998); proveedores de servicios de tecnologias de la informacion (Niessink et al.. 2002); datos (Mullins, 2002); senicios e-Government (Windley, 2002): open-source (Widdows y Duijnhomver, 2003), etc. Tambien merecen especial atenci6n las propuestas de modelos de evaluaci6n y mejora adaptados a pequefias y median as empresas. Para este tipo de empresas el problema de muchos de los modelos tradicionales es que, al haber sido concebidos para grandes empresas, su adaptaci6n a las Pymes es dificil y costosa, tal y como atestiguan divers as investigaciones (vease, por ejemplo, Batista y Figueiredo, 2000: Hareton y Terence, 2001, Tuffley et at., 2004; Calvo-Manzano, 2000). Ademas, como sefiala en su reciente estudio Mekelburg (2005), las organizaciones, inc1uso las gI'andes, tienden a adoptar gIupos de procesos relacionados como un cOl~unto, mas que procesos de fonna independiente como, por ejemplo, en elmodelo CMMI. En este capitulo se presentan de fonna resumida una serie de modelos representativos propuestos en la bibliografia para la mejora de calidad en las organizaciones y sus metodos de evaluaci6n y mejora asociados. Tambien se resumen dos propuestas de modelos iberoamericanos de madurez de procesos, adaptados a las especiales caracteristicas de las empresas, en su mayoria Pymes, de los paises en los que se proponen.
157
la tecnologia, modelos de ciclo de vida, procesos de desanollo y estmcturas organizacionales. La nonna ISO 9001, especifica los requisitos para un sistema de gestion de la calidad cuando una organizacion necesita demostrar su capacidad de proporcionar de f0l111a coherente productos que satisfagan los requisitos del cliente y aspira a aumentar su satisfaccion a traves de la aplicacion eficaz del sistema, incluyendo los procesos para la mejora continua del sistema, y el aseguramiento de la confOlmidad con los requisitos y de acuerdo a las reglamentaciones existentes. El estandar ISO 90003 surge debido a que la gestion de la calidad que prop one ISO 9001 aun siendo un buen marco de partida, es excesivamente general y se queda corta para abordar proyectos de disefio e implantacion de sistemas de gestion de la calidad mas especializados. Las directrices proporcionadas en esta nonna intemacional no estan enfocadas a ser utilizadas como criterios de evaluacion en la certificaci6nJregistTO del sistema de gesti6n de la calidad. Seglll1 la nOlma ISO 90003 la organizaci6n debe establecer, documentar, implementar y mantener un sistema de gestion de la calidad software y mejorar continuamente su eficacia de acuerdo con los siguientes requisitos generales:
Identificar los procesos necesarios para el sistema de gestion de la calidad y su aplicaci6n a traves de la organizaci6n. En este punto la organizaci6n deberia identificar tambien los procesos de desanollo. operaci6n y mantenimiento de software. Determinar la secuencia e interaccion de estos procesos. La organizacion deberia tambien detinir la secuencia e interacci6n de los procesos en: los modelos de ciclos de vida del desanollo de software, por ejemplo, modelos en cascada, incremental y en espiral (evolutivos); la planificaci6n de la calidad y el desan'ollo, que deberia basarse en un modelo de cicIo de vida. Determinar los criterios y metodos necesados para asegurarse de que tanto la operaci6n como el control de estos procesos sean eficaces. Asegurarse de la disponihilidad de recursos e informacion necesarios para apoyar la operaci6n y el seguimiento de es'tos procesos. Realizar el seguimiento. la medicion y el analisis de estos procesos. Implementar las acciones necesarias para a1canzar planificados y la mejora continua de estos procesos. los resultados
i58
3. EL MODEJ,.O DE MAQUREZ DE LA CAPACIDAD (CMM) Y LOS METODOS MAS REPRESENTATIVOS DE EVAlUACION Y MEJORA ASOCIADOS
3.1. CMM
Desde la decada de los alios 80, el Instituto de Ingenieria del Software (SEI, So./hmre Engineering institute) de la Universidad de Camegie Mellon se ha centrado en proporcionar la base necesaria para mejorar el desaITollo del software considerando a las tareas de desanollo del software como una selie de procesos que se pueden definir, medir y controlar. Como resultado se han obtenido modelos de referencia de la capacidad de los procesos y modelos de evaluaci6n de dicha capacidad. CMM (SEI, 1995) es el modelo propuesto por el SEI como referencia para detenninar la capacidad de los procesos software de una organizaci6n. CMM proporciona a las organizaciones de software el modelo de referencia necesaIio como sopolie para el control de sus procesos de desanollo y mantenimiento y para facilitar su evoluci6n hacia una cultma de la Ingenieria del Software y de excelencia en la gesti6n. Es un modelo con la finalidad de:
e
Evaluar la madurez de los procesos de desanollo de software dentro de una organizaci6n. Proponer un plan de mejora de los procesos de desalTollo de software de acuerdo a una serie de niveles.
A la hora de establecer la madmez de los procesos de una organizaci6n en CMM se establecen cinco niveles de capacidad, que definen una esc ala ordinal para representar la evoluci6n del proceso software desde un nivel inicial ca6tico (procesos ad hoc cuyos resultados no son predecibles) hasta un estado de mejora continua (maduro). Las caracteristicas de cada nivel de madmez se resumen en la tabla 8.2. EI modelo de referencia CMM establece una serie de areas clave (hasta un total de dieciocho) agrupadas en los distintos niveles de madurez. Para que una organizaci6n pueda estar en un detel111inado nivel de madurez debe satisfacer los cliterios de evaluaci6n asociados con las areas clave que pertenecen a ese nivel y a los niveles anteriores. Cada area clave de proceso 0 KPA (Ke.' Process Area) se desclibe en funci6n de una serie de practicas clave (KPs, Ke.' Practices), que a su vez se organizan en una selie de caracteristicas comunes (COllllllon features). Las relaciones entre estos conceptos del modelo CMM se ilustran en la figura 8.2.
RA-MA
159
NIYEL
CARACTERiSTIC\S
RESULTADOS
Auseneia de gestion de proyeetos. EI proceso de software cs eambiantc e irregular. Los grupos abandonan f<ieilmente los planes y se centran en la codificacion y pruebas.
I:\IClAL
Los planes. estimaciones y calidad son il11predeeibles. EI rendimiento depende de la capacidad individual de los miel11bros del grupo. Se estableeen programas de fonnaci6n del personal de desarrollo y mantenimiento. Los proeesos de software son estables y repetibles. La organizacion estableee politic as de gerencia de proyectos v procesos. La planiticacion se basa en proyeetos similares. Existen estandares detinidos y exigidos. EI proceso se enmarca en un sistema de gerencia de proyeetos basado en experieneias pasadas. Los procesos son de!inidos. estandarizados. documentados e institucionalizados. Los procesos de ingenieria y gestion son estables y se integran en uno solo.
REPETIBLE
DUl:\IDO
Existe un entendimiento comun de los procesos. funciones y responsabilidades. La organizacion mantiene un grupo dedicado a la definicion. mejordmiento y difusion del proceso de Ingenieria de Software. Los procesos son mediblcs 0 euantiticables. La produeti\'idad y la ealidad se miden y registran para cada proyecto de la organizacion.
GESTlO:\ADO
Se fijan metas cuantitativas de la ealidad del software. Mediante el uso de metricas de software. se crea una base euantitativa para la evaluaeion y estimacion en proyeetos futuros. Los procesos se mejoran continuamente.
OPTl:\lIZADO
La organizacion busca lograr el ni\'e1l11aximo de eapaeidad. Se incorporan nuevas tecnologias y metodos para mejorar los procesos.
160
RA-MA
Pn3cticas Clave
Actividades e infraestructura que contribuyen en su mayoria a la implementaci6n de un al'ea clave de proceso
Como se puede observar en la figura 8.2, CMM proporciona la estructura necesaria para poder aplicar de fonna sistematica un proceso de evaluaci6n al estar claramente definido cada nivel de madurez en base a:
Q
Areas clave del proceso. Cada nivel de madurez. excepto el nivel inicial se descompone en diterentes areas clave del proceso. Ejemplos de areas clave son la gesti6n de configuraci6n y planificaci6n del proyecto del segundo nivel de madurez, 0 la prevenci6n de defectos y gesti6n de cambio del proceso. cOlTespondientes al nivel quinto de madurez. Cada area clave contiene un conjunto de objetivos 0 metas, que descliben de fonna general que se debe hacer para dar soporte a un area clave de proceso. Las metas se us an para cOl11probar si efectivamente se implementa adecuadamente un area clave de proceso detenninada. Caracteristicas Comunes. Cada area clave de proceso se organiza en una selie de caracteristicas comunes que representan los atIibutos que debe tener el proceso. Mediante la evaluaci6n de las caracteristicas comunes se puede averiguar si la il11plel11entaci6n de un area clave de proceso se ha realizado de fOlma que sea efectiva, repetible y duradera.
GRA.-MA
161
(i)
Pnicticas Clave. Constituyen los ejemplos de que se debe hacer para satisfacer los objetivos de un area clave de proceso sin entrar en detalle de como hacerlo.
Para poder conocer el nivel de madurez de una organizacion es necesario realizar la evaluacion de sus procesos software. Por este motivo y con el fin de proporcionar el medio necesario para realizar evaluaciones basadas en CMM y para poder comparar los resultados de evaluacion se creo el marco de trabajo CAF (Ci"\;fM Appraisal Framework), que identifica los requisitos y caracteristicas necesarias en un metodo de evaluacion basado en CMM para mejorar la consistencia y la fiabilidad de los diferentes metodos de evaluacion y sus resultados. Los dos principales metodos de evaluaci6n basados en CMM son SCE (Sofhrare Capability Evaluation) y CBA-IPI (CMM-Based Appraisal for Internal Process Jmpro1ement). Por otra parte, el marco de mejora de procesos del SEI, bas ado en CMM, 10 constituye elmodelo IDEAL. A continuacion se resumen todos ellos.
162
tJ RA-MA
Ejemplos - Planificaci6n del Proyecto - Seguimiento del Proyecto - Gestion de la Configuraci6n - Aseguramiento de la CaUdad
Operaciones de Desarrollo
Ejemplos
- Entornos de ingenieria
- Metodo!ogias de Amllisis de Requisitos - Metodologias de Diseno -C6digo
t
Procesos Tecnicos
Como se puede apreciar en la tabla 8.3, el equipo de evaluaci6n SCE lleva a cabo una planificaci6n en la que basicamente identifica las areas de proceso a evaluar para realizar un proceso de evaluaci6n basado en rigurosas revisiones de documentaci6n y entrevistas en el que, mediante un proceso de analisis, se establecen las debilidades y fortalezas de la evaluaci6n para finalmente realizar los infol1nes adecuados en funci6n de los resultados obtenidos.
\:" RA-M.-\
163
valoracion se obtienen a par1ir de datos obtenidos de cuestionarios, revisiones de documento, presentaciones y ent:revistas con gestores, jefes de proyecto y agentes software,
FASE seE v 3.0 ACTIVlDADES Y RESULTADOS
La Organizacion Patrocinadora: Deteffilina los atributos deseados del producto Detennina la eapacidad del proceso mas apropiada para alcanzar los objetivos de negocio (ia capacidad objeti\"o del proceso)
Sclecciona y lonna al equipo de la evaluacion (SCE) Resultado: se definen los objeti\"os y los requisitos de la evuluacion EI Equipo SCE:
PL~"IFICAR y
Identifica las areas en las que la organizacion careee de experiencia (indicando un riesgo potencial) Deline el alcance de la cvaluacion. Resultado: se detlne el alcance de la evaluacion y se complctan las preparaciones a alto niwl para c\"aluar a la organizacion de desarrollo, EI Equipo SCE: Selecciona los proyectos a evaluar. Prepara los temas especitlcos para la c\'aluacion.
Analizar los datos Resultado: se completan las preparaciones detalladas para cvaluar un sitio de desarrollo. EI Equipo SCE:
REALIZAR LA EVALLACID:-'-
Inwstiga cada tema planitlcado en el sitio de desarrollo" Conduce actividades de recopilacion de datos mediante la rcalizacion de cntrcvistas. revisiones de documentos y presentaciones. Consolida la infoffilacion recogida y valida las observacioncs.
Deteffilina los puntos fuertcs. debiles y las aeti\'idades de mejora" Resultado: Datos del Proceso consolidados y se deteffilinan los resultados. EI Equipo SCE:
!:-'-FORi\lAR LOS RES(JLTADOS DE LA EVALLAClD:-'-
Presenta y entrega los resultados al patrocinador y a la organizacion, Produce un infoffile final para el patrocinador.
Realiza recomendaciones para el uso de los resultados. Resultado: sc deterrninan y doeumentan los resultados de la e\'aluacion Datos del Proceso consolidados y se deterrninan las biJ,quedas,
Dar sop0l1e, habilitar y animar a una organizacion a la mejora del proceso software.
164
-f' RA.-:VL-I.
Ii>
Proporcionar una vision exacta de las fortalezas y debilidades de los procesos software aChlales de la organizacion, usando CMM como modelo de referencia y para identificar las areas clave del proceso que es necesario mejorar.
Las actividades y a1cance del proceso de evaluacion del metodo CBA-IPI son basicamente los mismos que en el metodo SCE (planificacion, conduccion y generacion de infol1nes). En realidad, CBA-IPI es muy similar a SCE con la diferencia fundamental de que CBA IPI es una evaluacion centrada en la mejora de procesos, mientras que SCE suele orientarse mas a la seleccion de suministradores, aunque tambien se puede usar para la evaluacion intema de procesos. De acuerdo a la tel111inologia usada en los modelos de evaluacion basados en CMM. se considera que CBA IPI es un metodo para la valoracion (assessment) de la capacidad para mejora de procesos. mientras que SCE es un metodo de evaluacion (emillation) con el fin de seleccionar suministradores 0 para medir el progreso de las mejoras. La diferencia fundamental entre la valoracion y la evaluacion es que la primera consiste en un proceso que una organizacion hace para sl misma, mientras la segunda es un proceso en el que un grupo extemo llega a una organizacion y examina la capacidad de sus procesos para tomar decisiones respecto de posibles negocios 0 tratos llhlroS. EI a1cance de una \-aloracion es relativo a las necesidades de la organizacion y objetivos de negocio del patrocinadoL que es usualmente el gestor senior de la organizacion evaluada. En contraste. el alcance de una evaluacion es relativo a las necesidades del patrocinador. que es la persona 0 grupo de personas responsables de decidir si se hace la evaluacion de la organizacion con la que se pretende hacer negocios. En la tabla 8.4 se representan las diferencias entre un proceso de valoracion y un proceso de evaluacion. Los resultados de la evaluacion de los metodos comentados anteri0l111ente se pueden utilizar en el contexto de la mejora de procesos software. ya sea para la mejora de los procesos de la propia organizacion evaluadora (CBA-IPI) 0 para mejora en la organizacion evaluada (SCE).
3.4. IDEAL
EI marco de mejora de procesos del SEr 10 constihlye el modelo IDEAL (McFee ley, 1996: Gremba y l'vlyers. 1997) en el que se define un marco de ciclo de vida para la mejora de procesos. Este modelo lIe concebido originalmente como un cicIo de vida para la mejora de procesos software basado en el modelo CMM y posterionnente el l110delo IDEAL lIe revisado en la version 1.1 para proporcionarle un a1cance mas amplio. IDEAL constihlye un enfoque usable y entendible para la mejora continua estableciendo los pasos necesarios que se deb en seguir para llevar a cabo un programa de mejora y proporcionando un enfoque ingenieril y disciplinado. En la figura 8.4 se l11uestra la estruchlra de este modelo.
l65
I
I.
OBJETIVO
EVALUAtl(~N (E\'ALUATION) ..
I
ALCANCE USODELOS RESULTADOS
Colaborativo. Los miembros de la organizacion deben [onnar un equipo Se aplica a necesidades especificas del Se aplica a la organizacion. no a patrocinador proyectos individuales 0 contratos I Como entradas al plan de mejora Como entrada a la seleccion de suministrador. gestion de riesgos y medici ones de la mejora intema
Selecci6n y monitorizaci6n de suministradores Los desarrolladores 10 usan para medir el progreso de la mejora Los resultados se hacen saber al patrocinador Los miembros de la organizacion podrian no estar en un equipo
Iniciacion
Diagnostico
Como se puede observar en la figura 8.4, e1l110delo IDEAL esta cOl11puesto por cinco fases, cada una de las cuales esta fom1ada pOl' una serie de actividades:
til
Iniciacion, que constituye el punto de paItida, en el cual se establece la infi'aestructura, los roles y responsabilidades que hay que asul11ir y se asignan los recursos necesarios. En esta fase se elabora el plan de mejora de procesos que proporciona la guia necesaria para completar el inicio y llevar a cabo las fases de diagnostico y establecimiento. Adermls, se decide la aprobacion del
166
programa de l11ejora, se establecen los recursos necesarios y se establecen los objetivos generales de la l11ejora a partir de las necesidades de negocio de la organizacion. Estos objetivos son refinados en la fase posterior de establecil11iento. Respecto a la infraestmctura, se establecen dos cOl11ponentes fundal11entales: un gmpo directivo de la gestion (Management Steering Group, MSG) y un gmpo de procesos de ingenieria del software (sofhmre engineering process group, SEPG). Durante la fase de inicio tal11bien se realizan planes para cOl11unicar el cOl11ienzo de la iniciativa de mejora y se sugiere la necesidad de realizar evaluaciones para detenninar la preparacion de la organizacion a la hora de llevar a cabo una iniciativa de mejora de procesos.
EI
Diagnostico, en la que se lleva a cabo el trabajo preliminar necesaJio para realizar las fases posteliores. En esta fase se inicia el plan de accion de la mejora de acuerdo con la vision de la organizacion, el plan de negocio estrategico, las lecciones aprendidas de esfuerzos de l11ejora realizados en el pasado, aspectos clave a los que se enfrenta la organizacion y los objetivos a largo plazo. Se realizan actividades de valoracion para establecer una linea base del estado actual de la organizacion, entregandose sus resultados y recomendaciones en las acciones del plan de l11ejora. Establecimiento, durante la cual se priorizan los aspectos que la organizacion ha decidido l11ejorar, se desanollan las estrategias necesaJias para obtener las soluciones de mejora y se cOl11pleta el bon'ador del plan de mejora definido en las fases anteliores. En esta fase tal11bien se desanollan objetivos l11edibles a partir de los objetivos generales fijados en la fase de inicio y que son incluidos en el plan de l11ejora. Ello conlleva adel11as la definicion de las l11ehicas necesmias para el conh'ol del progreso y se preparan los recursos y se proporciona la fonnacion necesalia a los gl1lpOS de trabajo tecnico (Technical 'Working Groups, IFVG). El plan de accion desaJTollado debe guiar las actividades de mejora de acuerdo a los aspectos detectados para la l11ejora ordenados seglll1 su priOlidad y segtll1 las recol11endaciones de la fase de diagnostico. Tambien durante esta fase se crean plantillas de acciones tactic as que los gl1lpOS de trabajo tecnico deben cOl11pletar y llevar a cabo. Actuacion, en la que se crean y se llevan a cabo las acciones destinadas a l11ejorar las areas identificadas en las fases previas. Se desauollan planes para ejecutar las acciones de l11ejora y para evaluar 0 probar los procesos nueyos 0 mejorados. Una vez completada exitosamente la pl1leba de nuevos procesos y tras detenninar su adecuacion para ser adoptados en la organizacion. se desanollan y ejecutan lcs planes necesarios para su implantacion.
EI
EI
167
&
Aprendizaje, cuyo objetivo es tratar de hacer mcls efectiva la siguiente iteracion por el modelo IDEAL cuando sea necesaria. Una vez alcanzada esta fase, se han desanollado las soluciones, se han aprendido importantes lecciones del proceso y se han tomado mediciones sobre el rendimiento y la consecucion de los objetivos marcados. Estos artefactos son afiadidos a la base de datos del proceso, que constituye una fuente de infonnacion muy relevante para el personal implicado en la proxima iteracion por las fases del modelo. La infonnacion reunida pennite realizar una evaluacion sobre la estrategia, los metodos y la infraestmctura utilizada en el programa de mejora, 10 que pennite su coneccion y ajuste de cara a thturas mejoras. Es necesario plantear algunas preguntas, como por ejemplo sobre el rendimiento de la infraestmctura (equipos de trabajo MSG, SEPG, TWG, etc.) y los metodos empleados por los TWG en sus actividades de desanollo de la solucion. Una respuesta adecuada a cada una de estas preguntas es fundamental para plantear el siguiente ciclo delmodelo IDEAL.
168
Proporciona una selie de principios al ingeniero para llevar a cabo un proceso personal disciplinado. Asiste a los ingenieros en la realizacion de planes precisos. Detennina los pasos que los ingenieros deben seguir para mejorar la calidad del producto. Establece bancos de pruebas para medir la mejora del proceso personal. Detennina el impacto que los cambios del proceso tienen sobre el rendimiento del ingeniero.
Estos resultados son obtenidos haciendo que los partlclpantes recopilan datos especificos relacionados con el proceso y el producto y estableciendo la linea base que proporcione a los ingenieros con un contexto para mejorar el proceso. En la figura 8.5 se muestran los siete procesos que constituyen PSP agrupados por niveles. Para alcanzar un nivel se deben cumplir los requisitos establecidos en los niveles previos, 1m1s los nuevos impuestos en dicho nive!. Estos niveles son:
<'{'t~~~:t:'cg,i'?'.
Desarrollo Ciciico
PSP 2.1
Plantillas de Disefio
r<. :"::1'" . . . ;.
Estimacion TamaRo Informe Pruebas
PSP 1.1
Planificaci6n de Tareas Planificaci6n de Calendario
PSP 0.1
La Linea Base del Proceso Personal (PSPO y PSPO.l), que proporciona una introduccion al PSP y establece la base inicial a partir del histolico de datos de tamai'io, tiempos y defectos. A este nivel los lI1gemeros escriben tres
169
programas y se les pennite usar sus metodos actuales, pero dentro del marco de trabajo compuesto por los siguientes seis pasos representados en la tabla 8.5:
PASO FASE
DESCRIPCIO"l
::
3
..J.
5
6
Planificar el trabajo y documentar el plan Diseiiar el programa Implementar el diseiio Compilar el programa y corregir y registrar los defeetos encontrados Realizar las pruebas del programa y cOITegir y registrar los defeetos encontrados Registrar los tiempos reales de tamaii.o. tiempos y defeetos en el plan
Las tres medidas base de PSP son: tiempo de desalTollo, defectos y tamafio. Todas las delmis medidas en PSP son derivadas de las anteliores. EI proceso de medicion en PSP se introduce desde las tres primeras asignaciones del proceso en los niveles PSPO y PSPO.l. En las tab las 8.5 y 8.6 y se muestran ejemplos de los fonnularios que se utilizan para el registro de tiempos y defectos:
FORiVIU4\RIO DE REGISTRO DE TfDIPOS FECHA CmUDZO
I t
FI"i
TlEMPO {;I;TERRliP.
T.
DELTA
1315:05
3 2
..J...J.
FASE
COME2"TARIOS
100 70 31
9:47
4:33
l' -.)
Llamada telefono Crear y revisar diseiio Codificar main y todas las nmeiones Compilar y enlazar Ejeeutar pruebas A. ByC I
16
Gestion Personal del Proyecto (PSP 1 Y PSP 1.1). se centra en las tecnicas para la gestion del proyecto a nivel individual. Se se introducen metodos para la estimacion del esfuerzo y planificacion y seguimiento de calendario. Las estimaciones de tamai'io y esfuerzo se realizan usando el metodo PROBE (Proxy-Based Estimating). con el que los ingenieros usan el tamai'io relativo del Proxy. como por ejemplo objetos. puntos funci6n. procedimientos. y los transfonnan a lineas de c6digo (LOC).
170
&;
M-Nt\
Gestio" Personal de la Calidad (PSP2 y PSP2.1), afiade metodos de gesti6n de la calidad a PSP tales como: revisiones personales de disefio y codigo, una notacion para el disefio, plantillas de disefio, tecnicas de verificacion y meuicas para gestionar la calidad del proceso y del producto. EI objetivo es enconu'ar y eliminar todos los defectos antes de llegar a la primera compilacion, para 10 cual se define una metrica de rendimiento de fin ida como el porcentaje de defectos inu-oducidos que fueron eliminados antes de la compilacion. Los nuevos pasos del proceso "revisal' el diseiio" y "revisal' el c6digo" son incIuidos en PSP2 para ayudar a los ingenieros a obtener un 100% en la meuica de rendimiento. Las revisiones son realizadas por el ingeniero sobre su propio disefio y codigo, y son revisiones esuucturadas, diligidas pOl' datos y son guiadas por listas de comprobacion derivadas de los datos histOlicos de los defectos introducidos por el ingeniero.
FOlUluLARIO DE REGISTRO DE DEFECTOS Il"TRODlJCIDO ELIMll"ADO TIE:VJPO TIPO .CORRECCION ... Ei"; EN 22 C6digo I COMPIL I I 20 I
..
FECRA
13/5/05
N"
1
I
I
i i
I I I
I
I I I
I
DEFECTO CORREGIDO
Descripci6n
...
TIPO
20
I hrRODUCIDO
Er,\,
13/5/05
I
j
C6digo
I
I
Descripci6n
I
....
13/5/05
I
I
TIPO
20
I L\TRODuCIDO EN
I
C6digo
3-6
Descripci6n
Proceso Personal Ciclico (PSP3), que resuelve la necesidad de escalar PSP de manera eficiente a proyectos de n1ayor tamafio sin saclificar la cali dad 0 la productividad. En este nivel los ingenieros deben aprender a alcanzar la productividad m<ls alta en un detenninado rango de tamafio. POl' debajo de este rango la productividad tiende a disminuir debido a costes generales. Por encima de este range la productividad tambien tiende a disminuir pOl'que se ha alcanzado el limite de escalabilidad del proceso. PSP3 soluciona este limite introduciendo una estrategia de desalTollo cicIico en la que los programas grandes se descomponen en paries que luego son integradas. Esta esu-ategia asegura que los ingenieros u-abajan en sus niveles mc1ximos de productividad y calidad con solo costes incrementales. no exponenciales, en grandes proyectos. Respecto a los niveles anteliores se introducen dos nuevos fonnularios: un res limen de ciclo para resumir el tamafio, tiempo de desalTollo y defectos en cada cicIo; y un registro de segllimiento de
!; RA-ivlA
171
problemas, para documentar los aspectos que pueden afectar a los ciclos futuros 0 completados. Usando PSP3 los ingenieros descomponen su proyecto en series de ciclos PSP2.1, y luego integran y prueban las salidas de cada cicio. Teniendo en cuenta que los programas que se producen con PSP2.1 son de alta calidad, los costes de integracion y pruebas se minimizan.
172
TSP proporciona un proceso operacional definido para guiar a los ingenieros y gestores sobre los pasos necesarios en la construcci6n de equipos. Los procesos operacionales son procesos que definen de fonna precisa el trabajo a realizar y se consideran como guiones mas que como las desclipciones textuales muy extensas que aparecen en los libros de definici6n de los procesos de la organizaci6n. Estos guiones son disei'iados para facilitar su uso pOl' los miembros de equipo cuando estan realizando su trabajo. El proceso especifica los pasos necesarios para establecer un ent0l110 efectivo de trabajo en equipo. Sin una guia especifica los ingenieros tienden a saltarse pasos, 0 realizarlos en un orden poco productivo, 0 gastando tiempo pensando que hacer despues. TSP les proporciona los procesos operacionales necesarios para fOlmar equipos de ingenietia, establecer un ent0l110 de equipo efectivo y guiar a los equipos a la hora de realizar su trabajo.
calsilcL::rio
En la figura 8.6. se muestra la relaci6n de TSP con PSP y el modelo CMM. CMM proporciona el marco de trabajo general de mejora necesario para un trabajo efectivo de ingenietia en una organizaci6n. PSP proporciona las disciplinas que los ingenieros software necesitan para usar de forma consistente un proceso definido, planificado y medible. TSP acopla los principios de los equipos de producto integrados con los metodos de PSP y CMM para producir equipos efectivos de trabajo. CMM y PSP proporcionan el contexto y las habilidades para una ingenietia efectiva mientras que TSP guia a los equipos a realizar realmente el trabajo necesario, de fonna que TSP se basa en la preparaci6n que se adquiere de PSP y CMM proporcionando ademas una guia explicita sobre c6mo realizar el trabajo.
173
Antes de que los miembros puedan participar en un equipo TSP, deben conocer como realizar un trabajo disciplinado. Tal y como se muestra en la figura 8.7, es necesario que los ingenieros que usan TSP esten f0I111ados en PSP. La f0I111acion en PSP incluye el aprendizaje necesario para: realizar planes detallados, reunir y usar datos del proceso, desarTollar planes. usar los valores obtenidos (earned vallles) para realizar un seguimiento del proyecto, medir y gestionar la calidad del producto y definir y usar procesos operacionales. En TSP, la tar'ea de construir el equipo es un proceso de planificacion de cuatro dias denominado lanzamiento del equipo (team launch). En este proceso, todos los miembros del equipo desarTollan la estrategia. el proceso y el plan para hacer su proyecto. El lanzamiento del equipo esta compuesto por nueve reuniones, cada una de las cuales tiene un guion con las actividades a seguir descritas en detalle y que el entrenador (denominado "'alil/ch coach ") utiliza para guiar al equipo. Como resultado se obtiene un plan, en los que todos los miembros del equipo deberian haber participado y con el que deben estar comprometidos. Una vez completado este proceso inicial, el equipo sigue su proceso definido para hacer el trabajo necesario.
Construcci6n de Habilidades
Planes Personales
r-.lI~todos
Construcci6n de Equipos
Compromiso
Planes AgresivQs Propiedad de la Calidad Netas del Proyecto Detalle del Plan Roles del Equipo Recursos de! Equipo
Trabajo en Equipos
Prioridad de la Calidad Coste de la Cali dad
Seguir el Proceso
de Planifjcacion
Revisar el Estado
Revisar la Calidad Comunicacion
rledidas de Calidad
Proceso5 Definidos
Disciplinas de Ingenieria
Disciplinas de Equipo
Disciplinas de Gesti6n
De acuerdo a TSP, los equip os S011 relanzados periodicamente. Ello se debe a que TSP sigue una estrategia de desarrollo iterativa y evolutiva, 10 que hace que los relanzamientos periodicos sean necesarios de fonna que cada fase 0 cicio pueda ser planificado de acuerdo al conocimiento obtenido en los ciclos previos. El relanzamiento tambien es necesario para actualizar los planes detallados de los ingenieros, que nonnalmente son precisos solo para unos pocos meses. En cada relanzamiento los equipos hacen un plan global y un plan detallado de los tres meses 0 cuatro meses posteriores.
174
RA-lvLi\
Durante cada lanzamiento del equipo tambien se elabora el plan de calidad. Para gestionar la cali dad los equipos establecen metricas y objetivos de calidad asi como planes para alcanzar dichos objetivos y los medios para conocer el progreso y llevar a cabo acciones cOlTectivas cuando no se satisfacen los objetivos. TSP ensei'ia a los equipos como deben realizar este proceso de gestion de cali dad mediante guiones en los que se definen las metric as a usaI' como parte del proceso. Las metricas pueden ser de tamafio (pOl' ejemplo en miles de lineas de cOdigo, KLOC), tiempo (en minutos y horas), calidad (en fonna de defectos), rendimiento del proceso (% de defectos eliminados antes de una fase detem1inada) y densidad de defectos (defectosIKLOC) de los productos obtenidos. En TSP se establece como estas metricas son definidas, estimadas, recopiladas, presentadas y analizadas. Tambien se hace uso en el proceso de datos histolicos de los equipos, y de lineas guia sobre calidad y planificacion. Algunos ejemplos de expeliencias industriales en la aplicacion de TSP pueden ser consultados en (Humphrey, 2000a) y (McAndrews, 2001). Desde el punto de vista academico, Oktaba e IbargHengoitia (2002) demuestran al usaI' TSP como mater1al didactico de apoyo que se fomenta el aprendizaje a u'aves de la practica obteniendose importantes beneficios para los alumnos como: f0l111acion en el proceso de desalTollo incremental e iterativo: roles y responsabilidades bien definidos: incorporacion de las met11cas en el proceso de desarTOllo: uso de tecnicas de inspeccion y revision de los productos: insistencia en la estandar1zacion de la documentacion y del c6digo y analisis post-mortem.
175
establecimiento de las fuerzas de trabajo que la organizacion necesita para llevar a cabo sus planes de negocio. Desde la perspectiva de People ClvIM, la madurez de la organizacion se deliva de las pnicticas de fuerzas de los empleados que son realizadas de forma rutinaria y el punto hasta el cual estas pnicticas han sido integradas dentro de un proceso institucionalizado para mejorar su capacidad. En una organizacion madura, los individuos responsables realizan pnicticas repetibles como requisitos ordinarios y esperados de acuerdo a su puesto de trabajo. A medida que una organizacion es mas madura, mayor capacidad tiene para atraer, desanollar y retener el talento que necesita para ejecutar sus negocios. En la figura 8.8 se muestran los niveles de madurez de People Cj\;IM y la naturaleza de las tranSf0l111aciones impuestas sobre las practicas del personal de la organizacion a la hora de alcanzar cada nivel.
Practicas de Mejora Continua Pr<3cticas Medidas y Autorizadas Practicas basad as en las competencias
Practicas Repetibles
Con la excepcion del nivel inicial, cada nivel de madurez en People CMM esta caractelizado por un conjunto de practicas intelTelacionadas entre si y relativas a areas critic as de gestion de fuerzas de trabajo. En el nivel inicial, las organizaciones tienen dificultades para retener a los individuos con talento y a pesar de su importancia. las practicas de los empleados son ad hoc e inconsistentes. En algunas areas no existen definidas practicas para los empleados y en las que existen, el personal no esta fonnado para llevarlas a cabo. E1 primer paso hacia 1a mejora de la capacidad de los empleados consiste en obtener directores que asuman las actividades de los empleados como responsabilidades de alta pliOlidad. Las practicas
176
implementadas en el niveI gestionado se cenh'an en la atencion del director sobre aspectos a nivel unitario como dotacion de personaL compromisos de coordinacion, proporcionar recursos, gestionar el rendimiento, tomar decisiones de compensacion, etc, Por 10 tanto, el nivel 2 de madurez se cenh'a en establecer pnicticas base dentro de las unidades que resuelva los problemas mas ilUl1ediatos y prepare a los directores para implementar pnicticas mas sofisticadas en niveles superiores, Las organizaciones que estan en nivel 2, se encuentran con que aunque esten realizando practicas basicas de los empleados, existe inconsistencia en como estas practicas son llevadas a cabo a traves de distintas unidades, con la consiguiente falta de sinergia en la organizacion. En el niveI definido, la organizacion construye un marco de h'abajo de competencias de los empleados a h'aves de toda la organizacion. Cada competencia de empleado es un elemento de la arquitectura y se descliben las interacciones entre estos elementos mediante dependencias entre los procesos basados en competencias, Esta arquitectura es de caracter esh'ategico y por 10 tanto debe evolucionar de acuerdo a la evolucion de las cOlldiciones de negocio y de la tecnologia, En el nivel definido la organizacion adapta sus empleados a las necesidades de negocio mediante el desanollo de competencias. Una vez definidas las competencias, la fon11acion y las practicas de desanollo pueden ser mas sistematicamente enfocadas en desmTollar el conocimiento y las habilidades necesmias. A este nivel las practicas de los empleados implementadas en el nivel 2 estim ahora estandarizadas y adaptadas para animar y recompensar el crecimiento de la organizacion en sus competencias de fuerzas de h'abajo, En el niveI predecibIe. la organizacion gestiona y explota la capacidad creada en el nivel antelior. En este punto, la organizacion es capaz de gestionar su capacidad y rendimiento de fon11a cuantitativa y ella Ie pelmite predecir su capacidad para realizar su trabajo. Denh'o de cada unidad 0 grupo de h'abajo, se mide el rendimiento a la hora de realizar los procesos basados en competencias que son criticos para los objetivos de negocio, Las medidas obtenidas son utilizadas para establecer las lineas base del rendimiento del proceso y valorar los procesos basados en competencias que requieran acciones de mejora, En el nivel optimizante, la organizaclon al completo se cenh'a en la mejora continua. La organizacion usa los resultados del nivel anterior para guiar las mejoras de este niveL Estas mejoras estan Olientadas a la capacidad de los individuos y grupos de trabajo, al rendimiento de los procesos basados en competencias y a las practicas y actividades de los empleados, Cada nivel de madurez, excepto el inicial, consiste en un grupo de entre h'es a siete areas de proceso, cada una de las cuales identifica un grupo de practicas relacionadas que cuando se realizan de fon11a colectiva obtienen un conjunto de objetivos considerados importantes para extender la capacidad de los empleados,
RA,-\IA
177
ISOfIEC 15504
L Conceptos y Vocabulario
,
I
II
CO!'iTENIDO
Proporciona una introduccion general a los conceptos de la e\'aluacion de los procesos y un 2:10sario de tenninos relacionados, Establece los requisitos minimos necesarios para realizar una evaluacion que garantice la consistencia y repetibilidad de las valoraciones, Los Realizaeiol1de la requisitos ayudan a asegurar que la valoracion de salida es consistente y Evalu3cion proporciona la e\'idencia necesaria para corroborar los resultados y verificar su contonnidad con los requisitos, 3: Guia,paralaRealizacionde Proporciona una guia para interpretar los requisitos a la hora de realizar una Ia Evaluaci6n e\'aluacion, Identifica la E\'aluacion del proceso como una actividad que puede ser I realizada como parte de una iniciativa de mejora de procesos 0 como parte 4., Guia sobre eI de un enfoque de detenninacion de la capacidad, EI proposito de la mejora de los procesos es mejorar de fonna continua la eficiencia y efecti\'idad de Mejora de! proceso y ]a la organizacion, El objetivo de la detem1inacion de la capacidad es Detemlinaci6n dela Capacidad del Proceso identificar las fortalezas. debilidades y riesgos de los procesos seleccionados respecto a un reqhisito particular especificado a trm'es de los procesos utilizados y de su alineamiento con las necesidades de negocio, Contiene un ejemplo de un modele para realizar la evaluacion de los 5, UnEjemplo de iyfodelo de procesos basados en el modelo de referencia de procesos definido en el EvaIu3cionde Procesos(en estandar ISO/TEC 12207, Una evaluacion se !leva a cabo utilizando un modele de evaluacion de procesos relacionado con uno 0 mas model os de preparaciol1) referencia de rocesos,
I I
El objetivo de la evaluacion del proceso es conocer la capacidad de los procesos de una organizacion. Como resultado de una exitosa implementacion de la evaluacion de los procesos se detennina la infonnacion que caracteriza los procesos evaluados y el punto
178
RA,-MA
hasta el ellal los proeesos realizan Sll prop6sito, En la figura 8.9 se mllesh-an las aetividades y las entradas y salidas del proceso de evaluaci6n de ISO 15504.
Modelo de Referencia del Proceso
- Dominic y Alcanc,:; - Propos ito del Proceso - Resultados del Proceso
r-""""'11r----i -
Entrada Inicial
- Proposlto
Salida
- Alcance
- Restriccion:;;s
Proceso de Evaluaci6n
- Planificaci6n - Recopilacion de Datos
- Fectla
- Entrada de !a Evaluaci6n - !dcntificacl6n de la E'Iid2ncia - ?rocesD d<;: =valua:;16n utiilzadc
- Jdentidades
de Competencla
- Validacion de Datos
Valoraci6n Je los Atributos del Proceso - Generacion de Informes
Roles y Responsabilidades
- ?3Irocinaoor
Como se puede obselTar en la figura 8.9, en todo proceso de evaluaci6n se incluye una entrada inicial donde se establece el alcance, proposito, restricciones, etc., la infol111acion sobre los recursos y las responsabilidades necesarias asi como las caracteristicas de las salidas a obtener. Otros elementos significativos del proceso de evaluacion son los siguientes:
o
Modelo de Referencia de Procesos, que describe un conjunto de uno 0 mas procesos en tel1ninos de su propos ito y de los resultados esperados. El proposito describe los objetivos a alto nivel que se deberian realizar mientras y los resultados esperados des crib en los resultados que se deberian obtener tras una exitosa ejecucion de dichos procesos. Los estandares ISO/IEC 12207: 1995 y ISO/lEC 15288 proporcionan modelos de referencia de procesos. Marco de Trabajo de Medici6n para la Capacidad del Proceso, que define una escala ordinal de seis valores para representar la capacidad del proceso (figura 8.10) que varia desde los procesos que no son capaces de realizar su propos ito (nivel 0) a los procesos que optimizan su rendimiento de f0l111a continua (nivel 5). Dentro del marco de trabajo cada medicion de la capacidad se basa en un conjunto de atlibutos del proceso (Process Attributes, PA). Cada ahibuto define un aspecto particular de la capacidad del proceso y el conjunto de ahibutos constituye el perfil del proceso (Process Profile, PP). Cada atributo se caracteriza por Sll valor, que indica el punto hasta el cual se realiza
~RA-iv1A
179
dicho atlibuto. Los valores estan definidos de acuerdo a la siguiente escala: no conseguido (del 0 al 15% de realizaci6n), parcialmente conseguido (del 15 al 50% de realizaci6n), bastante conseguido (del 50 al 85% de realizaci6n) y completamente conseguido (mas de 85% de realizaci6n). La combinaci6n del grado de realizaci6n de los atlibutos de proceso para un detenninado grupo de attibutos detennina el nivel de capacidad del proceso. Aunque los atlibutos se definen de fonna que puedan ser puntuados de fonna independiente, ella no implica que no existan relaciones entle ellos. Por ejemplo, el grado de realizaci6n de un atlibuto podria estar relacionado con la realizaci6n de otlo atributo dentro de la dimensi6n de la capacidad.
Modelo de Evaluacion del Proceso, que proporciona el mecanismo mediante el cual se relacionan los modelos de evaluaci6n del proceso y el marco de trabajo de la medici6n. Los modelos de evaluaci6n se basan en las desClipciones de proceso incluidas en los modelos de referencia del proceso. Con el fin de asegurar que los resultados de la evaluaci6n son traducibles a un perfil de proceso de ISO 15504 de- una fonna fiable y repetible, los modelos de evaluaci6n deben adhelirse a cielios requisitos, de f0l111a que un modelo de evaluaci6n de procesos es confonne si: es adecuado de acuerdo al prop6sito de la evaluaci6n; sus elementos relevantes se cOITesponden con los procesos desclitos en el modelo de procesos de referencia y con los atlibutos de proceso desclitos en la segunda parte de ISO 15504; constituye la base para obtener, durante la evaluaci6n, la infonnaci6n sobre los productos y procesos mediante un conjunto de indicadores; tiene un mecanismo fOlmal y velificable para expresar la infonnaci6n tomada. En la parie 5 del estandar se muestra un ejemplo de modelo de referencia de evaluaci6n del proceso bas ado en el modelo de referencia de la ISO 12207. Un modelo de evaluaci6n del proceso esta relacionado con uno 0 mas l110delos de referencia
180
de procesos. Constituye la base para la obtencion de la evidencia necesaria para valorar la capacidad del proceso. EI modelo de evaluacion proporciona una vista bidimensional de la capacidad del proceso. En una dimension, se desclibe un conjunto de entidades del proceso relacionadas con los procesos del modelo de referencia. En la otra dimension el modelo de Evaluacion describe las capacidades que se relacionan con los niveles de capacidad del proceso y los atlibutos de proceso definidos en ISO 15504.
Ii)
Herramientas de Evaluacion, que deben dar soporte a la reunion, registro. almacenamiento, analisis, recuperacion y presentaci6n de los datos de la evaluacion. Para ella puede ser necesario el uso de varias helTamientas que pueden ser "paper-based', como f0l111Ularios, cuestionarios 0 listas de comprobacion, y helTamientas software para casos en los que el volumen y complejidad de los datos es mayor.
Planiticacion. en e1 que se debe desarrollar un plan de 1a eva1uacion en e\ que a1 menos se deberia incluir: las entradas requeridas que estan especificadas en el estandar, las actividades a realizar para \levar a cabo 1a evaluacion. los recursos y e1 calendario asignado a las distintas actividades, la identidad y responsabi1idades de los participantes en la evaluacion. los criterios para velificar que se cump1en los requisitos del estandar y una desclipcion de las salidas planificadas de la eva1uacion. Recopilacion de datos, en 1a que se deben obtener los datos requeridos para evaluar los procesos dentro del alcance de la eva1uacion e inf0l111acion adicional. Esta recopilacion debe realizarse de una f0l111a sistematica y debe contemplar la estrategia y las tecnicas necesarias para la seleccion, obtencion. analisis de los datos y una justificacion de las valoraciones realizadas. Validacion de los datos, para COnfil111ar de f0l111a objetiva 1a evidencia de los datos obtenidos: asegurar que 1h evidencia es suficiente y representativa para cubrir el alcance y proposito de la evaluacion; asegurar que los datos son consistentes en su conjunto. Valoracion de los Atributos del Proceso, de f0l111a que se les asigna una puntuacion en base a los datos validados. El conjunto de puntuaciones de los atributos del proceso debe ser registrado en el perfil del proceso para la unidad organizacional definida. Durante la evaluacion, el conjunto de indicadores definidos en el modelo de evaluacion del proceso se debe usar para dar soporte a los asesores a la hora en puntuar los atJibutos del proceso con el fin de establecer la base para la repetibilidad en las diferentes evaluaciones. Se debe registJ'ar el proceso de toma de decisiones utilizado
Ii)
Ii)
Ii)
lSI
para derivar las puntuaciones y se debe mantener la trazabilidad entre las puntuaciones de los atlibutos y las evidencias utilizadas para detel111inar dichas puntuaciones.
e
Generacion de Informes. en los que se presentan los resultados de la Evaluacion asi como el minimo de salidas de la evaluacion exigidas de acuerdo al estandar.
5. CMMi Y SCAMPI
El exito y amplia aceptacion de CMM propicio la aparicion de modelos similares inc1uso en otras disciplinas ademas del software. Esta proliferacion de modelos ha facilitado la aparicion de conflictos en los objetivos y tecnicas de la mejora de procesos, debido al considerable incremento en el entrenamiento requerido, y a la confusion por parte de los que los aplican. de cm'!l de los modelos usar segLll1 sus necesidades especificas. CMMI constituye un solo modelo que cubre mLlltiples disciplinas y se creo con el objetivo de eliminar esas desventajas. El proyecto CMMI persigue objetivos tanto a corto como a largo plazo. Los objetivos iniciales (los cuales se llevaron a cabo en el 2000 con la publicacion de la version 1.0 de los modelos CMMI-SE/SW y CMMI-SESWiIPPD) consistian en integrar tres modelos de mejora de procesos especificos: software, ingenieria de sistemas y desaITollo de procesos y productos integrados. CMMI-SE/S\V especifica el 1110delo CMMI que contiene las disciplinas de ingenieria de sistemas y software. CMMI-SE/SW/IPPD indica el modelo que afiade material para la integracion de procesos y desaITollos de procesos ell CMMI-SE/SW. Esta integracion fue propuesta para reducir el coste de la mejora de procesos basados en modelos e implementados mediante varias disciplinas de la siguiente manera:
e e e e
Eliminando inconsistencias. Reduciendo duplicaciones. Incrementando la claridad y comprension. Proporcionando terminologia C01111111. Proporcionando estilos consistentes. Estableciendo reg las de construccion unifon11es. Manteniendo componentes comunes. Asegurando la consistencia con ISO 15504. Siendo susceptible a la inferencia de esfuerzos legales.
e e e e
e
l82
fJRA-MA
Los objetivos a largo plazo consisten en establecer la base necesaria para la posterior inclusion de otras disciplinas (tales como adquisicion y seguridad). Para facilitar ambos modelos de integracion actuales y fuhlroS, el equipo de desalTollo de CMMI creo un marco de trabajo automatizado y extensible y definio reglas para la posible inclusion de mas disciplinas dentro de este marco de trabajo. Los modelos en los que se basa CMMI son los que aparecen en la tabla 8.9.
DISCIPLINADEL MODELO
....
MODELO FUENTE
.'.
Software
Modelo que describe los principios y pnicticas fundamentales de la madurez de procesos software. El CMM est! organizado para ayudar a la organizaciones de software a mejorar mediante una trayectoria evolutiva, creciendo con fines especificos, desde un ambiente ca6tico hacia unos maduros y disciplinados procesos de software Integraci6n de todas las disciplinas de sistemas para que conozcan las necesidades tecnicas y de negocio de la fom1a Im1s efectiva Enfoque sistematico para el desarrollo del producto que incrementa la satisfacci6n del cliente mediante una colaboraci6n oportuna de las disciplinas necesarias a 10 largo del cicio de vida del producto
Ingenieria de Sistemas
Modelo de Capacidad de Ingenieria de Sistemas (ELMS 731) Desarrollo integrado de producto CM!v! (IPDCMNI)
Un concepto fundamental de todos los modelos CMMI es el area de procesos. No to do 10 relacionado con procesos y mejora de procesos esta incluido en un modelo de mejora de procesos. Como sus predecesores, CMMI selecciona solo los aspectos mas importantes de la mejora de procesos y entonces agrupa estos aspectos denu"o de "areas". Desde el punto de vista de los contenidos del modelo CMMI, hay que indicar que en este modelo se hace una distincion de los 111ismos en tres categorias principales, que por orden de importancia son: requerido, esperado e infonnativo.
e
Material requerido. Es esencial para el modelo y para la comprension de que es necesalio para la mejora de procesos y para hacer demosu"aciones de confonnidad con el modelo. EI lmico componente requelido del modelo CMMI es el "objetivo". Un objetivo representa un estado final deseable, un hecho notable, el cual indica que se ha conseguido un cielto grado del proyecto y un cielto control de los procesos. Cuando un objetivo es unico en un area de procesos simple, se Ie llama un objetivo especifico. En contraste, cuando un objetivo puede aplicarse a todas las areas de procesos, se Ie llama un objetivo generico. Cada area de procesos tiene enu"e uno y cuatro objetivos especificos.
Ri\.-ivLA.
183
La versi6n 1.0 del modelo CMMI-SE/SWIIPPD abarca un total de cincuenta y cuatro (54) objetivos especificos.
EI
Material esperado. No es un matelial esencial para el modelo, y en algunos casos, podda no estar presente en una organizaci6n que use el modelo CMMI con exito. Sin embargo, el material esperado se considera que juega un papel fundamental en la mejora de procesos. EI lmico componente esperado del modelo CMMI es la declaraci6n de una "Pnictica". Una pnictica representa el metodo "esperado" para el cumplimiento de un objetivo. Cada pnictica en el modelo CMMI esta destinada exactamente a un objetivo. Material Inforrnativo. Es el mas extenso y constituye la mayoda del modelo. Proporciona una guia lltil para mejorar los procesos, y ofrecer una mayor clmidad para la comprensi6n de los componentes requeridos y esperados.
EI
Otro aspecto impOliante y muy nove do so en el modelo CMMI, es que usa dos tipos de representaciones de sus modelos, incluyendo de esta f0l111a la representaci6n de CMM y la representaci6n de ISO 15504: representaci6n por etapas y continuo.
18.+
En la representaclon por etapas las areas son agrupadas dentro los niveles de madurez que van del nivel2 al5 (figura 8.12).
(7 Areas ce Pro:eso)
Figura 8.12. <~reas Clan de Proceso agrupadas segun la representacion pOl' etapas (Philips, 2001)
:. RA-ivLA.
185
Representacion Continua
C
a
p
a c
i d
a
d
4 3 2 1
o
Proceso
Figura 8.13. Representacion Continua de CMMI
Como se puede observar en la figura 8.13, la representacion continua no se estmctura en tomo a niveles de madurez, sino que 10 que se facilita es la evaluacion de procesos individuales, pennitiendo que una organizacion pueda seleccionar un conjunto de sus procesos individuales para evaluarlos y conocer la madurez concreta de dichos procesos. Desde el punto de vista de la evaluacion de los procesos, el concepto clave de CMMI 10 constituyenlas areas de proceso. Elmodelo CMMI-SE/SW/IPPD tiene 24 areas de proceso que definen la dimension delmodelo. Estas areas son las mismas en todas las representaciones de la arquitechlra de CMMI. En la representacion continua, las areas de
186
proceso se agrupan por las categorias (figura 8.14): Gesti6n de procesos, Gesti6n de Proyectos, Ingenieria y Apoyo 0 Soporte.
!
-
Gestion de Proyectos
I
- Gl"':!ri6n til' Rl'qubitos _ Dt:~r:wr()110 de Requisitm - Ge'llit'11l de Confi~ur;\(::i()n - A.,i.'gunmlicnro de la CaUdad
Ellfoqnc Proct:<,o Oq.!,ani/":lcionai - PI:ll1il1C::lcifJIl dd ProYi.:cto DciinidtlO ProCl':;O Organizaciollai - :\lonituriL:tciull ) Control dt: FOrlll:.ldrlll Org:lOiJacioIl!li Rt:ndimicnto d Sumini<.tflluor - Inu(n :Jciun ~ Dhrribuciun
del
PrnCl'SO
y Pruducto
Organi/aciollai
de Rie\go':!
- Enh'nlc1
Org:lni.l:~.:i\-'n:.:.j inh:.;rJd~l
p:,:.! b Im;;,;r:!-:i"'ln
Sd~~~ion
y \!uniwrli'::.:i\';n l::;j
Sunm1!~tr:hk',
- Equipo
Figura 8.14. Areas Clave de Proceso agrupadas segiin la representacion continua (Philips, 2001)
CMM-Based Appraisal for Intel11al Process Improvement (CBA IPI) v 1.1 Electronic Industlies Alliance/Interim Standard (EIAlIS) 731.2 Appraisal Method (EIA, 1998). Software Capability Evaluation (SCE) V3.0 Method Description.
Eil
Eil
1:RA-MA
187
Las principales aplicaciones del metodo SCAMPI se resumen en la tabla 8.1 O. ...... . APLICAClON DESCRIPClON
- La evaluaci6n interna de los procesos se aplica en las organizaciones para:
" "
Establecer una linea base de su nivel de capacidadJrnadurez. Establecer 0 actualizar un prograrna de rnejora del proceso. Medir el progreso en la irnplernentaci6n de un prograrna de mejora.
"
Mejora Interna del Proceso
..
" "
Medici6n del progreso de la mejora. Conducci6n de auditorias del proceso. Enfoque sobre domini os especificos 0 lineas de productos. Evaluar proyectos especificos. Preparaci6n para evaluaciones externas conducidas por el c1iente.
"
"
Selecci6n del Suministrador Monitorizaci6n del Proceso
Los resultados se usan como factores discriminantes para la selecci6n de suministradores y para establecer los riesgos relacionados con el proceso de aceptaci6n de un contrato. Constituyen un factor mas de selecci6n y constituyen la linea base para un posible posterior control de los procesos del suministrador seleccionado. Se puede usar la evaluaci6n como mecanismo de control de los procesos del suministrador una vez que ha sido seleccionado.
Al igual que los metodos de evaluacion CBAlIPI y SCE las principales fases de la evaluacion SCAMPI son: Planificacion y preparacIOn de la evaluacion, en la que se incluyen el anaIisis de los requisitos de la evaluaci6n (objetivos, alcance, restricciones, etc.), el desalTollo del plan de evaluacion, la seleccion y preparacion del equipo, el conocimiento de las actividades y procesos de la organizacion a evaluar y la preparacion de las estrategias de recopilacion de los datos. Realizacion de la evaluacion, en la que se recaba la infom1acion necesaria para la evaluacion relacionando la infonnacion con el modelo de referencia, se verifica y valida la infom1acion obtenida, se documentan los datos transfonmindolos en registros que representen la implementacion de las practicas y las fortalezas y debilidades y se generan los resultados de la evaluacion en los que se calculan los niveles de capacidadlmadurez de los procesos en base a los datos tomados y la aplicacion de algOlitmos de calculo sobre esos datos. Informe de resultados, en el que se entregan y archivan los resultados de fom1a adecuada.
188
EVALUACION
Se estan desanollando y utilizando diversos modelos de madurez en varios paises iberoamericanos. A continuaci6n se des crib en brevemente algunos de los mas representativos.
Modelo de Negocio para la mejora de proceso de software (MN mps), que puede ser personalizado para una empresa 0 de fonna cooperativa para un conjunto de empresas. Las empresas negocian con instituciones acreditadas para la implementaci6n (ICI) y con instituciones acreditadas para la evaluaci6n (ICA) de la mejora del proceso software. Modelo de Referencia para la mejora de proceso de software (MR pms) que como se puede ver en la figura 8.15, comprende niveles de madurez y un metodo de evaluaci6n.
El
Se contemplan los veintid6s (22) procesos de la nonna ISO 12207 (ISO, 2002), Y siete (7) niveles de madurez: A (en optimizaci6n), B (cuantitativamente gestionado). C (definido), D (grandemente/largamente definido), E (parcialmente definido), F (gestionado), G (parcialmente gestionado). Con esta mayor granularidad en los niveles se pretende facilitar una implementaci6n mas gradual, adecuada y en plazos mas cortos para las empresas pequei'ias y l11edianas de Brasil. EI me to do de evaluaci6n se bas a en la nonna ISO 15504. EI grado de il11plementaci6n de una practica se evallJa de acuerdo a cuatro niveles: totalmente il11plementado, bastante implementado, parcialmente implementado, no implementado; y se basa en tres tipos de indicadores: directos (productos intennedios), indirectos (documentos que indican que una actividad fue realizada), y afinnaciones (resultantes de entrevistas). En la tabla 8.11 se presentan las reglas para caracterizar el grado de implementaci6n de las practicas COnf0l111e a SPICE y CMMI.
t R.A.-MA
189
-<!,.I----il\lll>
Metodos de
Evaluaci6n
Guiade
lmptementacion MPS
Guia General
Gufade
MPS
Eva!uacion
MPS
Empresa 1
Empresa n
Figura 8.15. Modelo de referencia para la mejora de proceso software (MR pms)
GRADO DE
."
CARACTEruzAcroN
.
y es juzgado
Totalmente implementado
Un indicador adecuadamentc.
dirccto
esta
presente
Existe por 10 menos un indicador yio afimmci6n para confimmr la impiementaci6n. No nle observado nimrun defecto substancial en indicador directo esta presente y juzgado adecuado. Existe por 10 menos un indicaj:lor indirecto y!o atimmci6n para confimmr una implementaci6n. Fueron observados uno 0 mas defectos. Un indicador directo no esta presente 0 es juzgado inadecuado Artefactos 0 afirmaciones sugieren que algunos aspectos de la pnictica estan implementados Cualquier situaci6n diferente de las de arriba
>85%a 100%
Largamente implementado
>
50~o
85%
Tabla 8.11. Reglas para caracterizar el grado de implementacion de las pnicticas en el MRmps
190
RA-M4
Parte 1: Definicion de conceptos y productos Parte 2: Requisitos de Procesos (MoProSoft) Parte 3: Guia de implantacion de Procesos Parte 4: Directrices para la evaluacion (EvaIProSoft)
El proposito de MoProSoft es fomentar la estandarizacion de su operacion a traves de la incorporacion de las mejores practicas en gestion e ingenietia de software, proporcionando a la indusuia de software en Mexico, que en su gran maYOlia es pequefia y mediana, un 1110delo basado en las l11ejores practicas intemacionales con las siguientes caractetisticas: facil de entender, facil de aplicar, no ser costoso en su adopcion y ser la base para alcanzar evaluaciones exitosas con otros 1110delos 0 n0l111as, tales como ISO 9000:2000 0 CMM V 1.1. Ell11odelo de procesos (MoProSoft) tiene tres categotias de procesos (figura 8.16): Alta Direccion, Gestion y Operacion que reflejan la estrucUlra de una organizacion. En cada proceso estan definidos los roles responsables por la ejecucion de las practicas. Los roles se asignan al personal de la organizacion de acuerdo a sus habilidades y capacitacion para desempefiarlos. En MOPl:OSOft se c1asifican los roles en Grupo Directivo, Responsable de Proceso y OUos roles involucrados. Ademas se considera a1 C1iente y a1 Usuario como roles extemos a 1a organizacion. Las principa1es caracteristicas de las categOlias de procesos de MoProSoft son:
e
La categoria de Alta Direccion contiene el proceso de Gestion de Negocio. E1 propos ito de Gestion de Negocio es estab1ecer la razon de ser de 1a organizacion, sus objetivos y las condiciones para 10grarlos, para 10 cua1 es necesario considerar las necesidades de los c1ientes, as! como evaluar los resultados para poder proponer cambios que pennitan la l11ejora continua.
:. RA-ivV\
191
<<Catecor.a
Alta !).rec6on ~
<<Cate!; ..
~
O;;eracion
Prcceso
Gestio;'! de
r~egodo
Proceso
Gesti6n de Procesos (from Gestion)
?roceso
Proceso
G::stl:in de R=cursos {from Ge:stion)
-1---- ---.
Proceso
';dmn:stracf::in de Proyectos Es;;ecifl::os
(from O;;eraci6n)
-_
. - - -..
---~--
<<$utJProceso
<<$wbProceso
Desarool:o
r'lenten:mento de Software
La categoria de Gestion esta integrada por los procesos de Gesti6n de Procesos, Gesti6n de Proyectos y Gesti6n de Recursos. El prop6sito de Gesti6n de Procesos es establecer los procesos de la organizaci6n, en funci6n de los procesos requelidos identificados en el plan estrategico. Asi como definir, planear, e implantar las actividades de mejora en los mismos. El prop6sito de la Gesti6n de Proyectos es asegurar que los proyectos contribuyan al cumplimiento de los objetivos y estrategias de la organizaci6n. El prop6sito de Gesti6n de Recursos es conseguir y dotar a la organizaci6n de los recursos humanos, infraestructura, ambiente de trabajo y proveedores, asi como crear y mantener la base de conocimiento de la organizaci6n. La finalidad es apoyar el cumplimiento de los objetivos del plan estrategico de la organizaci6n. Este ultimo esta constituido por los subprocesos de Recursos Humanos y Al11biente de Trabajo, Bienes, Servicios e InfraestrlJctura y Conocil11iento de la Organizaci6n. La categoria de Operacion esta integrada por los procesos de Adl11inistr-aci6n de Proyectos Especificos y de Desanollo y Mantenil11iento de Software.
6.3. Mejora de procesos para fomentar la competitividad de la pequena y mediana industria del software de Iberoamerica (COMPETISOFT)
Como sabemos, la industria de software representa una actividad econ6l11ica de suma il11portancia para todos los paises del mundo, y especialmente para los iberoal11ericanos, ya que ofrece Imiltiples nlentes de ingresos y empleo y se perfila como una de las oportunidades mas impOltantes en los paises en via de desalTollo.
192
RA-ivLA.
Desafortunadamente, en los paises iberoamericanos la industria de software es incipiente e inmadura (M&G, 2004), 10 que lleva consigo una falta de competitividad que dificulta, a su vez, su crecimiento. A principios de 2006 se ha iniciado el proyecto COMPETISOFT: mejora de procesos para fomentar la competitividad de la pequefia y mediana industria del software de Iberoamerica, financiado por el Programa CYTED (Programa Iberoamericano de Ciencia y Tecnologia para el Desarrollo), en el que participan universidades, empresas, centros publicos y organismos de estandarizacion de 13 paises de la region, y que se desarrolla siguiendo el metodo de investigacion en accion como muestra la figura 8.17.
PYMES Iberamericanas (beneficiarios - stakeholders)
Resultados de la Investigacion
Resultados de la aplicacion
Propuestas
Itados refinados
Este proyecto pretende aglutinar las diferentes alternativas existentes (como las resumidas en los epfgrafes anteriores), aprovechando la sinergia y los conocimientos de los diferentes pafses para conseguir un marco metodologico de ambito verdaderamente iberoamericano. El hecho de que los pafses iberoamericanos compartan un Modelo de Procesos, un Modelo de Capacidades y un Metodo de Evaluacion aportara gr-andes
GRA-MA
193
ventajas ya que facilitani la colaboraci6n entre empresas de diferentes paises, la movilidad de los profesionales infonmiticos, el reconocimiento de certificaciones, la compartici6n de herramientas de desarTollo, y el abaratamiento de los recursos fonnativos. Esto facilitani un aumento en la calidad y en la cantidad de software desarrollado en Iberoamerica, aumentando las exportaciones y tambien el nLllnero de factorias de software instaladas en la regi6n, asi como incrementando el numero de empleados en el sector.
7. LECTURAS RECOMENDADAS
Ahem, D., Clouse, A. y Turner, R. (2003). OVIlvD Distilled: A Practical Introduction to Integrated Process Improvement, Addison-Wesley, Septiembre 2003. Este libro constituye una referencia muy completa sobre el modelo CMMI, tanto desde el punto de vista tecnico como de gesti6n. Proporciona a los lectores los fundamentos y el valor de la mejora de procesos software y les orienta sobre c6mo llevar a cabo dichas mejoras utilizando el modelo CMMI. Humplu'ey, W. (1989). j\.;/anaging the Sojhmre Process. Addison-Wesley. Este libro constituye una de las guias pnicticas 111<is importantes existentes en la bibliografia sobre la gesti6n de los procesos software desde sus diferentes puntos de vista. El autor aprovecha su amplia experiencia en organizaciones como IBM y SEI para proporcionar al lector una guia para la mejora de los procesos software basada fundamentalmente en el entendimiento y la gesti6n adecuada de dichos procesos. Hunter, R. y Thayer, R. (eds) (2001). Sojilmre Process Improvement., WileyIEEE Computer Society Press, November 2001. Este libro recopila lma serie de alticulos (tanto originales como publicados previamente) relevantes en el area de la evaluaci6n y mejora de los procesos software en los que describen diversos estandares y modelos representativos de evaluaci6n, se presentan guias para realizar las evaluaciones de acuerdo a dicho estandares asi como experiencias de aplicaci6n de la evaluaci6n y mejora de procesos en las empresas de software. Revista Sojilmre Process: Improvement .and Practice, Willey Interscience. Disponible en http://w\vw3.interscience.wilev.com/cgi-binlihomeI15482. Esta revista recopila trabajos de investigaci6n y expeliencia practica con el fin de promover la evaluaci6n y mejora de la calidad, productividad y rendimiento de los procesos software. Revista CrossTalk: The Journal of Defense Sojilmre Engineering, Disponible en: http://w>vw.stsc.hill.af.mil/crosstalkl. CrossTalk, es una revista del ministerio de defensa de los Estados Unidos con el fin de promover la mejora de los procesos de ingenieria del software, para 10 cual se incluyen trabajos representativos tanto de investigaci6n como de aplicaci6n practica.
19..
RA-MA
II
European So/nmre Process Improvement COl?ference (EUROSPI). En http://\v\vw.eurospi.netl. EuroSPI es una conferencia de ambito europeo que u'ata de promover el intercam-bio de experiencias y conocimiento sobre evaluaci6n y mejora de procesos softwa-re. La conferencia se divide en dos grandes sesiones: "research track" en la que se exponen articulos de investigaci6n fundamentalmente provenientes del ambito academico e; "indusuial track" en la que se presentan experiencias en la industIia de programas de evaluaci6n y mejora de procesos. Product Focused So/nvare Process Improvement (PROFES). LNCS Springer. El objetivo de esta conferencia intel11acional es proporcionar un foro a la indusuia y a la academia para la discusi6n sobre los llltimos resultados de la investigaci6n y la practica en las areas de mejora de productos y procesos software. International COl?ference on So/nvare Process Improvement (ICSPI). Esta conferencia intel11acional se cenu'a en metodos pnicticos para Ia mejora de los procesos software de la organizaci6n, independientemente de los modelos de evaluaci6n. Incluye tanto articulos de indole academica como industrial.
www.sei.cmu.edu Software Engineering Institute. Call1egie-Mellon University. EI Software Engineering Institute es el promotor del CMMI. En este sitio web se pueden enconu'ar las llltimas versiones del modelo, asi como diferente infonnaci6n sobre su utilizaci6n. fonnaci6n necesaria, etc. Adermls se pueden encontrar todos sus modelos y propuestas relacionadas. http://w\vw.sqi.Q:ll.edu.au/spice/ Software Process Improvement and Capability dEtermination Website. http://\V\vw.ipd.uni-karlsruhe.de!mitacbeitel"!111uellem1!PSP Pagina de recursos del Proceso PSP elaborada por la Universidad de Karslruhe (Alemania). http://www2.umassd.edu/SWPI/SWPIpage.html Colecci6n de recursos de Proceso Software elaborada por la Universidad de Massachussets (Estados Unidos) en la que se incluyen marcos de u'abajo de procesos software. materiales para la fonnaci6n, estandares. resultados de la investigaci6n. mejores practicas y esu'ategias para la mejora de procesos. http://www.tantara.ab.ca/info.htm Lista de Distribuci6n sobre Mejora de Procesos Software. Esta lista, mantenida por una empresa consultora de Canada proporciona una colecci6n muy completa de enlaces a recursos sobre mejora de procesos software.
CiI
CiI
II
II
e RA-ivlA.
195
9. EJERCICIOS
1. Aplicar el proceso de TSP para el desarrollo de dos pequeiios proyectos software rellenando la infonnacion de tiempos y defectos (vel' tablas 9.6 y 9.7). Realizar una comparativa de los dos proyectos destacando los progresos obtenidos a nivel personal. Realizar un estudio bibliognifico sobre la aplicacion de modelos de madurez en empresas que siguen metodologias agiles. Definir una version del modelo CMMI pOl' etapas adaptada a las pequeiias y medianas empresas (PyMES). AnalizaI' la confonnidad de la nonna MOPROSOFT con el estandar ISO 15504. DesatTolla la correspondencia entre el estandar ISO 9000 y los modelos CMMI y MoProSoft.
2.
3.
4. 5.
CAPITULO 9
1. INTRODUCCION
Una de las razones principales del incremento masivo en el interes por las metIicas software ha sido la percepcion de que son necesmias para la mejora de la calidad del proceso (Fenton, 2001). Para poder asegurar que un proceso 0 sus productos resultantes son de calidad 0 poder compararlos, es necesmio asignar val ores, descriptores, indicadores o alglll1 otro mecanismo mediante el cual se pueda llevar a cabo dicha comparacion. Para ello, es necesario llevar a cabo un proceso de medicion del software, que en general, persigue tres objetivos fundamentales: ayudamos a entender que OCUlTe durante el desalTollo y el mantenimiento, pel1nitimos contIolar que es 10 que OCUlTe en los proyectos y poder mejorar los procesos y productos (Fenton y Pfl~eger, 1997). En efecto, las metIicas son un buen medio para entender, monitorizar, controlar, predecir y probar el desalTollo de software y los proyectos de mantenimiento (Briand et al., 1996) y pueden ser utilizadas por profesionales e investigadores para tomar mejores decisiones (Pfleeger, 1997). En este capitulo en primer lugar se presentan de fonna intIoductOlia algunos fundamentos de la medicion del software, para 10 cual se analizan las apOliaciones de la teolia, la tenninologia y los aspectos 111<lS relevantes a considerar en el proceso de obtencion de metIicas. A continuacion se presentan los metodos y estindares mas
200
:g RA-\IA
representativos de la medicion software, para finalmente analizar la medicion de los distintos tipos de entidades software (procesos, proyectos y productos).
Escala. Las escalas penniten establecer el tipo de representacion mas adecuado para un atributo de fom1a que se puedan comparar los valores de los mismos. Considerando que diferentes escalas pueden mediI' el mismo atI'ibuto, una cuesti6n importante a plantear es que esc ala es mas apropiada en cada caso. Para ello, en la te0l1a de la medicion aplicada al sofuvare destacan cinco tipos principales de escalas: o Escala Nominal. Es la esc ala mas bitsica, que sirna a las entidades en diferentes c1ases 0 categorias asignando al atI-ibuto un nombre. De este modo las c1ases se identifican lll1icamente mediante un nlunero 0 simbolo que no puede ser interpretado salvo como un mero identificador. Por ejemplo, distinguir de fonna nominal a los jugadores de un equipo de baloncesto pOl' su dorsal. EI jugador "30" no puede interpretarse como dos veces superior al jugador "15". Escala Ordinal. Con esta esc ala, los atributos pueden ser ordenados en rangos pero la distancia entI'e los mismos no es significativa. POl' ejemplo, las respuestas a una encuesta podrian ser: "O==totalmente en desacllerda", "1 == ni de acuerda ni ell desacllerdo", "2 == de aClierdo ".
20]
"3=nzllY de aClierdo", "4= tota/mente de aClierdo". En este caso cuanto mayor es el valor hay un mayor acuerdo con 10 planteado en la pregunta, pero la distancia entre los val ores 0 y 1 no tiene por que ser igual que entre los valores 2 y 3.
o
Escala de Intervalo. Este tipo de esc ala es como la ordinal pero con la diferencia de que la distancia entre los atlibutos S1 tiene sentido. Por ejemplo, si se mide la temperatura en grados cent1grados (DC), la distancia entre 30 y 40 es la misma que entre 60 y 70. Sin embargo, en esta escala las comparaciones de tipo ratio no tienen sentido, como por ejemplo: 80 DC no es el doble de calor que 40 DC (aunque el valor S1 es el doble). Escala de Ratio, que es la tmis (Itil en la medici6n del sofuvare. ya que preserva el orden, el tamai'io de los intervalos y tambien los ratios entre las entidades. Ademas, tiene un punto fijo de referencia: el cero. La esc ala debe comenzar en el 0 y se incrementa en pasos iguales. Ademas, con los valores de esta escala se pueden realizar las operaciones matematicas de suma, resta, multiplicaci6n y divisi6n. El peso es, por ejemplo, una variable de tipo ratio. Escala absoluta, que es utilizada 11l1icamente cuando s6lo hay una fonna posible de medir un atributo. En generaL los atributos evaluados mediante un metodo basado en con tar el numero de elementos son de este tipo de escala, como por ejemplo el n(1l11erO de defectos encontrados o el n(nnero de personas en un proyecto.
Clasificacion de Entidades. En medici6n del sofuvare se puede distinguir entre tres tipos de entidades:
o o o
Proceso, en el que se incluyen las medici ones relacionadas a las actividades del sofuvare. Pmduclo, que incluye los entregables y documentos resultantes de las actividades de los procesos. Recllrsos, que incluye los recursos necesarios para el desarrollo de los proyectos sofuvare tales como personal, sofuvare, hardware. etc.
Atributos intern os y extern os. Los atributos intemos son aquellos que pueden ser medidos de una entidad sin necesidad de evaluar el compOltamiento extemo de dicha entidad. Ejemplos de atributos intemos son: tamai'io y complejidad de c6digo fuente. que pueden ser evaluados sin necesidad de ejecutar el c6digo. Los atributos extemos son mediciones sobre c6mo una entidad est} relacionada con el entomo, como por ejemplo los atlibutos calidad y estabilidad de requisitos. en cuyo caso es necesario ejecutar el c6digo para obtenerlos. Estos atributos son mucho mas dificiles de evaluar que los atributos
202
intemos y la necesidad de disponer de mediciones de atributos intemos para obtener el valor de atributos extemos es bastante clara. Por ejemplo, para evaluar el atlibuto extemo cali dad del sofhvare es necesario conocer atlibutos intemos como por ejemplo el nlu11ero de fallos obtenidos en la actividad de pruebas.
Mediciones directas e indirectas. Otro de los aspectos a destacar de la teOlia de la medicion es la distincion que establece entre mediciones directas e indirectas. Una medici6n directa es la medicion de un atributo de una entidad sin estar otras entidades implicadas. Por ejemplo, el atIibuto tamafio de la entidad c6digo fnente puede ser me dido sin necesidad de evaluar ninglm atIibuto de otras entidades. Las mediciones indirectas requieren de otros atlibutos, como por ejemplo la medicion del atlibuto productividad, que requiere las mediciones tanto del tamafio como del esfuerzo y es obtenido media ante la division de ambos.
Caracterizacion y Objetivos de la Medicion Software, con los elementos sobre los que se puede aplicar un proceso de medicion y sus propiedades. Tambien se reflejan los objetivos que se persiguen con la medici6n del software.
<;;
R/\.-MA
203
CiI
Accion de Medir, en la que se identifican los conceptos relacionados con la fOlma en la que se lleva a cabo la medici6n software.
Necesidad de Informacion
seCQrrea:::;r;:;e c:;n
{!:"~'" C"r~"'.=".:"c::n
y O!:>;e:;,es)
Tipo de Es::ala
\fr:;;mMt-t!\e::!s)
Modelo de Calidad
e,"af:ia
C0dase
Escala
Unidad
de:;r;.:fopara
Categoria de Entidad
(!r::.", C:n::::,.=r;:,,:.C<1 y
C:;;<:'~>r-~l
:',,:-:2
Atributo
52
de::neparo
Metrica
{:rcmMeL"i:::as)
Entidad
Medici6n
l't1etrica Indirects
{~m M~:n~as)
Indicador
s:;::;Enidaj
:;eir:c::!DC"
Medida
Fcmna de Medir
Metricas. en la que se especifica la definici6n y caracteristicas basicas de las metricas software. Una mettica se define como una fonna de medir (metodo de medici6n, funci6n de caJculo 0 modelo de anaJisis) y una escala, definidas para realizar medici ones de uno 0 varios attibutos. Las metric as pueden ser de tres tipos en funci6n de su fonna de medir:
o
Metricas Directas cuya fonna de medir es un metodo de medici6n, es decir, se pueden realizar medici ones de dicha metric a sin depender de ninguna otra.
204
MHricas Indirectas, cuya f0l111a de medir es una fi.ll1cion de calculo, es decir, las mediciones de dicha l11etlica utilizan las l11edidas obtenidas en mediciones de ott'as l11etlicas directas 0 indirectas. Indicadores, cuya f011na de medir es un modelo de analisis, es decir. las mediciones de dicha mettica utilizan las l11edidas obtenidas en las medici ones de otras metlicas (directas, indirectas 0 indicadores) junto con cliterios de decision.
Formas de Medir. en la que se descliben las distintas f011nas de medir metticas software.
En la elaboracion y division de la ontologia de la medicion del software en subontologias, se han identificado y establecido los conceptos y aspectos mas relevantes relacionados con la medicion del software y las etapas fundal11entales componen dicho proceso. Todo proceso de medicion del software tiene como objetivo fundamental satisfacer necesidades de info11nacion. Un proceso de medicion no puede obtener resultados utiles si estos no satisfacen alguna necesidad de info11nacion detectada en la empresa en la que se lleva a cabo. A pattir de las necesidades de inf01111acion se deben identificar las entidades y los attibutos de dichas entidades que son candidatos a ser medidos. Esta patte significativa del proceso de medicion es la que se aborda en la subontologia de caracterizacion y objetivos. Una vez identificados los attibutos objeto de la medici on, se deben definir las metlicas necesatias. Para clatificar que elementos generales hay que considerar en la definicion de las metricas se ha definido la sub-ontologia de las metticas. en la que se identifican los principales tipos de metricas que se pueden definir. En la definicion general de una metrica se deben especificar aspectos como la unidad en la que se expresa. la escala a la que pertenece. el atributo 0 atributos para los que se define. etc. La definicion de las metricas se debe realizar a distintos niveles 0 alcances. ya que resultaria excesivamente complejo definir ae forma directa metric as a partir de las cuales se satisfagan las necesidades de inf01111acion. Por ello. es fundamental definir en primer lugar metric as que se aplican directamente sobre las caracteristicas de una entidad para evaluar un dete11ninado atlibuto. A pattir de estas metticas directas se pueden definir metric as indirectas y finalmente se podrian definir metricas con el objetivo de proporcionar infonnacion litil para la toma de decisiones, y por 10 tanto. mas cercanas a satisfacer las necesidades de infonnacion. Estos aspectos se tratan en la sub-ontologia de las fonnas de medir. en la que se identifican los metodos concretos para definir 0 calcular las metricas definidas en fimcion de su tipo. Finalmente se !leva a cabo el proceso de medicion propiamente dicho. a pattir de la definicion de las metricas y de la caracterizacion de los atributos de las entidades objeto
_':;-RA-\IA
205
de la medicion. mediante la realizacion de medici ones que como resultado obtienen medidas. Estos conceptos se tratan en la subontologia de la accion de medir. Una definicion y explicacion mis detaIl ada de los tel111inos de la ol1tologia puede consultarse en (Garcia et af.. 2005).
Las meuicas no estan siempre definidas en un contexto en el que el objetivo de interes industrial que se pretende alcanzar mediante su utilizacion es explicito y queda bien definido. Por ejemplo: la reduccion del esfuerzo de desanollo 0 la reduccion de los fallos presentes en los productos software. En ocasiones. aunque el objetivo sea explicito, las hipotesis experimentales a menudo no estan hechas de fon11a explicita. por ejemplo ;,qlle se pretende dedllcir del analisis? (:reslilta creible el resultado? Las definiciones de metricas no siempre tienen en cuenta el ent0l110 0 el contexto en el cual seran aplicadas, por ejemplo ;,se puede IItilizar lIna llIetrica definida para lin entorno no orientado a objetos en un contexto orientado a objetos? A menudo, no es posible realizar una adecuada validacion teorica de las metricas porque el atributo que una metrica pretende cuantificar no esta bien definido, por ejemplo, la nocion de complejidad .
Un gran numero de metr'icas no han sido nunca objeto de validacion empiric a, por ejemplo ;,c6mo se sabe que lina metrica de tamalio predice mejor el esjiter::.o en lin elltorno de desarrollo?
Esta situacion ha conducido frecuentemente a cierto grado de ambigUedad e imprecision en las definicion, propiedades y suposiciones de las meuicas, haciendo que su uso sea dificil, la interpretacion peligrosa y que los resultados sean conu"adictorios en varios esuldios de validacion. Los problemas citados anteri0l111ente son propios de cualquier disciplina joven, y especialmente de aquellas que son intensamente humanas, como es el caso que se esta
206
RA-MA
tratando. Los fenomenos estudiados en este campo implican un ntllnero de variables que dependen del comportamiento humano y no pueden ser controladas facilmente. No se debe esperar, por tanto, encontrar leyes cuantitativas que sean validas y aplicables de modo general, y que tengan la misma precisi6n y exactitud que, por ejemplo, las leyes fisicas.
Identificacion
Objetivos
~
Reutilizaci6n Hipotesis
Metrica Retirada
...
Objetivos
Acreditacion
Requisitos
r'''''m,"","' j
Aplicacion
Creaci6n
Objetivos
<I
A
Metricas Aceptadas
4,
Validacion Empirica
~-
...
Metricas No Aceptadas
Aceptacion
Validacion Te6rica
--- .. -- Experimentos
~,
Explicacion PSicologica
Metricas Validas
Todas estas caracteristicas no significan que no se pueda progresar en el campo de las meh1cas software, pero para poder conseguir este prop6sito las meh1cas deb en ser definidas de una fonna metodol6gica y disciplinada, teniendo dicha definici6n una base s61ida con objetivos de medici6n claros y debiendo satisfacer las necesidades de la organizaci6n. Con este fin, se puede encontrar en.la bibliografia diversos metodos para la definici6n de meh1cas software en los que se integran todos los aspectos que es necesario tener en cuenta en la validaci6n de las metricas, como el metodo MMLC (lvIeaslire lvIode! Lt[e Cycle) (Cantone y DonzeIIi, 2000) y la propuesta del Grupo Alm'cos (Sen'ano et aI., 2002), que se ilustra en la figura 9.2 y en la que las flechas continuas representan el flujo de las metric as y las discontinuas representan el flujo de infonnaci6n a 10 largo de todo el proceso. La propuesta del Grupo Alarcos consta de dos fases:
fi!I
Identificacion. En esta etapa se pretende identificar los objetivos de la medici6n y las hip6tesis bajo las cuales se crean las meh1cas. Los objetivos
fRA-MA
207
indican 10 que se pretende conseguir con la utilizacion del proceso de medicion y representan la razon por la que se llevani el proceso de medicion (el "porque"). Las hipotesis son la f0l111a en la que se pretende llevar a cabo la medicion (el "como"), identificando la infonnacion que se debe manejar para conseguir a1canzar los objetivos deseados. Este proceso suele estar basado en la experiencia y el conocimiento de los expertos y puede utilizar mecanismos basados en Goal-Question-Meric (GQM: Basili and Weiss, 1984; Basili y Rombach, 1988; Van Solingen and Berghout, 1999). Como resultado de esta fase se deben obtener los requisitos que debe cumplir la metrica, los cuales senin utilizados en la etapa de creacion. Ademas, como se observa en la figura 9.2, los objetivos seran utilizados en las etapas de aceptacion, aplicacion y acreditacion.
e
Creacion. El proceso de creacion es aquel en el que a partir de los requisitos obtenidos en la etapa de identificacion se creara una metIica valida, lista para ser aplicada en entornos reales. El proceso de creacion de las metricas es evolutivo e iterativo y se subdivide en varias etapas intel111edias. Como resultado de la realimentacion, las metricas deb en ser redefinidas de acuerdo a las validaciones, teoricas 0 empiricas, fallidas. Al final de la etapa de creacion, las metricas se consideraran validas y aquellas que no sean validas, seran descartadas. Las etapas en las que se subdivide la creacion son: o Definicion. Es el primer paso de esta fase que debe realizarse considerando las caractetisticas del producto que vamos a medir y la experiencia de los profesionales. En la definicion se deben considerar objetivos claros, es decir, realizar una definicion de la metrica Olientada al objetivo identificado en la fase anterior para evitar obtener una definicion de la metrica que no cumple con el objetivo deseado. Es deseable que la definicion de las metIicas se realice de manera fonnal para evitar ambigtiedades. Validacion teorica. El objetivo principal de la validacion teorica es demostrar que la metIica mide el atIibuto que pretende medir, es decir, comprobar si la idea intuitiva acerca.del atributo que esta siendo medido se refleja en la metrica. Ademas la validacion teorica proporciona infOl1Uacion relacionada con las escalas de las metricas y asi se puede detenninar que tipo de operaciones matematicas y tests estadisticos aplicar a la hora de analizar los valores de las metricas en estudios empiricos. Lamentablemente no existe un estandar para la validacion teorica a traves del cual obtener la infonnacion matematica de las metric as definidas, sin embargo, hay dos tendencias principales en la validacion: los marcos basados en propiedades (que definen fonnalmente propiedades deseables de las metricas para un atributo software concreto) (Weyuker, 1988; Briand et al., 1996) y los que se basan en la teotia de la medida (WhitInire, 1997; Zuse, 1998; Poels y Dedene, 2000), cuyo
208
i:':. R:\-\L-\
objetivo es obtener la escala matem::itica a la que peltenece una metrica, y por tanto sus transfonnaciones admisibles, estadisticos y tests aplicables y especificar un marco general en el que las metlicas deb en ser definidas. o
Validacion empirica. EI objetivo de esta etapa es pro bar la utilidad pnictica de las metlicas propuestas. EI saber general, la intuici6n 0 la especulaci6n, no son fuentes fiables de conocimiento (Basili et al., 1999) por 10 que es necesmio realizar validaciones empilicas de las meuicas. La validaci6n empiric a se utiliza para obtener infoI1naci6n objetiva sobre la utilidad de las meuicas propuestas ya que puede que una meuica sea COITecta des de un punto de vista f0l111aL pero no tener relevancia pnictica para un problema detenninado. Asi pues, el estudio empiIico resulta necesmio para comprobar y entender las implicaciones de las metricas de nuesuos productos. Esto se consigue a uaves de hip6tesis en el mundo reaL mas alla de la pura teoria, que habra que comprobar con datos empiricos. Algunos trabajos relevantes que proporcionan la guia necesmia para llevar a cabo estudios empilicos son los realizados por Robson (1993), Wohlin et al. (2000), JUIista y Moreno (2001), Basili et al. (1999) Y Peny et al. (2000) (vease capihllo II). Explicacion psicologica. Idealmente es necesmio tener la capacidad de explicar la influencia de los valores de las meDic as desde un punto de vista psicol6gico. Algunos autores. como Siau (1999). proponen el usa de la psicologia cognitiva como una disciplina de referencia. De esta manera, las teorias como ACT (Adaptative Control of Thought) (Anderson, 1983) pueden justificar la influencia de ciertas metricas en la comprensi6n de los sistemas.
II
Aceptacion. Suele ser necesaria la existencia de una fase de pruebas en laboratOlio en la que se realice una experimentaci6n sistematica en entOI11OS reales y con usum10s reales para verificar si cumple los objetivos buscados dentro de un entOI11O de trabajo real. Esta etapa se diferencia de los casos de eshldio en que en estos (lltimos se. suele trabajar en el entOI11O final de aplicaci6n. En definitiva, en esta etapa se intenta averiguar si las metlicas "validas" que se consiguieron al final de la fase de creaci6n son aceptables en entOI11OS de aplicaci6n reales, teniendo en cuenta los objetivos obtenidos en la etapa de identificaci6n. Esta etapa debe ser realizada con proyectos no critic os y con riesgos conuolados. Idealmente deberia usarse en proyectos piloto de manera que el fracaso de aceptaci6n de la meDica no suponga un fracaso en un proyecto impOltante. Si se consigue demosuar que la metric a sigue cumpliendo los objetivos, es posible pasar a la etapa de aplicaci6n, y si no es asi, es necesario volver a la etapa de creaci6n. Aplicacion. En esta etapa se utiliza la metrica ya aceptada en el entOI11O real. Esta fase se lleva a cabo en paralelo con la fase de acreditaci6n.
II
209
<I>
Acreditacion. Esta liitima fase del proceso es una etapa dimlmica que persigue el aseguramiento de la metrica y la mejora continua de la misma, en funcion de como evoluciona el ent0ll10 de aplicacion, de manera que se puedan seguir cumpliendo los objetivos que se perseguian al principio del metodo. En ocasiones el entO!11O puede variar tanto (por ejemplo, pasar de un entorno estmcturado a uno orientado a objetos) que la metrica no sea aplicable. en este caso, la metrica deberia ser descartada y el conocimiento adguirido durante su tiempo de vida deberia realil11entarse a la etapa de identificacion de manera que podal110s crear una metric a adecuada para el nuevo entO!11O cumpliendo los objetivos perseguidos. Ademas al utilizar la expeliencia de la utilizacion de la metrica descartada, se tendran mas probabilidades de fO!111Ular hipotesis COITectas en la etapa de identificacion.
PSM constiruye el documento base a pariir del que se ha elaborado el nuevo estandar ISO/IEC 15939 sobre la medicion del software. PSM proporciolla detalles adicionales respecto de las actividades y tareas de ISO 15939.
210
:& RA-iV1A
.,
EI objetivo y los resultados del proceso de medici6n de ISO 15939 ha sido afiadido a la revisi6n del estandar ISO 12207 dentro de un nuevo proceso de soporte denominado Medici6n y a la nonna ISO 90003 (aplicaci6n de la nonl1a ISO 9001 :2000 al software).
Practical SofwareMeasurement(PSM)
Figura 9.3. Coordinacion existente entre PSM, CMMI y los estandares ISO en el area de la Medicion de Software (adaptado de Jones, 2003)
.,
Los conceptos del dominio de la medici6n de ISO 15939 han sido afiadidos al estandar ISO/IEC 15288 (Procesos de Cicio de Vida del Sistema). De la misma fOlma, la nueva tenninologia de la 'medici6n ha sido coordinada con las revisiones en los estandares ISO/IEC 9126 (Calidad del Producto Software) e ISO/IEC 14598 (Evaluaci6n de Productos Software) con el objetivo de que todos los estandares que us en el dom.inio de la medici6n esten basados en una misma tem1inologia . EI area Medici6n y Analisis de CMMI proporciona una metodologia para evaluar si un programa de medici6n de un proyecto es acorde con el estandar ISO 15939, por 10 que utiliza este estandar como referencia.
.,
Por 10 tanto, el intento de coordinaci6n existente entre estos documentos de referencia significa que existe till conjunto de estandares de medici6n, que tiende a ser
RA-MA
211
cada vez mas consistente, dirigidos por objetivos 0 necesidades de informacion que proporcionan la guia necesaria para la implementacion de la medicion de forma efectiva. A continuacion se desclibe como se aborda la medicion del software en los distintos 1110delos, estandares y metodos de evaluacion y mejora y se presentan los modelos y l11etodos mas representativos relacionados con el soporte a la medicion software.
EI Modelo de Madurez de la Capacidad (CMlVI) asigna un impoltante rol a la medicion a la hora de detenninar el estado de los procesos software. Partiendo de la base de que "no hay actllalmente lin modelo 1I1liversalmente aceptado de medidas del proceso sofnrare 0 de la caUdad' el modelo insta a las organizaciones a identificar para cada Area Clave del Proceso, uno 0 mas conjuntos de medidas significativas que puedan proporcionar visibilidad en el rendimiento del proceso (llevado a cabo en fOl111a de proyectos). Partiendo de un conjunto en el que los objetivos de la medicion son conocidos, cada organizacion especffica tiene la libeltad de seleccionar metricas concretas adecuadas para su entol110, industria 0 cultura. EI proceso de medicion se desclibe en el aspecto comun dell110delo denol11inado "Medici on y AnaIisis". Los tipos de mediciones incluidos para cada nivel de madurez son: o
Nivel Repetible: basado en disponer de un conjunto representativo de metlicas a nivel de gestion del proyecto. Los valores de estas l11etricas se utilizan en futuras estil11aciones de proyectos. Nivel Definido: se dispone de un conjunto de l11etricas a nivel organizacional que facilita realizar valoraciones sobre los proyectos en su conjunto. A este nivel tambien se d~finen l11etlicas relacionadas con la calidad y funcionalidad de los productos. Niveles Gestionado y Optimizante: la l11edicion se basa en la planificacion y gestion de las calidad de los procesos y productos de una fonna estadistica.
CD
EI estandar ISO 15504, incluye en la dimension del proceso del l110delo de referencia (patte 2 de la n0l111a) el proceso de l11edicion, dentro de la categoria de los procesos organizacionales, proceso que cubre todos los procesos que establecen y dan soporte a la consecucion de los objetivos organizacionales de negocio. EI proceso de l11edicion supone la definicion de metricas, la gestion de los datos (incluidos los datos historicos), y el uso de las metricas en la
212
organizaClOn. EI objetivo que se pre ten de es el de implementar metric as de proceso y de producto como soporte a la gesti6n efectiva y a la posibilidad de demostrar objetivamente la calidad de los productos.
G
La familia de n0l111as ISO 9000:2000, establecen la necesidad de implementar el proceso de medici6n con el objetivo de controlar la calidad del producto, la capacidad del proceso y la satisfacci6n del cliente. La gesti6n usa metricas como entrada fundamental para la planificaci6n, control y gesti6n del proyecto, y para tambien controlar la cali dad del producto. todo ella orientado a la mejora continua del proceso. CMMI, proporciona a la medici6n una gran importancia en la madurez de los procesos al incorporar una nueva area del proceso denominada "Medicion y Amllisis", cuyo a1cance es mucho mas amplio y mas explicito que el tratamiento de la medici6n en el modelo CMM. La incorporaci6n de fonna explicita de esta nueva area de proceso en el modelo CMMI proporciona una gesti6n con el enfoque y la visibilidad que las organizaciones necesitan para guiar el uso de la medici6n en sus esfuerzos de mejora (Goldenson et al.. 2003). EI objetivo de esta area es desanollar y establecer una capacidad de medici6n que se pueda usar para dar soporte a las necesidades de informaci6n de la organizaci6n. 10 que implica una ampliaci6n a los conceptos incluidos en el modelo CMM. Da soporte al resto de areas de proceso proporcionando un marco de trabajo a las organizaciones a la hora de alinear los objetivos y necesidades de medici6n con un enfoque de medici6n bas ado en proporcionar resultados objetivos que sean lltiles para la toma de decisiones y acciones conectivas. Este enfoque es consistente con las ideas de GQM y del estandar ISO 15939 (ISO/lEe 2002). En la figura 9.4 se representa mediante un diagrama de flujo de datos. los principales procesos relacionados con esta area. y las relaciones de datos entre los mismos.
Como se puede observar en la figura 9.4. a la hora de establecer un proceso de medici6n efectivo en una organizaci6n es necesario conseguir dos objetivos fundamentales:
G
Alinear las acovidades de analisis de la medicion. Para conseguir este objetivo en CMMI se identifican las siguientes pnkticas: establecer los objetivos de la medici6n, especificar medidas, especificar procedimientos de recopilaci6n y almacenamiento y especificar procedimientos de analisis. A partir de estas practicas se establece un plan para la medici6n y el analisis con el que se pretende resolver cuestiones tales como: GPor que se mide? (: que se 1'(1 a medir? Gcomo se va a medir?, etc. Proporcionar los resultados de la medicion. Las practicas asociadas con la consecuci6n de este objetivo son: reunir los datos de la medici6n, analizarlos. almacenar los datos y resultados y comunicar los resultados. Por 10 tanto, con estas practicas se pretende establecer un buen proceso de recopilaci6n y
213
comunicacion de los resultados, ya que estos deben proporcionarse a la persona adecuada para satisfacer sus necesidades de informacion.
Peesonal de Me dici6n
t..
~y.
Por 10 tanto. el plimer paso del proceso de medicion es el de identificar los objetivos de la medicion para. en un segundo paso, implementar el proceso de medicion y analisis. 10 que requiere la integracion de la medicion en los distintos procesos del trabajo de una organizacion.
PRACTIC\
OBJETIVO
2.8. Monitorizar y Controlar el ;v[onitorizar y controlar cl proceso respecto al plan para Ia realizacion del proceso y !leyar a cabo las aeciones cOITeeti\'as apropiadas. Proceso I Reunir productos de trabajo. medidas. resultados de Ia medicion. c 3.2 Recopilar Infol1naeion de infol111acion de Ia mcjora deri\ada de Ia planiticacion y realizaeion del :v[ejora proceso para dar soporte a su uso nlturo y a Ia mejora dc los proeesos de Ia organizacion. Establecer y mantcner objetiyos cuantitati\'os sobre Ia ealidad y -f.l.Estabiecer Objetiyos rendimiento del proceso. basados sobre las necesidades de los clientes y Cuantitativos para el Proceso los objetiYos de negocio. Estabilizar el rendimiento de uno 0 milS subprocesos del proccso para -f.2. Estabilizar el Rendimiento detenninar su habilidad para obtener Ia cali dad establecida de l'Ol1na de los SubProcesos cuantitativa y los objeti\'os de rendimiento del proceso. , 5.1. .-\segurar Ia \ lejora Asegurar Ia mejora continua del proceso en Ia consecucion de objetiyos Continua del Proceso de negocio relevantes dc Ia organizaeion.
214
La importancia de la medicion en el modelo CMMI tambien se ve claramente reflejada en su incorporacion a varias pnicticas generic as tal y como se puede apreciar en la tabla 9.1 (Goldenson et aI., 2003).
En definitiva, de acuerdo al marco de medicion de CMMI, es muy importante para una organizacion que quiera implantar un proceso efectivo de medicion, poder definir de fonna precisa modelos concretos de medida que, siendo soportados por una helTamienta integrada de medici on, pennitan una automatizacion adecuada y necesaria para la evaluacion de los procesos.
1.
Planificacion. durante la cual se selecciona, define, caracteriza y planifica un proyecto para la aplicacion de la medicion obteniendose como resultado un plan de proyecto. Definicion, durante la cual se define y documenta el programa de la medicion (objetivos, preguntas, metric as e hipotesis). Recopilacion de Datos, en la que se relll}enios datos reales de la medicion. Interpretacion, en la que se procesan los datos recopilados respecto a las metric as definidas en fonna de resultados de medicion, que proporcionan respuestas a las preguntas definidas, a partir de las cuales se puede evaluar el logro del objetivo planteado.
2.
3. 4.
EI proceso se ilustra en la figura 9.5. La fase de planificacion se lleva a cabo para satisfacer los requisitos basic os que penni tan que un programa de medicion GQM sea un exito. para 10 cual se incluyen aspectos de fonnacion, implicacion en la gestion y planificacion de proyectos. Durante la fase de definicion se elaboran los entregables, que estan principalmente basados en entrevistas eSh1.1cturadas u otras tecnicas de adquisicion de conocimiento. En la fase de definicion se identifica un objetivo, y todas las preguntas.
215
l11etlicas y expectativas (hipotesis) de las l11ediciones. Cuando se han cOl11pletado todas las actividades de la medicion, la l11edicion real puede COl11enzar. Durante la fase de recopilacion de datos se definen, rellenan y almacenan en una base de datos una serie de fonnularios en los que se obtienen todos los datos de las mediciones. Finall11ente, durante la fase de interpretacion, las mediciones son utilizadas para responder a las preguntas fonnuladas, y las respuestas son usadas de nuevo para ver si se han logrado los objetivos planteados.
Respuesta Medicion
Definicion
Interpretacion
Datos Recopilados
Planificacion
Recopilacion de Datos
2.2.1. PLAl'TIFICACION
Los objetivos principales de esta fase son la recopilacion de toda la infol1nacion necesaria para un inicio exitoso del proyecto de medicion, as! como la motivacion y preparacion de los miembros de la organizacion p"ara llevar a cabo el programa de medicion. EI plan del proyecto constituye el principal entregable de esta fase. en que se incluyen los documentos, procedimientos, calendarios y objetivos del progral11a de l11edicion. as! como un plan de fonnacion de los desalTolladores implicados en el programa. El plan proporciona la base para el fomento y aceptacion del programa de medici on por paIte de la directiva. Las etapas que componen la fase de planificacion son: 1. Establecer el equipo GQM. que es una etapa fundamental ante la necesidad de garantizar la continuidad de los programas de medici on. En much as ocasiones. cuando los plazos de entrega de los productos estim cerca se dedica menos atencion a las actividades del programa de medicion, por 10 que se requiere un equipo GQM que deberia tener las siguientes cualidades: ser independiente de los
216
E RA-\IA
equipos del proyecto y no tener especial interes en los resultados de la medicion: poseer suficiente conocimiento previo sobre los objetos de la medicion; respetar a los miembros del proyecto cuando llevan a cabo las tareas del proyecto y reconocer que son ellos los que llevan a cabo las acciones de medicion y mejora: tener una mentalidad de Olientacion a la mejora, incluso sobre si mismos: ser entusiastas para motivar a los miembros del proyecto. Los roles del equipo GQM son: gestor (manager), que es el responsable de dar continuidad en to do momento del programa de medicion. "coach" que es experto en GQM e ingeniero de soporte (support engineer), que da sopOlte a las actividades de medicion. Las principales actividades del equipo de GQM son: planificar los programas de medicion en el contexto de los proyectos de desanollo: realizar las actividades de definicion de la medicion y desanollar los entregables QGM: comprobar los datos recogidos por el equipo del proyecto y los datos disponibles del proceso: preparar la interpretacion de los datos de la medicion e: infol111ar sobre el progreso del equipo de proyecto y de gestion y comunicar los resultados.
J
Seleccionar las areas de mejora, en la que se seleccionan las posibles areas de mejora de los productos 0 procesos, como podrian ser: problemas evidentes a los que se enfrenta la organizacion. areas a mejorar identificadas tras una valoracion de procesos 0 areas de mejora de productos en base a objetivos de negocio de alto nivel. Esta seleccion debe realizarse en fi.mcion de los objetivos de negocio. y en especial en relacion a los costes. tiempo, riesgos y calidad. Una vez seleccionada un area adecuada. el equipo GQM deberia considerar todos los detalles. como: los problemas que podIian oCUITir: influencias extel11as como las personas implicadas. tecnologias. leyes. procesos y productos: y el conocimiento y experiencia previa en medici on que tienen las personas que van a participar en el proyecto. Seleccionar el proyecto de aplicacion y establecer un equipo del proyecto. El exito de un programa de medicion depende fundamental mente de la voluntad. motivacion y entusiasmo de los miembros del equipo de proyecto. ya que son ellos los que van a realizar las actividades de medicion. Por ello. el equipo GQM debe hacer un esfi.lerzo para alinear los objetivos de la medicion con las ideas de mejora del equipo del proyecto. Para ello deben controlar y estimular continuamente la dedicacion del equipo del proyecto a las actividades de medici on. Crear el plan del proyecto, actividad que se realiza una vez se ha establecido el equipo del proyecto y se han seleccionado las areas de mejora. Como resultado se obtiene el plan del proyecto que deberia contener los siguientes elementos:
a. Reslimen de fa Gestion. que presenta de fOlma resumida (en 20 line as aproximadamente) el programa de medici on.
3.
4.
Q RA-ylA
217
b.
Introduccion, que presenta el alcance del programa de medicion, asi como la relacion entre los objetivos de la mejora y los objetivos del proyecto de desalTollo de software. Calendario, que incluye la planificacion temporaL entregables, asignaciones de recursos y amilisis coste-beneficio del programa de medicion. Organi:::acioll, que describe las eshl1cturas organizacionales, del proyecto y equipo GQM que son relevantes en el programa de medicion. Procesos de gestion, que contiene pliOlidades, procedimientos de generacion de infol1nes de gestion asi como actividades de conh'ol de nesgos. Forlllacioll y promocion. que presenta el plan para la f0l111acion de los miembros del equipo del proyecto y la comunicacion de los resultados en la organizacion.
c.
d.
e.
f.
5.
Formacion y promocion, en la que el equipo GQM debelia organizar sesiones frecuentes de fonnacion y promocion en las que se presenten de fOl1na clara los objetivos de medicion propuestos, los beneficios del programa de medicion, el impacto del programa de medici on en las actividades diarias del equipo de proyecto y las experiencias en otros proyectos u organizaciones. El objetivo es motivar y f0l111ar a los miembros del equipo del proyecto en la realizacion del programa de medicion.
2.2.2. DEFINICION
En esta fase se incluyen las actividades necesarias para definir fOl1nalmente el programa de medicion y como resultado se obtienen los planes GQM, de medicion y de amilisis. Las etapas de la fase de definicion son: I. Definir los objetivos de la medicion, para 10 que se consideran los objetivos de mejora del plan del proyecto definidos en la fase anterior. Como resultado se obtiene una definicion f0l111al y bien estmcturada de los objetivos, para 10 cual se utilizan plantillas como la que se muesh'a en la tabla 9.2, donde los elementos de la plantilla son los siguientes:
I>
El objeto del estudio es la entidad que se estudia en el experimento, la cual puede ser producto, proceso, recurso, modelo, mehica, teolia, etc. EI proposito define cmil es la intencion del experimento. El enfoque de la calidad es el efecto principal que se estudia en el experimento.
I>
218
La perspectiva nos define el punto de vista desde el cual se van a interpretar los resultados del experimento. EI contexto es el "entomo" en el que se lleva a cabo el experimento. EI contexto define brevemente el personal (sujetos) implicado y los artefactos software (objetos) que se utilizan en el expelimento.
ANALlZ.'I.R
E)I; ELCO)l;TE.UO DE
el ob.ieto de estudio bajo medici6n entender, controlar, 0 mejorar el objeto el enfoque de caUdad del objeto en el que se centra la medici6n o perspectiva de las personas que miden el objeto el entorno en el que la medici6n tiene lugar
2.
Revisar 0 producir los modelos de proceso software. Estos modelos de procesos deben dar soporte a la definicion de las mediciones. Si existen previamente en la organizacion, estos deben ser revisados y si es necesario mejorados. Si no existen, los modelos de procesos deb en ser definidos por el equipo GQM y aprobados por el equipo del proyecto. Realizar entrevistas GQM, de fODna que los miembros del equipo GQM puedan extraer de los miembros del equipo del proyecto toda la informacion relevante en relacion a los objetivos de la medicion. Para ello se realizan entrevistas individuales en las que para facilitar la comunicacion se puede hacer uso de las hojas de abstraccion ("abstraction sheets "). Las hojas de abstraccion incluyen los aspectos basicos a considerar en las entrevistas GQM, tales como: GCl/ales son las metricas para medir el objeto asociado a lin determinado objetivo, de acuerdo a los miembros del proyecto?, Gcual es el conocimiento actual del miembro del proyecto respecto a estas metricas?, Gque factores extern os pueden il?jluenciar las metricas J de que modo? Definir preguntas e hipotesis, en base. a los objetivos de la medicion de f0l111a que se de soporte a la interpretacion de los datos. De la misma f0l111a que los objetivos se definen a un alto nivel de abstraccion, las preguntas constituyen un refinamiento de los objetivos a un nivel mas operacional. Con la respuesta a las pregllntas planteadas, se deberia poder concluir si se cumple un detel1ninado objetivo. Para cada pregunta, las respuestas esperadas son fOl1nuladas como hipotesis que son comparadas en la fase de interpretacion con los resultados reales de la medicion. Revisar preguntas e hipotesis, para asegurar que se han fODnulado las preguntas e hipotesis COlTectas.
3.
4.
5.
~RA-MA
219
6.
Definir las metricas. Las metlicas deben proporcionar la infonnacion cuantitativa que pel111ita responder las preguntas planteadas de una fonna satisfactoria. Por 10 tanto, las metlicas son el refinamiento de las preguntas en mediciones de los productos 0 procesos. Comprobar consistencia y completitud de las metric as, de fonna que la definicion de los objetivos preguntas y metricas sea consistentes y completa con respecto al objeto sujeto a medici on. Producir el plan GQM, en el que se inc1uyen los objetivos, preguntas, metlicas e hipotesis de un detenninado programa de medicion. Sirve como guia para la interpretacion de los datos y para el desalTollo del plan de medicion y amllisis. Producir el plan de medici6n, en el que se inc1uye la definicion f0l111al, descripcion textual y todos los resultados 0 valores posibles de las metlicas directas asi como la persona responsable de recoger dichos valores (programador, ingeniero, gestor del proyecto, etc.). Tambien se inc1uye el momento de tiempo en el que se debe tomar el valor de cada metlica directa y el medio (helTamienta 0 fonnulario) que la persona encargada debe usar.
7.
8.
9.
10. Producir el plan de amilisis, que es un documento en el que se simula la interpretacion de los datos de acuerdo al plan GQM. Para ello se presentan simulaciones de los resultados de las mehicas, as! como gn'ificos y tab las en relacion a los objetivos y preguntas planteadas. EI plan de amilisis pretende basicamente describir como la infonnacion relevante de la medicion debe ser procesada con el fin de que pueda ser interpretada fikilmente por el equipo del proyecto.
II. Revisar los planes, que deben adelmis ser aprobados por el equipo del proyecto antes de que comience la obtencion de los datos reales de las mediciones.
Interpretacion
Objetivo .
Modelos Implicitos
Preguntas
Definicion
220
En resumen, la definicion de metricas con el metodo GQM se realiza mediante una aproximacion atTiba-abajo (figura 9.6) en tres niveles: el nivel conceptual en el que se definen los objetivos (goal). el nivel operacional en el que se definen las preguntas (question) y el nivel cuantitativo en el que se definen las metricas (metric).
Formacion y arranque de la obtencion de datos, que incluye: a. Periodo de Entrenamiento (Hold Trial). Este periodo de pmeba es llevado a cabo antes de comenzar la toma real de datos y durante el mismo se definen y prueban los procedimientos de recogida de datos asi como las hen-amientas y fonnularios. Esta actividad suele llevarse a cabo por dos personas como maximo (una al menos es preferible que sea un ingeniero senior) durante uno 0 dos dias y el principal objetivo es evitar en'ores y detectar posibles mejoras a realizar en los procedimientos. helTal11ientas 0 fOl11mlarios. Sesion de Inicio (Kick ofj), durante la que todos los participantes en el programa de l11edicion deben estar presentes. El principal objetivo es llegar a un acuerdo con el equipo del proyecto para el cOl11ienzo de la recogida de datos de la medicion y se instruye a sus miembros en los procedimientos de recogida de datos, hen-amientas y fonnulatios. Recogida de Datos. durante la que se rellenan los fonnulatios y se entregan al equipo GQM de manera frecuente, preferiblemente de f0l111a diaria. El equipo GQM comprueba la consistencia y con-eccion y almacena los fonnularios, estableciendo la base de metric as para el posterior establecimiento del sistema de soporte a la medicion.
b.
c.
2.
Construccion del sistema de soporte a la medicion (lvieaslirement Support MSS). Este sistema constituye un elemento esencial del programa de medicion siendo su base un conjunto de hen-amientas generic as tales como hojas de calculo, helTamientas estadisticas, aplicaciones de bases de datos y hen-amientas de presentacion. El sistema MSS debe dar soporte a todas las actividades de medicion, en las que se incluyen la obtencion, almacenamiento, procesamiento, presentacion y empaquetamiento de los datos de medicion. El sistema MSS esta fonnado por tres partes basicas:
~vstem,
1\."'.-\1:\
221
a. b.
Base de Merricas lvf55, que contiene los datos recabados, Hojas de Analisis M55, que son los distintos tipos de presentaci6n de los
datos obtenidos respecto a diferentes niveles de abstracci6n, que en orden ascendente son: capa de datos sin procesar, capa de datos procesados y capa de gn'ificos y diagramas. Cada hoja de analisis debe incluir: la descripci6n del objetivo y todas las preguntas derivadas del mismo (como en el plan GQM); todos los datos necesmios para responder las preguntas planteadas de una fOll11a satisfactoria con respecto a los objetivos e hip6tesis.
c.
Transparencias de Analisis ivJ55, que son las transparencias de presentaci6n que son mantenidas de fOll11a que cualquier cambio de las hojas de analisis produzca su actualizaci6n inmediata.
2.2.4. INTERPRETACION
La fase de interpretaci6n utiliza los datos tomados en la medici6n para responder las preguntas planteadas y de esta fOll11a. para identificar si se alcanzan 0 no los objetivos. Las etapas incluidas en esta fase son: I.
Preparacion de las sesiones de realimentacion, en la que los miembros del equipo GQM deberia preparar todo el material necesario. como: hojas de analisis, diapositivas de presentaci6n, material adicional. etc. EI material de realimentaci6n deberia ser util para los miembros del equipo del proyecto durante estas sesiones. Sesiones de Realimentacion. Durante estas reuniones se deben debatir los resultados de la medici6n y se suelen celebrar cada seis u ocho semanas con una duraci6n tipica de una hora y media ados horas. Durante estas reuniones el equipo del proyecto. como expertos en el objeto bajo medici6n. deben analizar los resultados y obtener conclusiones y acciones a realizar. Para ella se centran en: evaluar puntos de acci6n de sesiones previas: analizar e interpretar los datos recogidos en la medici6n respecto a los objetivos y preguntas del plan GQM y obtener conclusiones y traducir estas conclusiones en acciones concretas. Para ella los miembros del equipo del proyecto deben adoptar un enfoque constructivo y dirigido por objetivos. Generacion de informes de interpretacion de los resultados de la medicion. Al final de cada sesi6n de realimentaci6n el equipo GQM escribe un informe en el que se incluyen todas las observaciones. inteq)!'etaciones. conclusiones y puntos de acci6n relevantes formulados. Este infolll1e es distribuido a los miembros del equipo del proyecto.
2.
3.
222
:9RA-MA
4.
Amilisis de costes y beneficios de un programa de medicion. EI factor fundamental del exito de un programa de medici6n es el logro de los objetivos planteados. Sin embargo, es necesario incluir tambien en el infonne final un amilisis de costes/beneficios. En la tabla 9.3 se muestran costes y beneficios asociados a los programas de medici6n.
COSrES BENEFICroS
Tiempo empleado por el equipo GQM en preparar un programa de medici6n (salario y gastos generales) Tiempo empleado por el equipo del proyecto en reuniones
Ventas adicionales derivadas de la mejora de cali dad Evitar decrecimiento en ventas debido a la mejora de cali dad
Ahorro de tiempo y esfuerzo en el desarrollo de software debido a un mejor entendimiento de los procesos de desarrollo Ahorro de tiempo debido a una mejor gesti6n de los recurs os
Compra de hardware y software adicional para dar soporte al programa de medici6n Tiempo empleado por el equipo GQM para procesar los datos de la medici6n y preparar las sesiones de realimentaci6n
I
.1
I
1
1 1
I
1 1
RA.-MA
iii
Pregunta 1. ;,C6mo il?fluye la complejidad de las tab las en la mantenibilidad de las bases de datos relacionales? Pregunta 2. (,C6mo influye la complejidad entre tablas en la mantenibilidad de las bases de datos relacionales?
iii
Pregunta 1: o o o Numero De Atributos De Una Tabla (NA(T)), definida como el numero de atributos de una tabla T. Numero De Claves Ajenas (NFK(T)), definida como el numero de claves ajenas de una tabla T. Ratio De Claves Ajenas De Una Tabla (RFK(T)), definida como el porcentaje de atlibutos de la tabla T que son claves ajenas (ver figura 9.7).
RFK
(T)
Pregunta 2: o o o Numero De Tablas (NT), definida como el nlllnero total de tablas que hay en el esquema. Numero De Atributos (NA), definida como el nlllnero total de ahibutos que hay en el esquema. Numero De Claves Ajenas (NFK), definida como el nlllnero total de claves ajenas que hay definidas en el. esquema.
Fuggetta et al. (1998), Lindstrom (2004), y van Solingen y Berghout (2001) proporcionan oh'os ejemplos relevantes de aplicaci6n de GQM en la indushia.
224
salvo en el aspecto de que aiiade soporte explicito a los indicadores. Por ello, el artefacto mas relevante de esta metodologfa es la "Plantilla de Indicadores", que es utilizada para definir de fonna precisa el "quien", "que", "donde", "cwindo", ''par que" y "como" de un indicador. asf como para documentar el alineamiento del mismo con los objetivos de la organizaci6n. Todo ella garantiza disponer de una colecci6n consistente de metricas a la hora de constmir un indicador y proporciona elementos adicionales para asegurar una interpretaci6n consistente del propio indicador (Goethelt y Siviy, 2004). EI proceso que sigue la metodologia GQ(I)M es el propuesto por el SEI en su enfoque "Goal-Driven Software Measurement" (Park et aI., 1996). La metodologia esta f0l111ada por diez pasos organizados en tome a h'es conjuntos generales de actividades (Park et aI., 1996: Zubrow, 1998):
Paso
I
Objetivos de Negocio
Modelo Mental
v
)i>l,Que quiero lograr?
c"""
Paso
Q
Paso
EI Proceso
C"C"".
<1
;... Entidades
Enlidades
"V~
Entidades
y
Pa~o
SubObielivos
p
"v~
Atributos
P'"
Paso
Atributos
?
"V~
"v~ Atributos
?
Objetivos de Medici6n
01
02
Identificaci6n de ObjetiYos. Que se divide en los siguientes pasos (vease figura 9.8): a.
Paso 1. Identijicar los objetivos de negocio. En este primer paso se deben identificar los objetivos que dirigen los esfuerzos de la organizaci6n y puede iniciarse en cualquier nivel de la organizaci6n en el que se puedan establecer de fonna razonable dichos objetivos. Una vez identificados dichos objetivos es necesario priorizarlos. Como resultado se obtiene una lista de objetivos ordenada seglll1 su prioridad.
R.-\-?v1:\
225
b.
Paso 2. Identijicar 10 que se quiere co/weer 0 aprender. Una vez identificados los objetivos de negocio, el siguiente paso es comenzar a identificar 10 que a la organizaci6n Ie gustaria saber con el fin de entender. yalorar. predecir 0 mejorar las actividades relacionadas con la consecuci6n de los objetivos. Para ello se fonnulan preguntas tales como "(:QlII? aetividades tengo que gestionar 0 reali::ar?" y se completan sentencias del tipo "Para !weer esto. neeesitare...". Ello implica en este paso la traducci6n de los objetivos de negocio en declaraciones a nivel operacional. Los objetivos son enlazados con el conocimiento obtenido de los procesos de negocio y estrategias de la organizaci6n. Las preguntas relacionadas con los objetivos planteados son estmcturadas en fonna de entidades (productos de trabajo 0 actividades) y ahibutos (tamafio, esfuerzo 0 calidad) asociados con los procesos de la organizaci6n. En muchas ocasiones la descripci6n de los procesos de trabajo de la organizaci6n no es explicita y se encuentra m::is bien como un modelo mental en la misma. En todo caso es de gran relevancia identificar los productos de trabajo. actividades y otras entidades que puedan ofrecer oportunidades de mejora. Paso 3. ldelltijicar los subobjetivos. Los subobjetivos proporcionan un refinamiento a nivel operacional de los objetivos generales. Se obtienen analizando las similitudes y aspectos comunes de las preguntas planteadas sobre las entidades. agrupando las mismas en funci6n de los aspectos que h'atan de resolver. Ello pem1ite identificar mas claramente la relaci6n entre los resultados obtenidos (respuestas a las preguntas) y los objetivos. Paso 4. Identijicar las entidades y atriblltos relacionados COil los sllbobjetivos. En este paso se utilizan las preguntas para refinar el modelo mental del proceso y sus entidades y atributos asociados. Esto pennite establecer un conjunto bien definido de objetivos de negocio que son utilizados para el ananque del proceso GQ(I)M propial11ente dicho. Este paso cOl11ienza seleccionando las prt3guntas que se consideran relevantes y que sue len estar asociadas con los subobjetivos de mayor prioridad. Una vez que se tiene una lista de preguntas es necesario identificar las entidades implicadas y sus atributos. La cuantificaci6n de estos atributos debe pel111itir obtener respuestas a las preguntas planteadas. Este paso es iterativo 10 que puede conducir al refinamiento de las cuestiones y subobjetivos a medida que se l11ejora el esbozo 0 esquema mental del proceso. Paso 5. FOl'lJIa/i;,ar los objetivos de negocio. En este paso se traducen los objetiYos de negocio en objetivos de medici6n. que une el prop6sito y las perspectivas de los objetivos del negoclo con las posibilidades de
c.
d.
e.
226
medicion que existen en la organizacion de acuerdo a sus procesos de trabajo. AdetTI<ls, el objetivo de medicion expresa los factores del entomo que es impOltante en tender por todos aqu~llos encargados del diseno y realizacion de las actividades de medicion y amilisis. Para estar bien estructurados los objetivos de medicion deben incluir: el objeto de interes (entidad); el proposito, la perspectiva y una de scrip cion del entomo y restricciones. EI proposito de la medici on puede ser: entender, predecir, planificar, controlar, comparar, valorar 0 mejorar algll11 aspecto de calidad 0 productividad del objeto 0 entidad. La perspectiva identifica qui en 0 quienes son los interesados en los resultados de la medicion. La infom1acion del contexto 0 entomo ayuda en la interpretacion de los resultados de la medicion. 2.
Paso 6. Idelltijicar preguntas cllalltijicables y los illdicadol'es I'elacionados. En este paso se identifican las preguntas e indicadores a partir de cada uno de los objetivos de medicion planteados. Los indicadores representan los productos obtenidos en las actividades de medicion y son utilizados por los directores de proyectos y profesionales como fuente de infonnacion de sopOlte para la toma de decisiones. A la hora de disenar un indicador hay que considerar aspectos tales como la frecuencia de toma de datos, el tiempo requerido para generar el indicador, la necesidad de datos historicos, etc. En este sentido es muy uti 1 el uso de plantillas que faciliten la definicion de indicadores. En el apattado 2.3.1 se describe la plantilla de definicion de indicadores de la metodologia GQ(I)M. Otro aspecto impOltante para facilitar a las organizaciones entender claramente si han alcanzado sus objetivos es distinguir los tipos de indicadores que se pueden definir. Goethert y Saviy (2004) distinguen tres tipos de indicadores:
lndicadores de progreso. Estos indicadores se utilizan para realizar el seguimiento del progreso en la ejecucion de las tareas definidas. POI' ejemplo, las tecnicas de "Valor Anadido" (earned vallie) 0 los diagramas de Gantt penniten construir buenos indicadores de este tipo. El cumplimiento de los val ores de este tipo de indicador significani que la ejecucion de las tare as se esta lievando a cabo con exito pero no garantiza la consecucion de los objetivos de negocio aunque un falio en este indicador puede significar un problema impottante para conseguir dichos objetivos.
R./\.-MA
227
Un indicador que representa el nillnero y tipo de defectos detectado en cada fase del desarrollo es un ejemplo de este tipo de indicadores. b.
Paso 7. Identificar los elementos de datos. Los indicadores reflejan los elementos de datos que son necesarios. En esta etapa se identifican estos elementos 10 que significa que no es necesario aim que se definan las metricas, tarea que se realiza en el siguiente paso. Paso 8. Definir las metricas. Una vez identificados los elementos de datos hay que definir las metricas necesarias que perrnitan obtener respuesta a las preguntas planteadas. La definicion de las metricas es un paso clave para obtener una interpretacion adecuada de los datos recogidos y debe realizarse teniendo en mente el proposito del indicador o indicadores. Para facilitar una definicion no ambigua de las metric as el SEI ha propuesto una serie de marcos de trabajo de la medici on con listas de comprobacion para metricas que evalilan atributos como el tamafio, esfuerzo, consecucion de hitos y defectos (Park, 1992; Florac, 1992; Goethert, 1992).
c.
Objetivos de
Medici6n
01
02
<&
Objetivos
:'\cgocio- SubObjcti\"os - \ledici6n
Paso
..
Preguntas
P1
P2
P2
Prcguntas
Paso
<\
A
11
Indicadores
12
~
13
14
lndicadorcs
1! ..
MtHricas
-e M1
M2
M3
Paso
V
)(
Figura 9. 9. Definicion de Indicadores en GQ(I)M (Adaptado de Goethert y Siviy, 2004 y Park et al., 1996)
3.
228
a.
Paso 9. Identificar las acciolles a implementm: Hasta el momento ya se dispone de la definicion de los indicadores y metricas que pueden dar respuesta a las preguntas planteadas en funcion de los objetivos de negocio. Ahora es el momento de analizar la situacion actual en la organizacion con respecto a las necesidades de infonl1acion planteadas. Es necesario identificar las fuentes de informacion existentes en 11 organizacion ya que los elementos de datos requeridos podrian encontrarse en una gran diversidad de fuentes que incluyen planes de proyectos, sistemas de seguimiento de defectos. de gestion de configuracion. de generacion de infonnes de esfuerzo. etc. Del mismo modo, hay que hacer un amilisis de los datos que son necesarios y no estan disponibles en la organizacion en el que se valore la cantidad de esfherzo que requiere su obtencion. En este aspecto se considera si son necesarias nuevas helTamientas. fOl11mlarios 0 incluso fonl1acion para obtener los datos. En este paso tambien se deben pliorizar los datos respecto a los indicadores de los que dependen. Por ella para cada elemento de datos se debe detel111inar su estado respecto de si existe una explicita definicion de una metrica para dicho elemento de datos. si se han detenninado los puntos en el proceso en el que se realizaran las medici ones y su frecuencia. si hay fOl11mlarios y procedimientos para recoger y registrar los datos. quien tomara dichos datos: como se analizaran. si hay helTamientas de soporte. etc. Paso 10. Preparar lIll plan de accion. Una vez que se ha realizado el analisis necesario y se conocen los datos requeridos y las actividades de medicion a llevar a cabo para obtenerlos es el momenta de definir el plan en el que se incluyan las acciones concretas a llevar a cabo para satisfacer las necesidades de infor111acion planteadas.
b.
RA-M.-'..
229
(!)
Preguntas: la lista de preguntas que el usuario del indicador intenta responder con su definicion. Representacion Gnifica del indicador. Perspectiva 0 punto de vista, es decir, la descripcion de la audiencia de interes para la que se ha definido el indicador. Entradas: la lista y definiciones de las metricas requeridas para constmir el indicador. Algoritmos: la descripcion del algoritmo usado para constmir el indicador a partir de las metticas definidas. Suposiciones: la lista de suposiciones sobre la organizaclon, sus procesos, modelo de ciclo de vida, y todos aquellos datos que sean impOltantes para obtener y usar el indicador. Informacion de toma de datos: en la que se indica como, cuando, con que frecuencia, quienes, etc. relll1en los elementos de datos requelidos en la construccion del indicador. Informacion de generacion de informes de datos: infonnacion sobre qui en es responsable para generar los infonnes de los datos, para quienes y la frecuencia de almacenamiento, recuperacion y segUlidad de los datos. Amilisis e Interpretacion de los resultados: infonnacion sobre como analizar e interpretar el indicador.
(!)
(!)
(!)
(!)
(!)
(!)
(!)
(!)
Las organizaciones pueden adaptar la estructura de esta plantilla a sus entomos particulares ya que la plantilla propuesta par el SEI incluye los campos que se consideran COl11unes para la definicion de indicadores. Algunos ejemplos de aplicacion de la plantilla de indicadores pueden consultarse en Goethert y Siviy (2004).
230
PSM prop one un Modelo de Procesos de Medida (figura 9.10) que se divide en cuatro actividades principales: I.
Planificacion de la Medicion. En esta actividad se definen las mehicas necesarias que proporcionen la visibilidad en los proyectos necesaria para satisfacer las necesidades de infom1aci6n. Esta actividad inc1uye identificar que necesitan saber los beneficiarios de la medici6n (encargados de la toma de decisiones), relacionar las necesidades de infonnaci6n con las entidades que pueden ser medidas y seleccionar y especificar meh"icas basadas en los proyectos y en los procesos organizacionales. Realizacion de la Medicion. Esta actividad implica reunir los datos de las
mediciones, realizar el amilisis y presentar los resultados para que la infonnaci6n pueda ser util para la toma de decisiones.
2.
3.
4.
Establecimiento y mantenimiento del Compromiso. Esta actividad implica establecer los recursos, fonnaci6n y henamientas necesarias para implementar un programa de medici6n de fonna efectiva, y 10 que es m:ls importante, asegurar que hay una gesti6n que usa la infonnaci6n producida.
Realimentacion de los usuarios
.......
Plan de Medida
.. Planificar el .. proceso
Acciones de Mejora
Evaluaci6n
Ambito de PSM
\;': RA.-MA
231
Un aspecto basico para disponer de programas de medicion efectivos es el hecho de disponer, al final del proceso, de infom1acion (itil para los encargados de la toma de decisiones. Para ella PSM incorpora un modelo de infonnacion de la medicion que relaciona las entidades que son medidas con las medidas definidas y en ultima instancia con las necesidades de infonnacion que se satisfacen. Este modelo incorpora una estructura denominada constructor de la medicion que describe como los atributos relevantes de los productos y procesos se cuantifican y se convierten en indicadores, que son elementos que proporcionan la base necesaria para la toma de decisiones. Todo constructor de la medicion implica tr'es niveles de medida: medidas base, medidas derivadas e indicadores. La relacion que establece un constr1.1ctor de la medicion entre 10 que se mide y la necesidad de infonnacion que se tiene (que se satisface con un producto de informacion) se representa en la figura 9.11.
Atributo
Indicador
.........fIi>- Producto de
Informacion
En definitiva, PSM proporciona un metodo sistematico para la planificacion y realizacion del proceso de medicion y analisis. Constiulye la referencia en la que se basa el estandar intemacional ISOIIEC 15939, Y ambos se han convertido en la referencia para la industria proporcionando ademas un lenguaje COmlll1 que facilita la comunicacion en el ambito de la medicion software.
2.5. IEEE Std 1061-1998. Metodologia para Metricas de Calidad del Software
Seglll1 este estandar (IEEE. 1998b) la calidad del software se puede considerar como el grado en el que el software posee una combinacion cIaramente definida y deseable de atIibutos de calidad. Este estandar, pues, trata de definir la calidad del software para un sistema mediante una lista de atributos de calidad del software requeridos por el propio sistema. El proposito de las metIicas del software es hacer evaluaciones a traves del cicIo de vida del software para comprobar si los requisitos de calidad del software se estan cumpliendo, aunque sin que ella elimine la necesidad de un juicio humano en las evaluaciones de software.
232
Lograr sus objetivos de cali dad. Establecer requisitos de calidad para un sistema en su inicio. Establecer criterios de aceptaci6n y estandares. Evaluar el nivel de calidad logr'ado frente a los requisitos establecidos. Detectar anomalias
0
I)
I)
I)
I)
problemas en el sistema.
I)
Predecir el nivel de calidad que se lograra en el futuro. Evaluar la facilidad de cambio en el sistema durante la evoluci6n del producto. Nonnalizar, escalar, calibrar 0 validar una metrica.
I)
I)
En la figura 9.12 se muestra el marco de trabajo para las metl1cas de calidad de sofuvare. Es un marco disei'iado para ser flexible y aplicable a todos los sistemas. adaptandose a cada caso concreto sin cambiar los conceptos basicos.
CaUdad del Software de un Sistema
Factor
\!etrica
Figura 9.12. Marco de trabajo para metricas de calidad de software en IEEE 1061-1998
EI estandar IEEE 1061-1998 propone una metodologia con el fin de establecer los requisitos de calidad e identificar, implementar, analizar y validar el proceso y los productos de calidad del sofuvare. Esta metodologia consta de los pasos que se detaIl an a continuaci6n:
{; RA-'\IA
233
I.
Identificacion de las iVIetricas de Calidad del Software. Las acciones a realizar en este paso son:
a. b. c. d. e.
Aplicar el marco de trabajo de las metricas de calidad del software. Realizar un amllisis coste-beneficio. Identificar los costes de la implementaci6n de las metlicas. Identificar los beneficios al aplicar las metIicas. Ajustar el conjunto de metlicas. Adquirir un compromiso con el conjunto de metlicas.
f.
2.
a. b. c. 3.
Definici6n de los procedimientos de la colecci6n de datos. Realizar un prototipo del proceso de medici6n. Agrupar los datos y calcular los val ores de las metlicas.
Analisis de los Resultados de las iVIetricas del Software. Paso compuesto por:
a. b. c. d. 4.
Interpretar los resultados. Identificar la calidad del sofuvare. Hacer predicciones de la calidad del sofuvare. Garantizar la confonnidad con los requisitos.
Validacion de las iVIetricas de CaUdad del Software. Para 10 cllal se realizan las siguientes acciones:
a. b. c. d.
Propuesta de validaci6n de las metricas. Uso de criterios de yalidaci6n. Procedimiento de yalidaci6n. Requisitos adicionales.
234
:,:
5.
Validaci6n de las Metricas de Calidad del Software. Para 10 cual se realizan las siguientes acciones:
a. b. c. d. Propuesta de validacion de las mehicas. Uso de critelios de validacion. Procedimiento de validacion. Requisitos adicionales.
Se establece y mantiene un acuerdo dentro de la organizacion a la hora de medir. Se identifican las necesidades de informacion de los procesos tecnicos y de gestion. Se identifica yio define un conjunto apropiado de medidas en funcion de las necesidades de infonnacion. Se identifican las actividades de la medici on. Se recopilan, almacenan y analizan los datos necesarios y se interpretan los resultados. Se usan productos de infonnacion para apoyar las decisiones y proporcionar una base objetiva para la comunicacion. Se eva III an el proceso de la medida y las propias medidas. Las mejoras se comunican al responsable del proceso de medicion.
o o
o o
RA-\1A
235
Tal y como ya se ha comentado, este estandar define las actividades y tareas necesmias para implementar un proceso de medicion de software. Una actividad es un conjunto de tareas relacionadas que contribuyen a alcanzar el objetivo y los resultados del proceso de medicion de software. Una tarea es un segmento de trabajo bien definido. Lo que este estandar no especifica es como realizar cada una de las tare as que componen cada actividad. El proceso de medicion de software propuesto en el estandar se compone de cuah'o actividades principales (figura 9.13) que se suceden en un proceso iterativo pennitiendo una realimentacion y una mejora continua del proceso de medici on. Los Procesos Tecn;cos y de Gest;on de una organizacion no se encuentran dentro del ambito de este estandar, aunque son una intelfaz extema impOIiante para las actividades de medicion que se incluyen en el estandar. Hay dos actividades que se consideran el nllcleo del proceso de medici on: Planificar y Realizar el Proceso de Medicion. Son las actividades que indican principalmente la implicacion del usuario de la medicion. Las otras dos actividades proporcionan la base del nllcleo del proceso y realimentacion para el propio mkleo e involucran mas al propietario del proceso.
Requerimientos de t.1edicion
Productos Informativos
v
Establecer y Mantener el compromiso de medici6n ::
Compromiso
Planificar el proceso
Evaluaci6n
p!anfr7cacfon
<I
acc/ones de majora
Como se aprecia en la figura 9.13, para cada necesidad de infonnacion, el nllcleo proporciona un producto de infonllacion que la satisfaga y este se comunica a la organizacion para que sirva como base en la toma de decisiones.
236
La Base de Experiencia de Medicion pretende capturar productos de infonnacion de iteraciones anteriores del ciclo. evaluaciones anteriores de productos de infonnacion y evaluaciones de iteraciones anteriores del proceso de medicion. As! se incluyen las medidas que han resultado ser lltiles en la organizacion. Las tareas para las diferentes actividades del proceso de medicion de acuerdo al estandar se muestran en la tabla 9.5.
ACTIVlDAI)
I
TAREAS
EYalllar la Medicion
Aceptar los requisitos de la l11edicion Asignar recursos Obtener las caracteristicas de la organizacion Identificar las necesidades de infol111acion Seleccionar las medidas Definir los procedimientos de recoleccion de datos. analisis e infol111eS Detlnir los criterios de eyaluacion de los productos de infol1mcion y el proceso de medicion Reyisar. aprobar y proporcionar recursos para las tareas de medicion Adquirir y utilizar tecnologias de apoyo Integrar los procedimientos Tomar los datos Analizar los datos y desanollar productos de infol111acion Comunicar los resultados Eyaluar los prodllctos de infol111acion y el proceso de medicion Identiticar las mejoras Eotenciales
3. METRiCAS SOFTWARE
Tal y como se ha descrito en los apm1ados anteriores, el objetivo de todo proceso de medicion es recopilar indicadores cuantitativos sobre entidades software. siendo una entidad software to do elemento software sobre el que se puede aplicar un proceso de medici6n y que estan caracterizadas por una serie de atributos (tamailo, tiempo, etc .. ). Para realizar Ia medicion es necesmio identificar'tanto las entidades como los atributos a medir. es decir. no se puede medir una entidad 0 un atributo de fonna aislada. como por ejemplo medir un programa 0 medir el tamano. sino que se tienen que medir de fonna conjunta. especificando que 10 que se qui ere medir es el tamano de un programa (Morasca. 2001). Con todo ello, para el estudio de la medicion del software hay que estudiar las entidades que pueden ser objeto de medicion as! como los atributos caracteristicos de dichas entidades. En este apartado se aporta una vision general sobre el campo de las metric as software.
237
De acuerdo a modelos de evaluacion y mejora como ISO 15504, CMM, 0 CMMI. a la hora de incrementar el nivel de madurez de una organizacion hay que establecer una base cuantitativa que de menor a mayor grado de madmez esta enfocada sobre:
o o
o
Medicion del Proyecto, basado en la gestion de proyectos. Medicion del Producto. centrado en su calidad y aspectos tecnicos. Medicion del Proceso, bas ado en el estudio y control de la capacidad de los procesos, as! como en la gestion de los cambios en el proceso.
La relacion entre las metricas de proceso, proyecto y producto se muestra en la figura 9.14. Como se puede observar en dicha figura, el proceso software constituye la base a partir de la cual se realiza el trabajo denh'o de una organizacion. Dichos procesos se aplican en la practica en fonna de proyectos. Como resultado de la ejecucion de proyectos concretos se utilizan recursos y se obtienen productos. Por 10 tanto, para establecer un marco de medici6n denh'o de una organizacion es necesario definir, recoger y analizar metIicas sobre el proceso, el proyecto y recursos asociados as! como el producto software, A continuaci6n se da una vision general sobre las metlicas de estos tres tipos de entidades software.
Metricas de Proceso
Metricas de Producto
Metricas de Producto
238
De acuerdo a Pressman (2002) las metric as del proceso de software se utilizan para prop6sitos estrategicos y en muchas propuestas, la medici6n del proceso se realiza extrayendo las caracteristicas de tareas especificas de la ingenieria de software y obteniendo como resultados metlicas sobre los en'ores detectados antes de la entrega del software, defectos detectados e infol111ados por los usuarios finales, productos de trabajo entregados, el esfuerzo humano y tiempo consumido, ajuste con la planificaci6n, etc. Por ello, en la bibliografia, el enfoque de medici6n del proceso se ha centrado en recopilar una selie de meuicas de todos los proyectos y durante un largo peliodo de tiempo con el objetivo es proporcionar indicadores que lleven a mejoras de los procesos software a lar'go plazo. En este senti do un area clave de investigaci6n es el control estadistico de procesos (Florac y Carleton, 1999). Otro posible enfoque de l11edici6n del proceso es a nivel conceptual, ya que es posible que la complejidad u oU'as caracteristicas de calidad del modelo puedan afectar a su ejecuci6n (enactment) y por consiguiente a la calidad de los productos finales obtenidos. En este aspecto se pueden encontrar algunos estudios de para evaluar la mantenibilidad de los modelos de procesos software (Garcia, 2004; Canfora et al., 2005).
En relaci6n a las metricas de proceso, las mediciones del proyecto de software son tacticas, es decir, las metric as de proyectos y los indicadores derivados de ellos son utilizados por un adminisu'ador de proyectos y por un equipo de software para adaptar el flujo de u'abajo del proyecto y las actividades tecnicas. El primer tipo de meuicas de proyectos software pueden ser obtenidas durante la fase de estimaci6n. Las metricas recopiladas de proyectos anteriores se utilizan como la base a partir de la cual se realizan las estimaciones del esfuerzo y del tiempo necesario para el proyecto actual. A medida que avanza un proyecto, las metric as del esfuerzo y del
!': RA-MA
239
tiempo consumido se comparan con las estimaciones originales (y la planificacion del proyecto). EI administrador de proyectos utiliza estos datos para supervisar y controlar el avance. Para la estimacion del tamai'io del software cabe destacar la metrica de "Punta FZlI1cion" (vease apartado 3.3.4) mientras que para la estimacion de costes de un proyecto caben destacar los modelos COCOMO (COnstmctive COst MOdel) creado por Larry BoelU11 en 1981 y su posterior refinamiento en la version actualmente en vIgor COCOMO II. En relacion a la estimacion de proyectos software existen model os como el de Putnam y Myers (1992) en el que se desarrollan una ecuacion basica del software expresada como: Producto = Productividad * Esfuerzo * Tiempo, donde "Prodllcta" representa la funcionalidad expresada en tamano, "Esfiterza" el esfuerzo total del personal del proyecto para desarrollar el producto, "Tiempo" es la duracion del proyecto, y la "Prodllctividad' depende de divers os factores que se pueden clasificar en factores de producto (como su dificultad tecnica en funcion de aspectos como restricciones hardware, complejidad algoritmica, complejidad logica, complejidad de gestion, estabilidad de la plataforma) y de proceso (dependiente de las herramientas y metodos us ados as! como del perfil del personal utilizado). La anterior ecuacion fue posteriol1nente ajustada en base al aniilisis de resultados historicos de una gran base de datos de proyectos, quedando: Tamafio Producto = Indice de Productividad * Esfuerzo a * Tiempob., siendo a = 113 y b=4/3, el "Tamaiia" igual al numero de lineas de codigo fuente (nuevas y modificadas pero sin considerar espacios en blanco y comentarios), y esfuerzo y tiempo representan los mlos de esfuerzo y duracion de todas las fases del proyecto. Otro de los elementos clave a mediI' a nivel de proyectos son sus recursos, que son entre otros, el personal implicado, las infi:aestructuras. hardware y software, etc. Una metlica muy utilizada es la productividad del personal, que se obtiene dividiendo el tamano pOl' el esfuerzo. Esto implica dividir una metlica de producto pOI' una metrica de proceso para obtener una metlica de recurso. En general se considera la productividad como la division de la salida poria entrada. En Ingenieria del Software es habitual indicar la entl'ada como el esfuerzo en personas mes, y la salida como el numero de lineas de codigo. Al utilizar lineas de codigo como metlica de tammlo existen algunas dificultades sobre to do para comparar distintos proyectos en los que se utilizan otros lenguajes 0 entomos de programacion.
2,)0
1': R.-\-\L-\
La metric a anterior solo mide la productividad del personal durante la implementacion. Autores como Fenton and Pfleeger (1997) sugieren utilizar otras metric as de productividad ya que la productividad del personal no considera la calidad del codigo obtenido. Otros recursos relevantes a considerar son los equipos de trabajo y las hen-amientas (Fenton y Pfleeger, 1997). La productividad de los miembros del equipo de trabajo depende de muchos factores, como par ejemplo la estructura del equipo. las helTamientas y los metodos utilizados. Por otro lado tambien se considera la experiencia como un factor importante de productividad, aunque es dificil de medir. Tambien es impOltante considerar de fonna separada ia expeIiencia de los individuos y la experiencia del equipo, ya que aunque los integrantes de un equipo puedan tener buena experiencia. el equipo puede que no funcione bien y la productividad sea baja. En general la experiencia individual se puede mediI' con escalas ordinales pero es importante considerar que la expeIiencia se actualiza con mucha frecuencia. En relacion a las hen-amientas, es importante establecer su relacion con otras variables del proyecto como la eficacia de las hen-amientas en tel111inos de la calidad obtenida, tiempo de entrega y la productividad del personal que las utilizo. De hecho los modelos de estimacion consideran el uso de las hen-amientas a la hora de estimar el tamafio 0 coste de desan-ollo de software. Tal y como indica Pressman (2002), otras metric as de proyectos pueden ser obtenidas una vez que comienza el desaITOllo del producto propiamente dicho y en este aspecto es impOltante realizar un seguimiento de los en-ores detectados durante todas las tare as de ingenieria del software. A medida que el software va evolucionando desde la especificacion al disefio. se recopilan las metricas tecnicas para evaluar la calidad del disei'io y para proporcionar indicadores que influirim en el enfoque a seguir para la generacion de codigo y para las pruebas. El uso de metricas para los proyectos tiene dos caracteristicas fundamentales (McDennid. 1991): estas metlicas se utilizan para minimizar la planificacion de desan-ollo guiando los ajustes necesarios que eviten retrasos y atemien problemas y riesgos potenciales; y se utilizan para evaluar la calidad de los productos en el momenta actual con el fin de poder mejorarlos.
(". R.>\-\IA
2-11
Lineas de cOdigo (LOC, Lines of Code), es la metrica mas popular a nivel de codigo de programa. Sin embargo. a pesar de ser ampliamente conocida y utilizada, el problema de esta metric a ha sido la falta de consenso existente a la hora de definir que es una linea de codigo. ya que esta definicion variara en n.mci6n de las necesidades 0 de la persona que la aplique. Por ejemplo. seglm el objetivo perseguido por la medicion sera importante contar las lineas de comentario como line as de codigo mientras que en otras ocasiones sera imprescindible no contar los comentarios como lineas de codigo. Por ello, para aplicar esta metrica es fundamental establecer claramente que elementos hay que considerar como linea de c6digo y como deben contarse. En particular es necesario clarificar elementos como las lineas en blanco. los comentarios. las declaraciones de datos y las lineas que contienen instrucciones separadas. En general se recomienda separar en la medicion de la longitud las lineas de codigo y los comentarios, quedando (Fenton y Pfleeger. 1997):
Se define Longitud Total (L T) como la suma del Nlll11ero de Lineas de Codigo que no son comentarios (NClOC) mas e1 nlll11ero de lineas de codigo que son comentarios (ClOC). A par1ir de la metrica anterior se pueden definir otras metric as derivadas titiles. como 1a densidad de comentarios (ClOC/lOC). que puede dar una idea sobre e1 punto hasta e1 cual esta documentado e1 codigo. Para facilitar 1a obtencion e interpretacion de la metric a lOC, el SEI ha definido listas de comprobacion (Park, 1992) en las que se indica que como linea de cOdigo se debe considerar todo el codigo ejecutable, declaraciones no ejecutables y directivas de compilacion. pero no las lineas en blanco. Tambien se debe considerar en la medici on la fon11a en la que el codigo ha sido producido (programando. usando generadores de codigo n.lente, copiado 0 reutilizado sin realizar cambi@s. modificado 0 conver1ido con traductores automiiticos). Otras metricas definidas para evaluar la longitud de un programa son:
e
Numero de sentencias de programacion. Presenta el mlsmo tipo de problemas de ambigiiedad que la metrica lOC.
2.+2
: R,\-;vIA
Metricas de la Ciencia del Software (Soff1mre Science). Propuestas por Halstead (1977) para intentar independizar las metric as del lenguaje de programaci6n. Se basan en los tokens (unidades sintacticas elementales distinguibles pOl' el compilador) y que pueden ser divididos en operadores y operandos. Las metricas son la longitud de un programa, el volumen de un programa y el esfuerzo de implementaci6n de un programa. Las metricas base definidas para estos elementos son:
o
Ill: el nllmero de operadores diferentes que aparecen en el programa
o o o
N1: el nlllnero total de veces que aparece el operador N2: el nlunero total de veces que aparece el operando
A partir de las metri.cas base Halstead define una seli.e de metri.cas deli.vadas que penni ten evaluar (Pressman, 2002): la longirud global del programa; el volumen minima potencial para un algOli.trno; el volumen real (nlllnero de bits requeridos para especificar un programa); el nivel del programa (una medida de la complejidad del software); nivel del lenguaje (una constante para un lenguaje dado); y otr'as caracteristicas tales como esfuerzo de desalTollo, tiempo de desalTollo e incluso el nlunero esperado de fallos en el software. Como metri.ca mas representativa para evaluar la longirud Halstead prop one la metli.ca N, que es la suma de N1 y N2. Del resto de metri.cas cabe destacar:
e e
Volumen de un programa: V = N . log2 (11), siendo Longitud global del programa: N' = III . log2 (Ill) +
~l ~12'
III
+~12. (~12)
log2
Fenton y Pfleeger (1997) consideran que aunque la propuesta de Halstead ha tenido un gran imp acto en la medici6n software, constitrlye un ejemplo de medici6n inadecuada, al proporcionar algunas metri.cas con definiciones confusas 10 que puede provocar diversas interpretaciones de las mismas.
Complejidad Ciclomatica (V(G)), propuesta par McCabe (1976), para evaluar la complejidad de un programa. Esta metri.ca es, ademas de la primera metri.ca conocida, una de las mas estudiadas y utilizadas. La metrica V(G) esta basada en la teoria de grafos y mide el numero de caminos linealmente independientes de un programa, que puede representarse mediante un grafo de flujo de contro!' Esta metri.ca puede calcularse de la siguiente fonna:
V(G)=A-N+2
~RA-MA
2.+3
siendo A el numero de arcos del grafo y N el nlllllero de nodos. A mayor valor de la metrica V(O) mayor complejidad del programa. McCabe indico tambien que un valor razonable de esta metrica para que un modulo fuera mantenible debia ser menor de diez. Diversos estudios empiricos han encontrado una fuelte cone lac ion entre la metrica de McCabe y el numero de enores que existen en el codigo fuente, as! como el tiempo requelido para encontr'ar y conegir dichos enores. Otr-a de las aplicaciones de esta metric a ha sido a nivel de pmebas del software ya que puede utilizarse para predecir la cantidad de esfuerzo necesario para probar un modulo 0 programa.
o
Fan-in (concentracion) y fan-out (expansion). Propuestas por Henry y Kafura (1981). Ambas metr-icas trabajan sobre la estr1.1ctura de un modulo representada como un arbol 0 grafo de llamadas entre modulos_ Eljan-in de un modulo m es el numero de flujos que tenninan en m mientr'as que eljan-ollt es el numero de flujos que salen de m. Complejidad de un modulo, que esta basada en las dos metricas anteriores y creada tambien pOl' Henry y Kafura (1981) siendo su definicion: MHK = longitud (i) . [fan-in (i) + fan-out(i)]2,
donde la longitud (i) es el numero de sentencias en lenguaje de programacion en el modulo i. Henry y Kafhra amplian la definicion de concentracion y expansion no s610 como el nllmero de conexi ones de control del modulo (llamadas al modulo), sino tambien el nlllllero de estmcturas de datos del que el modulo i relme (concentracion) 0 actualiza (expansion) datos.
Conjunto de Metric as MOOSE, compuesto por las siguientes seis metricas propuestas por Chidamber y Kemerer (1994): o
Metodos ponderados por clase (WMC, 'Weighted Methods per Class), que mide la complejidad de una c1ase. Si todos los metodos son igualmente complejos, entonces WMC es igual al numero de metodos definidos en una c1ase. Sea la c1ase C que tiene los metodos j'vh ...... , Ml1 siendo su complejidad respectiva cJ, .... , Cn, es posible definir la fonnula:
24-1
' R.Vv!A
Profundidad del l<\rbol de Herencia de una Clase, (DIT. Depth ot" inheritance Tree). La metric a DIT mide el maximo nivel en la jerarquia de herencia. Se trata de la cuenta directa de los niveles de la jerarquia de herencia. considerando que en elnivel cero de la jerarquia se encuentra la clase raiz. DIT se considera como una metric a del nlunero de clases antecesoras que una clase podIia potencialmente afectar, debido a que cuanto mayor sea elnivel de profundidad de herencia de una clase mayor es el nl1l11ero de metodos y atributos que hereda de otras clases. Numero de Hijos (NOC, Number of Children). NOC es el nllmero de subclases subordinadas a una clase en la jerarquia, es decir, la cantidad de subclases que peltenecen a una clase. Seglll1 Chidamber y Kemerer (1994), NOC es un indicador del nivel de reutilizacion. de la posibilidad de hacer creado abstracciones elToneas, y delnivel de pruebas requerido. Acoplamiento entre Objetos (CBO. COZlpiing Between O~jects). La metrica CBO indica para una clase el nlunero de otras clases con las que esta acoplada. Se considera que un objeto esta acoplado a otro cuando actlJa sobre ese otro objeto, por ejemplo cuando un metodo de un objeto utiliza un metodo de otro objeto. Esta metIica se considera lltil para predecir el esfherzo necesario para el mantenimiento y las pruebas. Respuesta de una clase (RFC, Response For a Class), RFC indica el nlll11ero de metodos que pueden ser ejecutados potencialmente como respuesta a un mensaje recibido por un objeto de esa clase. RFC pOI' 10 tanto se ca1cula contando las oCLllTencias de llamadas a otras clases de una clase particular. Falta de cohesion en los metodos (LCOM. Lack of Cohesion in Methods). LCOM establece en que medida los metodos hacen referencia a atIibutos. Se ca1cula como el nllmero de pares de umciones sin variables compartidas de instancia menos el numero de pares de umciones con valiables de instancia compartidas. LCOM es una metrica de la cohesion de una clase en base al nllmero de atributos comunes usados por diferentes metodos. Un valor alto en LCOM implica falta de cohesion. es decir, escasa similitud entre los metodos siendo siempre deseable un alto grado de cohesion en los metodos de una clase.
Metricas MOOD (Brito e Abreu y Calapuca. 1994). EI objetivo de las metric as MOOD es medir los plincipales mecanismos del paradigma 00, tales como encapsulamiento, herencia, polimorfismo y paso de mensajes, asi como polimorfismo y su consecuente int1uencia sobre la cali dad del software y la productividad en el desalTollo. Las metI-icas MOOD se pueden utilizar en las fases de disei'io y se definieron para ser aplicadas a nivel de diagrama de clases (vease tabla 9.6). Metricas de Lorenz y Kidd (1994). Lorenz y Kidd (1994) propusieron un conjunto de metricas llamadas '"metricas de diseiio'. que se refieren a caracteristicas estaticas
RA-\!A
2.+5
del disefio de un producto software. Estos autores clasificaron las metncas en: metricas de tamai'io, metric as de herencia y metricas de caracteristicas intemas de las clases. En la tabla 9.7 se muestran aquellas metricas que pueden aplicarse a un disefio de alto nive!.
NOMBRE
""
DEFINICIOr;
\IHF
EI Factor de Ocultamiento de los Metodos (,He/ed Hiding Factor) mide la proporcion entre los metodos ddinidos como protegidos 0 prh'ados y el nt1!nero total de J11i'!todos. MHF se propone como una medida de encapsulacion. cantidad relativa de infoTInacion oculta. EI Factor de Ocultamiento de los Atributos (.-!.ltribwe Hiding FaclOr) se define como el cociente entre la suma de las invisibilidades de todos los atributos detinidos en todas las clases y el nt1!nero total de atributos definidos en el sistema considerado. La invisibilidad de un atributo es el porcentaje del total de clases desde las cuales los atributos son im"isibles. AHF se definio como una medida de encapsulacion. EI Factor de Herencia de los Metodos (Method inheritance Factor) se define como el cociente entre la suma de los metodos heredados en todas las clases del sistema considerado y el numero total de metodos existentes (tanto los detinidos localmente como los heredados) en todas las clases. MIF se define como una medida de herencia. y por 10 tanto como una medida del nivel de reutilizacion. EI Factor de Herencia de los Atributos (Auribllle inheritance FaclOr) se define como el cociente entre In suma de los atributos heredados ell todas las clases del sistema considerado y d numero total de atlibutos existentes (tanto los detinidos localmente como los heredados) en todas las clases. Al igual que :vlIF. AIF se considera como un medio para expresar la capacidad de reutilizacion en un sistema. EI Factor de Polimorfismo (Po~nIl0/7)hislll FaclOr) se define como el cociente entre el ntllnero actual de posibles diferentes situaciones de polimortismo. y cl nLlmero maximo de posibks situaciones distintas de polimortismo para la clase Ci. PF es una medida del polimodismo y una medida indirecta de la asociacion dinamica en un sistema.
AHF
\IlF
AIF
PF
En resumen. se consideran las relaciones de inclusi6n y extensi6n y las relaciones de control y de dependencia de datos. La intuici6n aconseja que. cuantas lmis relaciones haya en el modelo. 111<1S dificil sera hacer cualquier cambio. Otro factor que influye en la modificabilidad de los casos de usa es el tipo de caSG de uso. Simplificando la idea, si un caso tiene yarios objetivos (tipos para Saeki), es mas susceptible de cambiar que si tiene s610 un objetiyo. Para aproximar la modificabilidad. se definen las metric as NOD (Numero de Dependencias) y NUCT (NCul1ero de Tipos de Casos de Uso). El objetivo alcanzado por el autor consisti6 en un indicador (0::; MODIFIABILITY::; 1) que revelaba el grado de modificabi-lidad de un modele de casos de uso. Tambien existen otras propuestas especificas para casos de usa, como pOI' ejemplo las propuestas de Feldt (2000). Henderson-Sellers et af. (2002) y Bemardez et af. (2004). Un estudio mas profundo sobre metricas para casos de uso y diagramas de casos de usa puede encontrarse en Genero et al. (2004).
I
Metricas para UML. En la bibliogratla se pueden encontrar diversas propuestas de metricas para los distintos tipos de diagramas UML:
s RA-\,L-\
Casos de Uso. Existen pocas propuestas de metricas especificas para diagramas de casos de uso, tales como: Marchesi (1998) que propuso un conjunto de metricas de complejidad para diagramas de casos de uso consistente en el nl1l11ero de casos de uso (N cc ), el nllll1ero de actores
NmIBRE PI:\I
NIY
DEFE\ICIO:-; I EI Nllll1ero de Metodos de Instancia Pl1blicos de una clase es el nllll1erO total de metodos Pl1blicos de instancias. Los metodos Pl1blicos son aquellos que estan disponibles como servicios para otras clases. EI Nl1111ero de ~letodos de Instancia es la suma de todos los metodos de una clase. considerando tanto los metodos Pl1blicos como los protegidos y pri\"ados" EI 0."l1111ero de Variables de Instancia es el nllll1erO total de variables a nivel de instancia que tiene una clase. considerando las \"ariables privadas y protegidas disponibles en una clase. EIl\lunero de i\letodos de Clase es el nlllnero total de l11<?todos a niwl de c1ase. !lor ejemplo. aquellos metodos que son globales a todas las instancias que tiene una clase. EI 0."llmero de variables de Clase es elnllll1erO total de variables a nivel de clase que tiene una clase. EI 0."llll1ero dc Metodos Sobrecargados es el nl1111ero tOlal de l11i?todos sobrecargados por una subclase. EIl\llmero de \Ietodos Heredados es elnl1mero total de metodos que una clase hereda. EI 0."llmero de ~'Ietodos Afiadidos es elnlllnero total de metodos que se detlnen en una subclase. Esta metrica se dctlnio para mediI' la cali dad del uso de la herencia. ya que examina la relacion de herencia entre subclases y superclases. EI indice de Especializacion para cada c1ase se detlne asi:
.\zimerode.\/elodosSohrees('}"iloS * .\"i,elde.~llidamiellloEIILaJeranfzli'l .\"zimero TOlalDe.\/elOdos
SIX
APP:\-I
Esta metrica mide hasta que punto una subclase redetlne el comportamiento de una sllperclase. EI Promedio de Parametros por Metodo se define asi: .\"zimero Tola IDeP([nimel rosPod/clO do .\"zimero TOia IDe.\IelOdos
It-\-MA
247
Diagramas de Clases UML. Genero et al. (2004) definieron un conjunto de metric as para la complejidad eShlJctural de diagramas de clase de UML debido al uso de relaciones de UML, tales como: asociaciones, generalizaciones, dependencias y agregaciones (vease tabla 9.8). Los autores suponen que estas metticas pueden ser buenos indicadores de las caractetisticas de mantenibilidad de un diagrama de clases de UML. Bansiya et al. (1999; 2002) tambien definieron l11etticas a nivel de clase para evaluar propiedades de diseno como la encapsulal11iento, el acoplal11iento, la cohesi6n, la c0l11posici6n y la herencia.
METRlCAS
I
I
DEFJ;,\IClO;,\
:\Assoc :\AGG
:\DEP
;\L-\xHAGG
NllIl1CrO total de asociaciones. Nllll1ero total de relaciones de agregacion dentro de un diagrama de clases (cada par todo-par1e de una relacion de agregacion). Nllll1ero total de relaciones de dependencia. I :\'llmero total de relaciones de generalizacion dentro de un diagrama de clases (cada par padre-hijo de una relacion de generalizacion). I :\'llll1ero total de jerarquias de agregacion (estructuras todo-par1e) dentro de un diagrama de clases. N llmero total de jerarquias de generalizacion dentro de un diagrama de clases. EI \'alor maximo de la metrica D1T (Depth olInheritallce Tree. Profundidad del Arbol de Herencia) calculada para cada clase del diagrama de clases, EI valor de D1T para una clase dentro de una jerarquia de generalizacion es el camino mas largo desde la clase hasta la raiz de la jerarquia. EI \'alor m,iximo de la metrica HAgg calculada para cad a clase del diagrama de clases. EI yalor de HAgg para una clase dentro de una jerarquia de agregacion es el camino J11:is largo desde la clase hasta las hojas,
Diagramas de Estados. DeIT (1995) defini6 el nll111erO de estados y el nll111erO de trallsiciones como metric as que miden la cOl11plejidad de los diagramas de estados OMT (aunque tambien se pueden aplicar a lJTvIL). Carbone et al. (2002) propusieron dos metricas: totSta(c), que representa el Illl111ero total de estados para una clase y totActioll(c) que cuenta el nll111ero total de acciones para una clase. Estas metric as son utilizadas junto a otras para diagramas de clases, diagramas de casos de uso, etc., para detenl1inar la complejidad total de un sistema 00. En cualquier caso, ambas propuestas no han pasado mas alla de la definici6n. Un trabajo mas completo es el propuesto por Miranda et al. (2003). Con la hip6tesis de que el tamai'io y la complejidad estructural de los diagramas de estados de UML puede influenciar su facilidad de entendimiento (y por tanto su mantenibilidad). definieron un conjunto de
2.+8
f R.-\-\lA
metric as para la complejidad estructural y el tamai'io de los diagramas de estados de UML Como metlicas de tamai'io se definieron: NEntr}A. Nllmero total de acciones de entrada, es decir, las acciones que se realizan cada vez . que se entra en un estado; NExitd, nll111ero total de acciones de salida, es decir, las acciones que se realizan cada vez que se abandona un estado: NA, nll111ero total de actividade? (do/activity); NSS, nllmero total de estados, considerando tambien los estados simples dentro de los estados compuestos: NCS. nl1mero total de estados compuestos: NE, l1l1mero total de eventos; NC. nllmero total de condiciones de guarda. Como metricas de complejidad estructural definieron: NT, l1l1mero total de transiciones, considerando las transiciones comunes (los estados origen y destino son diferentes), las transiciones inicial y finaL las autotransiciones (los estados origen y destino son el mismo) y las transiciones intemas (transiciones denu'o de un estado que responden a un evento pero sin dejar el estado); CC (Nllmero Ciclomatico de McCabe), definido como INSS-NTI+2. La validez teorica de las metricas propuestas se demostro a traves de la validacion siguiendo el marco de trabajo de Briand et a/. (1996), concluyendo que las metricas NA NSS, NCS, NE. NEntryA. }\rExitA y NG son de tamafio; y las metlicas NT y CC son de complejidad. Ademas, su validacion tambien aplicando el marco de u'abajo DISTANCE (Poels y Dedene, 2002) garantiza que las metricas puedan usarse como inSU1tmentos de medicion en esc ala de ratio. Su hipotesis fue cOlToborada empiricamente en cierta medida a traves de un experimento controlado y su replica. Como resultado del trabajo de expelimentacion, concluyeron que las metIicas NA NSS, NG y NT parecen estar altamente cOlTelacionadas con el tiempo de entendimiento de los diagramas de estados de UML o
Expresiones OCL (O~iect Constraint Language). La lmica propuesta hasta la fecha de metricas para. expresiones OCL es la realizada por Reynoso et a/. (2004). quienes tomaron como hipotesis que las propiedades estructurales de una expresion OCL tienen un impOltante impacto en la complejidad cognitiva de los modeladores. ya que cuando los desalTolladores tratan de comprender una expresion OCL (considerada en este estudio como una abstraccion mental simple: un "chunk") aplican tecnicas cognitivas. como el "chunking" y el "tracing". Estas tecnicas se aplican conCUlTente y sinergeticamente en resolucion de problemas y son parte del Modelo de Complejidad Cognitiva (CMM) definido por Cant et a/. (1992: 1994). Este modelo proporciona una teoria cognitiva general de la complejidad del sofuvare relacionada con el impacto de la estmctura sobre la comprension. EI "c!zlll1king" implica el reconocimiento de un conjunto de infolll1acion de declaracion y
c R.-\-:'IA
249
extraccion, que se recuerda como un "chunk", mientras que el "tracing" implica explorar. hacia adelante 0 hacia atnis, para identificar los "chunks". El "tracing" se ha observado como una actividad fundamental en la comprension del software. Por esa razon, estos antores han definido metric as relacionadas con estas tecnicas cognitivas, agrupandolas en tres gr'andes grl.lpOS de conceptos de OCL (vease tabla 9.9).
Tic'\'IC'I. COG:-IITn'A
ICAR~CTERfSTICAS
Tracing
ChlllZkillg
GI1IPO I
Chzll1king
Grupo 2
Ddiniciones de vmiables a tran~s de expresiones let. Expresiones condicionales It: \'ariables iterativas predetinidas. literales. etc, I Conceptos OCL relacionados con Rcferencia a atributos 1I operadores de la instancia la instancia contextual y algllna de contextual. valores posttijos de by (~pre. variables ddinidas a mm~s de restriccioncs defInition. 'us propiedadcs. etc.
Conceptos OCL que penniten que una expresion uti lice propiedades que pertenezcan a otras clases 0 interfaces. diferentes al tipo de la instancia contexmal. SC[\'icios OCL relacionados con el propio lengllaje,
l\avegacion y operacion de colecciones. Mensajeria. parametros cuyos tipos son clasificadores definidos en el diagrama de clases. etc.
Aunque las expresiones OCL pueden anadirse a cualquier diagrama de UML. Reynoso et al. (:200-1-) han comenzado la definicion de metricas para expresiones OCL que puedan usarse en un diagr'ama de clases de UML. Algunos ejemplos de metr1cas relacionadas con el "tracing" son (entre otras): Nlllnero de Relaciones Navegadas (NNR), que cuenta el numero total de relaciones que se na\'egan en una expresion. Si una relacion se navega dos veces. pOl' ejemplo usando propiedades diferentes de una clase 0 interfaz. esta relacion se cuenta solamente una vez. Siempre que una clase asociacion se navegue, consideraremos la asociacion a la que la clase asociacion \'a unida: Nzilllero de Atriblilos referidos a tran?s de las .Vcnegaciolles (XLV), que cuenta el nlllnero total de atributos que son referidos a traves de las navegaciones de una expresi6n: Nztlllero de Clases Nm'egadas (NNC). que cuenta el nltmero total de clases. clases de asociacion 0 interfaces a las que navega una expresion. Si una clase contiene una relacion reflexiva y una expresion la navega. la clase se considerara solo una vez en la metrica, Ademas, como una clase puede alcanzarse desde una clase/interfaz inicial navegando de fonna diferente (es decir, siguiendo relaciones diferentes) debemos considerar esta situaci6n como un caso especial: Si una c1ase se usa en dos (0 mas) navegaciones diferentes, la clase se cuenta solo una vez. Estas metricas tambien se validaron teoricamente usando el marco de Briand et al. (1996). Por ejemplo, las metricas NNR, 1\1NC Y NAN se validaron como metric as de acoplamiento basadas en la interaccion. La intuici6n dice que las metr1cas relacionadas con el "tracing" podrian tener mas influencia en la facilidad de entendimiento y la
250
modificabilidad de las expresiones OeL. Pero este hecho debe comprobarse a traves de estudios empiricos. No hay ninguna prueba de su validaci6n empirica. Sin embargo, los autores planean realizar un experimento controlado para validar algunas de las metricas propuestas como indicadores de la facilidad de entendimiento y la modificabilidad de las expresiones OCL. En definitiva, los diagramas de clases UML han sido de los mas investigados desde el punto de vista de la medici6n. En menor medida se han propuesto y validado metricas para diagramas de caso de uso de UML, diagramas de estados de UML y, casi ninguna para expresiones OCL. Otros modelos UML, que cubren aspectos dinamicos de los sistemas 00, como los diagramas de secuencia, los diagramas de actividad, etc., no se han tenido en cuenta (de momento) en el campo de la medici6n.
PF = PFSA * FCT,
donde PFSA son los puntos ftmci6n sin ajustar y FCT es un factor de correcci6n tecnica. Para calcular los puntos funci6n sin ajustar es necesario contar el numero de elementos de cada uno de los siguientes tipos (que se pueden obtener a partir de la especificaci6n del sistema):
iii
Entradas Externas (entradas): cualquier entrada (pantalla, fonnulario, cuadro de dialogo, control 0 mensaje) que tenga un fonnato lmico 0 un solo procesamiento, a traves de la cual el' usuario u otro programa puede anadir, borrar 0 cambiar datos. Salidas extern as (salidas): cualquier salida (pantalla, infonne, grafico. mensaje) que tenga un fonnato diferente 0 requiera un procesamiento diferente a otros tipos de salida, generada para el usuario U otro programa. Consultas externas (consuItas): combinaciones de entrada/salida en las que cada entrada genera una salid simple e inmediata. Archivos Iogicos internos (archivos): plincipales grupos 16gicos de datos de usuarios 0 de control que estan controlados completamente por el programa (una tabla de un SGBDR).
iii
iii
iii
~ RA-MA
251
CI
Archivos de interfaz externos (interfaces): cada uno de los grupos de datos 16gicos 0 infonnaci6n de control que entra 0 sale del programa.
Por ejemplo, si el DFD del sistema es el de la figura 9.15, el IlLunero de elementos de cada tipo selia: Enh'adas 1; Salidas 3; Consultas= 1; Archivos = 1; Intelfaces = 1. EI numero total selia 7.
Archivo Externo: 1. Documento que se ha de revisar
Entrada: ----------
---------
1. Nombre del documento que se ha de revisar Consulta: 1. l.Cuantas palabras se lIevan procesadas?
----------
Usuario
Comprobador Ortografico
Salida: 1. Numero total de palabras revisadas 2. Numero total de errores detectados 3. Lista de palabras con errores ortograficos
Cada uno de estos elementos se debe clasificar de acuerdo a su complejidad (alta, baja 0 media). EI valor de PFSA se calcula como la suma de cada uno de los tipos de elementos ponderada por su complejidad (peso).
15
En la tabla 9.10 se muestran los pesos a aplicar en funci6n de la complejidad de cada tipo de elemento.
_ _ _ _ _ _ _CmWLEJIDAD . ELEME"'TO . . . . ~ .... El\'TRADASExTER'<AS .... BAJA
.MEDIA
."
..
3 4 3 7 5
5 4 10
7
7
6 15 10
252
Para hacer menos subjetiva la valoraci6n de la complejidad, algunas tecnicas incluyen tablas orientativas para cada tipo de nll1ciones de usuario. Por ejemplo, la tabla de complejidad para las Entradas tiene en cuenta dos aspectos: nlunero de tipos de elementos de datos incluidos, y nllll1ero de archivos 16gicos intemos referenciados (tabla 9.11 ).
EI valor del factor de cOlTecci6n tecnica depende de catorce (14) factores de complejidad que son valorados de fonna subjetiva asignimdoles un valor de cera (0) a cinco (5). Estos factores son: 1. Comunicaciones de datos: concemiente a la transmisi6n de datos 0 infonnaci6n de control. enviados 0 recibidos mediante alglll1 sistema de comunicaciones. Procesamiento distribuido: concemiente a si una aplicaci6n es monolitica y se ejecuta en un lmico procesador. 0 si la aplicaci6n consiste en c6digo independiente ejecutandose en procesadores distintos y persiguiendo un fin comtll1. Objetivos de rendimiento: tendnin una puntuaci6n de 0 si el rendimiento de la aplicaci6n no es relevante. 0 por el contrario la puntuaci6n sera 5 si es un factor critico. Contiguracion de uso intensivo: indica si el sistema se va a implantar en un entomo operativo que sera utilizado de manera intensa. Tasas de transacciones nipidas: tendril una puntuaci6n de 5 si el volumen de transacciones es suficientemente alto como para requerir un esnlerzo de desalTo!lo especial para conseguir la productividad deseada. Entrada de datos en linea: tendrii una puntuaci6n de 0 si son interactivas menos del 15 por ciento de las transacciones, y tendra una puntuaci6n de 5 si mas del 50 por ciento de las transacciones son interactivas. Amigabilidad en el disefio: detemlina si las entradas de datos interactivas requieren que las transacciones de entrada se !leven a cabo sobre mtlltiples panta!las 0 variadas operaciones.
3.
4.
5.
6.
7.
~ RA.-MA
253
8.
Actualizacion de datos en linea: tendni puntuacion maxIma si las actualizaciones en linea son obligatOli[.s y especialmente dificultosas, quiza debido a la necesidad de realizar copias de seguridad, 0 de proteger los datos contra cambios accidentales. Procesamiento complejo: se puntuara con 5 si se requieren gran cantidad de decisiones logicas, complicados procedimientos matematicos 0 dificil manejo de excepclOnes.
9.
10. Reusabilidad: indica si gran parte de la fUl1cionalidad del proyecto, esta pens ada para un uso intensivo por otras aplicaciones. 11. Facilidad de instalacion: un valor de 5 denota que la instalacion del sistema es tan importante que requiere un esfuerzo especial para desaIToliar el software necesmio para realizarla. 12. Facilidad operacional: un valor de 5 indica que el sistema realiza pccas operaciones. 13. Adaptabilidad: una puntuacion maxima indicaria que e1 sistema se ha disei'iado para sopOliar mtlltiples instalaciones en diferentes entornos y organizaciones. 14. Versatilidad: detel111ina si la aplicacion se ha realizado para facilitar los cambios y para ser utilizada por el usuario. El valor del factor de cOlTeccion tecnica se obtiene:
254
obtener el numero de puntos de objetos simples. Para calcular los puntos de objetos nuevos se tiene en cuenta un factor de reutilizacion r, que representa el porcentaje de puntos de objetos reutilizados de otros proyectos, quedando la fonnula:
255
Posibilitar la obtenci6n de los valores de las meuicas sin mayor esfuerzo Minimizar los elTores en el ca1culo de las metlicas, logrando una mayor exactitud en sus val ores Pel111itir central110S en el analisis de los resultados de la medici6n y no en la etapa de adquisici6n
EI
EI
Una helTamienta de metlicas de software puede definirse como una helTamienta para el modelado y el calculo de componentes de desaITolIo de software, bien sean del proceso, del producto 0 de los recursos (SMLab Project, 2002). El proceso de desaITolIo de software tambien incluye la preparaclOn de los componentes del software y del proceso de evaluaci6n. Asi pues, es necesario contar con hen'amientas que den sopOlte a la medici6n de software como un gmpo denu'o del conjunto de metricas. Son las denominadas herTamientas CA1VIE (Computer Assisted Software Measurement and Evaluation), es deciI', HelTamientas para la Medici6n y Evaluaci6n de Software Asistidas por COl11putador. Existen varios estudios dedicados a la evaluaci6n y comparaci6n de herTamientas de metlicas (Giles y Daich, 1995; Daich y Giles, 1995; Daich et al., 1995; Erickson y Steadman, 1995; Kingsbury y Dawood, 1995; Giles y Bal11ey, 1995). Giles y Daich (1995) distinguen las u'es principales tareas que deben realizar las herTamientas de l11euicas y las caracteristicas necesar~ias que deben implementar para que dichas tare as se puedan lIevar a cabo:
EI
Adquisicion de datos: manual, semiautol11atica, autol11atica y programable. Analisis de las medici ones: almacenamiento de los datos, recuperaci6n de los datos, analisis ariunetico y analisis estadistico. Presentaci6n de los datos: tablas, graficos, posibilidad de exportar archivos a otras aplicaciones
EI
EI
Dumke y Kompf (1997) clasifican las helTamientas de l11etlicas atendiendo al entomo 0 dominio en el que se utilizan.
256
5. lECTURAS RECOMENDADAS
(l)
http:hvww.aemes.fi.upm.es!, Asociacion Espanola de Metricas del Software http://w"\vw.cosmicon.com/. Sitio de Measurement Intel11ational Consortium) COSMIC (Common Software
(l)
(l)
http://W\\w.ifplUI.Orgj Sitio web delIFPUG (Intel11ational Funtion Point Users Group) http://ww,v.isbsg.onz/ Sitio de Intel11ational Software Benchmarking Standards Group http://w\v\\.nesma.org!english! Sitio Web de NEStvlA (Netherlands Software Metrics Users Association) http:!.\nnv.uksma.co.uk! Metrics Association) Sitio de MARK II (United Kingdom Software
(l)
(l)
7. EJERCICIOS
I. Representar mediante la ontologia de la medici on software el siguiente caso de estudio: supongamos una organizacion que lleva a cabo un proyecto de desaITollo de software. En un detenninado momenta el responsable del proyecto necesita saber si la productiyidad es adecuada. en concreto es necesario conocer el nivel de productividad de los programadores. del proyecto en comparacion con 10 habihlal en otros proyectos en la organizacion. Las metricas a utilizar podrian ser: a. LCF (lineas de codigo fuente escritas). que se puede obtener contando las lineas utilizando como instrumento una heITamienta CASE. HPD (horas-programador diarias). EI responsable del proyecto anota cada dia las horas dedicadas por los programadores al proyecto. CHP (coste por hora-programador. en unidades monetarias). EI metodo de medicion es consultar el plan del proyecto. donde se hlVO que indicar este valor. previa consulta a un responsable de personal.
b.
c.
RA.-:'!A
257
d.
HPT (horas-programador totales), que se puede obtener a partir de la siguiente fOIl11Ula: HPT = L..dias HPD ~ ~ LCFH (Iineas de codigo fuente por hora de programador), LCFH = LCF IHPT. CTP (coste total actual del proyecto, en unidades I11onetarias), CTP CHP '" HPT CLCF (coste por linea de codigo fuente). CLCF = LCF/CTP. PROD (productividad de los programadores). Para ello se usa un modelo de awllisis basado en extraer de una base historica de proyectos de la organizacion los valores medios de LCF, HPT, LCFH (LCFHvm) y CTP del subconjunto de proyectos similares (aquellos que tienen LCF entre el 80% y el 120% ). Los critelios de decision establecidos son:
1.
e.
g. h.
LCFHlLCFHvm < 0'70 => PROD='muy baja'. 0'70:s; LCFHiLCFHvm < 0'90 => PROD='baja'. 0'90:S; LCFH/LCFHvm < 1'10 => PROD='nonnar. 1'10:S; LCFHlLCFHvm < 1'30 => PROD='alta'. 1'30:s; LCFH/LCFHvm => PROD='muy alta'.
I!.
111.
IV.
v.
1.
CAR (carestia del proyecto). De la base histolica de proyectos se obtienen los valores medios de LCF, CLCF, y PROD del subconjunto de proyectos simi lares. Los criterios de decision son bidimensionales. La primera dimension compara el valor de CLCF del proyecto con el valor medio historico (CLCFvm) para de!enninar si el coste de cada linea es mas alto 0 bajo de 10 nonna!. La segunda dimension simplemente compara PROD con PRO Dvm para ayudar a decidir si la razon de ese coste alto (0 bajo) pOl' linea es 0 no debida a la baja (0 alta) productividad. De esta manera, los val ores de CAR seran cualitativos del tipo: 'muy alta pOl' baja productividad', 'nonnal a pesar de productividad baja'. etc.
2.
Definir un conjunto de metric as para evaluar la facilidad de entendimiento de un diagrama de actividad UML aplicando el metodo GQM. Definir utilizando la plantilla GQ(I)M los indicadores del ejercicio 1.
3.
258
4.
Realizar un estudio bibliognifico sobre la aplicaci6n de la medici6n en la industria de desarrollo de software. Analizar que tipos de metricas son aplicables en cada nivel de madurez del modelo CMMI.
5.
CAPiTULO 10
CALIDAD DE LA INFORMACION
"Los en'ores callsados par los datos il1adecllados SOil Illucho lllel10reS que los que se debel1 a la total allsel1cia de datos" Charles Babbage
1. INTRODUCCION
Actualmente las organizaciones pueden almacenar inmensas cantidades de datos obtenidas a un precio relativamente bajo. Sin embargo, estos datos quizas no proporcionen infonnaci6n (Gardner, 1998), pOl'que en algunos casos adolecen de problemas de poluci6n, inconsistencia, etc. Esta poluci6n puede llegar a tener graves consecuencias tanto desde el punto de vista tecnico -como en la implementaci6n de almacenes de datos-, como organizacional -perdida de c1ientes (Redman, 1996), gI'andes perdidas financieras (Loshin, 2001) 0 insatisfacci6n de los trabajadores (English, 1999)e inc1uso legal -basta recordar el articulo 4 del Titulo II de la actual LOPD (Del Peso, 2000)-. Es esencial poder asegurar la calidad de la in.fonnaci6n que contienen las bases 0 los almacenes de datos l ya que se han convertido en la principal henamienta para la toma de decisiones, tanto operacionales como estrategicas. Ademas, "las empresas deben gestionar la informacion como lin prodllcto importante, capitalizar el conocimiento como lin activo principal y, de esta manera, sobrevivir y prosperaI' ell la ecol1olllia digital" (Huang et al., 1999). La calidad de los datos y de la infonnaci6n viene detenninada tanto por la calidad de la bases de datos como por la calidad de la presentaci6n de los datos (vel' la figura 10.1).
I A partir de ahora se hablara de bases de datos en general, incluyendo en este termino los almacenes de datos (datalmrehollse), datamarts, y cualquier otro repositorio de datos.
260
Calidad de la Informaci6n
~~
Cali dad de la Base de Datos Calidad de la Presentaci6n
~ ~
Calidad del SGBD Calidad del Modelo de Datos Calidad de los Datos
De hecho, es l11UY importante que los datos de la base de datos reflejen COlTectamente el mundo reaL pero es tambien muy importante que los datos puedan ser interpretados conectamente. En la calidad de una base de datos. se deben considerar tres aspectos: la calidad del SGBD (Sistema Gestor de Base de Datos) -relacionaL orientado a objetos. objeto-relacional. multidimensional, XML etc.- que 10 sopOlia. la calidad del modelo de datos (tanto conceptuaL logico como fisico) y la cali dad de los propios datos contenidos en la base de datos. Para asegurar la calidad del SGBD. se puede usar un estil11dar intemacional como el ISO 9126 (vease capitulo 5), 0 alguno de los estudios comparativos de productos existentes. Este tipo de calidad debe ser considerada en la etapa de seleccion de productos dentro del ciclo de vida de la base de datos y posteri0l111ente asegurada durante la i1l1plantacion y ad1l1inistracion del SGBD. Como es logico tambien la calidad del modelo de la base de datos tiene una gran influencia en la calidad de la infol111acion. Modelo que puede existir a nivel conceptual -expresado en E/R 0 UML-: a nivel logico. pred01l1inantemente relacional con algunas extensiones. y a nivel fisico -ya que el disei'iador tiene que elegir las tab las fisicas. los indices. particiones de datos. agrupamientos. etc. que l11eJor representan la base de datos logica y que facilitan su funcionalidad-. La calidad de los propios datos (los datos que estan almacenados ya en la base de datos) viene detel111inada plincipalmente por los procesos de extraccion. filtrado. li1l1piado. sincronizacion, agregacion y carga que deben tener en cuenta ciertos requisitos
RA,-\lA
261
de calidad de datos de los usuarios: asi como de los procedimientos y procesos de mejora de la c:tlidad de datos existentes en la organizacion. En este capihIlo se mostrani como se puede analizar y eshldiar la calidad del modelo de datos. de los propios datos y de la infol111acion que gestionan las empresas.
Complccioll. com;cciotl. minimalidad. cxprcsi\idad. Batini ct al. ( 1992) lcgibilidad. auto(:xpiicacion. (:xt(:nsibilidad y nOl1nalidad. Com:;ccion conccp.ual. compiecion conceptual. com::ccion Reingl1lber \1. Y Gregory \ \". ( 199.+) . ; sintactica. complecion sintactica. conocimiento de Ia .:mprcsa. Facilidad de comprension. COlTcccion semantica. cstabilidad. Boman et al. ( 1997) compiecion. enfoque conceptual.
Aunque estas Iistas mejorar la calidad en el definiciones imprecisas. especificacion con las del
de propiedades proveen un punto de partida i!til para entender y model ado concephlal. la mayoria no son estnlchlradas. usan a menudo se solapan, se mezclan caracteristicas de la metodo y del lenguaje de modelado. se presupone la existencia
262
imposibles de
Una estrategia mas adecuada para abordar la calidad es definir marcos de referencia que organicen y estmcturen los conceptos claves y caracteristicas en el modelado conceptual de datos. Ademas, se han publicado algunos marcos de referencia que penni ten abordar la calidad en el model ado conceptual de una manera mas sistematica. Aunque estos marcos son relevantes en el senti do de que contribuyen a un mejor entendimiento sobre el h'atamiento de la calidad de los modelos conceptuales, carecen de medidas cuantitativas que pennitan evaluar la calidad de los modelos conceptuales de datos de fonna objetiva. Resulta evidente que definir solo "propiedades deseables" no es suficiente para evaluar la calidad, ya que diferentes personas pueden dar diferentes interpretaciones sobre el mismo concepto, por 10 que es necesario contar con medidas que pennitan evaluar la calidad de los modelos conceptuales de datos de fonna cuantitativa y objetiva, evitando as! los sesgos en el proceso de evaluacion de su calidad. A continuacion se resumen algunos de estos marcos de referencia para la mejora de la cali dad de datos del modele conceptual.
Audiencia (A): union del conjunto de actores individuales, el conjunto de actores sociales organizacionales y el conjunto de actores tecnicos que necesitan relacionarse con el esquema. Modelo (l\'I): conjunto de todas las sentencias expresadas explicita implicitamente.
0
Lenguaje (L): conjunto de todas las sentencias que se pueden expresar de acuerdo al vocabulario y la gramatica de los "lenguajes de modelado" utilizados. Dominio (D): conjunto de todas las sentencias que sedan COlTectas y relevantes acerca del problema.
<;: Ri\-MA
263
<I>
Interpretacion de la audiencia (I): conjunto de todas las sentencias de las que la audiencia piensa que consta el modelo. Conocimiento de los participantes (K): union de los conjw1tos de sentencias de todos los actores sociales individuales.
MODELO
<I>
CALIDAD SEMANTICA
DOMINIO
...:.:.J-' -
LENGUAJE
""
..
t t PRAGj\lL~
CALIDAD TICA
)
INTERPRETACION DE LA AUDIENCIA
CALIDAD SOCIAL
Figura 10.2. Marco para la calidad del modelado conceptual, Krogstie et al. (1995).
Como es natural, se considerani que un modelo tiene una mayor calidad semfmtica cuanto mejor sea la conespondencia entre el modelo conceptual que se ha disenado y el dominio que pretendemos representar. Sin embargo, como senalan los autores de este marco, es imposible establecer 0 verificar directamente esta conespondencia, ya que para disenar el esquema se debe acudir al conocimiento que tiene el publico sobre el dominio y para verificarlo se debe emplear la interpretacion que el publico hace del modelo. En este marco se prop one distinguir varios tipos de calidad:
<I>
Calidad sintactica: que viene detenninada por la conespondencia entre el modelo y ellenguaje, y cuyo objetivo es la con'eccion sintactica. Calidad semantica: (percibida), que comprende tanto la validez (10 expresado en el modelo es conecto y relevante para el problema) como la complecion (el modelo contiene todas las sentencias acerca del dominio que son conectas y relevantes ). Calidad pragmatica: cuyo objetivo es que el modelo sea comprendido. Calidad social: que persigue distintos tipos de acuerdo tanto en la interpretacion del modelo como respecto al conocimiento del dominio.
<I>
<I>
<I>
264
OBJETfVOS
MEDIOS ACTIHDADES
I PROPIEDADES :'IlODELO
Sintaxis fOTInul Semantica fOTInal
I COlTeccion sintactica
Validez \-iable
SE\L-l,\'TJCA
I
SE\lA?\'TICA PERCIBIDA
I
Economia .;xpr.;si\-a Estetica PRAGXIATICA Comprension \-iablc
I I I I
I I I
I
I i I I
I
I I I I I
I
I
I I
Ejecutabilidad
I
SOCL-l.:L Acuerdo \-iable
~[odelado
contlicto
I I
I I I I
Este marco prop one ademas distintos medios para mejorar los diferentes tipos de calidad. La tabla 10.2 muestra los objetivos .y los medios para alcanzarlos de acuerdo los conceptos de cali dad propuestos en los marcos de Lindland et at. (1994) .y Krogstie et at. (1995). que si bien unos son extensiones de otros. persiguen el mismo objetivo. que es en tender el concepto de la cali dad en el modelado conceptual basandose en conceptos semi6ticos.
265
STAKEHOLDER
~
FACTOR D E ..... 4.II1----iii!ilt>ilO> CALIDAD
l\rIODELO -,-~r
Factor de Calidad: propiedad deseable de un esquema conceptual. Implicado (stakeholder): persona involucrada en la construccion del esquema.
0
utilizacion
Estrategia de mejora: tecnica para meJorar la cali dad de los esquemas conceptuales. Metodo de evaluacion: modo sistematico 'de evaluar factores de calidad. Peso: que sirve para definir la importancia relativa de los factores de calidad. Valores: representan la valoracion de un factor de calidad por alguno de los implicados.
o o o
En la revision de este marco (Moody et aI., 1998), se prop on en los ocho factores de calidad que aparecen enla figura 10.4. Para Moody estos factores significan:
266
iRA-MA
Complecion: capacidad delmodelo de tener toda la infol1naci6n necesmia para cumplir los requisitos del usuario. Comprensibilidad: facilidad con la que el esquema puede ser entendido. Correccion: se refiere a si el esquema cumple las reglas de las tecnicas de modelado utilizadas. Flexibilidad: facilidad con la que el esquema se puede adaptar a los cambios en los requisitos. Integracion: nivel de consistencia del esquema con el resto de los datos de la organizaci6n. Integridad: grado en el que las reglas del negocio que se aplican a los datos estc'm definidas en el esquema conceptual. Simplicidad: significa que el esquema contiene los minimos constructores posibles. Implementabilidad: facilidad con la que el esquema puede ser implementado dentro de las restricciones de tiempo, presupuesto y tecnologia del proyecto.
usuano
usuano
usuano
usuano
analista
analista
admin. datos
desan'ollador
Este marco se ha validado en varios casos pn'icticos, en los que tambien se ha estudiado la influencia que ejercen unos factores sobre otros; as!, por ejemplo. aumentar la implementabilidad del esquema puede acalTear una disminuci6n de su flexibilidad y compleci6n, como muestra la tabla 10.3. Moody (1998) propone 25 mehicas c1asificadas seglll1 los factores de calidad de la figura 10.4: algunos calculados de fOl1na objetiva (por ejemplo, el nllll1ero de entidades
(; RA-?vL'\
267
del esquema), mientras que otros resultan de la puntuaci6n subjetiva de los implicados en el disefio (vease tabla 10.4).
... ..
z ;.;J
u
.. , .. COMPRE\'iSIBILIDAD
'.
"2 0
:::::
"" ==
a g
"-
...
<:::)
I
-9
;:
2:
~
u :::;
...l
Ci5
~ r_
::<
'~
I..i
;;;:
-:::
:3
~
==
.:::::
c;
;;::
Sln'iPL'(CID.W
..
METRICAS
I:-;TEGRIDAD
FLEXIBILIDAD
CO:\IPRE:\SIBILIDAD
CORRECCI6:-;
SnlPLICIDAD
I:-;TEGRACI6:-;
hIPLDIE:\TABILIDAD
N de elementos del modelo de datos que no corresponden con requisitos de usuario 1\0 de requisitos de usuario no representados en e[ modelo de datos N" de elementos de datos quc corresponden a requisitos de usuario pero ddinidos de fomla inexacta N" de inconsistencias con eI modelo de procesos 1\" de reglas del negocio que no se hac en eumplir por elmodelo de datos N de restriceiones de integlidad incluidas en eI modelo de datos que no eorresponden a politieas del negocio N" de elementos en eI modelo que est,in sujetos a cambios en el futuro Costes estimados de los cambios Importancia estrati:gica de los cambios Yaloraci6n de los usuarios sobre la comprensibi[idad del modelo Capacidad de los usuarios de interpretar elmodelo correctamente Valoraei6n de los desarrolladores de aplieaciones sobre la eomprensibi[idad del modele N"'de \'iolaeiones de las convenciones de modelado de d,ltos ,"," de \'iolaciones a Jas fortnas nortnales N" de instaneias de redundancia en cl modele N de entidades N de cntidades e interrelaciones );0 de constructores (aN E b1\" - c1\\) N" de eont1ictos con el modelo de datos corporativo N de conflictos con [os sistemas existentes \'aloraci6n de los representanleS de todas las areas de negocio \' a[oraci6n de riesgo tccnico Valoraci6n de riesgo de planificaci6n Estimaci6n del coste de desarrollo N" de elementos fisicos incluidos en e[ modele de datos
Tabla 10.4. iVIetricas para evaluar la calidad de modelos E/R (Moody, 1998)
268
___-"I
YALORES ! h':-------B~
~IETODO
DE
'pun,".
E\ALL\CIO"
Los conceptos comunes son integrados en este marco. y los conceptos disjuntos son incorporados al mismo, como se muestra en la figlira 10.5. En dicha figura se indican los conceptos referentes a la cali dad en el modelado de datos basados en la teoria, y ademas los conceptos que soportan la evaluacion de la calidad en la practica. Los conceptos que estan basados tanto en la practica como en la teOlia se muestran en la parte central (sombreada con un color mas oscuro) de la figura 10.5, la cual pennite entender la relacion entre ambos marcos y como uno infonna al oto. Este marco integra do puede aplicarse en cualquier etapa del proceso de modelado conceptual, y tiene en cuenta el concepto de calidad tanto en el modelado del producto como en el proceso de modelado delmismo.
LRA-MA
269
Adecuaci6n al problema: la adecuaci6n de la eStlLlctura, se refiere a S1 el disefio delmodelo EIR refleja la es1:J.uctura del problema que se esta modelando. Concisi6n: se refiere a que el modelo EIR no tenga redundancia. Consistencia: se refiere a si el modelo no muestra contradicciones. Validez: se refiere al cumplimiento de plincipios tecnicos de disefio.
II
II
II
Y entre los facto res que influyen en la calidad del contenido, se tienen:
II
Cohesi6n: se refiere a la cercania que existe entre los atJ.ibutos de una entidad. Compleci6n: se refiere a que todos los atlibutos que sean relevantes deb en ser incluidos. Validez: se refiere a que los a1:J.ibutos sean conectamente asignados a las entidades.
II
II
Como muestra la figura 10.6, existe una fuerte relaci6n en1:J.e la es1:J.uctura y el contenido. Para obtener un modelo EIR de buena calidad, es necesario evaluar la calidad tanto del contenido como de la estructura. Los componentes ontol6gicos, la es1:J.uctura y el contenido, detenninan el compOltamiento del sistema. Factores que influyen en la calidad del comportamiento:
II
Mantenibilidad (M): es la facilidad con que un diagrama E/R puede ser l110dificado, conegido y extendido ante futuros requerirnientos. Precisi6n (P): se refiere a la exactitud con que el diagral11a EIR refleja el problema que se esta modelando. Rendil11iento (R): se refiere a un disefio eficiente del diagrama EIR, y la eficiencia es el nlllnero de entidades, relaciones y atJ.ibutos con relaci6n al tipo de tarea que la base de datos representa.
II
II
270
RA-!v1A
It
Usabilidad: se refiere a si un diagrama EIR es conveniente y pnictico para su uso. Los disenadores y los usuarios tienen diferentes puntos de vista acerca de la usabilidad, por eso es conveniente subdividirla en usabilidad para el usuario CUU) y usabilidad para el disenador (UD).
La tabla 10.5 muestra como los factores ontol6gicos afectan a los factores de comportamiento. AderTI<ls Kesh (1995) prop one una metodologia y metricas para evaluar la calidad de los modelos EIR que detallamos a continuaci6n. Una vez construido un modelo EIR se. debe evaluar su calidad utilizando la siguiente metodologia: 1. 2. Calcular el valor de cada componente ontol6gico en fomm individual. Para componente de comportamiento combinar los valores de los componentes ontol6gicos que Ie son relevantes. Combinar los val ores de los componentes de comportamiento para calcular el valor global de la calidad.
3.
<';RiI.-MA
271
4.
Si el valor de un componente ontol6gico esta por debajo de un cielto valor, debe ser investigado y su valor debe ser mejorado antes de seguir adelante.
DliHENSIO:-''ES
..
..
USABILlDtill DISEl'/ADOR
j\h.!"lTENF BILlDAD
IJ>REbSIONIRENl)~nE~tO
....
Adecuaci6n al
X
problema
"'.:;.".< ......
.~~u.,,~"~w
Validez Consistencia
X X X X X X X X
X X X X X X X
I
....
:>
: ..
Concisi6n Compleci6n
,..;;
....
Cohesi6n
.
i..
Validez
Kesh (1995) ademas propone una medida para ca1cular el valor global de la calidad, teniendo en cuenta la influencia que tienen los factores ontol6gicos sobre los factores de comportamiento, como muestra la tabla 10.5.
272
EiI
Una Guia de modelado (GoM) obtenida a partir de los problemas que surgen del proceso subjetivo de disefio de un sistema GoM contiene seis principios que pem1iten mejoran la calidad del model ado de la infonnaci6n. La arquitectura GoM, que es un marco estructural en el cual son ubicados cada uno de los componentes de esta guia.
EiI
La idea de los autores al proponer una Guia de Modelado (GoM) es presentar un marco de principios que mejore la cali dad de los modelos de infom1aci6n reduciendo el slIbjetivislIlo en el proceso de modelado de la infonnaci6n. La calidad de los modelos se basa en recomendaciones para lograra un eficiente, comprensivo Y COlTecto disefio de los modelos de infom1aci6n. La tabla 10.6 muestra los objetivos de cada uno de los seis principios generales de GoM, que son los que fonnan la base de la Arquitectura GoM.
PRINCIPIOS
OBJETlVOS
I
Principio de adecuacion dellenguaje
Principio de claridad
Consenso a cerca de la definicion de la definicion del problema Consenso a cerca de la representacion del modelo Consistencia intra-modelo Consistencia inter-modelo Minimalidad Correccion dellenguaje Adaptacion dellenguaje Poder Sel11<lntico Fonnalizacion Comprensibilidad dellenguaje Consenso La comprensibilidad y aplicacion dellenguaje Comparabilidad estructura sistematica Disefio jerarquico Disefio del esquema Filtrado Filtros metodicos Filtros de contenido Consistencia inter-modelo entre los modelos de la estructura y el comportamiento ;\rquitectura. de los sistemas de infonnacion Comparabilidad a nivel de meta modelo Transfonnacion completa Traduccion consistente Comparabilidad a nivel del modelo
I
I I
I
I
I
Principio de comparabilidad
La Guia del Modelado, ademas del esfuerzo de estandarizaci6n, tiene en cuenta la inteiTelaci6n entre el problema a ser modelado y su representaci6n, la eficiencia econ6mica del model ado y medidas para mejorar la claridad delmodelo.
[ R.-'I.-MA
273
DEFE\l.CION
.'
NE NA NTIA NCA NMVA NN"R NM:NR I Nl:NR NBinaryR NN-AryR NIS AR NretR NRR
Numero total de Entidades dentro de un modelo ER. Nlunero total de Atributos en un modelo ER. teniendo en cuenta los atributos de las relaciones como los de las entidades. En este nlunero se incluyen atributos simples. compuestos y multiyaluados. Nlunero total de Atributos Derivados en una modelo ER. Nllmero total de Atributos Compuestos en un modelo ER. Nlllnero total de Atributos Multiyaluados en un modelo ER. Numero total de Relaciones en una modelo ER. teniendo en cuenta solamente relaciones comunes. Nlllnero total de Relaciones M:N en un modelo ER. Numero total de Relaciones I:N (incluyendo tambien relaciones I: I) en un modelo ER. Numero total de Relaciones Binarias en un modelo ER. Nlllnero total de Relaciones N-arias (no binarias) en un modelo ER. Numero total de Relaciones Es_Un (generalizaci6nJespecializaci6n) que existen en un modelo I ER. En este caso. se considera una relaci6n por cada par padre-hijo, dentro de la relaci6n Es Un. Numero total de Relaciones Reflexivas que existen en un modelo ER. I Numero de Relaciones Redundantes en un modelo ER.
274
:9 RA-1vLA-
Seglin la ISO 9126, tres de los factores que influyen en la mantenibilidad son la analizabilidad, la cambiabilidad y la facilidad de prueba, los cuales a su vez, seglin Li y Cheng (1987) estan influenciados por la complejidad. Henderson-Sellers (1996) divide la complejidad en tres: complejidad computacional, complejidad psicol6gica y complejidad representacional, y para la psicol6gica define tres componentes: complejidad del problema, factores cognitivos humanos y complejidad del producto. A su vez, las metricas de producto pueden ser divididas en intra-modulares e inter-modulares (Kitchenham y Linkman, 1990). En la complejidad del producto, tanto inteilliodular como intramodular es en la que se ha centrado el trabajo del grupo Alarcos. Por tanto, el objetivo fundamental fue disefiar metric as de producto (que capturen las caracteristicas especificas de los diferentes tipos de bases de datos) que nos pennitan medir la complejidad de las bases de datos, a traves de 10 cual estaremos tambien rnidiendo la calidad de las mismas. Concretamente, centraremos el estudio en las bases de datos relacionales, activas, objeto-relacionales y multidimensionales (almacenes de datos).
275
.METRICA
NOTACION
I ..
.
definida como el numero de atributos de una tabla T definida como el numero de c1aves ajenas de una tabla T
Numero de Atributos de una Tabla Numerode Claves Ajenas Profundidad del Arbol Referencial de una Tabla Ratio de Claves Ajenas de una Tabla Numero de Tablas.
NA(T), Number of Attributes NFK(T), Number of Foreign Keys DRT(T), Depth of the Referential Tree.
RFK(T), Ratio ofForeign Key NT, Number of Tables COS, Cohesion of the Schema
Definida como la profundidad maxima de todos los caminos referenciales del grafo que se forma, tomando la tabla T como el nodo raiz del grafo y todas las tablas relacionadas con T mediante integridad referencial como el resto de nodos y siendo las relaciones de integridad referenciallos arcos del mismo definida como el porcentaje de atributos de la tabla T que son c1aves ajenas
RFK (T)
= N~K
definida como el numero total de tab las que hay en el esquema definida como la suma del numero de tablas al cuadrado que hay en cada componente no conexa del grafo del esquema, siendo los nodos de este grafo las tab las del esquema y los arcos las relaciones de integridad referencial
cos = INTr;s,
definida como la relacion entre el numero de tab las en tercera fom1a nonnal (0 superior) entre el numero total de tablas
cs
Ratio de Normalidad.
NR= NT3NF
NT
Siendo NT31\Tf es el numero de tab las en 3NF definida como el numero total de atributos que hay en el esquema
ST
i=1
Numerode Atributos.
NA =
L: NA(I;)
.\T
definida como el numero total de claves ajenas que hay definidas en el esquema
NFK
= INFK(I;)
i=l
Definida como la profundidad maxima de todos los caminos referenciales del grafo que se fonna tomando las tablas del esquema como los nodos y las relaciones de integridad referencial como los arcos del mismo
DRT
Ratio de Claves Ajenas RFK. Ratio of Foreign Key
= max;~ (DRT(T;))
definida como el porcentaje de atributos del esquema que son c1aves ajenas NFK RFK NA
276
CRE.-\ TE TABLE DIPLEADO( NO\IBREP VARCHAR( 15) NOT NULL. INIC CHAR. APELLIDO VARCHAR(I5) NOT NULL. NSS CHAR(9) NOT NeLL. FECHAEN DATE. DIRECCIOPi VARCH.-\R(30). SEXO CHAR. S.-\L-\RIO DECIMAL(IO.2). NSSSUPER CHAR(9). ND INT NOT MiLL. CO'\STRAJNT CLPP,IP PRl\IARY KEY (PiSS). COPiSTRA.li\1 CLESCPERE\IP FOREIGN KEY C-.'SSSUPER) REFERENCES E\IPLE.--\DO(NSS) ON UPDATE CASCADE. ON DELETE SET NULL COPiSTRA.Il\T CLEDEPTOE\IP FOREIGPi KEY (PiD) REFERENCES DEPARTA\IENTO CPiU'VIEROD) ON DELETE SET DEFAULT ON CPDA TE CASCADE): CRE.-\TE TABLE DEPARTAME:\TO NO\IBRED VARCHAR(l5) NOTl'\uLL. NU\IEROD INT NOT NULL. PiSSGTE CHAR(9) NOT ?\ULL. FECHAINICGTE DATE. CONSTRAINT CLPDEPTO PRI\lARY KEY (NUMEROD). CO'\STRAIl\T CLSDEPTO UNIQUEC";OMBRED). CONSTRAINT CLEGTEDEPTO FOREIGN KE'{ (NSSGTE) REFERENCES EMPLEADO(NSSJ ON DELETE SET DEF.--\UL T ON UPDATE CASCADE):
NU\IEROD INT NOT NULL. LUGARD VARCHAR(l5) NOT NULL. PRll\IAR'{ KEY (NU?vIEROD. LUGARD). FOREIGN KEY (NU\IEROD) REFERENCES DEPARTAMENTO (PiU;VIEROD) ON DELETE CASCADE O?\ UPDATE CASCADE):
NO\1BREPR V.--\RCHAR( 15) NOT NUL. ?\lI\1EROPR INT NOT l\ULL. LUGARPR VARCHAR(I5). l\U\1D I?\T NOT PiULL. PRIMARY KEY (l\U\lEROPJ. UNIQUE (NOMBREP). FOREIG?\ KEY (NU\ID) REFERENCES DEPART.-\\IENTO (({U;YIEROD)): CREATE TABLE TR-\BAJA_E:\
(
PiOTNULL. NSSE CHAR(9) NUMP Il\T l\OT1\'UL. HORAS DECEvL-\L(3.I) NOT?\ULL. PRI\!:-\RY KEY (({SSE. ({UMP). FOREIGN KEY (NSSE) REFERENCES E;YIPLEADO (({SS). FOREIGN KE'{ (({U\IP) REFERENCES PROYECTO (({UMEROP)): CREATE T.-\BLE DEPE:\DIE:\TE
(
NSSE CHAR(9) NOT l\UL NO\1BRE DEPEND VARCHAR(l5) 1\'OT l\UL. SEXO CHAR. FECHAAl\ DATE. RELACIOl\ VARCHAR(8). PRl;vL-\RY KEY (i'iSSE.l\O?vIBRE_DEPEPiD). FOREiGPi KEY (NSSE) REFEREPiCES EMPLE.-\DO (NSS)):
[ R/\-:vIA
CAPiTULO 10:
DE LA INFOR.\L-\CIO",
277
NA(f)
E:'>IPLEADO DEPARTA:'>IE:-iTO LCGARES DEPTS PROYECTO TR-\BAJA E:-i DEPE:-iDlE:-iTE ESQCDIA
l\TK(T)
DRT(T)
RFK(T)
COS
NR
NA
NFK
DRT
RFK
10 4
::
I I I
I /~
,
.)
l/4
li2
114 2/3
::
.:I
.:I
4 5
.:I
2
I
1/5
36 I 8 8
217
Empleado
Trabaja_En
"" ""
"'I"
Departamento
A1
t+
-+
Dependiente
~ii'
Proyecto
Lugares_Depts
LL
.
Figura 10.S. Grafo Relacional del Ejemplo
I I
Enla figura 10.9 se puede observar el ejemplo de un esquema multidimensional, en el que se tienen dos tab las de hechos (HechosProducci6n y Usolngrediente) y cinco tab las dimensionales (Producci6n, Ingrediente, Instalaci6n, Momento, Ejecuci6nProducci6n).
278
RA,1-.IA
Instalaci6n Codlnstalacion Nombrelnstalacion Localizacionlnstalaci6n HechosProducci6n l~--/~ ----~-------- Gestorlnstalaci6n Estado CodEjecuci6nProducci6n CodProducci6n Codlnstalaci6n Momenta CodMomento CodMomento CantidadProduccion - Fecha NombreMes Usolngrediente NumeroMes Ano CodProduccion 1-Temporada Codlnstalaci6n CodEjecuci6nProduccion CodMomento Ejecuci6nProduccion Codlngrediente Temporada CodEjecuci6nProducci6n CosteTotal NombreProducci6n LineaProducci6n CapacidadMensualLineaProduccion UnidadMedidaCapacidad
1"-"-'- '"
1-
--
~---
I
Figura 10.9. Ejemplo de un almacen de datos (Adamson y Venerable, 1998)
A la hora de definir metricas para modelos de datos de almacenes de datos se calculanln a tres niveles distintos: Nivel de Tabla, Nivel de Estrella y Nivel de Esquema Por ello, se definen metIicas para estos tres niveles (Calero et al, 2001)
]\iA(T) 0:FK(T)
Uso Ingredientes 7 5
(T)
NA(T) NFK(T)
5 0
279
Numero de tab las dimensionales de una estrella Nllmero de tab las de la estrella Numero de atributos de las tab las dimensionales de una estrella NLlll1ero de atributo;, de la tabla de hechos de la estrella Nllll1ero de atributos de la estrella.
?'\llll1ero de claves ajenas de una estrella Ratio de atributos de la estrella. NLullero de atributos de las tab las dimensionales di\-idido por el nlllllero de atributos de las tabla de hechos Ratio de clm-es ajenas. ?'\llll1ero de atlibutos de la tabla de hechos que son claves
RFK(S) ajenas
En 1a tabla 10.13 se puede observar los valores de las metricas de nivel de estrella (ver tabla 10.12) para el esquema del ejemplo que se esta estudiando.
METRIC-\. I I I HECHOSPRODt:CCIO:-; J I USOI:sGREDIE:-;TE I
NA 28 35
NFK
--+
I I I
NOT
--+
I I I
NT 5 6
I I I
NAOT
7' _J
28
I I I
NAFT 5 7
280
r-----~~~~----,r------------------------~~==~~~~--------------------_J
~a
NFT(Sc) NDT(Sc)
~~~
Numero de tab las de dimension del esquema Nllll1ero de tab las dimensionales compartidas por !11:)S de una estrella Numero de tab las del esquema Nllll1ero de atributos de las tab las de hechos del esquema NllIl1ero de atributos de las tablas de dimension del esquema Nllmero de atributos de las tab las de dimension compartidas Nllll1ero de atributos del esquema Nllll1ero de claves ajenas del esquema. Ratio de de tablas dimensionales compartidas. Cantidad de tablas dimensionales que
I I
RSDT(Sc) estan relacionadas con mas de una estrella RT(Sc) Ratio de tablas. Cantidad de tablas dimensionales por cada tabla de hechos Ratio de anibutos del esquema. Numero de atributos de las tab las dimensionales RScA(Sc) dividido por el nllll1ero de atributos de las tablas de hechos RFK(Sc) Ratio de claws ajenas. Nllll1ero de atributos que son claves ajenas Ratio de atributos de las tab las dimensionales compartidas. NllIl1ero de atributos del RSDTA(Sc) esquema que son compartidos
!
I
!
I
METRIC\
VALOR
METRICA
I
I I I I I
VALOR
I
I I
METRIC.",
I
I
VALOR
I
:
NA NFK NDT NT
40 9
12
45
5.~2
940
')
I I I
7
28
I
I
NSDT NASDT
4
-.)
I I I
I
2812
23140
NADT
"
\: R..-\-\!A
281
3. CAUDAD DE DATOS
Una vez que se ha eShldiado la cali dad de los modelos de datos y como medirlo. se atl-onta ahora el hecho de medir la calidad de los propios datos almacenados en la base de datos. Para empezar es necesario definir el concepto de calidad de los propios datos. En la literahlra se intenta definir este concepto en nmcion de unos deter111inados criterios. como pueden ser el ciclo de vida de los datos (Redman, 1996) 0 los tipos de investigacion realizadas (Huang et al.. 1999, 'Nand y Wang. 1994) 0 simplemente la f01111a en 1a que se usan los datos (English. 1999). Pero todos los autores estim de acuerdo en que la calidad de datos es un concepto multidimensional que comprende distintos aspectos seglm las necesidades de los consumidores de datos 0 de los diseiladores de sistemas. Una estrategia habitual que se suele utilizar para detel1ninar el grado de cali dad de datos de una aplicacion es detinir un marco de trabajo para detel111inar las dimensiones de calidad de datos para un contexto. que puede ser generico 0 bien especia1izado en un area, y metricas asociadas a esas dimensiones. Las dimensiones de calidad de datos y de infol111acion son criterios racionales que representan los requisitos de los mediante los cuales es posible juzgar la cali dad de un dato. Estas a su \ez pueden dividirse en otras que complementen su significado (ISO. 2001). Es posible llegar a necesitar un conjunto de varias dimensiones para detinir el estado de la cali dad de datos y de informacion en una detel111inado aplicacion (Huang et al.. 1999). EI problema radica en la diticultad para identiticar las dimensiones de calidad para cada uno de estos componentes. Muchos aLltores como Redman (1996). English ( 1999). Strong et ai. (1997a) han explicado como identiticar estas dimensiones de calidad de datos e incluso como medir ciertos aspectos caracteristicos de calidad de datos en ciertas aplicaciones y entomos. Redman (1996) explica un procedimiento mediante el cual es posible obtener las dimensiones de calidad de datos a partir de los requisitos de calidad de datos de los usuarios y de la cadena de intol111acion: se retmen los requisitos de cali dad de datos de los usuarios y se catalogan. identiticando adecuadamente las necesidades y preferencias de todos los usuarios para posteri0l111ente intentar compatibilizarlas. Despues de haberlas catalogado se escriben de f0I111a que los disei'iadores puedan ar'iadirlas a las especiticaciones del sistema. teniendo en cuenta su detinicion y como afectan a los datos existentes. Por ttltimo, se comprueba la validez de la dimension elegida. Este proceso es iterativo hasta obtener un conjunto consistente de dimensiones de calidad de datos. Por otro lado. Strong et al. (1997b) proponen LIl10S procedimientos de identiticacion de dimensiones de calidad datos consistentes en aislar problemas frecuentes con los datos. Muchas de estas metodologias de eleccion de dimensiones de calidad de datos llevan aparejada la definicion de un conjunto de dimensiones por parte del autor que sirven como referencia para su aplicacion. La e\'aluacion de estos marcos rev-ela con demasiada tiecuencia que los marcos de referencia han sido definidos para un dominio. con 10 que son nlertemente dependientes del contexto (Eppler. 2001 a). As! es posible encontrar un catalogo de dimensiones de calidad para entomos medicos (Kosar. 1999:
282
Davidson et af., 2004), militares (Burzynski, 1998), para sistemas de apoyo a la decisi6n (Gendron y D'Onofrio, 2002; Shankaranarayan et af., 2003), para la web (Eppler y Muezenmayer, 2002), para pequenos negocios (Leonowich-Graham y Willshire, 2003), sistemas cooperativos (Mecella et aI., 2002), para teolias evolucionista de la calidad de los datos (Liu y Chi, 2002) e incluso para "COIparate Hal/seliafding" (Madnick et af., 2004). No obstante un esquema que empieza a ser COmlll1mente utilizado para la elecci6n de las dimensiones de calidad de datos es el propuesto por Strong et af. (1997a), donde se establece un conjunto de cuatro categolias de dimensiones de calidad, mostradas en la tabla 10.16:
.
C.UEGORIADt CAUDAD DE DATOS DIMENSlONES DE CALlDADDE DATOS.
Exactitud, Objetividad. Credibilidad, Reputaci6n Accesibilidad. Acceso Seguro Relevancia. Valor Afiadido. Oportunidad, Compleci6n. Cantidad de Datos Interpretabilidad. Facilidad de entendimiento, Representaci6n
De todos modos, es posible que este esquema no satisfaga con-ectamente todas las necesidades de los usuarios (Eppler, 2003), y se podlia pretender desan-ollar un modele de referencia universal valido para cualquier situaci6n, pero como afiTInan Pipino et af. (2002) esto es imposible debido al hecho de que la calidad de datos y de infomlaci6n depende fueltemente de los problemas particulares que las organizaciones tienen con sus datos y su infoTIl1aci6n. Otro de los problemas que se puede encontrar a la hora de definir el catalogo de dimensiones es la cantidad de factores que pueden afectar a dicha dimension. Uno de los casos mas impOltantes es el rol de la persona que va a utilizar el recurso cuya dimensi6n de calidad de datos y de infoTInacion se pretende definir (Gialmocaro et aI., 1999). Sea cual sea el metodo de elecci6n de las dimensiones, y los factores que condicionan la elecci6n de las climensiones, el numero de las elegidas que fOTIl1aran este conjunto debe ser 6ptimo y minimo: optimo para que represente convenientemente la calidad de datos en la base de datos y minimo para evitar el gasto imlecesario de recursos y la complejidad computacional. Como se sabe, la calidad de un producto depende del proceso mediante el cual se disena y produce el producto, as! que la cali dad de los datos estara relacionada con el proceso de captura, de diseno, 0 de utilizaci6n de los mismos. En Wand y Wang (1996) se
GRA.-MA
283
analizan algunas de las causas de la mala calidad de los datos debida a deficiencias en disefio basandose en principios onto16gicos, vease tabla 10.17. De todos modos, hay que tener en cuenta, desde un punto de vista practico, que las mayores deficiencias en la calidad de los datos provienen de su no utilizaci6n. Al igual que pasa con los miembros y 6rganos del cuerpo humano, los datos que no se utilizan tenninan "atrofiandose", y su calidad se deteriora (On, 1998).
DIMENSION CALIDADDE NATUR."-LEZ--\ DEL-\ DEEICIE1\iOA DATOS
.""
FUENTE DELADEI'1C:!ENCIA
Representacion impropia: Complecion Estados SI 2 ausentes Representacion impropia: No ambigtiedad Varios estados del MR3 mapeados al mismo estado SI Estados SI sin sentido y confusion: mapeo a Significacion estado sin senti do Correccion Confusion: mapeo a un estado incorrecto operacion Fallo en la operacion Fallo en el diseiio y fallo en la Fallo en el diseiio Fallo en el diseiio
Dado que la calidad tiene componentes objetivas y subjetivas (Pipino et aI, 2002), es necesario catalogar los requisitos de calidad de datos de los usuarios segun unas detenninadas dimensiones de calidad. En Huang et al. (1999) se prop one considerar diferentes tipos de metric as conespondientes a esas componentes: subjetivas (basadas en el juicio de los usuarios de los datos), objetivas independientes de la aplicaci6n (como la conecci6n) y objetivas dependientes de la aplicaci6n (especificas para un dominio detenrunado). La tabla 10.18 muestra algunos ejemplos de dimensiones de calidad que pueden tener una medici6n objetiva y otras que pueden tener una medici6n subjetiva. Por tanto, las empresas tendran que, por un lado, definir una politica de calidad que establezca las obligaciones de cada rol (en general, directivo de infonnatica, creadores y suministradores de datos, disefiadores, operadores, etc.) con el fin de asegurar la calidad de los datos en todas sus dimensiones; mienh'as que por otro deberan implementar un proceso con el fin de evaluar la cali dad de la infom1aci6n de que disponen.
28-1
iZ R_-\-\!A
DI"\<IE7\5107\
DEH7\ICI07\
:\ccesibilidad Cantidad apropiada de datos C omplecion Comprenslbilidad Credibilidad Disponibilidad temporal Facilidad de manipulacion InteIlxetabilidad Libres de en'or ObjetiYldad Releyancia
I Los datos estan disponiblcs 0 bien son tacil y rapidamente recuperables. I El volumen de datos es adecuado para la tarea que se esui realizando. ' I I Los datos son complctos y suficientes para la (area que se eStil desaITollando. I Los datos son tacilmentt: comprensibles I I Los datos pueden ser considerados como creibles y verdaderos.
Los datos estan 10 suficientementc actualizados para la (area que se esta desaITollando. Los datos son tacilmente aplicables y manipulables en diferentes tareas. Los datos estan representados en el idioma apropiado. con una simbologia COITecta y adecuada y con la definicion apropiada. Los datos son COITectos y liables. Los datos son imparciales. sin prejuicios y sin connotaciones. Los datos son lltilcs y aplicables en la tarea ue sc esta desaITollando. Los datos cstan representados de una fonna compacta. Todos los datos se represcman en cl mismo tonmno. que adem,is es el m,ls ' adeeuado para la wrea que se esta desaITollanclo. Los datos estan altamcnte rdacionados en tennino, de sus filCl1teS 0 comenidos. EI acceso a los datos esui restringido apropiadameme para garantizar su seguridad. Los datos son bcndiciosos y otj'ecen wntajas alusarlos.
Tabla 10.18. Algunas dimensiones de CaUdad de Datos (Pipino et at.. 2002) Dentro de este proceso resulta fundamental disponer de medidas 0 metricas que pem1itan analizar y mejorar la calidad en funcion de las dimensiones de calidad de datos identificadas.
( RA-\lA
CAPiTCLO
DE L\ I:-;FOR\lACIO?\
285
Las fases de la que consta la metodologia son las siguientes: Fase 1: Identificaci6n de los objetivos y de las medidas. Es una fase de amilisis, donde a partir de los requisitos de calidad de los usuarios se obtendrian una serie de productos de trabajo tras completar cada una de las siguientes actividades:
1.1. Detenl1inar el objetivo de la medicion. Se trata de detel111inar las razones por las que se qui ere medir el nivel de calidad de datos. 1.2. Detenninar los panimetros e indicadores de cali dad. A partir de los requisitos de los usuarios se identifican las dimensiones y metricas de calidad de datos mas significativos para acotar el problema de calidad de datos.
1.3. Localizar los datos a valorar. Esta actividad se di\'ide en las siguientes subactividades:
1.3.1. Detenl1inar la cantidad de datos que deben ser \alorados. Se trataria de decidir si para detenninar la calidad de los datos hay que tomarlos todos 0 bastaria con tomar una muestra de ellos y luego extrapolar los resultados. 1.3.2. Localizar los datos en la base de datos. Se pretende indicar ellugar ex acto don de logica y.o fisicamente estan los datos a valorar.
1.3.3. Elegir el momento en el que debe hacerse la \aloracion de los datos. Puede oCUlTir que el estado de la calidad de los datos que es verdaderamente significativo se de en un momento detenllinado. Se trata de definir ese momento para que la medici on de la calidad sea la apropiada.
1.3.4. Identificar las fuentes de los datos. Para comparar un valor almacenado con el \'alor real. se necesita conocer la fuente de informacion para preguntarle por el \;alor del dato original. 1.4. Detinicion de criterios de calidad. Se trata de establecer criterios de valoracion para juzgar la bondad de un dato y de definir criterios de evaluaci6n para detenl1inar la bondad del conjunto de los datos.
Fase 2: Creaci6n de una estructura de calidad. Es la fase de disefio. donde el objetivo es dotar al almacen de datos de una estructura para guar'dar los val ores que mas tarde se recopilaran para las medidas de calidad. En funcion del nllll1ero de veces que se haya analizado la calidad de los datos guardados en el almacen de datos, se pueden presentar alguna de estas tres situaciones:
286
2.1. Que no haya ni siquiera almacen de datos, con 10 que sera necesario disei'iarlo afiadiendole directamente los aspectos de calidad que se consideren mas adecuados. 2.2. Que haya almacen de datos pero que no de soporte para los aspectos 0 dimensiones de cali dad. Lo que habra que hacer sera modificar el modelo para dar el citado soporte. 2.3. Que el almacen de datos ya cuente con estmctura de calidad debido a analisis realizados anteliol111ente. En cualquiera de las circunstancias en las que haya que modificar el modelo del almacen de datos hay que tener presente que se pueden ver afectados todos los procesos que manejaban esos datos, pOI' 10 que se recomienda tener en cuenta todos esos cambios.
Fase 3: Medicion de los atributos de calidad. Una vez que el almacen de datos disponga de una estmctura para guar'dar las medidas de las dimensiones de cali dad, esta fase consiste en reunir valores para dichas medidas en las dimensiones especificadas. Puede llegar a ser necesario que para algunas dimensiones de calidad se deba conocer el valor del dato real y compararlo con el del dato almacenado. En funci6n de la cantidad de datos y del nivel de calidad exigido puede ser necesario mediI' los valores de todos los datos 0 seleccionar pOl' muestreo s6le. una parte de esa totalidad. En cualquier caso estas medici ones se guardaran en el almacen de datos. Fase 4: Amllisis y Evaluacion de los valores de los atributos de calidad. En esta fase. se someteran los valores individuales medidos en la fase anterior a los critelios de valoraci6n para detel111inar el grado de bondad de un dato, y Segllll elnllmero de datos con calidad y los criterios de evaluaci6n establecidos se juzgaran si esos datos tienen 0 no el grado de calidad deseado. Si es as!. se celtifican los datos como validos para la aplicaci6n. En caso contrario se desechan como invalidos. procediendo posteri0l111ente como mejor convenga: cOlTecci6n de los datos existentes 0 captura de nuevos datos.
Com') ejemplo de metrica de calidad de datos podria darse la siguiente el Numero de valores incolTectos para un atributo (1\TVI (A)), entendiendo que un atIibuto es incolTecto cuando su valor no esta dentro del rango de valores de dominio definido para ese atributo. En este rango de val ores podria estar 0 no el valor nulo.
287
los Sistemas de Infol111aci6n que utilizan Iecnologias de Infol111aci6n (II) sean 10 suficientemente eficientes como para asegurar la supervivencia de una organizaci6n. Pero el dia a dia de las instituciones esta demostrando que los datos que se necesitan recopilar, almacenar y procesar para la producci6n de la infol111aci6n son tambien un factor basico para el desanollo de sus operaciones comerciales (Eppler, 2001a; Geltz et al., 2004) ya que datos e infol111aci6n constituyen un activo fhndamental para las decisiones tacticas, estrategicas u operativas (Ballou y Iayi, 1999; Bovee et al., 2003; Redman, 1996; Strong et al., 1997a). En la actualidad, la mayor parte de las empresas yen en la tenencia de datos un medio indispensable para hacer frente a un mercado cada dia mas competitivo (Huang et al.. 1999). Asi, sus directivos piensan que cuanto mayor sea la cantidad de datos, mayores seran las ventajas que supondra tenerlos. Esto se traduce numerosas veces en una obsesi6n pOI' reunir y almacenar datos, muchas veces sin una planificaci6n previa, para poder atender a un mayor numero de potenciales c1ientes. Este hecho obliga a las organizaciones a tener que enfrentarse pas ado un tiempo a un grave problema de poluci6n de los datos: se dispone de demasiados datos, la mayoria de ell os probablemente inlltiles e improductivos. Las organizaciones estan empezando a darse cuenta de que una situaci6n de datos con una calidad insuficiente es inaceptable (Piattini et aI., 2000a) ya que las decisiones que pueden llegar a tomarse no seran mejores que los datos sobre los que estan tomadas (Redman, 1996) y pOI' tanto pueden general' ciertos enores que impactaran negativamente en la eficiencia global de la organizaci6n (Burgess et al., 2003; Kim y Choi, 2003: Redman, 1996: Wand y Wang, 1996). Ieniendo en cuenta que un nllIllero importante de organizaciones no tienen todavia las herramientas adecuadas para mantener un alto nivel de calidad de datos (Kim y Choi. 2003). los equip os de gesti6n de calidad de datos y de infol111aci6n deben ser los encargados de empezar a pres tar atenci6n a este aspecto tan importante de las organizaciones que viene siendo descuidado desde hace mucho tiempo (Helfert y von Maur, 2002: Hinrichs, 2000), y de extender esta preocupaci6n al resto de los trabajadores de la organizaci6n a fin de introducir cambios y lograr compromisos que puedan servir de base para la mejora de la calidad de los datos (Motha y Viktor, 2000). Se sabe que el tratamiento de los problemas de cali dad de datos y la infol111aci6n es un as unto tan importante como dificil (Ballou et al.. 2004). no es trivial, no es gratis y se requieren muchos reCllrsos (Xu, 2003), porque, generalmente el aseguramiento de la calidad es un proceso complejo, en el que la diferencia entre costes y necesidades de calidad queda intimamente vinculado pOI' el contexto de aplicaci6n y pOI' los requisitos de la organizaci6n (Bringel et al., 2004). Se hace pOI' tanto imprescindible para el buen rrmcionamiento de los Sistemas de Infol111aci6n de las organizaciones abordar el tema de la calidad de los datos y de la infol111aci6n desde la gesti6n. Idealmente, deberian ser las organizaciones quienes tienen que descubrir las causas de la pobre calidad de sus datos e institucionalizar programas de mejora para solventarlos (Jin y EmbUlY, 2001). No obstante, cientificos, investigadores y profesionales de empresa se han venido preocupando en esta ultima dec ada pOI' esta
288
i;; R.-\-\l.-\
creciente impoltancia de la cali dad de la infol111acion; esta preocupacion ha motivado muchas nuevas lineas de investigacion tratando diferentes asuntos de la cali dad de datos y de la infom1acion des de distintos puntos de vista (Eppler y Wittig, 2000: Wang et 01.. 1995). :\0 obstante. aim no ha sido definido un manual de buenas practicas y procedimientos que pel111ita a las organizaciones valorar 0 mejorar un deteI111inado grado de la calidad de sus datos de un modo integrador (Geltz et 01., 2004) que vaya mas alla de la definicion de las dimensiones de h cali dad de los datos (Xu. 2003). Es necesario. por 1 tanto. mejorar la calidad de los datos y de la infoI111aciolf para conseguir asi mejorar la satisfaccion de los clientes y. al mismo tiempo. la satisfaccion del personal. 10 que hara mejorar la organizacion en su conjul1to. Estudiando a los autores clasicos de calidad como Deming. Juran 0 Crosby, se llega a la conclusion de que 1a clave para 1a mejora de la cali dad de los datos y de 1a infol111acion en las organizaciones debe hacerse a traves de dicha gestion de ca1idad (Liu y Chi. 2002). Esta gestion de la calidad incluye conceptos y actividades como politic as de calidad. estrategia de calidad. p1anificacion de la cali dad. control y aseguramiento de la calidad y mejora de 1a ca1idad (Helfelt y von Maur. 2002). y como demuestra Kreut=berg (2000) esta gestion va a tener un efecto positivo sobre 1a calidad de los datos y de 1a inf01111acion. Estas acti\'idades necesitan encuadrarse en un marco de trabajo que pel111ita evaluar y mejorar la calidad de 1a infol111acion de una f01111a integradora a traves de una gestion proactiva: coordinando y organizando todos los recursos (incluyendo humanos. software. hardware. datos e infol111acion). a traves de un camino. en e1 que teniendo conocimiento sobre 1a organizacion y sobre los "procesos de/cilwicacion de informacion" (\Vang. 1998) se pueda alcanzar cielto grado de eficiencia en e1 tratamiento de sus datos. Muchos de estos esfberzos comienzan con la evaluacion/va10racion del estado actual de 1a calidad de los datos y de 1a infol111acion y continLtan con la optimizacion de los procedimientos. A pesar de que algunas investigaciones proporcionan varias medidas para la valoracion de la calidad de 1a infol111acion y metodologias para la valoracion (English. 1999: Eppler. 2003: Huang et 01 .. 1999: Lee et al .. 2001: Olson. 2003: Redman. 1996: \Vang et al .. 2001). ninguna de ell as trata como optimizar la calidad de la infom1acion coordinando grupos de esfuerzos 0 compromisos que alcancen a las organizaciones completamente tanto de manera pragmatica como analitica (Eppler y Wittig. 2000). Es posible afiI111ar que estos marcos de trabajos son fueiteS bien desde un punto de vista 0 desde el otro. pero rara vez abarcan los dos a la vez. son demasiado dependientes del contexto y. en la mayoria de los casos. demasiado centrados en aspectos concretos de dichos contextos. En los siguientes subapartados se \'an a mostrar algunos de los proyectos. entomos o iniciati\'as mas imp01tantes en la gestion de 1a calidad de los datos y de la infol1113cion.
c ExistCll otros estudios ~nfocados a mejorar la calidad d~ los modelos conccptuales de datos como Calero ct (il. (200 l) 0 Gen<.?ro (2002). Esta tesis csta oricntada al <.?studio d~ la cali dad de los propios datos y de la inlormaci6n.
\: R.-\-'.lA
Se comenzani por TDQM (Wang. 1998) desatTollado en el MIT como uno de los marcos mas ampliamente aceptados por la comunidad investigadora y por las empresas. y que supone la base de otros proyectos como DaQuincis. desalTollado en la Universidad de la Sapienza de Roma (Missier y Batini. 2002) 0 TQdM, desalTollado por English (1999). Tambien se incluyen otros marcos de especial importancia como AIMQ (Lee et al., 2002) o IP-MAP (Shankaranarayan et al .. 2000) desalTollados dentro del ent0l110 de TDQM. Es impOitante resaltar la inclusi6n del marco de Eppler (2003) por ser el de mas reciente publicaci6n. Otro de los marcos a tener en cuenta pero que no va a ser incluido pOl'que no se centra en la calidad de los datos y de la infol1naci6n. sino s610 en la calidad de almacenes de datos es el proyecto ESPRIT 22469 DWQ (http:;!w\\w.dbnet.ece.ntua.gr-d\yqf) desatTollado en la Uni6n Europea (Jarke y Vassiliou. 1997). Finalmente. y como contribuci6n del Grupo Alatcos a este campo, se incluira un marco de evaluaci6n y mejora basado en modelos de madurez. al estilo de CMM1.
El fundamento de este proyecto norteamericano soportado por el Massaclzllssets Institllte of'Technology (MIT - httl!web.mit.edwtdqm) es considerar la infol1naci6n como resultado de un proceso de producci6n: para mantener una alta calidad de los productos de inf0I111aci6n es necesario definir. medir. analizar y mejorar continuamente la calidad de la infol1naci6n. Para esta mejora continua. Wang (1998) establece como principio te6rico basico el ciclo de Deming adaptado '-, la producci6n de informaci6n. La metodologia TDQM consta de cuatro pasos principales. que se repiten en un bucle celTado siguiendo el ciclo de Deming (Deming. 1986) PlclI1ifical'-Hacer-
Colllprobal'-Actllal' (Plan-Do-Check-.4.cf;:
I!J
Definicion del Producto de Informacion. Se identifican los principales productos de inf0l111aci6n cuya calidad de informaci6n es basica para las necesidades de los usuarios: tambien se identifican aquellos requisitos de calidad de informaci6t:. segll11 los cuales los usuarios deben enjuiciar la calidad de los citados productos de infol1naci6n. Las caracteristicas del producto de informaci6n deben ser definidas en dos niveles:
c:
C)
En un nivel superior. el producto de infOI111aci6n es conceptualizado en tel111inos de sus funcionalidades para los consumidores de informaci6n. En un nivel inferior. se deberian identificar los elementos basicos del producto de informacion y sus componentes.
Medicion del Producto de Informacion. En esta fase el objetivo es identificar las metric as de calidad de infOimaci6n mas eficientes para medir dicha cali dad y proceder a su medici6n. La clave para medir reside en el desaJTollo de las metric as de cali dad que se obtienen a pattir de las dimensiones de calidad de datos. tales como precision. exactitud. etc. Estas metricas pueden calcularse a
290
!{.A,.-MA.
partir de los propios datos almacenados en la base 0 almacen de datos, aunque a un nivel mas complejo, pueden definirse reglas de negocio que necesiten ser observadas.
$
Amilisis del Producto de Informacion. Consiste en el desan"ollo de un amilisis diIigido por datos y por procesos para descubrir las causas de la pobre calidad de los datos en los productos de infonnaci6n seleccionados. A partir de los resultados de las metricas, se POrn"a investigar las causas potenciales de los problemas de calidad de datos. Los metodos y helTamientas para desarTOllar esta tarea pueden ser simples como una inspecci6n visual 0 complejos como el cOlmol estadistico de proceso. Mejora del Producto de Informacion. Cuyo plincipal objetivo es disefiar e implementar estrategias para mejorar la calidad de infonnaci6n de los productos de infol111aci6n sobre las causas encontradas en el paso anterior. Una vez que la fase de analisis esta completa, entonces puede comenzar la fase de mejora. El equipo del Producto de infonnaci6n necesita identificar las areas claves para las mejoras. como el alineamiento del flujo de la infol111aci6n y del flujo de trabajo con la infi"aestructura de la organizaci6n y el realineamiento de las caracteristicas de la infonnaci6n con las necesidades del negocio.
{;; R/\.-MA
291
Un modele de las medidas que son lltiles a los consumidores y a los gestores de infonnacion. Este modele tiene cuatro cuadrantes, dependiendo de si la infonnacion es considerada como un producto 0 como un servicio; y de si las mejoras pueden ser valoradas como especificacion fonnal 0 como expectativas del c1iente El segundo componente es un cuestionario para medir la calidad de la infonnacion a traves de las dimensiones de cali dad que son consideradas impOltantes tanto para los consumidores como para los gestores. Varias de estas dimensiones juntas miden la calidad de la infonnacion para cada cuadrante del modele anterior. Este instrumento puede ser aplicado para valorar la cali dad de la infonnacion en las organizaciones. El tercer componente de AIMQ consiste en dos tecnicas de analisis para interpretar las valoraciones obtenidos por los cuestiOnaI10s. Estas dos tecnicas ayudan a las organizaciones a enfocar los esfuerzos para mejorar la calidad de los datos. La primera tecnica compara la calidad de la infol111acion con los resultados de un banco de pruebas de mejores practicas de una organizacion. La segunda tecnica mide las distancias entre las valoraciones de los diferentes implicados en un sistema de produccion de infol111acion.
292
implementar la calidad en las fuentes de los datos. CUaIto. la representaciol1 pe1111itiria a los gestores de los productos de i11f01111acion entender las unidades organizacionales de negocio como los limites del sistema de info1111acion traspasados por los distintos procesos usados en la produccion del IP. Finalmente. pennite la medida de la calidad del IP en las distintas fases del proceso de produccion usando las dimensiones de calidad apropiadas. El marco propuesto por IP-MAP. tiene por tanto como objetivo la creacion de una representacion sistematica para la captura de detalles asociados a la produccion de un producto de inf01111acion. Los objetivos de esta representacion son los siguientes:
<I>
Ofrecer un conjunto de construcciones que faciliten la representacion de los pasos implicados en la produccion del IP. Estas construcciones ayudan a modelar los distintos pasos del proceso de produccion y ayudan al modelador en su visualizacion. La representacion sirve como modelo conceptual para la produccion del producto de infon11acion. La representacion pennite al modelador ex.a111inar criticamente los pasos en el proceso de produccion. Estos pasos incluyen la llegada de elementos de datos (materias primas). la localizaci6n para el almacenamiento de estos datos. los procesos impJicados en la creaci6n. conYers ion y 0 ensamblaje de estos 0 nuevos elementos de datos. y los procedimientos para la eyaluaci6n del producto de infon11aci6n. Aqui el modelador.usuario puede localizar las Fuentes potenciales de problemas de calidad de informacion y 10 mas importante. disei'iar procedimiento para rectificar estos problemas asegurando as! una alta calidad del producto de informaci6n. Ademas pem1ite al modelador implementar la calidad de info1111aci6n en la fuente. Pem1ite asignar las responsabilidades de asegurar la calidad del producto de infom1acion. Finalmente. ofrece una representaci6n que puede ser us ada para \alorar la calidad de un producto de informacion basada en las dimensiones de calidad de in1'o1111aci6n seleccionadas.
<I>
<I>
<I>
La principal critica que se Ie ha impuesto a IP-NIAP es que no prop one ninguna metodologia de eyaluacion y mejora. sino un modelo que permite representar adecuadamente la construcci6n de un producto de informacion
( R.-\-'\L-\
293
Procesos de desalTo[[o de sistemas de infolmaci6n para definir informaci6n. desalTo[[ando e implementando procesos de negocio. sistema de infol111acion. y arquitectura de infol111aci6n y bases de datos. Procesos de manufacturaci6n y negocios que crean. actualizan y bOll'an datos. distribuyen 0 repa11en infol111aci6n y recuperan 0 presentan infolmacion a los productores de infoll11acion 0 a los trabajadores del conocimiento.
Ii)
TQd?vI busca conseguir estos objetivos integrando los principios y IIl1itodos de calidad en Ia cllltlira de Ia empresa. La gestion de Ia calidad de la infolmacion consta de cinco procesos de medida y de mejora de la calidad de la informacion y un proceso que abarca a toda Ia organizaci6n para crear un ent0l110 de calidad de informaci6n. Los procesos de valoracion y mejora de los procesos de calidad que constituyen Ia metodologia TQdM son: " Proceso 1: Valoracion de ia CaUdad de Definicion de Datos y de [a Arquitectura de ia Informacion. EI proceso de medida de Ia definici6n de datos y de Ia arquitechlra de Ia informaci6n es el predecesor de Ia medida de Ia calidad de la infoll11aci6n. No se puede medir Ia calidad de un producto sin saber que las especificaciones de los productos son tan exactas como deberia ser. A fin de medir la cali dad de la infol1naci6n en una base de datos 0 en la salida de un proceso, hay que analizar primero la calidad de la definicion de los datos y de la arquitectura de Ia informac;6n. Los pasos de este proceso son los siguientes: Identificar las medidas de calidad de definicion de datos. Identificar los grupos de infoll11acion a valorar. Identificar a los implicados en la informacion. Valorar Ia calidad tecnica de la definicion de los datos. Valorar Ia calidad del disei'io de Ia base de datos y de la arquitechlra de Ia informacion. c " Valorar Ia satisfacci6n de los c1ientes con Ia calidad de Ia definici6n de datos.
Proceso 2: Valoraci6n de Ia Calidad de Ia Informacion. EI proceso de medir la cali dad de la informaci6n es ana logo al de Ia medici6n de Ia calidad de un producto manufachlrado. Existen medidas tecnicas de confoll11idad con las especificaciones y de disminucion de variabilidad con respecto a los productos desalTo[[ados. Hay modos de medir el grado de satisfacci6n de los clientes con
294
@RA.-MA
respecto a sus expectativas sobre el producto. Los ocho pasos de este proceso son los siguientes: o o o o o o o o
e
Identificar los grupos de Infonnacion que deb en ser valorados. Establecer las medidas y los objetivos de la calidad de informacion. Identificar el valor de la info1TI1acion y la cadena de costes. Detenninar los ficheros
0
Identificar las fuentes de validacion de datos para valorar su exactitud. Extraer muestras aleatorias de datos. Medir la calidad de la infonnacion. Infonnar e interpretar adecuadamente la cali dad de infonnaciOn.
Proceso 3: Medida de los costes de la No CaUdad. Uno de los mitos de la calidad de la infonnacion es que los costes producidos por una pobre calidad de infonnacion 0 por la falta de ella no pueden ser medidos. Sin embargo estos costes S1 que pueden ser analizados y medidos en tenninos de beneficios reducidos 0 de no ingresos. EI proceso desalTollado en esta etapa describe como medir y cuantificar los costes debidos a la falta de infonnacion. Se establecen los casos de negocio para la gestion de la infolmacion y para la mejora de la Calidad de Infonnacion. Este proceso consta de seis pasos que toman como entrada resultados de los dos pasos anteriores y que producen un an3.lisis del valor de la infonnacion y de la cadena de coste. Los pasos de este proceso son los siguientes:
o o o o o o Identificar medidas de desalTollo de negocio. Calcular los costes de infonnacion. Calcular los costes de la falta de cali dad de infonnacion. Identificar segmentos de clientes. Calcular el valor del tiempo de vjda del cliente. Calcular el valor de la infonnacion.
Proceso 4: Reingenieria y Limpieza de Datos. EI proceso de reingenieria y limpieza de la info1TI1acion es aqueI en que se mejoran los productos de infonnacion. Sirve para tomar los datos elToneos y cOlTegir sus deficiencias para llevarlos a un nivel adecuado de calidad. Los datos limpios quedan cOlTegidos. Los datos que no pueden limpiarse deben desecharse 0 identificarse como no cOlTegidos. Este proceso consta de nueve pasos que toman como entrada las salidas de los procesos anteriores y produce distintas salidas. Los pasos de este proceso son los siguientes:
o Identificar las fuentes de datos.
~ R;\-MA
295
o o o o o o o o
II
Extraer y analizar datos de fuentes. Estandarizar Datos. COlTegir y completar los datos. Comparar y consolidar los datos. Analizar los tipos de defectos de datos. Transfonnar y mejorar los datos en los objetivos. Calcular las derivaciones y resumen de los datos. Auditar y controlar la extracci6n, transfonnaci6n y carga de datos.
Proceso 5: Mejora de la calidad de los Procesos de Informacion. Este proceso analogo al anterior se centra en mejorar la calidad de los procesos que usan datos de la organizaci6n para producir datos nuevos 0 para presentarios a los trabajadores del conocimiento para su posterior amilisis. Los pasos del Proceso seran los siguientes:
o o o o o Seleccionar los procesos para la mejora de la calidad de la infonnaci6n. DesalTollar un plan para la mejora de calidad de infonnaci6n. Implementar las mejoras de la calidad de infonnaci6n. Comprobar el impacto de las mejoras de la calidad de la infol111aci6n. Actuar para estandarizar la mejora de la calidad de la infon11aci6n.
II
Proceso 6: Establecimiento del entorno de calidad de informacion. Representa los requisitos sistematicos, culturales, de gesti6n para la creaci6n de lm entOl11O de calidad de infonnaci6n. Sin un entomo de estas caractensticas, las iniciativas para dicha calidad de infon11aci6n no pasanl.n de ser esfuerzos puntuales que no prosperaran hacia una cultura de calidad en el entomo empresarial a largo plazo que busca todo proceso de calidad. Lo que se busca es que cada individuo de la organizaci6n sea responsable de sus propios productos y procesos de infol111aci6n, para.lo que se requiere:
o Comprender la cadena de valor de la infonnaci6n y el hecho de que cada empleado es independiente de los productos de infonnaci6n de otros empleados para desalTollar con exito sus objetivos. Perfilar COlTectamente quienes son los clientes de la infon11aci6n y que esperan de los productos de infonnaci6n. Fon11ar a todos los empleados en el campo de la calidad mediante cursos y haciendo que dispongan de toda la documentaci6n necesaria para saber en to do momenta c6mo deben hacer 10 que tienen que hacer.
o o
296
RA-\lA
Ai'iadir a los objetivos de la empresa la satisfaccion tanto de los clientes. como de los trab~adores de la empresa. y entre ellos los que son mas importantes desde el punto de vista de la calidad de la infonnaci6n: los trabajadores del conocimiento.
Es un proceso transversal que tiene raices en los cinco procesos anteriores. Los pasos de este proceso son los siguientes: o o
c;
Dirigir una valoraci6n del grado de madurez de la gestion de la calidad de la infonnacion. Crear una vision. mision y objetivos. Identificar y enfatizar el rol de lider de calidad de infonnacion. Diligir una valoraci6n del grado de satisfaccion de los clientes. Identificar otras transrormaciones de negocio. iniciativas de mejora 0 recursos extel110s. Seleccionar un proyecto piloto. pequei'io y manejable.
o o
o o o
Definir los problemas de negocio y medidas necesarias para resolverlos. Detlnir una cadena de valor y desanollar un imentario de datos. Desanollar una \aloracion de la calidad de la int0l111acion. Calcular el \'alor del tiempo de vida del cliente.
o o
Cuantificar los costes de la no calidad en la info1111aci6n. Desanollar lazos de contlanza con los patrocinadores. Deilnir los roles y la plantilla de calidad.
Deilnir principios. procesos y objetivos de calidad de datos. Analizar las batTeras sistemitticas.
Ofrecer una iC1l111aci6n tonnal en :esti6n de calidad de iniol111aci6n para los directivos. Dirigir un proyecto de mejora de iniol111aci6n.
s
.:)
Establecer mecanismos regulares de comunicacion. educaci6n e implicacion de los directivos . :Vlantener los procesos de mejora continua para la calidad de los datos.
297
Parten de la base de que las teorias tradicionales de gestion de calidad de datos no dan soporte suficiente para la gestion de la infom1acion en estos tipos de sistemas, por 10 que a pattir de la metodologia TDQM (Wang, 1998) desatTOllan un marco homogeneo para la gestion de proyectos de calidad de infom1acion en entomos cooperativos. Los autores proponen un marco basado en TDQM (Wang, 1998) que esta fom1ado por los siguientes pasos: 1. Determinar el alcance del Proyecto, Este paso tiene como objetivo detenninar que Productos de Infonnacion estan dentro del a1cance del proyecto y por que. Las actividades que hay que realizar son las siguientes: 1,1. Identificar los productos de infom1acion criticos. 1.2. Realizar un anaIisis dirigido por datos de los productos de Infolmacion. 1.3. Realizar un anaIisis dirigido por procesos tie los productos de infonllacion.
2. Analisis: Detem1inar como someter a los productos de infol111acion seleccionados al control de calidad. Las actividades de este paso son los siguientes: 2.1. AnaIisis de los Requisitos de Calidad de Infom1acion. Define el concepto de "adecllado para Sll IIS0 .. para cada uno de los elementos de datos recopilados en el a1cance. 2.2. Analisis de las oportunidades y planificacion eSh'ategica. Los entomos operacionales ofrecen diferentes oportunidades para la gestion de calidad. Dados un entomo especifico y un conjunto de requisitos de calidad de datos, el objetivo es detenllinar una eSh"ategia y h"azar un plan para la gestion de calidad de infol1nacion.
298
Analisis de costelbeneficio. Los niveles de calidad exigidos por los requisitos de calidad de infOlmaci6n garantizan una serie de beneficios organizacionales. EI objetivo de esta actividad es encontrar un equilibrio entre costes y beneficios. 3. Planificacion del Proyecto tecnico. Define un plan para el proyecto tecnico que pennite implementar las estrategias propuestas. Debe tener en cuenta todos los requisitos tecnicos derivados de la planificacion estrategica. Algunos de los elementos mas relevantes del entomo son los siguientes: requisitos tecnicos detenninados por el analisis de la estrategia y por los patrones de mejora de calidad. Implementacion del Plan y ejecucion. Comprende las siguientes actividades: 4.1. Monitorizaci6n de los niveles de calidad. El plan del proyecto detenninada el modo y frecuencia en el que deben monitOlizarse los niveles de calidad. Un sistema en operaci6n debe satisfacer este plan usando los procedimientos implementados. 4.2. Gesti6n de las operaciones del sistema. Gesti6n ordinaria a nivel de sistema. Valoracion de los niveles de Calidad de Informacion y seguimiento del proyecto. Un analisis posterior basado en datos de monitorizacion analiticos. Ofrece un enlace desde el desanollo de esh'ategias de infom1aci6n regresando a las fases previas que han sido discutidas.
4.
5.
Deberfa ayudar a identificar los problemas de calidad de datos y de infonnaci6n de una fom1a mas sistematica y mas comprensiva, Deberia habilitar un modo de analizar esos problemas con mas detalle y rigor y detem1inar sus CclUsas potenciales. Deberia ser lltil para evaluar calidad de infonnaci6n.
0
R.'\-yl.-'..
299
Deberia ofi-ecer medidas para disei'iar y gestionar soluciones sostenibles basadas en las conclusiones obtenidas a partir de un amllisis de las medidas tomadas en las dimensiones de calidad. Deberia servir tambien como un instrumento de fonnaci6n en el aprendizaje y aplicaci6n pnictica de los conceptos de calidad de infonnaci6n.
Una estructura vertical con cuatro vistas 0 niveles de calidad de infonnaci6n que categOlizan los criterios cruciales de calidad de infonnaci6n para la comunidad destino del marco, el producto de infonnaci6n, el proceso de infol111aci6n y la infraestnlchlra. Una estruchlra horizontal dividida en cuatro fases que representan el ciclo de vida de infol111aci6n desde el punto de vista de un usuario.
IDE:-;T1FICICle):"\ EUU:.ICIO:-; LOCALlZACIO:"\ ApUCACIO:-;
I.
PRI:<OCIPI
,-
'.'
. ....
hTEGILICIO:-; I
II
y
YALID.\CIO:<o
II
I
I
CO:<OTEXTO
II
I I
ACTIYACIO:-;
hFOlnIACIO:-; RELEVA:-;TE
I
I
CO'IPRE:-;SIVO
EXACTO
CLARO
,IPLICABLE
CO:"\ClSA /
""
I
~TE
I/CORRECTO
ACTCIL
I}
I
'" ":0:~
-:
"C.
I I
CO'iv['ilE'iTE
OPORrr'iO
f~ ~IL SEGll'll['iTO
ACCESIBLE
SEGrRA
'IA'iT['ilBLE
I I
!'iTER ICHI I
R \PlD \
:}
"
~
[ '" -'. ~
~
Figura 10.10. Marco de Referencia de Calidad de Informacion (Eppler. 2003) Los recuadros con el fondo en gris claro son dimensiones de calidad relativas al contexto. los que tienen el fondo blanco son dimensiones relacionadas con el tiempo, los que tienen el fondo gris oscuro son dimensiones relacionadas con el fon11ato de la infon11aci6n. Las flechas representan conflictos potenciales entre las dimensiones. En la maYOlia de los marcos de cali dad de datos y de infon11aci6n propuestos en la literarura, sus respectivos autores proponen las dimensiones de calidad agrupadas en
300
categorias. 10 que Ie resta aplicabilidad. En su marco, mas que categOlias, Eppler. 10 que prop one son vistas 0 perspectivas de la calidad de la infonnaci6n. Estas cuatTo perspectivas son las que cOlTesponden a los Plincipios de gesti6n: inf0l111aci6n relevante, infonnaci6n buena (en el sentido de estar libre de fallos), proceso optimizado, y fiabilidad de la infraestructura. Estas pueden agmparse en dos bloques: calidad del contenido (que agmparia infol111aci6n relevante), y calidad de los medios (que agruparia proceso optimizado e infraestmctura fiable).
La fase de identificaci6n consiste en localizar la fase donde la infol111aci6n y el dominio en el que se encuadra. as! como los recursos cOlTespondientes. La fase de evaluaci6n consiste en un conjunto de actividades que ayudan juzgar mejor la bondad y la relevancia de la infonnaci6n identificada y de la fuente de la que proviene. La fase de 10calizaci6n contiene un conjunto de actividades que ayudan a adaptar la infol111aci6n al nuevo contexto de aplicaci6n. reduciendola, ampliill1dola, 0 cambiando su f0l111at.o original. La fase de aplicaci6n es en la que la infonnaci6n es puesta en usc, directamente o tras un periodo de fonnaci6n adecuado.
EVALL\CIO'i LOC\UZACIO'i '-\PLlCACIO'i
[DE'iTIFICACIO'i
EJ~jl{iciall1it...>l1fo
I..: fa
CO!1h!rsilm Lk{formalO de
clL' conell/siones d
il~t()f"mach)n.
portir dt.' la
! E,',,/w.1L.'ifJn
la dc{/{alidad
de
Etrt!,,-,"i!JI1 y t.'l1riLjuecimi:..'f1!O
proh/ellIus.
/,1 ilUcJ}"macicin
les
En cada una de las fases, las caracteristicas, criterios 0 dimensiones de calidad que el autor ha identificado. son importante los siguientes criterios (vease figura 10.11):
o
Para la fase de identificaci6n. es necesario que la infollnaci6n tenga las caracteristicas de comprensibilidad. sea concisa. conveniente y accesible.
G R.".-MA
301
Para la fase de evaluacion. se exige que la infonnacion sea precisa, consistente, oportuna y segura. Para la fase de localizacion. es importante que la infor111acion sea clara, con'ecta, susceptible de hacer un seguimiento y mantenible, Finalmente, para la fase de aplicacion, se exige que la inf01111acion sea aplicable, actual, interactiva y nipida.
<i>
Debe proporcionar un conjunto sistematico y conciso de criter10s con los que se pueda evaluar los datos y la inf01111acion. Debe proporcionar un esquema para analizar y resolver problemas de calidad de datos y de inf01111acion. Debe proporcionar las bases para la gestion de calidad de los datos y de la infonnacion y para una gestion proactiva. Debe proporcionar a la comunidad investigadora un mapa conceptual que pueda usarse para eshucturar varias teorias y fenomenos relacionados con la calidad de datos.
<i>
<i>
<i>
Como se sabe, un sistema de Informacion puede verse como un conjunto de procesos de Produccion Chorizontales") que son conh'olados por distintos procesos de gestion de calidad ("verticales"). Una de las ideas basicas de esta propuesta es considerar la infor111acion como el valor afiadido a los datos que alguien obtiene cuando usa un producto de datos (Eppler, 2001 b). Un producto de datos, como 10 define Wang (1998), es el resultado de un proceso de h'ansf01111acion (produtcion) de datos, en el que los datos son considerados como la materia prima en el proceso de produccion (Ballou y Tayi, 1996; Huang et al., 1999; Wang, 1998), aunque los datos tengan caracteristicas diferentes de las mater1as primas tradicionales (Ballou y Tayi, 1999). El asunto fundamental de la cuestion pasa por modelar 0 definir ese proceso de produccion de infonnacion y como gestionar la calidad de los productos que genera, ya que la cali dad de un proceso depende de su disefio y de su operacion (Dedeke, 2003). Esta analogia de infol111acion con productos, y de datos con materias primas, pennite aplicar los principios clasicos de gestion de calidad de productos ala gestion de calidad de los datos (Firth y Wang, 1993) y de infor111acion des de un punto de vista ingenieril, como han suger1do algunos autores de fonna implicita 0 explicita (como Bobrowski et al., 1998). Para que pueda decirse que un producto de datos tiene cali dad, debe satisfacer todos los requisitos del cliente (Crosby,
302
:f;
R.-\-?vlA
1979) 0 ser adecuado para su uso (Juran, 1988). Esto justifica la existencia de los procesos "velticales" de gesti6n de calidad que puede afectar a varios procesos "horizontales" de producci6n. Es necesario articular alglll1 razonamiento para englobar y enlazar todas estas ideas
y conceptos. Si se busca una analogia con la definici6n de Proceso Software dada par Fuggetta (2000)5. y teniendo en cuenta que la calidad de cualquier producto no puede ser
asegurada simplemente inspeccionando el producto 0 realizando meros controles estadisticos. se podria !legar a pensar que una buena aproximaci6n a la gesti6n de la calidad de los datos y de la infol111aci6n en las organizaciones podria ser definir un Proceso Software de Gestion de Informacion (PGI). en e1 que se detlniera quien esta haciendo que. cuando. que recursos se usan y c6mo se gestiona 1a calidad tanto de los productos que se generan como de los recursos que se usan. Esta bip6tesis esta respa1dada por McLeod (1990) que explica que todo proceso software esta formado por dos subprocesos: uno de producci6n propiamente dicho y otro de gesti6n que incide en el de producci6n para controlarlo y que la ejecuci6n 0 no de alguna de las acti\idades del subproceso de gesti6n incide directamente en la calidad del producto de datos que se desarrolla. Esto habilita la evaluaci6n y mejora de la calidad de 121 informaci6n a tra\es de 11 e\'aluaci6n y la mejora de un proceso software encargado de la gesti6n de 11 informaci6n. Aunque existen \arios marcos de trabajo para la e\aluaci6n y 11 mejora de los procesos so1"\\\are. como Cv['vlI 0 ISOIEC 1:5:504. ninguno de ellos se centra en 11 calidad de los datos y de 11 informaci6n. Para conseguir evaluar y mejorar la calidad de datos \' de infol111aci6n en una organizaci6n y teniendo el concepto de PGI como concepto mticulador de esta propuesta. se han definido en el marco dos componentes principales: Ln Modelo de calidad basado en Gesti6n de Calidad de los datos y de la Informaci6n estructurado en 1\iveles de Yladurez. llamado C-\LDEA. 211 estilo de Cv1YII y ISOIEC 1:5504. donde se establecen distintas Areas Clave de Proeesos (ACP) con actividades de .caracter tanto tecnico como de gesti6n. Para caela ACP. y en aras de conseguir un marco de trabajo 10 mas universal 6 posible. se proponen algunas hel1'amientas. teenicas. estandares. tareas v
'Proccso So/ilmre eS lIil COlljUll1O cohereille de po/ilicas, eSll"/iCll!raS orgulli::aciolla/es, leci/%gias, procedimielllos ,1' urlejilcl()S 'jue SOil necesarios para concebi/', desarrollul', ills/a/ar ,1' liIWilcner
1111
,. Al estilo de las pnicticas de C\[M y Ci\[ivU pero utilizando la tenl1inologia de Metrica \'.3
RA-MA
303
metIicas requelidas, De esta manera cada organizacion puede usar 10 que sea mas apropiado para sus necesidades.
III
Una Metodologia de Evaluacion y Mejora de la Cali dad de infol111acion, conocida como EVAMECAL, del estilo de CBA-IPI (Dunaway, 1996), SCAMPI (SE1, 2001) 0 la cuarta parte de ISO/IEC 15504 (ISO, 2004a-d. Redondo. 2004), que consiste en un conjunto de pasos que proporciona una base para la evaluacion y ejecucion de la mejora de la calidad de datos y de la infor111acion a traves de una gestion proactiva, La evaluQcion y mejora necesita un modelo de proceso (Humphrey. 1989) que encuentra en CALDEA.
Con estos dos componentes. la idea del marco puede resumirse como sigue: elegir un PGI de la organizQcion cuya cali dad de los datos y de la infol1mcion sea suceptible de mejora. aplicar EVAMECAL para evaluarlo segLll1 el modelo de referencia indicado por CALDEA y mejorarlo planificando la realizacion de acciones COlTectoras para satisfacer los objetivos de calidad de datos y de infol1nacion establecidos en CALDEA. Los siguientes subapartados describen los componentes del modelo propuesto.
4.7.1.
L11L.dU
CALDEA representa en el marco propuesto. el modelo de referencia que debe seguir un PGI para la mejora continua. Para poder lle\ar a cabo de fOl11m efectiva la gestion de los procesos sofnvare de gestion de informacion es necesario asumir cuatro resjJonsabilidades claws (Florac y Carlenton, 1999): definir. medir. controlar y mejorar el proceso. Se han asimilando estas responsabilidades clmes como referencias en la definicion del modelo de proceso de gestion de infol111acion pueden establecerse cinco niveles de madurez en la gestion de calid2d de datos y de infol1nacion. al estilo de los propuestos por CvlMI. Un nivel de madurez indica la capacidad de un proceso (Cue\as et al.. 2002), En cada niwl es necesario obsenar una serie de acti\'idades fundamentales para el cumplimiento de los objeti\os de gestion. CM\/ll reLIne estas actividades en grupos de actividades. llamados Areas Claw de Proceso (.4>.CPL Cada una de las ACP debe contemplar las acti\'idades necesQrias para implementar los procesos de produccion de productos de informacion y las acti\'idades encaminadas a lograr 0 alcanzar un detenninado objetivo de calidad de datos y de informacion. Es interesante reseilar que se ha optado poria representacion en etapas de CMMI. porque parecia mas facil trabajar con secuencias de mejoras bien definidas (que abarcan desde los fundamentos basicos de la gestion de proyectos hasta los asuntos de gestion de la calidad de los datos) y ademas esto pe1111itia asegurar la primera condicion impuesta por Eppler y Wittig (2001) de ofrecer un conjunto conci50 de cliterios sistematicos para evaluar y meJorar la calidad de la infon11acion, Se han definido los siguientes niveles de madurez para la gestion de la cali dad de los datos y de la info1111acion: Inicial, Definicion, Integracion, Gestion Cuantitativa y
30-1
Optimizante, cada uno con sus ACP. Estas ACP estan a su vez compuestas por actividades. Para la realizacion de cada actividad, es necesmio la eleccion de una serie de tecnicas, estandares y heITamientas que penIDtan convertir los productos de entrada en productos de salida. A fin de hacer el modelo 10 mas universal posible se ha optado por proponer, no por imponer una serie de tecnicas y heITamientas que dilijan hacia el objetivo de la ACP. Tambien es importante senalar que en cada nivel de madurez se puede ir modificando tanto elmodelo de procesos del PGI como elmodelo de datos, para que puedan recopilar todos los requisitos de calidad de datos y de la infonnacion.
Los cinco niveles de madurez en la gestion de calidad de datos y de la infonnacion de los que consta CALDEA son los siguientes (en la tabla 10.19 se muestran las ACP de cada uno de ellos):
...
GEGCDI
z;
~9
vv
f--
\;;
~
~
~
g
Q
GIR
GCI FS
GE
1. Inicial (1). Un PGI se dice que esta en elpivel inicial cuando no se ha gestionado
ni coordinado ninglin esfuerzo con el fin de asegurar la calidad de los datos y de 1a informacion, es decir puede estar en un estado ca6tico. 2.
Definido (2). Un PGI se dice que esta Definido 0 en e1 Nivel de Definicion cuando se ha planificado e1 proceso de gestion de infol111aci6n, identificando y defmiendo todos los elementos y componentes (tantos pasivos como activos), 1a relacion entre ellos y el modo en que se han ido desan"ollando de acuerdo al plan previsto. Por tanto un PGI se dice que esta definido cuando se ha gestionado un proyecto para su definicion. Las ACP de este nivel son las siguientes:
e
(GEGCDl) Gestion del Equipo de Aseguramiento de Calidad de la Informacion. Las iniciativas de gesti6n de calidad de datos y de infonnacion
RA-MA
305
necesitan personas que puedan dar soporte a las actividades que se deben realizar. Estas personas deb en trabajar en concordancia con las ideas y las tendencias de la organizaci6n y deben estimular a la plantilla mostrando un compromiso con las politicas de calidad de infonnaci6n (Ballou y Tayi, 1999), haciendo esfuerzos para satisfacer las ACPs del modelo de madurez. Redman (2001) sefiala la necesidad de que los altos directivos se impliquen en las iniciativas de calidad de datos y de infoffilaci6n.
e
(GP) Gestion de Proyecto para PGI. EI objetivo de esta ACP es crear un plan para coordinar y organizar los esfuerzos y redactar un documento. que describa claramente una agenda de actividades y un presupuesto en recursos para optimizar el PGI. Este documento se puede realizar de acuerdo a IEEE ( 1987).
(GR) Gestion de Requisitos de Usuarios. Los requisitos de usuarios deben ser recopilados y documentados convenientemente. Se deb en identificar tres clases de requisitos (Wang y Madnick, 1993): los relacionados con el producto final de infoffilaci6n (ERU-PI), los relacionados con el PGI (ERU-PGI) y los relacionados con la Calidad de la Infonnaci6n (ERU-CI). Estos tres grupos de requisitos son el punto de partida para modelar el PGI. Existen tecnicas y helTamientas que pueden ayudar a desalTollar cada documento (IEEE, 1998), Y alguna mis especifica para aspectos concretos como, IP-MAP (Shankaranarayanan et ai., 2000), que bien podna ser utilizado para modelar el PGI.
(FS) Gestion de Fuentes de Datos y Destinos de Producto de Informacion. Por las caractensticas de los datos, es necesario identificar y documentar las fuentes de datos y los objetivos de los datos de ERU-PGI para evitar problemas de redundancia y de fonnato de intercambio de los datos (Loshin, 2001). En Ballou et al. (1998) Y en Bouzeghoub y Kedad (2000) se discuten estos temas y sugiere fOffilas para tratar la infonnaci6n de multiples fuentes. En almacenes de datos se deben usaI' helTamientas como ETLs para unificar la selmintica y los fonnatos de datos (English, 1999).
(ADN1) Gestion de Proyecto de Mantenimiento, Desarrollo 0 Adquisicion de Bases de Datos 0 Almacenes de Datos. Los datos us ados como matenas primas deben ser recopilados y almacenados en BD apropiadas 0 en almacenes de datos. Para asegurar mejor la calidad de la infoffi1aci6n, es mejor elaborar lill proyecto para la gesti6n de la adquisici6n, desalTollo 0 mantenimiento de un SGBD 0 un almacen de datos, debiendo sopOliar los requisitos establecidos en ERU-PI, ERU-CI y ERU-PGI. Esta ACP pennite incluir otras actividades como Aseguramiento de la Calidad de los Datos (Jar'ke y Vassiliou, 1997).
(GCl) Gestion de la Calidad de la Informacion en Componentes PGI. El uso de mehicas para medir la eficiencia del PGI pennite ayudar a mejorarlo. Es necesano identificar a partir de las ERU-CI tanto las dimensiones de calidad de
306
&~-'\.-r.lA
la infonllacion (como se prop one en ISO/IEC 9126 para el software) para cada uno de los componentes que se debe controlar (Hoxmaier. 2001; Huang et al., 1999). como las metIicas que mejor se adapten a cada una de estas dimensiones (Eppler. 2003: Kahn et al., 2002: Pipino et al., 2002). Para conseguir que nuestro marco sea 10 mas geneIico posible. no se prop one ninguna dimension como obligatoria. ya que esto no es posible salvo para contextos concretos (Pipino et al., 2002). Como guia. suele utilizarse como estandar el cO!~unto de dimensiones de calidad de datos propuesto pOI' Strong et al. (1997b). Como ayuda en esta labor. se puede utilizar una metodologia generic a como IEEE (1992) 0 GQM descrita en (yan Soligen y Berghout. 1999). Autores como Ballou y Tayi (1999). Bouzeoghoub y Kedad (2000) 0 Calero y Piattini (2002) han propuesto metricas para la mejora de componentes especificos de un PGI. Para obtener medidas mas fiables es interesante automatizar el proceso de medicion como sugiere Hinrinchs (2000). 3. Integrado (3). Un PGI se dice en e! ni\el de Integracion 0 que esta integra do. cuando habiendose alcanzado el niYeI 2. se hacen esfuerzos por ejecutar el proyecto seglll1 las politicas de calidad de datos de la organizacion. La idea de estar integrado responde a la necesidad de estar dentro de en un entomo determinado. la organizacion. respondiendo a1 111is1110 enfoque de bllsqueda de caliclad de datos y de la informacion que el resto de los recursos (English. ! 999: Loshin. 2001). a fin de que pueda ser controlado bajo los panimetros propios del conte:\to (Florac y Carlenton. 1999). Las ACP de este niYeI son las siguientes:
'alidacion y Yerii1cacion de del PGI y Productos de Tanto los productos de informacion como los componentes del PG! tienen que ser \erificados y validaclos para corregir clefectos y cliferencias con las ERUs. Se poclria usar las inspecciones de software (Fagan. 1976: Gilb y Graham .. 1993). aclaptaclas a los aspectos cle caliclacl. Una metodologia mas especifica que se puecle usar es. clata testing propuesta pOl' Kiszkumo et uf.. (2001 ). e:\tenclicla al PGI. Se podria cliseii.ar y reclactar un plan cle pruebas para coorclinar los esfuerzos relati,'os a !a \aliclacion \' a la Yerificacion 1986). (GIR) Gestion del Impacto de la CaUdad de Informacion y de los Riesgos. Es necesario cletenninar el impacto sobre la organizacion cle una pobre caliclacl cle la informacion en el PGI y acotar que riesgos se procluciran si se asume (English. 1999). Getto (2002) propone una metoclologia que se puecle aclaptar a aspectos cle calidad de la inf0I11lacion para reunir y clocumentar toclos los nesgos. (GE) Gestion de la Estandarizacion de la CaUdad Ie la Informacion. T oclas las lecciones aprencliclas a traves cle la experiencia se cleben reunir. clocumentar y transmitir a la base cle conocimientos de la organizacion, Un
"
'"
<;' RA-:'vlA
307
(GPO) Gestion de las Politic as de Calidad de la Informacion Organizativa. Una forma de implementar todos los esfherzos mencionados anterio1111ente consiste en la definicion de politicas de cali dad de la info1111acion basadas en estandares previamente definidos. que afectan a la organizacion. Gestion Cuantitativa (4). Un PGI se dice que esta en el nivel de gestion cuantitativo 0 que esta gestionado cuantitativamente cuando estando integrado en una cultura organizacional de cali dad de datos. se desanollan esfuerzos para tomar medidas relacionadas con el y con sus componentes. Por tanto. el objetivo principal de este niwl es obtener una confo11nidad cuantitatiya del rendimiento del PGI en un periodo de tiempo razonable que sea consistente con 10 reguerido en te11ninos de variac ion y estabilidad (Florae y Carleton. 2002). Para este niwl se han definido las siguientes ACP:
4.
c;;
(GP;\I) Gestion de Planes de Medicion del PGI. EI objetivo de esta ACP es conseguir metric as que se pueden usar para comprobar la conformidad de la especificaciones (Grimmer y Hinrinchs. 200\: Loshin. 2001). Como afi11na Ivleredith (2002). un plan para la medicion de la calidad del sofmare comienza con la decision de tomar medidas e implica elegir "que". "cU21ndo" y "como" medir. como representar esas medidas y "a quien". Autores como English ( 1999) 0 Loshin (200!) prop on en el uso de diagramas de control como forma de representar los datos referentes al PGI. Otra fOl1na de mostrar los resultados es el uso de diagramas de Ki\iat como propone Humphrey (2002). Gestion para la Automatizacion de Planes de :Yledida. Para conse-guir un aumento de fiabilidad y repetibilidad de las medidas. algunos de los pro-cedimientos de medidas y algoritmos (definidos en GQM) deben ser automatizados (Hinrinchs.2000). (5). Un PGI se dice que esta en el ni\el cuando. los valores de las metricas I'eferentes a las dim,ensiones de calidad de datos y de informacion recogidas de los componentes del PGI y del producto de informacion son utilizados para identificar TIlentes de defectos 0 la forma de optimizar el proceso completo. cumpliendo as! con la tlltima de las actividades de gestion propuestas por Florac y Carienton (1999). Para este tiitimo nivel las ACP que se definen son las siguientes:
c;;
5.
Ii>
(GPD) Amilisis Causal para la Gestion de Prevencion de Defectos. El Control Estadistico del Proceso (CEP) pueden aplicarse para detectar defectos de calidad de infol111acion e identificar sus causas. Las conc\usiones obtenidas proporcionan una base para eliminar defectos detectados en los recursos afectados. Smith y Heights (2002) ofrecen un marco de trabajo para prevenir los defectos.
308
: R.-\-\!A
estar
en
uno
de
estos
estados:
Cada ACP puede estar en uno de estos estados: rCompietamente Satis/echo". "Satisfecho", ''Parciaimente Satisjecho", "No Satisfecho"}. Cada actividad en las ACPs puede estar en uno de estos estados: {"Completamente Ejeclltado", "Ejeclltado", "Parciaimente Ejeclltado", "No Ejeclltado"} Cada componente puede estar en uno de estos estados: {"Compietamente Optimizado", "Optimizado", "Parcialmente Optimizado", "No Optimizado"}.
10: CAUDAD DE LA
"'rv""\l_~'L
309
Valor de Calidad de la Informacion (VCl) para cada elemento como un indicador del grado de calidad de datos y de la infOl1llacion. Se calcula como la media ponderada de las calificaciones l1l1meriCaS obtenidas por cada uno de sus componentes en la evaluacion. Se define un VCl para cada componente: de esta f01111a, el Valor de Calidad de Informacion para una Actividad (VCIA) podda ser definido con la media ponderada de los valores de dimension de calidad de datos de cada componente del PGI que pmticipe en dicha actividad teniendo en cuenta su grado de cri.ticidad. Un VCI para una ACP (VCl-ACP) puede definirse como la media ponderada de todos los VCl-A para esa ACP; y un Nivel de Madurez-VCI para el Nivel de Madurez (VCI-NM) puede ser definido como la media de todos los VCl -ACP para ese nivel y as! sucesivamente (vease figura 10.l2) .
.\"zl!llt!roCompont!ntt's
VCI = _ _
GradoCriticidadj
'"
VaioracionComponeJZte i
j
=i~,-l_----:-:--,-----::-_ _ _ _ _ _ _ _ _ _ __
Il~;lI1crocoll1!'ol1<!lIIcs NiveiCriticidad
Grado de Criticidad (GCr) para cada uno de los componentes dentro de su grupo: as! es posible encontrar un Grado de Criticidad para cada ACP en los Niveles de r,;ladurez. para cada Actividad de las ACP y para cada Componente en la Actiyidad. Estos grados de criticidad pem1iten cuantificar la impOltancia de un elemento denho de un grupo de elementos. La tabla 10.20 muesha los grados de criticidad para las ACP y las actividades del nivel de definicion, mienhas que la tabla 10.21 muestra los mismos elementos para el resto de niveles. Valoracion de cada componente. Que representa una medici on de una de las dimensiones de calidad de datos y/o de info1111acion de cada uno de los componentes. Para los niveles de madurez. s.e ha elaborado un cuestionario que pretende guiar las subsecuentes mediciones.
Con estos hes valores y aplicando la for1llula dada en la figura 10.12 es posible obtener un VCl. Ese valor se mapea segill1 los rangos de valores definidos (compatibles con ISO/IEC 15504) en la tabla 10.22 para obtener el estado de cada uno de los componentes estudiados.
4.7.2.1. La Metodologia
La metodolog!a EVAMECAL establece los pasos que hay que dar para valorar y mejorar un PGl. Las valoraciones del PGI y los objetivos de mejora se establecen en
DE SISTEMAS INFO~YLA.TIeos
RA-:'IA
tenninos de niveles de madurez. Basado en el ciclo PDCA de Deming, EV AIvlECAL puede resumirse como sigue:
EI
EVAlVIECAL-PLAt~ (ElVIC-P). fase don de se analiza la situacion actual del PGl y se estable'cen los cOlTespondientes objetivos de mejora. Consta de las siguientes actividades:
EMC-P.1. Valoracion del estado actual de la calidad de datos y de infol111acion del PGl en tenninos de VCl y niveles de madurez. EMC-P.2. Definicion de objetivos de mejora para los componentes del PGl en los mismos tenninos en los que se hizo la valoracion.
ACP
(GEGCDI) Gesti6n del Equipo de Aseguramiento de Calidad de Datos y de la Infonnaci6n.
I GCR-I ACP
10%
ACTIVtDADES ACP
GEGCDI.I. Detem1inar la composici6n I 60% del EGCDI. GEGCDI.2. Definir un entomo 40% operativo.
60'io
I
40"
30~o
30 0
I
I
(ADM) Gesti6n de Proyecto de Mantenimiento. Desarrollo 0 Adquisici6n de Bases de Datos 0 Almacen de Datos.
25%
-+0 0
I
I
I
Gc.l. Identitk3ci6n de las dimensiones 60 0 de calidad de datos v de infonnaci6n. GC.2. Identificaci6n de las metlicas para I cada una de las dimensiones de cali dad 40"0 de datos y de infOl111aci6n.
EVAlVIECAL-DO (ElVIC-D), que pretende desaITollar soluciones para lograr los objetivos propuestos. Consta de las siguientes actividades:
EMC-D.l. Analisis de causas potencies y desan'ollo de un plan de mejora. Consta de las siguientes subactividades:
Q. R.A-.MA
311
EMC-D.l.l. Amilisis y comprension del problema EMC-D.1.2.Amilisis detallado de las causas reales del problema. EMC-D.l.3. Desanollo de un plan de mejoras. EMC-D2. Ejecucion del plan de mejoras.
I
EVAIVIECAL-CHECK (EMC-C), donde el objetivo es comprobar la eficiencia del plan de mejora ejecutado. Consta de la siguiente actividad.
EMC-C.l. Comprobar la eficiencia del plan de mejora. Consta de las siguientes subactividades: EMC-C. 1. 1. Valoracion del PGI y de sus elementos tras el plan de mejora EMC-C. I .2.Comparacion de los resultados con los obtenidos en la subactividad EMC-P. 1. 1. EMC-C.1.3. Elaboracion de los infoI1nes peltinentes.
I
EVAMECAL-ACT (EMC-A). fase en la que se pretende estandarizar los conocimientos adquiridos en to do este proceso. Consta de las siguientes actividades: EMC-A.l. Obtener conclusiones a partir de los inf0l111es del plan de meJora. EMC-A.2. Estandarizar las lecciones aprendidas para evitar problemas similares en el futuro.
312
ACP
GCR-' ACP
ACTlVlDADES ACP
GCRAcnv
25%
_) /0
,,)-01
>
25~;o
VV.I. Disel1.0 de un Plan de pruebas para la veritlcacion y la validacion de los componentes del PGI Y del producto de infomlacion. VV.2. Ejecucion del Plan de pruebas para la verifieaeion y la validacion. GIR.!. Estimacion impacto de la pobre calidad de datos y de infol1nacion GIR.2. Definicion de planes de contingencia para esos riesgos. GE.I. Eleccion de Estandares de Calidad de Datos Y de Infol1nacion. GE.2. Eleccion de Politicas Organizacionales de Calidad de Datos y de Infomlacion. GE.3. Revision y complecion de las ERU con la infomlacion expuestas en los estandares y las politicas.
Calidad de la Infol1nacion
25%
GPO.l. Disel1.0 Politicas Organizacionales. GPM.l. Identificacion de los aspectos necesarios para cada una de las metricas.
1000 600
"" o;
~g
Co.;
'""
!
I
i
i
70% GPM.2. Definicion de un plan de medida para cada una de las metricas. 400 60" 0 400
i
I
30 10
50%
:~
a
.2: Z
0.
I
(GIOO) Gestion de la Innovacion y del Desarrollo de la Organizacion.
<>
50'io
GAPi\l.l. Estudio para la automatizaeion de los planes de medida. GAPM.2. Implementacion de los aspectos de automatizacion de las metricas. GPO. I. Crear un infol1ne con los defectos encontrados. GPD.2. :~nalisis de la simacion para Ia detenninacion de causas de problemas. GPD.3. Disefio de soluciones para la eliminacion de las causas de los defectos. GPD.4. Implementacion de solueiones para la elimiriacion de las causas de los problemas. GIOO.I. Creaeion de un infomle con las posibles mejoras. GIOO.2. Analisis de los datos para la mejora organizacional. GIOO.3. Disei'io de propuestas para la mejora de la calidad de los datos y de la infonnaeion. GIOO.4. Implementacion de soluciones para la obteneion de las mejoras.
250 I I
i
~5o
250 l 250
25 ()
~5u
250 25 ()
Tabla 10.21. Grados de Criticidad de Areas ClaYes de Proceso y ActiYidades del resto de niveles de CALDEA
313
NmmRE ESTADO
R\NGOVCJ
DESCRIPCloN
os VCIS20
Hay poca 0 ninguna evidencia de la consecucion del estado para el elemento evaluado.
21 S VCI s 60
Hay evidencia de aproximacion y consecucion del estado para el elemento evaluado. Algunos aspectos de la consecucicin pueden scr impredecibles.
Hay evidencia de aproximacicin y consecucion signiticativa del estado para el elemento evaluado. EI rendimiento del proceso puede variar en algunas areas trabajo.
0
unidades de
86 S VCI s 100
Hay e\-idencia de una completa aproximacion y consecucicin del estado para el elemento evaluado_ No existen debilidades significativas en los componentes definidos.
Entre todos los PGI de la organizaci6n, el marco de trabajo se aplic6 al Proceso de Gesti6n de Fon11aci6n. que es responsabilidad del Departamento de Consultoria. El principal objetivo del PGI estudiado es la gesti6n de los datos relativos a la fon11aci6n, consistente en satisfacer demandas intemas y extemas' para la fom1aci6n, eligiendo quien va a ser el fon11ador. detem1inando que recursos se van a usar y gestionando distintos aspectos de calidad de la fon11aci6n. Este proceso esta adecuadamente especificado y documentado en elmanual de calidad de la e:11presa. Existen fon11ularios para recabar datos sobre cursos demandados y para las evaluaciones de la calidad de los ejercicios propuestos, mateliales didacticos proporcionados, y para la capacidad de los profesores, instalaciones, asistencia y uso de recursos. La organizaclOn utiliza para la gesti6n de estos temas una aplicaci6n llamada SINCRO, desalTollada intemamente. Uno de los empleados del Departamento de
314
Consultoria, es el responsable de transcribir datos de los forrnularios a la aplicacion y obtener la infonnacion que sera transmitida a la persona adecuada. Todas las preguntas de los infonnes se realizaron al Director del Departamento de ConsultOlia. En la tabla 10.23 se muestran los plincipales resultados de las encuestas.
RESULTADOSDE LoslNFORMES .'.
....
NIVELnE DEFINICION
".
<
No EJEctTrAl>O
(GEAGI) Gesti6n del Equipo de Aseguramiento de Calidad de la No Satisfecho InfoTInaci6n. (GRU) Gesti6n de Requisitos de Usuarios. (GFDDPI) Gesti6n de Fuentes de Datos y DestiTIos de Producto de Infonnaci6n. (GPMDABDD) Gesti6n de Proyecto de Mantenimiento, Desarrollo 0 Adquisici6n de Bases de Datos 0 Datawarehouse. (GCl) Gesti6n de la Calidad de la InfoTInaci6n en Componentes PGI.
.'
'.
NIVEL DE l'\TEGR,,"CION
(VV) Validaci6n y Verificaci6n de Componentes de PGI y Productos de No Satisfecho Infonnaci6n (GR) Gesti6n del Impacto de la Pobre Calidad de InfoTInaci6n y de los No Satisfecho Riesgos. (GEC!) Gesti6n de la Estandarizaci6n de la Cali dad de la InfoTInaci6n (GPCIO) Gesti6n de las Politicas de Calidad de la Infonnaci6n No Satisfecho Organizativa. No Satisfecho
.
'.
.
No EJECUTADO
(GM) Gesti6n de las Metricas del PGI (GAPM) Gesti6n para la Automatizaci6n de Planes de Medida
. NIVEL DE lVlEJOR,,"
.'
'
No Satisfecho No Satisfecho
..... .....
..
(ACGPD) Amilisis Causal para la Gesti6n de Prevenci6n de Defectos (GIDO) Gesti6n de la Innovaci6n y del Desarrollo de la Organizaci6n
Tabla 10.23. Resultados obtenidos despues de aplicar EV AMECAL al PGI Gestion de Formacion
RA-:v!A
315
Los resultados reflejan que ninguna de las ACPs que pertenecen al nivel 2 y a niveles supeliores pertenecen como mlnimo "Satisfecho ", todos los niveles estan en el estado "No ejecutado ". Acorde con el grado de criticidad de cada ACPs, se propusieron las siguientes recomendaciones para satisfacer el nivel de definici6n de las ACPs:
G
Fonnar un Equipo de Aseguramiento de la Calidad de la Infonnaci6n que asuma la responsabilidad de gestionar el PGI. Gestionar adecuadamente los requisitos de los usuarios. Identificar y definir tanto fuentes de datos como destino de los productos de infonnaci6n y los fonnatos de intercambio de datos. A partir las ERU, gestionar adecuadamente las dimensiones de calidad de la infonnaci6n para cada uno de los componentes del PGI. Modificar la base de datos de calidad.
0
5. LECTURAS RECOMENDADAS
G
English, L.P. Improving Data Warehouse and Business Iriformation Quality: klethods for reducing costs and increasing Profits. Willey & Sons, 1999. Libro considerado como uno de los c1asicos del campo de calidad de datos y de infol111aci6n, afronta c6mo tratar la calidad de los datos mediante una metodologia muy completa y exhaustiva que implica a la propia organizacion como "brazo annado" de las iniciativas de mejora. Eppler, M. J. Alanaging Iliformation Quality. Springer. Alemania 2003. En este libro, el autor da su visi6n paIiicular sobre la gestion de la calidad de la infonnaci6n, proponiendo un modelo muy interesante. Genero, M., Piattini, M. y Calero, C. (eds.) (2005). Metrics for Conceptual Models. Imperial College Press, UK. En esta obra se resume el estado del arie sobre las metricas para modelos conceptm!les, especialmente de los diferentes modelos de UML. Huang, K.T., Lee, Y., Wang, R. Quality liiformation and Knowledge. Prentice Hall, Upper Saddle River, 1999. Referencia de obligada lectura que trata sobre el modelo TDQM propuesto por el MIT. Se establecen los principios basicos de esta filosofia sobre la calidad de los datos. Piattini, M., Calero, C. y Genero, M. (eds.) (2002). liiformation and database quality. Kluwer Academic Publishers, Norwell, EEUU. En esta recopilaci6n se abordan diversos aspectos de la calidad de los datos y de la infOlmaci6n.
316
http://web.mit.edu/tdqm/.esla web del proyecto TDQM, coordinado por Richard Wang. Puede ser considerado como el proyecto matriz de much as de las investigaciones academicas sobre el tema. http://www.iqconference.onz.esla web del International C01?(erence on li!(ormation Quality (ICIQ), organizado por el Sloan School of lvlanagement del MIT (Boston, EE.UU), es uno de los congresos mas antiguos y con mas solera de calidad de datos y de info11naci6n. En este congreso confluyen los resultados de los desatTollos de investigaci6n de las universidades con las necesidades de las empresas en los proyectos de evaluaci6n y mejora de la cali dad de los datos y de la infol111aci6n.
7. EJERCICIOS
1.
c, Que caracteristicas de la n01111a ISO 9126 cree que son aplicables a la hora de evaluar la calidad de un SGBD? Daniel Moody en los liitimos cinco anos ha llevado a cabo diferentes eshldios con el fin de validar tanto el marco (Moody y Shanks, 1994) como las metricas (Moody, 1998) propuestas para la evaluaci6n de modelos E/R. Analice los eshldio que pueda encontrar en la bibliografia y detelmine hasta que punto validan sus propuestas. c,Que similihldes y que diferencias encuentra entre la propuesta de Kesh y la de Moody? Analice la aplicabilidad en la practica de ambas propuestas. En este capihllo se han presentado algunas metricas para bases de datos relacionales pero no tienen en cuenta las restlicciones presentes en las mismas. Proponga. siguiendo el Metodo Alarcos para metlicas software presentado en el capihllo algunas metlicas para las restlicciones (clallsulas CHECK y ASSERTION) de bases de datos que sigan el estandar SQL. c,C6mo podria demostrar que las metlicas propuestas pem1iten predecir la mantenibilidad de las bases de datos relacionales? c,Que metricas de bases de datos relacionales opina que pueden seguir siendo validas para bases de datos objeto-relacionales? c,Que metric as de las defmidas para sistemas Olientados a objetos pueden utilizarse para bases de datos objetorelacionales? c,Que nuevas metricas podrian proponerse? Analice la variaci6n que sufi'en los valores de las metlicas propuestas para almacenes de datos cuando se utiliza un esquema en "copo de nieve" (snmtjlake) respecto al esquema en estrella.
2.
3.
4.
5.
6.
C; R.-\-:-'lA
31 i
7.
Compare las dimensiones para calidad de datos propuestas por English (1999) con las de Pipino et al. (2002). (,Que indicadores para la cali dad de datos Ie parecen m:1S relevantes'? (,Que dificultades presentan a la hora de calcular sus val ores'? Proponga alguna tecnica (0 extensi6n de las existentes) para reflejar requisitos de calidad en especificaciones de requisitos tanto textuales como gnificas.
8.
9.
10. Ana1ice hasta que punto elmodelo CALDEA es conf0I111e a las especificaciones de la nonna ISO 15504. 11. Ana1ice hasta que punto el modelo CALDEA es COnf0I111e a las especificaciones de CMMl. 12. Analice hasta que punto la metodo10gia EV AMECAL es confo1111e a SCAMPI 13. Describa algllI1 Proceso de Gesti6n de Infonnaci6n (PGI) de su organizaci6n. 14. Identifique dimensiones de ca1idad de datos y de infonnaci6n y las metricas cOITespondientes que puedan ser aplicadas al PGI que acaba de describir. 15. Ap1ique EVA.MECAL. calculando todos los VCl. (,en que nivel de madurez esta'?
CAPITULO 11
Estos autores afmnan que cuando un empleado se va de la organizacion, con el se "pierde" la expetiencia que este ha ido adquilido a 10 largo del tiempo que ha estado trabajando (a veces, incluso, ni se sabe que es 10 que se ha perdido); otras veces se "redescubren" experiencias cuya existencia se desconocfa; en ocasiones se vetifica que no se cumplen las promesas realizadas a los clientes, simplemente por desconocimiento de las mismas, y que el personal no se desarrolla adecuadamente por falta de conocimiento.
320
IMORlvL.\ TIeos
1;:; RA~lvLA
Esto es debido a que las organizaciones dedicadas al desalTollo del software rcquieren y generan grandes cantidades de conocimiento, de diverso tipo:
e
e e
La calidad del software y de los SI no puede ser mejorada si to do este conocimiento no se encuentra disponible 0 no se utiliza adecuadamente, ya que los procesos de desatTollo y mantenimiento de software dependen -adelmis de la creatividad de las personas y el funcionamiento de los equip os- en gran medida, de dichos conocimientos. En este sentido, Lindvall y Rus (2003) afil111an que la gestion del conocimiento pennite 'producir mejor so./hmre. de una '/or/lla mas rapida y economica, as! como tomar mejores decisiones", ya que facilita:
e e e e
La localizacion de Ulentes de conocimiento. La reutilizacion de experiencias. La mejora de los procesos de desalTollo del software. La reutilizacion de artefactos del proceso de desatTollo.
Existe ya bastante experiencia en organizaciones de todo tipo que demuestran como se puede gestionar el conocimiento (Davenpori y Pl1lsak, 2000; Tiwana. 2000) y que empiezan a adoptar arquitecturas de gestion de conocimiento como la que se muestra en la figura ILl (Lawton, 2001). Como puede observarse en esta figura, la gestion de conocimiento se puede considerar el nexo que une las actividades de produccion diatias con las iniciativas de mejora y los objetivos de negocio. En este sentido hay que destacar que varias de las actividades de gestlon del conocimiento en general (como la reutilizacion .de activos, la gestion de documentacion, la gestion de competencias, la colaboracion 0 las redes de expelios) pueden resultar muy titiles para la Ingenieria del Software (Aul1lm et al., 2003). Adelmis, en las organizaciones software, la gestion del conocimiento se da especificamente en las siguientes areas:
e
Gestion de configuracion y control de versiones, ya que los sistemas de este tipo crean indirectamente la memoria del proyecto, que indica la evolucion del software y puede servir para identificar experios (quien ha hecho determinados cambios). Decisiones de diseiio C'design rationale"), que es una aproximaclon que consiste en capturar explicitamente decisiones de diseilo para crear una memoria del prodllcto.
321
e e
Trazabilidad. que contlibuye indirectamente a la memoria del producto. Informe de problemas y trazabilidad de defectos, los cuales, pudiendose considerar fuentes de conocimiento "llegativo", podrian llegar a transfonnarse en conocimiento 'positivo". Herramientas CASE y entornos de desarrollo de software.
Nive! de Aplicacion
Inteligencia Competitiva
Sistema de Majores
Practicas
Interfaces
Portal de Conocimiento
Servicios de Descubrimiento
Servicios de Co[aboraci6n
Taxonomia Corporativa
r..1apa de Conocimiema
Gesti6n de Contenidos
RepoSltorio de Co nacimiento
Inrraestructura
Correo Electrcnico
'.Neb
1.2. La gestion del conocimiento y los procesos del cicio de vida del software
En la nOIma ISO 12207 aparece un subproceso rc1ativo a la gesti6n del conocimiento dentro del proceso organizacional de Recursos Humanos, cuyo prop6sito cs "asegumr que ef conocimiento, fa informacion y las Izabilidades individuafes se recogen. cOil/parten, relltili::.an y mejomn a 10 largo de la OIgani::.acion". SegllIl esta nonna, como resultado de la gesti6n del conocimiento:
e
Se establece y mantiene una infraestrLlctma para la compartici6n de la intonnaci6n comllI1 y de dominio a traves de la organizaci6n.
@RA-MA
El conocimiento se encuentra disponible n'tpidamente y compartido por toda la organizaci6n. La organizaci6n seleccionan't la estrategia de gesti6n del conocimiento apropiada.
A continuaci6n se resumen las tareas relativas a la gesti6n del conocimiento (ISO, 2000):
o
El director planificani los requisitos para gestionar los activos de conocimiento de l'l organizaci6n, incluyendo la infraestmctura y la fonnaci6n para sopOliar los contribuidores y los usuarios de los activos de conocimiento de la organizaci6n, el esquema de clasificaci6n y los criterios para estos activos. EI director estableceni una red de expelios dentro de la organizaci6n y se asegurani que se mantiene actualizada. El director estableceni un mecanismo para soportar el intercambio de infonnaci6n entre expeltos y el flujo de la infonnaci6n de los expertos en los proyectos de la organizaci6n. Se llevani a cabo la gesti6n de configuraci6n de los activos de acuerdo con el proceso de gesti6n de configuraci6n.
En el siguiente apartado se muestran tecnicas y herramientas utilizables para la realizaci6n de estas tareas.
Sistemas cooperativos y de trabajo en grupo (groupware). Aprendizaje asistido pOI' ordenador (e-Iearning). Sistemas de gesti6n documental, bibliotecas y repositOlios de conocimiento. Portales e intranets de conocimiento. Sistemas de soporte a la toma de decisiones. Lecciones aprendidas, patrones y buenas pnicticas. Modelos de predicci6n. Sistemas de razonamiento basado en casos. "Caliografia" de conocimiento.
RA-MA
323
Tecnicas de descubrimiento de conocimiento ("Knowledge discovel)' "). Comunidades de pnicticas, y de trabajadores de conocimiento. Gestores de habilidades y sistemas de apoyo a la localizaci6n de expertos. Redes extemas, como la "Softlrare Process Improvement Netlvork." (SPIN) los grupos de interes de IEEE 0 ACM. Centro de soporte de fabricantes, como el Oracle Support Center. Estandares y nonnas de ISO, IEEE, etc. GUlas para proyectos, plantillas, etc. Flujos de conocimiento. Proyectos cuyo objetivo es construir bases de conocimiento en ingenieda del software como CeBASE y ViSEK.
0
En Vizcaino y Piattini (2006) se profundiza y presentan ejemplos de estas diferentes tecnicas y henamientas.
Por otro lado, existen h'es factores importantes que posibilitan el proceso de implantaci6n de estrategias de gestion del conocimiento en las organizaciones de software: La tecnologia disponible en la organizacion para los desarrolladores, que Ie pennitira crear un repositolio de memoria organizacional accesible a toda la organizacion. Elliderazgo que pretende impulsar la gestion de conocimiento en el desanollo de los productos y servicios software as! como en los procesos de trabajo.
I:RA-MA
(I
Para dar sopOlte a una gestion efectiva de conOClImento en el desalTollo de software, se requiere el soporte tanto de la propia gestion como de los niveles tecnicos, y puede realizarse en:
(I
Soporte del proceso software. modelos de mejora de procesos. actividades, resultados de los procesos, etc. SopOlte del producto software. disefio, ingenieria, modelado. SopOlte al personaL adaptar una helTamienta de flujos de trabajo (1\orl;1701\"). etc.
(I
(I
Ebert et al. (2003) sefiala que para garantizar el exito de un programa de gestion del conocimiento es obligatorio elegir el modelo de gestion del conocimiento adecuado. El modelo de gestion del conocimiento se enlaza con la estrategia empresariaL la organizacion de la gestion del conocimiento. los conceptos de gestion del cOllocimiento y el tipo de conocimiento (vease tabla 11.1)
ESTRATEGIA DIPRESARIAL MODELODE GESnO" ORG.{MLKION CO?\CEI'TOS TlPODE co:\ocnUE:i\TO
Tabla 11.1. :\Iodelos de Gesti6n de Conocimiento y estrategias empresariales (Ebert et al., 2003)
Ademls. la gestlon del conocimiento implica una impOltante iI1\-eI"S IOn. que se refleja en la necesidad de crear un grupo dedicalio a la mejora de los procesos sofuyare -que se denomina de diferentes fonnas: SPEG (Sojhmre Process Engineering Group). SPI (Sojhmre Process JllIpr01'elllent) group, Experience Factory Group. etc.- e idealmente crear la funcion de "Chie/Knowledge Otficer".
.;: RA-MA
325
Contexto organizacionaL que describe el entomo general que impone restricciones y opOltunidades acerca de 10 que puede y no hacer la organizacion. CicIo de aprendizaje, que comprende el proceso dialectico que integra 1a experiencia local y los conceptos organizacionales. Desempefio organizacionaL que agrupa los resultados de las actividades de mejora de la organizacion. Factores facilitadores. que reflejan las condiciones que facilitan la creacion de conocimiento y la mejora de procesos software.
Ii)
Este autor define la creacion del conocimiento en Ingenieria del Software como el intercambio dimimico entre dos dialecticas: entre el conocimiento organizacional y el local: y entre la generacion y la interpretacion del conocimiento organizacional.
MEMORIAl ,ORGANIZACIONALI
/,_,_ :_i\
/ FACTO RES \1-' )
\~ACILITADORES
,;
-I-,f
v
INTERPRETACION CONOCIMIENTO
o
R
G
'\/
CONOCIMIENTO LOCAL
A N I Z A
o
N
C I
A L
R.",-MA
Ademas, Dyba identifica seis factores facilitadores en la creaci6n de conocimiento de ingenieria del sofuvare y analizando las relaciones entre los procesos de creaci6n de conocimiento y otros factores facilitadores (vease tabla 11.2).
FACTORES FACILITADORES ORlE:-ITACIO:-l AL :-IEGOCIO I:\IPLICACIO:-l DE LOS LiDERES PARTICIPACIO;-'; DE LOS DIPLEADOS PREOCUPACIO:-l POR LA :\IEDICIO:-l EXPLOTACIO:-l DEL CO;-.;OC. EXISTEi\TE EXPLOR-\CIO;-'; DE :-IUEYO CO:-lOC. CONOe. LOCAL GENERACION CONOe.
lVIEMORIA ORGA1'ljlZ.
li~TERPRET.
CONOe.
XX X X
I
X XX XX X XX XX XX X XX X X XX XX
Tabla 11.2. Relaciones entre los procesos de creacion de conocimiento y los factores facilitadores (Dyba, 2003)
RA-MA
327
OPORTUNIDAD DE APRENDER
DES EO DE APRENDER
EXPERIENCIA PREVIA
EI objetivo de este paradigma es la adquisici6n de competencias bcisicas que sopOlien competencias estrategicas y la mejora de la calidad en el entomo de desarTollo -en lugar de en el de producci6n- mediante la reutilizaci6n del conocimiento y la expenencla. EI proceso de mejora de la calidad, que es un proceso iterativo que a cada iteraci6n redefine y mejora las caracteristicas y los objetivos, ocwTe en seis pasos, agmpados en dos ciclos: I. CicIo de Aprendizaje Corporativo, que consta de los siguientes pasos:
e e
Caracterizaci6n, la empresa construye modelos del entomo actual. Fijaci6n de objetivos, sobre 10 que quiere conseguir para el siguiente producto y aprender acerca del negocio. Elecci6n de procesos, metodos, tecnicas y herramientas adecuadas al problema.
DRAAIA
Ejecucion. durante la cual se analiza los resultados intel1nedios para ver si se satisfacen los objetivos.
Se inicia con la ejecucion. La organizacion analiza los resultados para aprender de ellos. La organizacion almacena y propaga el conocimiento.
As!, por un lado. existe un '"cicio de control" que es la realimentacion al proyecto durante la fase de ejecucion, y que proporciona infol1nacion analitica acerca del desempeflo del proyecto. Esta infol1nacion se utiliza para prevenir y solventar problemas, monitorizar y soportar el proyecto y realinear el proceso con los objetivos. Por otro, cabe destacar, un "cicio de capitalizacion". la realimentacion a la organizacion, con el fin de capturar la experiencia, acumularla y transferirla, para aplicarJa a otros proyectos.
Establecer un proceso de mejora de software sus tent ado y controlado por datos cuantitativos. Producir un repositolio de datos y modelos software que esten basados emp!ricamente en la pnictica diaria. Desanollar una organizacion de sopOlie intel110 que limite la sobrecarga y proporcione beneficios sustanciales de desempei'i.o de coste y calidad.
(;: It/>''-\lA
329
'"
Proporcionar un mecanismo para identificar, valorar, e incorporar en los procesos nuevas tecnologias que hayan demostrado ser valiosas en contextos similares. Incorporar y sopOltar la reutilizaci6n en el proceso de desan'ollo de software.
'"
ORGANIZACION DE PROYECTO
DATOS
I""""""
i-' PRODUCIDOS
Modelo de ejecucion
I I
I-
EXPERIENCIA EMPAQUETADA
Ejemplos reales de factorias de experiencia son el SEL (Sofhmre Engineering Laboratory) del Goddard Space Flight Center de la NASA, el SEC (Sofhmre Experience Center) de DaimlerCluysler. 0 el EPIK (Engineering Process JmprOl'ement and Kn01t1edge Sharing) de ICL.
2.3. Base
repositorio de experiencia
Seglll1 Basili y Caldiera (1995), una base de experiencia debe: '" '" '" '" Contener el conocimiento relevante para la organizaci6n. Residir en un marco de aprendizaje bien concebido. Disponer de metodologias que establezcan como se estructura la experiencia. Disponer de procesos. procedimientos y reglas que establezcan gestiona la experiencia diariamente.
C01110
se
R.,\,,-NL-\
(I)
Estos autores prop on en una serie de pasos para crear un sistema de gestion de expeliencia (SGE):
e
Caractelizar la organizacion e identificar los procesos y conocimientos actuales. Identificar los usuarios y definir roles de usuario. Desanollar casos de uso. Definir tipos de paquetes (taxonomias). Generar los atributos que describen los tipos de paquete. Definir valores aceptables para cada atributo. Definir un documento de requisitos para el SGE. Construir, integrar e instalar el SGE. Evaluar y hacer evolucionar el SGE.
e
(I)
e e
(I)
&
e e
De fonna parecida, en Althoff y Pfahl (2003) se presenta una metodologia ("DISER"- Design and Implementation on So./hmre Engineering Repositories) para construir y operar EBIS (Experience-Based li!/ormatioll Systems) que se resume en los siguientes pasos: 1. 2. 3. 4. 5. 6. 7. 8. 9. Desanollar una vision del EBIS. Fijar objetivos. Fijarareas. Definir escenarios de utilizaci6n y cumplimentaci6n. Modelar la ontologia de la experiencia. Implementar el EBIS. Poner en-linea el EBIS. Mantener el EBIS. Integrar el conocimiento existente y generar nuevo conocimiento
Hay que tener en cuenta diferentes aspectos de calidad a la hora de construir y gestionar un repositorio de experiencia (Schneider y von Hunnius, 2003):
1': RA.-MA
331
e e e
Guia al usuario, sobre todo para empezar reutilizando las expeJiencias. Usabilidad, ya que una pobre usabilidad puede alejar al usuario. Confol1nidad con el proceso, hacer un proceso mejorado centrado en el repositorio de expeliencias, siguiendo la estructura del proceso subyacente. Mecanismos de realimentaci6n, pOl' medio de diferentes canales (colTeo electr6nico, pizalTas electr6nicas, FAQ, contactos personales y telef6nicos, etc.). Mantenibilidad, para que las reestructuraciones sean faciles.
Ser especifico, ya que si el contenido de la base de datos esta desordenado y no se guia al usuario se limita drasticamente los beneficios del repositorio. Agrupar varias expeliencias alrededor de una sola descripci6n de procesos. Intentar simplificar la estructura y el fOl1nato de pagina, mejorando la usabilidad. Facilitar la incorporaci6n de la realimentacion de los usuarios.
e e
3. FAMILIAS DE ESTUDIOS
Una de las fOl1nas mas imp0I1antes de obtener conocimiento relacionado con el desalTollo y mantenimiento del software es mediante la realizaci6n de familias de estudios. En este senti do. Basili et af. (2001) sefialan algunos criterios para la construccion de cuerpos de conocimiento en areas de IngenieJia del Software: I. Fijar hip6tesis de alto nivel que sean de in teres para la comunidad de IngenieIia del Software. Hipotesis detalladas escritas en un contexto que pennitan estudios empiricos bien definidos. Variables de contexto. sugelidas pOl' las hipotesis, que puedan modificarse para pel1nitir vmiaciones en el diseilo experimental. Una cantidad suficiente de infol1nacion para que el estudio pueda ser replicado. Una comunidad de investigadores que comprendan la experimentacion. la necesidad de replica y que esten dispuestos a colaborar y replicar.
2.
3.
4. 5.
Los estudios empiricos resultan necesarios para comprobar y entender las implicaciones relacionadas con la medicion de las entidades software. Esto se consigue a
traveS de hipotesis en el mundo real, ll1l:lS alla de la pura teolia, que habra que comprobar con datos empiricos. Hay tres tipos principales de estrategias empiricas que pueden ser llevadas a cabo (Robson, 1993): experimentos, casos de estudio y encuestas. En los siguientes apartados se descliben con mayor detalle estas estrategias.
3.1. Experimentos
La ventaja de un experimento es que puede detenninar en que situaciones cielias afil111aciones son ciertas y puede proporcionar el contexto en el que cielios estandares, metodos y helTamientas son recomendables. Solo si el experimento se realiza adecuadamente, es posible obtener conclusiones acerca de las relaciones entre la causa y el efecto para la cual se fonnulan la hipotesis (Wohlin et al., 2000). Los expelimentos necesitan ser planificados cuidadosamente si se pre ten de que proporcionen resultados lltiles y significativos (Juristo y Moreno, 2001). Basili et al. (1999) comentan que la experimentacion en la ingenielia del software es necesaria. pero bastante dificil. Una razon de esta dificultad es la gra!1 cantidad de variables del contexto, 10 cual implica que para conseguir una comprension adecuada de los resultados de los experimentos, se necesita un mecanismo para explicar los estudios e incorporar los resultados.
3.1.1.1. Definicion
EI proposito de la fase de definicion es definir los objetivos de un experimento. fOl11mlado a partir de un problema a resolver. Para recoger los objetivos de un expelimento se sigue la plantilla GQM de aCl~erdo con las sugerencias de Briand et al. (2002) y Lott y Rombach (1996) (ver tabla 9.2 en apartado 2.2.2 del capitulo 9).
3.1.1.2. Planificacion
Despues de la definicion del experimento tiene lugar la planificacion. La definicion detem1ina por que se va a realizar el experimento, mientras que la planiticacion establece como se llevara a cabo. Esta etapa se puede dividir en los siguientes seis pasos:
C RA-\L-\
333
Figura 11.5. Vision general del proceso experimental principales (WohHn et at., 2000)
1.
Seleccion del contexto. EI contexto del experill1ento queda caracterizado de acuerdo con cuatro dill1ensiones: '" '" '" '" Ojlline ,s. On-line. Los experimentos pueden realizarse en proyectos reales (on-line) 0 bien en paralelo a los proyectos reales (off-line). EstZldiantes vs. Profesionales. Los experimentos pueden IIevarse a cabo con sujetos profesionales 0 estudiantes. Simlilacion 1"5. Problemas reales. EI experimento puede enfocarse en un problema real 0 en una simulacion. Espec(jico vs. Genera!. Los resultados del. expelill1ento pueden ser vcilidos en un contexte especifico 0 en el dominio general de la ingenieria del software.
2.
Formulacion de hipotesis. La definicion del experimento se fonnaliza por medio de hipotesis. Deben fonnularse dos hipotesis: una hipOtesis nula (Ho) y una hipotesis alternativa (HI). La comprobacion de las hipotesis entrafia diferentes tipos de liesgos: algunos tests estadisticos pueden rechazar una hipotesis verdadera ailll siendo cierta (elTores tipo I), mientras que otros tests no rechazan una hipotesis falsa ailll siendo falsa (elTores tipo II). EI tamafio de los elTores depende de diferentes factores. Un ejemplo es la capacidad del test estadistico para revelar un patron verdadero en una coleccion de datos, que se conoce como la potencia del test.
RA-MA
3.
Seleccion de variables. Antes de comenzar con el diseflo tenemos que elegir las variables dependiente e independiente que se van a considerar, junto con la fonna en que se van a medir y sus respectivas escalas de medici6n. Seleccion de sujetos. La selecci6n de sujetos 0 muestra de la poblaci6n que se utilizara en el experimento esta estrechamente relacionada con la generalizaci6n de los resultados del mismo. Para generalizar los resultados a la poblaci6n deseada, la selecci6n de sujetos debe ser representativa de esa poblacion. La muestra de la poblaci6n puede ser probabilistic a 0 no probabilistica. Ejemplos de tecnicas para obtener muestras de poblaci6n probabilisticas son el muestreo simple al azar, muestreo sistematico y muestreo estratificado al azar; y para obtener muestras no probabilisticas las tecnicas a utilizar son el muestreo por conveniencia y el muesh'eo por cuotas. EI tamaflo de la muestra tambien tiene influencia sobre la generalizaci6n de los resultados: cuanto mas grande es la muesh'a, men or sera el elTor de la generalizaci6n de los resultados. Disefio del experimento. El diseflo de un experimento describe como estan organizados los tests y c6mo se ejecutaran. Para diseflar el experimento, es necesario observar las hip6tesis y decidir que analisis estadisticos hay que ejecutar para rechazar la hip6tesis nula.
4.
5.
Cuando se disei1a un expe11mento se puede distinguir enh'e diseflos intra-sujetos (todos los sujetos realizan todos los tratamientos) y disei10s inter-sujetos (se seleccionan diferentes sujetos para cada tratamiento). Los primeros tienen la ventaja de garantizar el control de todas las variables debido a diferencias entre sujetos, 10 que podlia interferir en los resultados de la investigaci6n y, ademas, pennite reducir el esfuerzo de enconh'ar la misma infonnaci6n con un bajo nlunero de sujetos. Sin embargo, los diseflos intra-sujetos pueden presentar algunos problemas: a) Antes de realizar el experimento existen efectos que pueden comprometer la validez intema de los experimentos inh'a-sujetos como los efectos de persistencia (una [onna de controlarlos es que los sujetos realicen el experimento una sola vez, no 10 repitan), los efectos de fatiga (apreciables sobretodo en experimentos excesivamente largos), y los efectos debidos a la falta de motivaci6n. b) Durante la realizaci6n del experimento. Debemos de considerar los efectos de aprendizaje (que se evitan presentando las diferentes tareas a realizar en todos los diferentes 6rdenes posibles), los efectos de persistencia (cuando se sospecha que los efectos de un tratamiento persisten s610 se realizara una vez ese tipo de exper1mento con ese grupo de sujetos).
335
6.
InstrumentaciOn. La instlUmentacion para un experimento se selecciona en la etapa de planificacion y puede ser de tres tipos: objetos particulares, instrucciones e instrumentos de medicion. Antes de la ejecucion, se desalTollan los instlUmentos especificos para el experimento. Los objetos del experimento pueden ser, pOI' ejemplo, especificacion 0 codigo de documentos. Las instlUcciones son necesm1as para organizar a los participantes durante el expe11mento, e incluyen los procesos descriptivos y las listas de comprobacion. Si se comparan diferentes metodos en el experimento, tienen que prepararse las instrucciones para cada metodo. Ademas de las instrucciones, los participantes tambien necesitan entrenamiento en los metodos que se van a usar. Las mediciones en un experimento se realizan a traves de los datos recabados.
3.1.1.3. Operacion
En la etapa operacional de un expe11mento, se aplican los tratamientos a los sujetos. Esta etapa se divide en tres partes:
A) Preparacion. Antes de que el expe11mento se 1111Cle, se debe encontrar el personal que se comprometa a pmiicipar como los sujetos delmismo. Es esencial que los sujetos que pariicipen en el experimento esten motivados y pmiicipen voluntariamente en todas las paries del expe11mento. Los siguientes aspectos deberian ser considerados respecto a los sujetos que participan en un expe11mento:
e
Obtener consentimiento. Los pmiicipantes tienen que estar de acuerdo con los objetivos de la investigacion. Resultados sensibles. Si los resultados obtenidos en el experimento son sensibles a los participantes, es importante hacer saber a los participantes que el resultado de su rendimiento personal en el expe11mento se mantendra confidencial. incentivos. Un modo de atraer a la gente a un experimento es ofrecer algtin tipo de incentivo. Frallde. El fi:aude, es decir, "engafiar" a los pmiicipantes, generalmente no favorecera al experimento. Si el fraude fuese la (mica altemativa solo deberia llevarse a cabo si concieme aspectos que sean insignificantes para los participantes y no afecten su voluntad de pmiicipar en el experimento.
Ejecucion. El experimento puede ser ejecutado de diferentes modos. Algunos experimentos se llevan a cabo de una vez juntando a todos los pmiicipantes, por ejemplo, en una sesion. La ventaja de este metodo es que el resultado de la obtencion de datos se puede obtener directamente en la sesion y no es necesario contactar posteriomlente con cada uno de los participantes para reque11rle los resultados. Otra ventaja es que el experimentador esta presente durante la
B)
realizacion y si surge alguna dud a se puede resolver directamente. Sin embargo, otros experimentos se llevan a cabo durante un intervalo de tiempo mucho mayor, y no es posible que el experimentador participe en cada detalle del experimento y en la recogida de datos. Los datos se pueden recoger tanto de fonna manual por los participantes que rellenan fonnulaIios como automaticamente a traves de helTamientas.
C)
Ejecucion. El expeIimento puede ser ejecutado de diferentes modos. Algunos experimentos se llevan a cabo de una vez juntando a todos los participantes, por ejemplo, en una sesion. La ventaja de este metodo es que el resultado de la toma de datos se puede obtener directamente en la sesion y no es necesario contactar posteIionnente con cada uno de los participantes para requeIirle los resultados. Otra ventaja es que el experimentador esta presente durante la realizaci6n y si surge alguna duda se puede resolver directamente. Sin embargo, otros experimentos se llevan a cabo durante un intervalo de tiempo mucho mayor, y no es posible que el experimentador participe en cada detalle del expeIimento y en la recopilacion de datos. Los datos se pueden obtener tanto de fonna manual por los participantes que rellenan fonnularios como automaticamente a traves de helTamientas. Validacion de los datos. Una vez que los datos han sido recopilados, el experimentador debe comprobar si los datos son razonables y se han obtenido COlTectamente. Para ella es necesario verificar que los participantes han comprendido bien los fOl111Ularios y que, por 10 tanto, los han rellenado corTectamente. Tambien es importante revisar que los expeIimentos se han desarTollado tal y como se habia previsto.
D)
Validez de constructo. Define el grado en el que las variables dependiente e independiente miden fielmente los constructos te6ricos establecidos en las
337
hip6tesis. La amenaza a la validez de constmcto es la falta de evidencia teorica sobre si las metricas para las valiables dependiente e independiente miden realmente los conceptos que se pretende medir.
fa
Validez interna. La validez intema es el grado de confianza en la relaci6n causa-efecto entre los factores de interes y los resultados observados, es decir, el grado en el que se pueden obtener conclusiones sobre el efecto causal que la variable independiente tiene sobre la variable dependiente. Los factores que tienen repercusi6n en la validez intema son la seleccion y division de los sujetos en diferentes grupos, las diferencias entre sujetos y el balanceo de los mismos durante el experimento, el material utilizado en el experimento, etc. Validez de la conclusion. Trata sobre la validez estadistica de las conclusiones obtenidas en el estudio empirico. Validez externa. La validez extema es el grado en el que los resultados de la investigaci6n pueden ser generalizados a la poblaci6n estudiada y a otros entomos. Cuanto mayor es la validez extema, en mayor medida pueden generalizarse los resultados de un estudio empirico como una pnictica real de ingenieria del software. La validez extema no s610 se ve afectada por el disei'io del expelimento sino tambien por los objetos del expelimento y los sujetos que 10 realizan. Existen principalmente tres liesgos: no tener los sujetos adecuados para el experimento, realizar el experimento en un entorno erroneo y ejecutarlo en unas circunstancias que condicionen los resultados.
En la tabla 11.3 se muestra una lista de las diferentes amenazas a la validez de los expelimentos, que deberian ser controladas para obtener resultados vitlidos en cualquier estudio empirico.
MIENi\Zi\S AU.: Vi\LIDEZ ... D.ESCRlPCION
..
Validez de la conclusion,
Validez de constructo,
Validez intema.
Validez externa.
Baja potencia estadistica. \'iolar las suposiciones de los tests estadisticos. finalizacion y ratio de error, fiabilidad de las metricas, fiabilidad 0 tratamiento de implementacion. irrele\'ancias aleatorias en eLambiente experimental. Interpretacion pre-operacional inadecuada de los constructores. sesgo por monooperacion. sesgo por mono-metodo, confusion entre constructores y niveles de constructores. interaccion de diferentes tratamientos. interaccion de experimentacion y tratamientos, generalizacion restringida a traves de constructores, conjeturar hipotesis. aprension en la evaluacion, expcctativas del experimentador. Historia. madurez. experimentacion. instrumentacion. rcgresion estadistica. seleccion. mortalidad. ambigiiedad sobre el senti do de la influencia causal, interaccion con la selecci6n, difusi6n de duplicados del tratamiento, igualaci6n compensatoria de los tratamientos, rivalidad compensatoria. desmoralizaci6n resentida. Interacci6n de la selecci6n y el tratamiento, interaccion del ambiente y el tratamiento. interacci6n de la historia y el tratamiento.
9 RA.-?\lA
Estlictas, que duplican el expelimento Oliginal y son necesarias para incrementar la fiabilidad en la conclusion sobre la validez del experimento. Demuestran que los resultados del experimento Oliginal son repetibles. Replicas que modifican la fonna en que el experimento se realiza, que intentan incrementar nuestra confianza en los resultados expelimentales estudiando las mismas hipotesis pero altemando algunos detalles del experimento_
2.
Replicas que varian las hipotesis. Aunque varian algunas variables pemmnecen en el mismo nivel de especificidad que el experimento original. Se puede distinguir entre:
e
Replicas que varian las variables independientes. Estas replicas investigan que aspectos del proceso son impOltantes variando sistematicamente alguna variable independiente y examinando los resultados. Replicas que varian variables inuinsecas al objeto de estudio. Estas replicas cambian la fonna en que se mide la efectividad para intentar entender que dimensiones de que tareas son mas importantes. Replicas que varian las variables de contexto en el entomo en el que la solucion es evaluada. Estos estudios identifican potencialmente los aspectos
339
del entomo que son impOltantes ya que afectan a los resultados del proceso en investigaci6n y por tanto nos ayudan a entender la validez extema. 3. Replicas que extienden la teoria. Ayudan a detem1inar los limites de la efectividad de un proceso, haciendo gr'andes cambios en los procesos, los productos y/o los modelos del contexto para vel' si los principios basicos siguen dandose.
Estas replicas deberian encuadrarse dentro de la planificaci6n de una familia de expel1mentos como el que se muestra en la figura 11.6 (Ciolkowski et aI., 2002).
Preparaci6n Experimentos
Material
Figura 11.6. Fases para el desarrollo de una Familia de Experimentos (Ciolkowski et al., 2002)
Como se puede observar en la figura 11.5, la planificaci6n de una familia de expel1mentos se inicia con una fase de preparaci6n en la que se definen los objetivos generales de la familia de experimentos y se planifica c6mo se van a analizar los resultados, para posterionnente !levar a cabo cada experimento de fonna individual teniendo en cuenta el contexto general establecido y elmatel1al necesar10, y finalmente se analizan los resultados de los experimentos de fonna global.
3.1.3. EJEMPLO: DETERMINACION DE LA EFICACIA DEL PAIR DESIGNING PARA LA COMPARTICION Y DIFUSION DE CONOCIMIENTO 3.1.3.1. La importancia de Pair designing para la gestion de conocimiento
Uno de los aspectos relevantes a estudio en el ambito de la Ingenieria del software es la transferencia de conocimiento cuando se trabaja en pares. Dentro de las tecnicas que
1':: RA.-\lA
favorecen esta transferencia de conocimiento se encuentra la denominada Pair designing, que es una pnictica utilizada en metodologias agiles consistente en que dos programadores trabajan "hombro con hombro" (side by side) en el desan-ollo de una misma pieza de c6digo_ Un programador, que asume el rol de conductor (driver) escribe activamente el c6digo mientras que el otro que asume un rol de meramente observador (obserl;er) identificando defectos y aspectos tacticos y estrategicos_ Los roles se intercambian peri6dicamente_ Un beneficio de esta practica es que se refuerza el incremento de conocimiento de los participantes, y en concreto el conocimiento tacito (F oresythe et or 1998: Williams y Kessler, 2000)_ Este tipo de conocimiento no se puede f011nalizar y transferir facilmente, excepto mediante la comunicaci6n y el dialogo_ El disefio de software requiere de conocimiento tacito, y en concreto de mucha experiencia. De hecho, un programador de sofuvare se convierte en disenador de sofuvare s610 despues de algunos ai'ios de experiencia. Como resultado del analisis anterior se podria pensar que la practica de pair programming podria ser aplicada al disei'io con los mismos beneficios. En este caso la practica se ha denominado Pair designing, consistente en el que el dri"\'er edita activamente el documento de diseno mientras que el observer realiza una revisi6n continua. Con todo ella se planific6 una familia de experimentos cuyo objetivo fue demostrar la relaci6n existente entre la aplicaci6n de la practica Pair designing y la construcci6n y difusi6n de conocimiento. Por difusi6n del conocimiento se entiende la transferencia de conocimiento entre los miembros del equipo, mientras que el refuerzo del conocimiento se refiere al incremento del conocimiento global de los miembros del equipo mediante la combinaci6n del conocimiento individual de sus miembros.
3.1.3.2. Una familia de experimentos para evaluar la difusi6n y refuerzo del conocimiento de la tecnica Pair Designing
De acuerdo al metodo de Ciolkowski et or (2002) se slgmeron las siguientes etapas para la realizaci6n de la familia de experimentos: 1.
Preparaci6n de Experimentos. El objetivo general de los experimentos es el de demostrar la utilidad de la practica pair designing en relaci6n a la difusi6n y transferencia de conocimiento. Usando la plantilla GQM este objetivo se puede definir de la siguiente f011na:
e e
Analizar la tecnica de Pair Designing. Con el proposito de evaluarlas en relaci6n a su capacidad de ser usadas como tecnica para mejorar la difusi6n y refuerzo del conocimiento.
\: RA.-YIA
341
Desde el punta de l'ista de los investigadores. En el contexto de alumnos de ingenieria del software y profesionales de los sistemas de infol111acion.
Definicion del Contexto. Con el fin de poder generalizar los resultados se identificaron dos grandes grupos de SlUetos experimentales a la hora de establecer el contexto de cada experimento individual.
G
Profesionales. Son los sujetos ideales a la hora de poder generalizar los resultados, por 10 siempre que sea posible se deben seleccionar este tipo de sujetos. Alumnos. A la hora de llevar a cabo experimentos, los alunmos juegan un papel l11uy impoltante, ya que antes de realizar estos estudios en entomos industriales, 10 cual no siempre es posible (gasto significativo de tiempo, esfuerzo y recursos), en muchas ocasiones los investigadores llevan a cabo estudios piloto con alumnos en entomos academicos (Carver et al., 2003). De hecho, hay que considerar que los alumnos constituyen la proxima generacion de profesionales (Kitchenham et al., 2002). Bajo cieltas circunstancias, las diferencias entre los alumnos y los profesionales son pequer1as y las tare as requeridas en cieltos experimentos no requieren experiencia industrial, por ello se puede considerar la experimentacion con alurID10s como viable (Host et aI., 2000: Basili et al.. 1999).
Por 10 tanto. a la hora de planificar el contexto de los experimentos individuales se debe tener en cuenta la utilizacion de estos grupos de sujetos. 3.
Material. El material experimental debe ser el mas adecuado para satisfacer los objetivos planteados. De acuerdo al objetivo -de la investigacion y a las tare as planificadas en el experimento se preparo la documentacion de un sistema para la venta de libros de segunda mano a traves de Intemet. Dependiendo de las tareas requeridas en cada experimento individual el material estaba compuesto por:
G
Una especificacion textual y una lista de requisitos candidatos sobre el sistema de venta de libros Book m'er the globe, Dos diagramas de casos de uso junto con descripciones textuales de los m1smos.
:0 RA-;"L~
Dos gramas de clases en tres capas (presentacion, dominio y persistencia) con el disei'io del sistema. Cuestionarios de Evaluacion de Conocimiento. Cada cuestionario incluia un conjunto de preguntas de respuesta (SiINo) para evaluar el conocimiento de los sujetos sobre el sistema software a desalTollar 0 mantener.
EI
4.
Conducci6n de Experimentos Individuales. Teniendo en cuenta la planificacion general se planificaron y realizaron tres experimentos individuales con el objetivo de satisfacer los objetivos generales. Para la realizacion de cada experimento individual se siguio el proceso establecido pOI' Wholin et al. (2000). Es importante destacar que a la hora de llevar a cabo cada experimento individual. junto con el marco general establecido en la familia de experimentos se debe tener en cuenta la realimentacion obtenida como resultado de lievar a cabo los experimentos previos. En la figura 11. se muestra una vision general de los experimentos llevados a cabo:
Tarea Experimental
1 Experimento
Desarrollo
-r-
1
I
45 Estudiantes de 3' curso de Ingenieria en Informatica Universidad del Sannia (Benevento, Italia)
:vlantenimiento
2 Experimento
3 Experimento
42 Estudiantes 3' ITIG 39 Estudiantes 3' ITIS 12 Estudiantes 5' Ingenieria Informatica Escuela Superior de Informatica (Ciudad Real, Espana)
t
I
36 Estudiantes del Master MUTS, y MUTEGS Universidad del Sannio (Benevento, Italia)
I" Experimento
2 Experimento
I
3" Experimento (replica 2")
Como se puede observar en la figura 11., los experimentos quedaron divididos en dos grandes grupos en funcion de las tare as a realizar en cada uno:
Desarrollo. En el primer experimento la tare a experimental que los sujetos debieron realizar fue el desanollo del sistema Book m'e!' the globe para 10 cual se
RA-illA
343
les proporciono la lista textual de requisitos y cinco cuestionarios para evaluar su conocimiento del sistema. El objetivo de este expelimento se centro en los aspectos de construccion de conocimiento.
e
Mantenimiento. Para la realizacion del segundo experimento y de su replica (30 expel1mento) se pidio a los sujetos que realizaran tareas de mantenimiento del sistema. Para ello ademas de la especificacion de requisitos y de los cuestionarios a los sujetos se les proporcionaron los diagramas de casos de uso y de clases del sistema. Sus tareas de mantenimiento consistian en: reducir la complejidad del diseno, mediante la eliminacion de entidades (clases, casos de uso, actores, metodos, atributos, etc.) 0 relaciones entre entidades que no fueran fundamentales para el funcionamiento y la comprension del sistema; mejora de la legibilidad del diseno, realizando modificaciones sobre las entidades existentes o ailadiendo nuevas.
Como se puede verse en la figura 11., los sujetos que partlClparon en los experimentos fueron estudiantes de distintas universidades en Italia y Espana. Todos los sujetos antes de proceder con el experimento recibieron una sesion de entrenamiento y se familiarizaron con la tecnica de pair designing y con el tipo de tare as a realizar en el experimento. El proceso expel1mental que siguieron los sujetos en el primer experimento fue dividido en tres sesiones 0 rondas. Al principio y final de cada ronda ten ian que contestar un cuestionario de fonna individual para evaluar sus conocimientos del sistema. La mitad de los sujetos trabajaron en cada ronda aplicando la fonna tradicional de disefio (que denominaremos solo designing) mientras que la otra mitad fueron distribuidos en parejas y aplicaron pair designing. Al final de cada ronda los sujetos producian los diagramas cOlTespondientes que respectivamente fueron: diagramas de casos de uso, diagramas de clases y diagramas de interaccion. Por su pmte el proceso seguido en el segundo y tercer experimento nle:
e e
Cada sujeto estudiaba la documentacion ind'i\"idualmente durante 30 minutos. Cada sujeto respondia al cuestionario de entrada. de forma individual durante 15 minutos. El cuestionario inicial tenia como fin establecer el punto de pmtida: por ejemplo: ni\"el de conocimiento del sistema antes de trabajar con el y que habia sido construido lmicamente a partir de la lechlra de la documentacion. Los sujetos trabajando sobre el diseilo del sistema en pares 0 de forma individual realizaron las tare as de mantenimiento durante dos horas. Cada sujeto respondio el cuestionario de salida individualmente.
IKFOR:VIATIeos
En el segundo experimento los estudiantes fueron organizados en nmcion del tipo de Master que estaban estudiando: MUTS (Master en Tecnologias Software), para estudiantes de titulaciones tecnicas y MUTEGS (Master de Gestion y Tecnologias Software) para estudiantes de tihllaciones de humanidades y ciencias sociales. De ese modo se fonnaron 5 parejas MUTS, 5 MUTEGS, 10 parejas mixtas MUTS-MUTEGS, 8 eshldiantes MUTS en modo solo y 8 eshldiantes MUTEGS en modo solo. Una vez considerada la tihIlacion de los miembros de la pareja la seleccion de cada sujeto para cada pareja nle totalmente aleatoria. En el tercer experimento los sujetos se dividieron en tres gmpos: alutlll10s con tihllacion de ingenieria tecnica en infonmitica de gestion (ITIG), Ingenieria Tecnica en Infonmitica de Sistemas (ITIS) e Ingenieria en Infonmitica (II). De acuerdo al nlllnero de sujetos y a la tihllacion se f0!111aron 32 pares y 32 sujetos trabajaron en modo solo designing. Las variables dependientes nleron medidas de la siguiente fOlma:
Dinlsion del Conocimiento, a partir de las punhlaciones de los cuestionarios de salida (rellenados una vez habian finalizado las rondas de trabajo). Renlerzo del conocimiento, ca1culado como la diferencia de puntuacion entre el cuestionario de salida y el cuestionario de entrada. En Visaggio CW05) y Bellini et al. (2005) se puede consultar infonnacion mas de tall ada acerca de la realizacion de los tres experimentos de la familia.
5.
Analisis de la Familia de Datos. Una vez obtenidos los resultados de cada experimento individual. es impOltante no solo obtener conclusiones locales de cada experimento. sino extraer unas conclusiones globales. Para analizar los resultados individuales de cada experimento se aplicaron analisis estadisticos, en concreto el test de Mann Whitney, dado- que los datos obtenidos no seguian la distribucion estadistica nonnai. Los resultados individuales de cada experimento se resumen en la tabla 11.4 (los del experimento 1) Y en la tabla 11.5 (los de los experimentos :2 y 3):
A partir de los resultados de la tabla. se puede que el nivel de reforzamiento de conocimiento de los sujetos que aplicaron pail' designing nle mayor que el valor promedio de los que no aplicaron solo designing siendo ademas los resultados de la primera ronda estadisticamente significativos (nivel de significacion a <0.05). Sin embargo. los resultados de las otras dos rondas no n:eron estadisticamente significativos. 10 que pudo ser debido principalmente a una amenaza de la validez experimental deb ida a que los sujetos no hlvieron un nlerte compromiso con el proceso del experimento. La
345
primera ronda conto con todos los sujetos, mientras que en las ott'as dos rondas el nlllnero de sujeto disminuyo. Un cierto nlllnero de sujetos abandonaron en la ronda 2 y en la ronda 3 porque 10 consideraron como una actividad de fOnllacion innecesaria para el curso que estaban siguiendo. Este fue un importante aspecto de reflexion que se tllVO en cuenta en los siguientes expelimentos inc1uyendo mecanismos para la motivacion de los
~~.
ROl'\DA
SIG~lFICACION
1,75
-0.25
0,019
I
2.27 1.86
1.36 -0.5
0.53 0.26
Los datos estadisticos obtenidos a par1ir de los datos del segundo y tercer expelimento se muestran en la tabla 11.5:
TESTS ESTAD1S"rlCOS
! I
",,-
,rlf,'"
, L"tUI:' II
I
!
"'USiO~ CONOCnIIE~TO
I
I
Pares MUTS (a) Solos MUTS (~) 2. Italia Pares lvfUTEGS (al Solo lvIUTEGS (~) Pares ivIUTS (a) Pares MUTEGS (~l Pares 5II( a) Solos 5II(~) 3. Espana Pares 3Gestion(a) Solos 3Sistemas(~) Pares 3Gestion( a) Solos 3Gestion(~)
0.049
0,0102
0.270
0.2[6
0.023
0.0428
0,0309J.2 0,00017
I I
0.086
0,0009
0.00000
0.042
Los resultados de la tabla indican para el segundo expelimento que se obwvieron diferencias significativas (a<O,05) en la construccion y difusion de conocimiento de los pares respecto a los solos para los grupos MUTS, pero no fue asi para los MUTEGS. Esto puede ser debido al hecho de que habia alumnos con habilidades muy distintas. Los
RA-ivlA
almllllos de MUTS provenian de estudios de ciencias mientras que los MUTEGS provenian de otro tipo de estudios. Los alurnnos del curso MUTS se supone que estaban mas familiarizados con los algoritmos y con el razonamiento deductivo que los alurnnos MUTEGS. A partir de estas observaciones se puede plantear la hip6tesis de que la eficacia en la aplicaci6n de pair designing podria verse afectada por la habilidad de los sujetos a la hora de aplicarlo. De hecho se obtuvo evidencia estadistica de que el rendimiento de las dos muestras en terminos de conocimiento fue diferente, tal y como se muestra en la tercera fila de la tabla. Los resultados del analisis estadistico en el tercer experimento fueron tambien significativos, ya que se demostr6 que los pares obtuvieron mejores resultados en construcci6n y difusi6n de conocimiento que los que trabajaron aplicando solo designing. Estos resultados fueron en general significativos para los tres grupos de titulaciones. S610 en el caso del reforzamiento de conocimiento de los ingenieros superiores no se pudieron confirmar las diferencias entre solos y pares.
3.1.3.3. Conclusiones
A partir de los resultados anteriores se puede llegar a las siguientes conclusiones:
Pair designing pennite reforzar y difundir mejor el conocimiento que solo designing.
La eficacia de pair designing a la hora de difundir y reforzar el conocimiento sobre el disefio podria verse afectada por el tipo de poblaci6n, y en concreto por su formaci6n academica. Este hecho fue confinnado en el tercer experimento para las parejas en las que uno de los miembros tenia una titulaci6n cientifica 0 tecnica y el otro no.
En el caso particular de esta familia de experimentos la realimentaci6n obtenida con el primer experimento de la familia permiti6 refinar y enfocar la investigaci6n de los otros dos experimentos.
RA-MA
347
confusos, sin embargo, no se tiene el mismo control en un caso de estudio que el que se tiene en un experimento. Los casos de estudio son valiosos porque incorporan cualidades que un experimento no puede visualizar, por ejemplo, la escala, la complejidad, la falta de predictibilidad y el dinamismo. A continuaci6n se resumen los principales aspectos de los casos de eshldio siguiendo a Yin (2003).
Las fronteras entre el fen6meno y el contexto no son claramente evidentes. Trata con situaciones distintivas tecnicamente en las cuales habra muchas mas variables de interes que datos. Se basa en mUltiples fuentes de evidencia, con datos necesarios para converger de una manera triangular. Se beneficia del desanollo prevlO de proposiciones te6ricas para guiar la obtenci6n y anaIisis de datos.
iii
iii
iii
Explicar los supuestos enlaces causales en intervenciones reales que son muy complejos para las estrategias de encuesta 0 experimento. Describir una intervenci6n y el contexto real en la que ha ocurrido. Ilustrar ciertos t6picos en una evaluaci6n, en modo descriptivo. Explorar las situaciones en las que la intervenci6n que esta siendo evaluada no tiene un conjunto claro de resultados unicos. Estudiar un estudio de evaluaci6n (metaevaiuaci6n).
iii
iii
iii
iii
Aunque, la tendencia general de todos los tipos de caso de esmdio, es que intentan aclarar una decisi6n 0 conjunto de decisiones: por que se tomaron, c6mo se implementaron, y con que resultado (Schramm, 1971).
'iR:\-MA
Representa un caso critico para probar una teoria. Representa un caso extrema
0
ll11ico.
0
e
e
tipico.
Es un caso revelador (una oportunidad de observar y analizar un fen6meno previamente inaccesible). Es un caso longitudinal.
Caso simple
Caso multiple
Holistico
caso
Embebido
B) Multiples casos de estudio: se considera la evidencia mas s6lida y el estudio mas robusto. La 16gica de replicaci6n es anaJoga a la utilizada en mUltiples experimentos. Pueden ser a su vez, subdivididos en holisticos 0 embebidos, ya que el mismo caso de estudio puede involucrar a mas de una unidad de analisis (vease figura 1l.5). A la hora de elegir entre los diferentes tipos de diseiio, hay que tener en cuenta que cada caso debe ser seleccionado con cui dado de manera que:
3-+9
1.
Prediga resultados similares (replicacion literal). Prediga resultados contrarios pero por razones predecibles (replicacion teorica).
2.
Una vision general del proyecto de caso de estudio (objetivos y patrocinios. cuestiones, lecturas relevantes acerca del tema investigado). Procedimientos de campo (presentacion de credenciales, acceso a los sitios. fuentes de infol1nacion, etc.). Cuestiones de caso de estudio (puestas al investigador). Pueden plantearse a diferentes niveles: I. 2. 3. Nivel I . Cuestiones preguntadas a entrevistadores concretos. Nivel 2. Cuestiones preguntadas sobre el caso individual. Nivel 3. Cuestiones preguntadas sobre el patron de hallazgos a 10 largo de varios casos. Nivel 4. Cuestiones sobre el estudio completo. Nivel 5. Cuestiones nOl1nativas sobre recomendaciones de politica y conclusiones.
4. 5.
Una guia para el infol111e del caso de estudio (contenidos, formato de los datos. utilizacion y presentacion de otra documentacion, infol111acion bibliognifica).
RA-tvL~
Ademas hay que elegir la unidad de toma de datos y la unidad de analisis, que no deben ser confundidas, vease tabla 11.6. C) Llevar a cabo un caso de estudio pilato.
,-._.-._.-.-.-.-.-._-_..
I
I
.
I
I I I I I
,--t
t
r>
I escribir realizar 1 I obtener Informe de f-o'------' caso de ~ conclusiones I caso estudio intercasos individual ! I I I
seleccionar casos
1
escribir Informe de caso individual modificar teorfa
->
,.
->
I-!---.
I I I
1
desarrollar implicaciones politicas
i
I I I I I
I
escribir conclusiones intercasos
realizar I...i escribir :...... restantes I-----> Informe de f-o caso de caso estudio individual
D I S E
I
I
,,'
I I
I
,I
--:-
"
",
,0
'"
, ' , '
DEu'NA ORGANIZAOQN
N0
ACERCADEUl'< Il\!)[V1DUO
o'
ACERCADE UNA ORGAi'\lZAC!ON
.Registros de archivo. Otros comportamientos. actitudes y percepciones reportadas Politic as de personal Productos de la organizacion
RA-MA
35l
Varias fuentes de evidencias, la triangulaci6n es el motivo para usar diferentes fuentes de evidencia. Hay varios tipos de triangulaci6n: de fuentes de datos, entre diferentes evaluadores, de perspectivas del misl110 conjunto de datos, de metodos, etc. Una base de datos del caso de estudio, el caso de estudio consta de dos colecciones separadas: datos de la base de evidencia y el infonne del investigador (articulo 0 infonne). Una cadena de evidencias, aumenta la fiabilidad. Asi, por ejemplo, podel11os establecer la siguiente cadena: cuestiones de caso de estudio -7 protocolo de caso de estudio (enlaza cuestiones con temas del protocolo) -7 citaciones a fuentes de evidencia especificas -7 base de datos del caso de estudio -7 infonne del caso de estudio.
Basarse en proposiciones te6ricas. Pensar acerca de explicaciones rivales. DesarTollar una descripci6n del caso.
Descubrimiento de patrones (pattern matching). que ayuda a l11ejorar la validez intema. Constmcci6n de explicaciones. Amilisis de series temporales. Modelos 16gicos. Sintesis de casos cmzados.
RA.-MA
Audiencia: academicos, profesionales, gmpos especiales (tribunales de tesis), patrocinadores de subvenciones. Si se trata del infonne de un caso de eshldio que fonna parte de un eshldio mcis amplio multimetodo. La estruchlras elegida para el caso de estudio (tabla 11.7).
...
TIPOnE ESTRUCTIJRA
Al~ALiT1CA.:.LI~EAL
J
I
I
J I I
X X
I I
X X X X
I
I I
X
Estructura analitico-lineaI: es la forma estandar de componer infol111eS de investigacion. La secuencia de sUbtopicos empieza con la cuestion 0 problema que esta siendo eShldiado y una revision de la literatura relevante existente. Estructura comparativa: repite el mismo caso de eshldio dos 0 mas veces, comparando descripciones 0 explicaciones altemativas delmisl110 caso. Estructura cronologica: presenta la evidencia del caso de estudio en orden cronologico. Estructura de construccion de teo ria: la secuenCIa de los capihllos sigue alguna logica de construccion de teoria. Estructura de suspenso: invierte la estruchlra lineal-analitica y la "respuesta' directa 0 producto del caso de eshldio se presenta al principio. Estructura sin secuencia: la secuencia de los capihllos no tiene ninguna importancia.
RA.-ivlA
353
Ser significativo. Ser completo. Considerar perspectivas altemativas. Mostrar suficiente evidencia. Debe componerse en una manera atractiva. Habra que tener en cuenta adem as los diferentes tipos de validez:
II
II
II
II
II
Validez de constructo: establecer las medidas operacionales COlTectas para los conceptos que estan siendo estudiados. Validez interna: (s610 para estudios explicativos 0 causales, no exploratorios 0 descriptivos) establecer la relaci6n causal en las que ciertas condiciones se muestra que conducen a otras condiciones, distinguiendolas de las relaciones espmias. Validez externa: establecer el dominio en el que los resultados de un estudio pueden ser generalizados. Hay que tener en cuenta que las encuestas se basan en la generalizaci6n estadistica, mientras que los casos de estudio (y los experimentos) se basan en la generalizaci6n analitica (en la que el investigador intenta generalizar un conjunto de resultados particulares a una teoria mas amplia). Se obtiene mediante replicaci6n. Fiabilidad: demostrar que las operaciones de un estudio -tales como los procedimientos de obtenci6n de datos- ploleden repetirse con los mismos resultados
II
II
II
En la tabla 11.8 se presentan algunas tacticas para conseguir estos tipos de validez.
3.3. Encuestas
Una encuesta, como sei'ialan Pfleeger y Kitchenham (2001-2003), no s610 es el instrumento (cuestionario 0 lista de control) utilizado para obtener infol111aci6n, sino que es un sistema mas amplio que sirve para desclibir, comparar 0 explicar conocimientos,
RA-ivL>\
Fijar objetivos especificos y medibles. Planificar la encuesta. Asegurar que los recursos apropiados estan disponibles. Disefiar la encuesta. Preparar el instmmento de recogida de datos. Validar el instrumento. Seleccionar los paIiicipantes. Administrar y calificar el instrumento. Analizar los datos. Reportar los resultados.
PRlJEB.""S
T.kTICA.DECASO DE ESTUDIO
Usar varias fuentes de evidencia Establecer una cadena de evidencias Hacer que infonnadores clave revisen el bon-ador del infonne de caso de estudio Hacer pal/em-marching Hacer construccion de explicaciones Abordar las explicaciones ri\ales Utilizar model as logicos Utilizar teoria en casas de estudio imicos Utilizar l6gica de replicacion en casas multiples Utilizar protocolo de caso de estudio Desarrollar una base de datos dc casas de estudio
Validez de constructo
Composicion
Validez intern a
Analisis de datos
I
Diseiio de la investigacion
Validez externa
I
Toma de datos
Fiabilidad
RA-MA
355
Estas autoras recomiendan tener en cuenta algunos aspectos importantes a la hora de !levar a cabo una encuesta:
Ii)
Disefio de la encuesta. A la hora de disefiar una encuesta se pretende conseguir que sea efectiva, en sentido de que sea resistente a los sesgos, apropiada respecto al contexto de la poblaci6n y a la complejidad de la propia encuesta, y efectiva en coste (dentro de los medios disponibles) y tiempo de los encuestados. El disefio puede ser: descliptivo, en el caso de un estudio observacional, 0 experimental. Tamafio de la muestra, que tiene que escogerse para que esta sea representativa de la poblaci6n, y abordable en coste (sobre to do si la encuesta requiere asistencia presencial 0 telef6nica). Construccion del instrumento para la encuesta, especialmente la selecci6n de las preguntas (inteligibles, en numero apropiado, con prop6sito claro, concretas, etc.) y el f0l111ato del cuestionario (legible, con infol111aci6n e instrucciones adecuadas, etc.) Evaluacion del cuestionario, mediante un foclis group 0 un estudio piloto. Y estudio de la fiabilidad (test-retest, interobservador, consistencia intern a, etc.) y validez (de contenido, criterio, constmcto, etc.) del misrno
Ii)
Ii)
Ii)
Control de la ejecucion. Describe cminto control tiene el investigador sobre el estudio. Por ejemplo, en un caso de estudio los datos son tornados durante la ejecuci6n de un proyecto. Si se decide suspender el estudio, por ejemplo por razones econ6micas, el investigador no puede continuar con el estudio. Por el contrario en un experimento el investigador tiehe control pleno sobre la ejecuci6n. Control de la medicion. Es el grado en el que el investigador puede decidir las medidas que deben ser recogidas y las que deben ser incluidas 0 excluidas durante la ejecuci6n del estudio. En una en cuesta no es posible incluir medidas. Coste de la investigacion. Dependiendo de la estrategia elegida, el coste asociado a la investigaci6n varia. Esto esta relacionado, por ejemplo, con el tamafio de la investigaci6n y las necesidades de recurs os. La encuesta es la estrategia de men or coste, ya que no requiere gr'andes cantidades de recursos.
Ii)
Ii)
Facilidad de replica. Se refiere a la facilidad con la que podemos replicar la situacion base que estamos investigando. Si la replicacion no es posible, no se puede llevar a cabo un experimento. Gracias a la posibilidad de replicacion de los expelimentos sus resultados son mas generalizables.
La tabla 11.9 muestra cada uno de los factores mencionados antes para cada una de las estrategias y se puede usar como guia a la hora de decidir que estrategia seguir.
FACTOR
I
I I
ENCUESTA
I I
No No Bajo Alto
I I
CASO DE ESTI5DIO
I I
No Si Medio Bajo
I I I I I
EXPERiiY1E:STO
Si Si Alto Alto
4. LECTURAS RECOMENDADAS
e
Aurum, A., Jeffery, R., Wohlin, c.. Handzic, M. (eds.) (2003). j\lianaging So.fhmre Engineering KnOlrlegde. Berlin, Springer. Esta recopilacion reline los trabajos mas importantes sobre gestion del conocimiento en ingenieria del software a nivel intemacional. Kitchenham. B., Pfleeger. S . Pickard. L.. Jones. P., Hoaglin. D. El Emam, K .. Rosenberg, L 2002. Preliminary Guidelines for Empirical Research in So.fhmre Engineering. IEEE Transactions on Software Engineering, 28(8). 721-734. Este articulo da pautas sobre como llevar a cabo investigacion empirica en ingenieria del software de manera rigurosa. Pfleeger. S.H. y Kitchenham. B.A. (2001-2003). Principles of SlIlWY Research. Software Engineering Notes. ACM. Se trata de una serie de seis articulos en los cuales se presentan los principios para llevar a cabo encuestas de una manera rigurosa. Revista "Empirical So.fhmre Engineering". es una revista de la editorial Kluwer especializada en Ingenieria del Software Empirica. http://\\ww.kluweronline.com/issn/13 82-3256.
Vizcaino. A. y Piattini, M. (eds.) (2006). Gestion del conOClIIllento en Ingenieria del So.fhmre. Universidad de Castilla-La Mancha. En esta recopilacion se abordan diversos aspectos de la gestion del conocimiento aplicada al desanollo y mantenimiento del software: uso de ontologias. henamientas, metodos. etc. Wohlin c.. Runeson P., Host M., Ohlson M., Regnell B. and Wesslen A. (2000) Experimentation in So.fhmre Engineering: An Introduction. Kluwer Academic Publishers. Juristo, N. y Moreno. A.M. (2001) Basics ofSo.fhmre Engineering Experimentation. Kluwer Academic Publishers. Estos dos libros
[ RA-MA
357
han sido los primeros en abordar rigurosamente la experimentaci6n en el campo de la Ingenieria del software.
Iil
Yin, R.K. (2003). Case Study Research: Design and Methods. Thousand Oaks, Sage Publications. Es el libro mas representativo para la utilizaci6n de casos de estudio, si bien no esta adaptado ni a la Ingenieria del Software ni a los Sistemas de Infonnaci6n.
w\vw.cebase.orQ/ EI Center for Empirical~~'-Based Sojt.l'([re Engineering (CeBASE) reline modelos empiricos con el fin de proporcionar a las organizaciones guias para seleccionar tecnicas y modelos. recomendar areas de investigaci6n y sopOliar la fonnaci6n en ingenieria del software. http://ww\v.iese.t112:.de/ISERN/ La red ISERN (Jntel71acional Sofhrare Empirical Research Net1l'Ork) agrupa a los principales investigadores en el campo de la Ingenieria del Software Empirica.
<!;)
6.
I.
ERCiCIOS
Para la obtencion de conocimiento uno de los principales metodos es la realizaci6n de un estado del ane 0 revision sistematica sobre 1a cuesti6n que se quiere conocer. Analice la propuesta de Kitchenham (2004) "Procedures for Perfonning Systematic Reviews". Keele University. 28. Nllmero de lnfonne 0400011 T.l. sobre c6mo llevar a cabo estados del arie de manera sistematica. Siguiendo el metodo propuesto por Kitchenham, realice el estado del arte de la gestion del conocimiento en la ingenieria del software, destacando que aspectos (tecnologicos, organizativos. metod610gicos. etc.) han recibido mayor atenci6n hasta el momento. Siguiendo la propuesta de Lawion (2001) que se presenta en la figura 11.1, analice la arquitectura de gesti6n de conocimiento de su organizaci6n identificando las posibles deficiencias de la misma. Si en su organizacion se utilizan sistemas cooperativos y de trabajo en grupo 0 Intranets estudie la utilidad de los mismos como sistemas de gestion de conocimiento. Presente un plan razonado (costes, calendario, etc.) de implantaci6n de una factoria de experiencia en su organizacion. (, Cuales cree que seran los principales obstaculos que se encontraria en la implantacion de una estructura de este tipo?
2.
3.
4.
5.
RA-MA
6.
Lleve a cabo un estudio sobre el significado y las implicaciones desde el punto de vista tanto investigador como practico del concepto de Evidence-based Software Engineering (Ingenieria del Software basada en evidencias). Replique alglin experimento sobre alglin tema de su interes, como por ejemplo, sobre los beneficios de pair designing para la mejora de la difusi6n y el reforzamiento del conocimiento (vease apartado 3.1.3). Lleve a cabo un caso de estudio sobre la implantaci6n de alguna metodologia herramienta en su organizaci6n.
0
7.
8.
9.
T. Lethbridge llev6 a cabo una en cuesta para deterrninar en cuales areas de la infonniitica pensaban los profesionales que necesitaban una mejor forrnaci6n (vease "11171at Imowledge is important to a software professionaf', IEEE Computer, Mayo 2000). Lleve a cabo una encuesta similar en su organizaci6n y compare los resultados entre las dos encuestas.
ACRONIMOS
Area Clave de Proceso Asociaci6n Espanola de la Calidad Asociaci6n Espanola de Nonnalizaci6n y Certificaci6n Association Franqaise de Nonnalisation Abstract Interaction Object Analisis Modal de Fallos y Efectos American National Standard Institute
Application Programming Inteljace Appraisal Requirements for CALM! Architecture ofIntegrated Information Systems American Societyfor Quality British Standards Institute CMMAppraisal Framework
ANSI
API
ARC ARIS ASQ BSI
CAF
360
;;; R.-\-MA
Coll1l11ercial-O(l: The-Shelf'
Capaciz\ Process Coger
CTh
DDE DEC DOE EFQ\l ElA ElAIS EIS
EJB
E\
EOQ ER
Europ-=an Organization for Quali!)" Entidad-Inten'elacion E\'.-\luaci0n y \lEjora de la C\Lidad de los datos y de la intomlUci6n Formal \kthods Europe
Failllre .lIodes and E.t/cCls Ana(l'sis, \'ease .-\\,lFE Frumel\Drkj!Jr Ihe .\Joe/ding and EmIllalion o/'So/il!'C1I'e Processes
E\".-\:vIEC.-\L
F\lE F\lEA FMESP FPKD GC GCR GQM GUI HCI HTML I+D L-\-SI IEC IEEE IFPUG IMS
Fuzzy Prototypical Knowledge Discovery Gesti6n de la Configuraci6n Grupo Critico de Referencia Goal Question \!etric Graphical User Interface Human Computer Interaction Hypenext \!arkup Language Investigaci6n y Desarrollo Investigaci6n-Acci6n en Sistemas de Infoffilaci6n
International Eleclroleclmical Commission
Institute of Electrical and Electronics Engineers International Function Point Users Group indice de Madurez del Software
RA.-ivLA.
ACRONIMOS
361
Joint Technical Committee I Japanese Union of Scientists and Engineers Knowledge Discovery in Databases
Knowledge Il1Ierchange Format Key Practices (Pnicticas clave) Key Process Area (Vease ACP)
KIF KP KPA
LCI LCS LMP
Limite de Control Inferior Limite de Control Superior Lenguaje de Modelado de Procesos Lines Of Code Ley Organica de Proteccion de Datos
:\leta Data Coalition Massachllsells Institute ofTecl1l1ology
LOC LOPD
MDC ivllT ivL'vlHQ Miv[LC MOF OCL OMG PDCA PERT PHVA PI PIF PMBOK PSEE PSL PSM PSP
QFD
Subcomite
Standard CMAll Appraisal Alethodfo!" Process IlIlpro,"elllenr So/hrare Capability Emillation
362
RA-MA
SEI SGBD SGC SI SMSDM SPEM SQL SQuaRE SUMI SUS SW-ClvL'v!
TC
SO/Al'are Engineering Institute Sistema Gestor de Base de Datos Sistema de Gestion de la Calidad Sistema de Informacion
Standard Metamodel for Sofnmre De\'elopme!1/ Methodologies SO/Mare Process Engineering Metamodel Stl1lctured Quel)' Language Sofill'are Product Quality Requirements and Emluation
LJNE
UPM WfMC WG
Management Coalition
BIBLIOGRAFiA
Abdel-Hamid, T, YMadnick, S. (1991). Sofnrare Project Dynamics: An IllIegrated Approach. Prentice-Hall. Acuna. S. T., De Antonio, A, Ferre, x., Mate, L y Lopez, M. (2001). "The Software Process: Modelling. Evaluation and Improvement". In S. K. Chang (Ed.), Handbook of Sofnrare Engineering and Knowledge Engineering. (Vol. l. Fundamentals .. pp. 193-237). New Yersey (EE.UlJl. World Scientific. Adamson. Christopher y Venerable, Michael (1998). Data Warehouse Design Solutions. Jo1m Wiley and Sons. USA. AFMC (1994) Acquisition - Sofnrare DCI'elopmelll Capability Emluation, Air Force Materiel Conmland (AFMC) Pamphlet 63-103, Volumes I and 2, June IS, 1994. A1bretch, A. (1979). ivfeasuring Application Developmelll Productivity. Proceedings of the IBM Development Symposium, Monterey, pp. 83-92. Application
Althoff, K. Y Pfahl. D. (2003) "Integrating Experienced-Based Knowledge Management with Sustained Competence Development". En Afanaging Sofnrare Engineering Knowlegde. Aurum, A.. Jeffery. R., Wohlin. c., Handzic, tv!. (eds.) Berlin. Springer. Ambrio1a, V., Conradi, R. y Fuggetta. A (1997). "Assessing Process-Centered Software Engineering Environments". ACM Transactions on Sofnrare Engineering and Method070gy 6,3 (July 1997), pp.283-328. Anderson, J. R. (1983). The architecture ofcognition. Cambridge: Harvard University press. April, A. Y Coallier, F. (1995). 'Trillium: a model for the assessment of telecom software system development and maintenance capability". 2nd IEEE Software Engineering Standards Symposium, pp. 175. April, A, Huffman. J., Abran, A. y Dumke, R. (2005). "Software Maintenance Maturity Model: the software maintenance process model'. Joul7lal ofSofnrare Maintenance and Emlution: Research and Practice 17, pp. 197-223. Arbaoui, S., Haurat A .. Oquendo, F.. Theroude, F. y Verjus. H. (2003). "Languages and Mechanisms for Software Processes and Manufacturing Enterprise Processes: Similarities and Differences". Proceedings of the 5th Intemational Co/?terence on Ente/prise biformation Systems IICElS 2003), pp. 474-482.
364
RA.-MA
Baldrige (2005). Criteria .tin- PerF017I1WICe Ercellence. The Malcolm Baldrige National Quality Award Program. Disponible en: http:\\ww.gualitv.nisLgov CCltimo acceso Agosto de 2006). Ballou D .. Wang R.. Pazer. H.. y Tayi. G.K. "Modeling Information Manufacturing Systems to Determine lnfornmion Product Quality". Management Science 41(4). pp. 462-484. 1998. Ballou. D. Y Tayi. G.K. (1996). ";-'Ianagerial Issues in Data Quality". Proceedings of the First International Conlerellce on h?/ol7lwtion QlIali~l' (fClQ '96). pp. 186-206. Ballou. D. Y Tayi. G.K. (1999) "Enhancing data quality in Data Warehouse Fnvironments". Communications oltlze ACAf. 1'0142. So I. January 1999.
BaIlOl~ D.. Madnick. S., y Wang. R. (2004). "Special Section: Assuring Information Quality". Journal of .\Ianagemelll h?jol7lwtion Systems. 20(3). pp. 9- I I.
Ballou. D .. Wang. R.. Pazer. H.. y Tayi. G.K. (1998). "Modeling Infonnation Manufacturing Systems to Determine Infornmtion Product Quality". Management Science, 44(4). pp. 462-484. Balzer. R. Y Narayanaswamy. K. (1993). "Mechanisms for Generic Process Support". Proceedings oOhe First AC\! SIGSOFT Symposiulll 011 FOlindatiollS ofSojnmre Enginering. AClvL Software Engineering Notes. 18(5), December 1993. Bandinelli. S.. Di Nitto. E. y Fuggetta. A. (1996). "Supporting Cooperation in the SPADE-I Em'ironmenCIEEE Transactions on Sojnmre Engineering. 22(2), December 1996. Bandinelli. S.. Fuggetta. A.. Ghezzi. C. (1993). "Software Process Model Evolution in the SPADE Environment". IEEE Transactions on Sojnmre Engineering. I 9( 12). December 1993. Bandinelli. S .. Fuggetta, A .. Lavazza. L Loi, M. y G. P. (1995). "Modeling and improving an industrial software process". IEEE Transactions on So./nmre Engineering. 21(5), pp. 440-454. Bansiya 1. y Davis c.. (2002). "A Hierarchical Transactions Oil Soll1mre Engineering, 2S(I). pp. 4-17.
~vlodel
Bansiya L Etzkorn L Davis C. y Li W. (1999). "A Class Cohesion Metric For Object-Oriented Designs". Tlze JOllrnal oj'Ol'iect-Oriellled Programming, 11(S), 1999, pp. 47-52. Barghouti. N .. Rosenblum. D .. Belanger. D. y Alliegro. C. (1995). "Two case studies in modelling real. corporate processes". Sojnmre Process -IlIlprol'emclll and Practice (Pilot Issue). pp. 17-32. Basili. V. R. y Rombach, H.D. (1988) "Towards A Comprehensive Framework for Reuse: A Reuse-enabling Software Environment". Uni\'ersit:y of Maryland. CS-TR-2I5S. UAllACS-TR-SS-9:!. December 1988. Basili. V.. Shull. F. y Lanubile. F. (1999). "Building knowledge through families of experiments". IEEE Transactions on Sojnmre Engineering. 25(4). pp. 435-437. Basili. V.R. Y Caldiera. G. (1995). "Improve Software Quality by Reusing Knowledge & Experience". Sloan .\fanagemel/l Redl!\\'. \IIT Press, 37(1): pp. 55-64. Basili. V.R. Y Reaman. C. (2002). 'The Experience Factory Organization". IEEE So/nmre. 19(3): pp. 30-31. Basili. V.R. Y Weiss. A. (1984) "\Iethodology for Collecting Valid Software Engineering Data". IEEE Transactions on Sojnmre Engineering. SE-IO. ]\;0. 6. pp.728-738. 1984.
RA.-MA
BIBLlOGRAFiA Y REFERENCIAS
365
Basili. V.R .. Costa. P. Lindvall. M.. N!endonca. M.. Seaman. C. Tesoriero. R.. y MaIyin Zclkowitz. M. (2001). "An Experience Management System for a Software Engineering Research Organization ". ::6,i. Annl/a/ .VASA Goddard Sojilmre Engineering Workshop. Pp. 26-35. Batini C. Ceri S. y Navathe S. (1992). Concepllial daTabase design. An emily relationship approach. Benjamin Cununings Publishing Company. Batista J. y Figueiredo A. (2000). "SPI in very small team: a case with CMM". Sojilmre Process ImprOl'elllelll and
Praclice 5 (-I). 2-13-250.
Becker-Komstaedt.. U.. Bella. F.. .\!linch. L Neu. H. Ocampo. A y Zenc!. J. (2003). SPEARM!:VTf" i Lser
:\[anual. Fraunhofer Institute. lESE report n 072.02;E .. v. 1.1. 2003.
Belkhatir. N.. Estublier. J y .\!elo. W.L (1991). "Adele2: A Support to Large Software Development Process".
Proceedings of the 1st IllIel'l1ational Con/i!rence on the Sojilmre Process. Redondo Beach CA (USA). October 1991.
Ben-Shad. I. y Kaiser. G. (1994). "A Paradigm for Decentralized Process Modeling and its Realization in the Oz Environment". Proct!edings a/the 16th Imel7lational Con/i!J'cncc on Sojilmre Engineering. Bemardez. 8.. Duran. A.. y Genero. NL (200-1). "An empirical review of use cases metrics for requirements \erification". Actas del SoJilmre Measurement European Fomlll (SMEFO-l). Bertoa. M. F. y Vallecillo. A. (2002). "Quality Anributes for COTS Components". 6th Intel'l1ational Workshop on
Qual1lilati\'e Approaches ill O~iect-Oriellted So/ilmre Engineering (QAOOSE'2002). Malaga
Bertoa. !\!.. Troya. 1.M.. y Vallecillo. A. (2005) "Measuring the usability of software components". JOlll7lal 5.\slems and Solimre. Agosto 2005.
0/
Bevans N. (2000). Imrodllction to l/sabili(r mallirizr asseSSlIlenl. Serco Csability Senices. Serco. Ltd.: London. 10. Disponible en: httn:..www.usabilitv.serco.comtnl111Ddocuments.}.!aturitv assessment.opLodf (Ultimo acceso en Mayo de 2006) Bobrowski. M.. Marre. M.. y YaIlkele\ich. D. (1998) "A Software Engineering View of Data Quality". Proceedings
o.rSecond IlIIel7l(J/ional So.filmre Quality in Europe. Belgium. November 1998.
Boegh.1.. DePanlilis S.. Kitchenhanl B.. Pasquini A. (1999). "A and Evaluation". IEEE SO/l1mre 23 (2). marzoabril. pp. 69-77.
~Iethod
Boman M. Bubenko l .. lohannesson P. y Wangler 8. (1997). ConceptuaIJ/odelling. Prentice HalL Botella. P.. X. Burgues. 1. P. CanalIo. X. Franch. 1. A. Pastor y t. Quer (2003). "Towards a Quality Model for the Selection ofERP Systems". Component-Based So.filrare Quality. pp. 225-245. Boudier. G.. Gallo. F.. Minot. R. y Thomas. 1. (1988). "An Oven'iew of PCTE and PCTE-". Proceedings o.r SIGSOFT'88: Third 5.l7npOSillfll on so.rl1mre De\'elopmelll EI1\ironmellls. November 1988. Bouzeghoub. M. y Kedad. Z. (2000) "A quality-based framework for Physical Data Warehouse Desi&'Il".
Proceedings or the IlIIel71C1tional Workshop on Design and J/anagemelll o.r Data Warehouse (DMDH"2000). Stockholm.
Sweden. June 5-6. 2000. Bo\ee. ;V!" Srivastuva. R.P .. y Mak. B. (2003). "A Conceptual Framework and Belief-Ftmction Approach to Assesing Overall Infonllation Quality". IlIIel71ational Journal o.(IlIIelligenl 5.nlems. 1'01 18. pp. 51-7-1. Briand. L. El Emam K. y Morasca S. (1995). "Theoretical and empirical validation of software product measures".
Technical report ISER.V-95-03. Intemalional Sojilmre Engineering Research .\ieMork.
366
RA-?vt.A.
Briand. L Morasca S. y Basili V. (1996). "Property-Based Software Engineering Measurement'". IEEE Transactions on Sojhrare Engineering. 22( I). pp. 68-86. Briand. L Morasca. S. y Basili. V. (2002). "An operational process for goal-driven definition of measures". IEEE
Transactions on So/nrare Engineering, 28(2), pp. 1106-1125.
BringeL H.. Caetano. A.. y Tribolet. 1. (2004). "Business Process Modeling Towards Data Quality Assurance". Proceeding 0/ICEIS'2004 Porto (Portugal). pp. 565-568. Brito e Abreu F. y Carapuya R. (1994). "Object-Oriented Software Engineering: Measuring and controlling the development process". 4th Int Con(erence on So/nrare Quality. McLean. VA. USA. Brito e Abreu F. y Melo W. (1996). "Evaluating the Impact of Object-Oriented Design on Software Quality".
Proceedings 0/3rd Il1Iel71ational Metric Symposium. pp. 90-99.
Burgess. M.S.E .. Gray. W.A .. y Fiddian. N.J. (2003) "A flexible quality ftamework for use within information retrieval". Proceedings a/the Eighth International COl!lerence on b!formation Qualit)' (lCIQ ']003). pp. 297-313 Burke. B. (2002). "Evolving Architecture Maturity. Enterprise Planning and Architecture Strategies". EPAS Meta
Practices 67. Meta Group.
Burzy11ski T. (1998). "Establishing the Environment for Implementation of a Data Quality Management Culture in the Military Health System". Proceedings o/the Third Conference on In/ol7nation Quality ICIQ '1998. pp. 18.....6 Bymes. P. y Philips. M. (1996). Sojhrare Capability Emluation I ersion 3.0. Method Description. Technical Report CMUiSEI-96-TR-002 ESC-TR-96-002. Calero. C (2001) Definicion de III/ Conjunto de Merricas para la Afalllenibilidad de Bases de Datos Relacionales, Actims y Objeto-Relacionales. Tesis DoctoraL Universidad de Castilla-La Mancha. Calero. C y Piattini. M. (2002) "Metrics for databases: a way to assure the quality". En: b!lormation and Database Quali(\. Kluwer Academic Publishers. Pp. 57-84. 2002 Calero. C. Piattini. ivl.. PascuaL C. y Serrano. M.A. (2001). "Towards Data Warehouse Quality Metrics". Aetas del
3rd Workshop on Design and Managemelll olData Warehouses (DMDW'OI). Agosto. 2001
Caho-Manzano. 1.A. (2000). Merodo de Mejora del Proceso de desarrollo de sistemas de informacion en la pequel1a y medicllIa empresa. Tesis Doctoral. Universidad de Vigo. CampbelL D. y Stanley. 1. (1963). E.\perimelllal and quasi-e.\perimelllal desigllS .lor research. Boston. Houghton Mifflin Co Canfora. G.. Garcia. F.. Piattini. M.. Ruiz. F. v Visa!.!!.!io. CA. (2005). "Pair Desi!.!Oing as Practice for Enforcin!.! and Diffusing Design Knowledge". Joumal o{So/nrare :;Jaillle~~nce and Emlution: ReseCII":ch ;;nd Practice. Wiley 17(6). pp. 401-423. Canfora. G.. Garcia. F.. Piattini. ivl.. Ruiz. M. y Visaggio. A. (2005). "A Family of Experiments to Validate ?vletrics for Software Process Models". Joumal o.{S),stems and So.{l\mre. 77 (2). pp. 113-129. Cant. S.. Henderson-Sellers B.. y Jeflery. R. (1994) "Application of Cognitive Complexity Metrics to ObjectOriented Programs". Journal o./Dbject-Oriellled Programming. 7(4). 199,). pp. 52-63. Cant. S.. Jeffery R. y Henderson-Sellers B. (1992). "A Conceptual Model of Cognitiw Complexity of Elements of the Programming Process". b!lol7l1atioll and Sofilrare Technology. 7, 1992. pp. 351-362.
i'; R.-'\-MA
BIBLlOGR.-'\FiA Y REFERENCL-'\S
367
Cantone. G. y Donzelli. P. (1000). "Production and maintenance of software measurement models". Journal of Software Engineering and Knowledge Engineering. 5. pp. 605-616. Carbone M. y Santucci G. (1001) "Fast&&Serious: a UML based metric for effort estimation. 6th Intemational ECOOP Workshop on Quantitati\'e Approaches" in Object-Oriented Software Engineering (QAOOSE"]OO]). 1002. pp. 3544 Card. D.N. (l995). "The R.-,\D Fad: Is Timing Really EYerythingry"IEEE Sofnmre. Septiembre, Pp. 19-11. Carretero. A. Ingelmo. P.. Sanchez-Infantes. lA. Sanchez-Infantes. P.. y Sanchez. 1.A.(l999). Calidad. Madrid: Editex. Carver. 1.. 1accheri. L.. Morasca. S. y Shull. F. (1003). "Issues in Using Students in Empirical Studies in Software Engineering Education". Proceedings of the 9th IllIemational SO/Mare Metrics Symposium (AfETRlCS'03). pp.139-251. Cechich. A, Piattini. M. y Vallecillo. A (eds.) 2003. Component-Based Sofnmre Quality: Methods and Techniques. Springer. Alemania. Lecture Notes in Computer Science 2693 Chidamber S. Y Kemerer C. (1994). "A Metrics Suite for Object Oriented Design". IEEE Transactions on SojAmre Engineering. 10(6). pp. 476-493. 1994. Cianmmi. C.A. Tsiakals. 1.1 .. West. 1 (1002).150 9001: ]000 E.'plained ]nd Edition. Quality Press Ciolkowski. M .. Shull. F. y Biffl. S. (2002). "A Family of Experiments to Investigate the Influence of Context on the Effect of Inspection Techniques". Proceedings of the 6Th International Conterenee on Empirical Assessment in Sofnmre Engineering (E.iS!. Keele (UK). pp. 48-60. CMMJ. (2002) Capabili(\' Maturity Moder Integration (CMIIl'\!). Version I.I C:II[f\fjor Systems Engineering. SO/Amre Engineering. IfIlegrated Product and Process De\'eIopment and Supplier Sourcing (CMMI-SE;SWilPPDfSS, VI. I ) Staged Repre-sentation CMUfSEI-2002-TR-012 ESC-TR-2002-012. en http://www.sei.cmu.edu !publications /documents i 02.reports:02tr002.hunl (ultimo acceso rvlarzo 2006) Conradi. R.. Larsen. 1.. Nguyen. M .. Munch. B.. Westby. P .. Zhu. W .. 1accheri. M .. Liu. C. (1994). "EPOS: ObjectOriented and Cooperative Process Modelling". En A Finkelstein. 1 Kramer. and B. Nuseibeh. editors. SojAmre Process Modelling and Technology. Research Studies Press Limited (1. Wiley). Cook. T. y Campbell. D. (1979). Quasi-e.'perimefllation: design and anaZ\'sis issues for field settings. Boston, Houghton Mifflin Co. Crawford, 1 (2002). Proiect Managemefll Maturi/)' :Hodel Pro\'iding a Prol'en Path to Project Management Ercellence. Publisher Marcel Dekker/Center for Business Practices. Crosby. P.B. (1979). Quali(1" is Free. Nueva York. McGraw-Hill. Cuevas, G .. Amescua, A.. San Feliu, T .. Arcilla. M .. Cerrada. lA. Calvo-Manzano. lA., Garcia Cordero. M. (2002). GesTion del Proceso Sofnmre. Ed. Centro de Estudios Ramon Areces. S.A. Cugola. G. y Ghezzi. C. "Software processes: a retrospective and a path to the future". SO/Amre process ImprOl'ement and practice. vol. 4. pp. 101-123. 1998. Curtis, B.. Hefley, B. y Miller. S. (1001). People Capabili(\' Malllri/)' Model (p-CIL_n. Versioll 2.0. Software Engineering Institute. CMUSEI-200 I-MM-OO I. Curtis. B.. Kellner. M. y Over. 1 (1992). "Process Modeling". COlllmullications olACI/. 31( II). pp. 1268-1287.
368
gRA-?vlA
~!etrics
Dami. S .. Estublier. J. y M. Amiour. (1998). ".-\PEL: a Graphical Yet Executable Fom1alism for Process Modeling". Klwrer Academic Publishers. pp. 60 - 96. Boston. January 1998. Dawnport. T.H. y Prusak. L. (2000). Working KnOlv/edge. Haryard Business School Press. Davidson. B.. Lee. Y.L y Wang. R. (200'+). "Dewloping data productions maps: meeting patient discharge data submission requirements". International Journal Healthcare Technology and Mallagemelll, 6C!). pp. 223-2'+0. Dedeke. A. (2003). "Managing Processes for Information Quality: A Framework for Process !vletadata Development"'. Proceedings of the Eigth IllIernational Conference on b!formation Quality (lCIQ '2003). pp. 22'+-233. Deiters. W. YGruhn. V. (1990). "Managing Software Processes in the Environment MELMAC. Proceedings of the Fourth Symposium on Sofl1rare De\'elopmelll Enl'ironmel1ls. December 1990. Deiters. W. Y Gruhn. V. (1991). "Software process analysis based on FlJNSOFT nets". Systems Ana~\'sis Modelling Simulation. 8('+-5). pp. 315-325. Del Peso. E. (2000). Ley de Proteccion de Datos: La nuem LORTAD. Madrid. Diaz de Santos. Deming W. (1986). Ollt olthe Crisis. MIT Center for Advanced Engineering. Cambridge. Department of Defense U.s.A (1999). Systems Security Engineering Capability Maturity .Hodel (SSE-OIM). I'ersion 3.0. Department of Defense. Arlington VA. 326. Dernian1e J.e.. Wastell D.. y Kaba A. (eds) (1999). Software Process: Principles. Methodology and Technology. LNCS W1500. Springer Verlag. January 1999. Derniame. J.C Y Oquendo. F. (200-+). "Cuestiones Clave y Nueyos Retos en la Tecnologia de Proceso Software". .YO 1:4 TICA 11" 171. Derr. K. (1995) ApP(\'ing OMT. SIGS Books. Prentice Hall. New York. 1995. Deustch. M.S .. y Willis. R. R. (1988) Sofnrare Quality Engineering. A Total Technical Managemelll Approach. Chapter 3. Prentice Hall. Englewoods Cliffs. NJ. DoC (2003). US Departmelll of Commerce. fTArchitecture Capability .i/atllrit)' Model rACif.ifJ. The Open Group: Burlington ivlA. 2003: Disponible en: hnD:'w\\'\\'.oDenerouD.on!!archilectureto~af8-docarclYp4I11aturityfmat.htm (ultimo acceso en Agosto de 2006). DRA.E (2006). DicciOllario de la Real Academia de la Lengua. Dumke. R. Y Winkler. A. (1997) "CAME Tools for an Efficient Software Maintenance". Proc. of the Euromicro'97. March 17-19. Berlin.pp. 74-81. Dunaway. D. K. CJIM S.il -Based Appraisal/or Intemal Process fmprmement. (CBA IPf) Lead Assessor's Guide (CMUSEl-96-HB-003r Software Engineering Institute. Carnegie Mellon UniYersity. Pinsburgh. 1996. Dunaway. D. Y Masters. S. (200 I). Cif.illi1 -Based Appraisalfor IlIIemal Process fmpra\'cmelll (CBA IPI). Version
\,'
RA-?vL~
BIBLIOGR.~FiA Y REFERENCIAS
369
Dybil. T.. (2003) "Factors of software process improvement success in small and large organizations: an empirical FOlllldafions of Sojilrare study in the scandinavian context"". European Sofnmre Engineering COI!(erencl! (ESEC! Engineering (SIGSOFT FSE). pp.148-157. Earthy. 1. (19971. "Usability ?v!uturity \!odel: Processes". IXLSED5.I ..f(p). EC /.YLSE (IE :COI6J.iinol de/iI'erabie
(l'ersion 0.]). London. Lloyd's Register.
Ebert. C. De?vlan. 1. y Schelenz. F. (2003) "e-R&D: Effectively \'!unaging and using R&D Knowledge". En c.. Handzic. \1. (eds.) Berlin. Springer.
Elmasri R.y S. Navuthe. Dafabase Sysfellls. Second Ed.. Addison-Wesley. \!assachussets. 1997. Emmerich. W" Kroha. P. y Schafer. W. (1993 I. "Object-Oriented Database Management Systems for Construction of CASE Environments'. Proceedings offile Conference on Database and Expert 5,\~"ellls Applications (DE.'tA '93). Engels. G. Y Groenewegen. L (19941. "SOCCA: Specitlcations of coordinated and cooperative activities'. En
Sojilrare Process .I/ode//ing and Technology (pp. 71-102). Research Studies Press.
English. LP. (1999) flllpro\'ing Data Warehouse and Business Injimnation QualifY: Methodsfor reducing costs and increasing Pr(jiits. Willey & Sons. 1999. Eppler.?vl. 1. (2003) :llanaging b!fimnarion Qualizl'. Springer. Gennany. 2003. Eppler. ?vI. 1. y Muezenmayer. P. (2002). "Measuring Infonnation Quality in the Web Context: A Survey of State-ofthe-Art Instruments and an Application \!ethodoloi,'Y". Proceedings of fhe Eigth fl1lernarionol COl!!i:rellce on In/orlllalion QualifY (/CIQ :COO]). pp.l87-196. Eppler, M. 1. y Wittig. D. (2000) "Conceptualizing Infommtion Quality: A review of Information Quality Frameworks !Tom the last ten years." Proceedings orthe ]000 Conference on fn:jimllation Qllalil). Pp 83-96. Eppler. M.1. (2001a). "Increasing Infommtion Quality through Knowledge Ne\ada. Eppler. M.1. (2001b). "The Concept ofinfonnation Quality: An Interdisciplinary haluation of recent Infonl1ation Quality Frame\\Toks". Smdies in Communication Sciences I (]OOf). pp. 167-182. Erickson. D. Y Steadman. A. (1995) "Metrics Tools: Effort and Schedule". CrossTalk: The Journal of'Defense Engineering. \Iarch of 1995. Disponible en: httD:' \\Ww.stsc.hill.a[mil crosstalk fmmes.aso'!uri= 1995 03.\!etrics.aso (ultimo acceso en Agosto de 2006). Estublier. 1.. Cunin. P.Y. y Be1khatir, N. (1998). "Architectures for Process Support System Interoperability".
Prooceedings (jf'the Filih fntemationol Conterence on the S()!ilmre Process. Lisle. IL June 1998.
~lanagement
Systems Services".
Proceedings of the ]001 fntemillional 5,\'InposiulII onl!!!ormotion 5,ntem and Engineering (/S'01) June 25-28. Las Vegas.
So/ilmre
Estublier. 1.. Villalobos. 1.. .~nh-Tuyet LE. Sanlaville. S.. Vega. G. (2003 I. "An Approach and Framework for Extensible Process Support System". 9th European Workshop on Sojilmre Process Technolog}' (EHSPT;. pp. 46-61. hans ?vl.\\" .. Y?vlarciniak, J.1. (1987) SojiH'are QualifY Assurance and Managemelll. Capitulo; 7 y 8. John Willey & Sons. New York. Fagan. M. (19761 Design and Code Inspections 15.3. pp. 182-211.
to
Feigenbaum. A.V. (1961). Toral QualifY Control: Engineering and ,\lonagcmelll. McGraw-HilL Nueva York.
370
RA.-MA
Feldt. P. (2000). Requiremel1ls merrics based 011 use cases. Master's thesis. Department of Communication Systems. Lund Institute of Technology. Lund University. Box 118. S-221 00 Lund. Sweden. Fenton N. (1994). "Software Measurement: A Necessary Scientific Basis". Engineering. 20(3). pp. 199-206. IEEE Trallsacriolls On Sofhmre
Fenton N. y Neil. M. (2000). "Software Metrics: a Roadmap". Furure of Software Engineering". ed. Anthony Finkelstein. ACM. pp.359-370. Fenton N. y Pfleeger S. (1997). Sofl1mre !,.,ferrics: A Rigorous Approach. 2" edicion. Londres. Chapman & Hall. Fenton. N. (200 I) "Viewpoint Article: Conducting and Presenting Empirical Software Engineering". Empirical Sofhmre Engineering 6(3): pp. 195-200 (2001). Fernstrom. c.. (1993) "ProcessWEA VER: Adding process support to UNL'C. in 2nd Inrematiollal Conference an rhe SO/Mare Process. IEEE CS Press, Berlin. Gertnany, February 1993. pp. 12-26. Finkelstein. A., Kramer. 1 y Nuseibeh, B. (1994). Sofhmre Process Modeling and Technology. Research Studies Press. Firth, c.. y Wang. R. (1993). "Closing the Data Quality Gap: Using ISO 9000 to study Data Quality". En http:! web.miLeduitdqmipapers93 ipass I '93-03.html (Ultimo acceso en Agosto de 2006) Florac. W. A. Y Carleton, A.D. (2002) "Using Statistical Process Control to Measure Software Process". In Fundamel1lal Concepfsjor fhe SO/Mare QualifY Engineer. Taz Daughtrey Edi-tor. American Society for Quality. Pp.133-144. 2002. Florae. W. (1992). Sojhmre Qualil}' Measuremel1l: A Fran/elrorkjor COllilling Problems alld Defecrs (CMUlSE!92-TR-22). Software Engineering Institute. Carnegie Mellon University. Pittsburgh. Pa .. September 1992. Florae. W. A. Y Carleton. A. D. (1999). Measuring rhe Sojhmre Process. S{atisrical Process Comrolfor So/hmre Process Impro\emel1l. Addison Wesley. FOreS)1he G.B. Hedlund 1.. Snook S., Horvath lA . Williams W.M .. Bullis R.c.. Dennis M" y Sternberg R. (1998). "Construct validation of tacit Knowledge for military Leadership". Anllllal JIeefing 0/ fhe American EdllCClrion Research Associatioll. 1998. Frailey. D. (1991) "Detlning a corporate-wide software process". Proceedings of the Firsr Imernational Con/i?J'ence on the Sofl1mre Process. pp.113-12!. Franch. X. Y Ribci. 1 M. (1999). "Using UML for Modelling the Static Part of a Software Process". Proceedings (jf U.\fL '99. Forth Collins (USA). LNCS. \'01. 1713. Springer-Verlag. Franch. X. Y Ribci. 1 M. (2003). "Promenade: Un Lenguaje para la Modelizacicin de Procesos Software". f7!J JOl'l1adas de Ingenieria del S(jfl1mre y Bases de Datos (JISBD'03). Alicante (Espana). pp. 231-240. Franch. X .. Y Canallo. J.P. (2003) "Using Quality Models in Software Package Selection". IEEE S(jfl1mre 20(1): pp.34-4!. Fuggeta. A. "Software Process: A roadmap". Thejiilure of'Sofhmre Engineering. ed. A. Finkelstein ACvL Press. Pp.27-34.2000 Fuggetta. A .. Godart. C. y Jahnke. 1 (1999): "Architectural Views and Alternatives". En Sofhmre Process: Principles. Methodology and Technology. LNCS 1500. Springer-Verlag. pp. 95-116.
~RA-MA
BIBLIOGRAFLA. Y REFERENCIAS
371
Fuggetta. A .. Lavazza. L.. ?vlorasca. S.. Cinti. S .. Oldano. G. y Orazi. E. (1998). "Applying GQM in an Industrial Software Factory". A CM TrclIlsactions on Softwore Engineering and Methodology. VoL 7. No.4. Octubre 1998. pp. 411-448. Galin. D.. (2004) Sojilmre Quality Assurance: ./i"om theory to implementation. Pearson Addisson Wesley. Harlow (UK). Garcia. F. (2004) Flv/ESP: Marco de Trabajo lmegrado para el Modelado), la Medicion de los Procesos SofMare. Tesis DoctoraL Universidad de Castilla-La Mancha. Garcia. F.. Bertoa. tvl.. Calero. c.. Vallecillo. A .. Ruiz. F.. Piattini.lvl.. y Genero. M. (2005). "Towards a Consistent Tern1inology for Software iVleasurement"'.lnformation and Sojilmre Tecllllolog). Gardner. S.R. (1998). "Building the data warehouse". Communications of the Ael/. voL 41. N" 9. September. pp. 52-60. Gartner (2002). Architeclllre Maturity Assesment Emluation. Gartner. Inc. Ganin. D. (1984). Hhat is Qualit)':' Sloan Management Review. Otono. Gendron. M. y DOnofrio. M.J. (2002). "Formulation of a Decision Support Model Using Quality Attributes". Proceedings of the Set'emh Co/?terence on b!{ol1nation Quality ICIQ2003. pp. 305-316. Genero M" Pianini M. y Calero M. (Eds.) (2004) .\/etrics/or Sojilrare Conceptual Models. Imperial College Press. UK. 2004. Gertz. M .. Tamer.:V1.. Saake. G .. y Sanler. K.. (2004) "Report on the Dagstuhl Seminar 'Data Quality on the web' ". Proceedings o{SIGJIOD record. 1'01.33. .vo.I. March 2004. Geno G. (2002). "Risk ivlanagement Supporting Quality ivlanagement of Software Acquisition Projects". En Daughtrey. T. (Ed.) Fundamental Concepts/or the So/hmre Qualit)' Engineer. (Pp.25-38). Milwaukee. WI: American Society for Quality. Giannocaro. A.. Shanks. G. y Darke. P. (1999). "Stakeholder Perceptions of Data Quality in a Data Warehouse Environment"'. Proceedings ofthe Telllh Australasian Conference on h?/ormatioll Systems .. Pp. 344-355. Gilb. T. y Graham D. (1993). So/hrare Inspection. London: Addison-Wesley Longman. Giles. A. Y Barney. D. (1995). "?-.letrics Tools: Software Cost Estimation". CrossTalk: The Journal o/Defense SO{llrare Engineering. May 1995. httn:' www.stsc.hiILaf.mil crosstalk rrames.asn?uri=199505\letrics.aso (ultimo acceso en Agosto de 2006). Giles. A. Y Daich. G. (1995). "Metrics Tools'. Crosstalk. The Journal o{De{ense SofMare Engineering. Febrero. Goethert. W. (1992). Sojhmre E.{!ort '\/easuremelll: A Framellwk/or Coullling Stat}: HOllrs (ClfU/SEJ-92-TR-2I I. Software Engineering Institute. Carnegie ivlellon Uniyersity. Pittsburgh. Pa .. September 1992. Goethert. \Y'. Y Siyiy.1. (2004). "Applications of the Indicador Template for Measurement and Analysis ". Technical .\'ole CJfLiSEI-2004- T.\'-024. Software Engineering Institute. Septiembre 2004. Goldenson. D.. Jarzombek. J. y Rout. T. (2003). "Measurement and Analysis in Capability Maturity Model Integration Models and Software Process Impro\ement". CROSSTALK The Journal of Defense So/hrare Engineering (Software Engineering Technology). pp. 20-24. Grady. R.B .. YCasswelL D.L. (1987) So./hmre .I/etries: Establishing a Company- Wide Program. Prentice Hall.
37~
Grembn. J. Y Myers. C. (1997). "The IDEAL Model: .-\ Practical Guide for Improvement". Bridge, Software Engineering Institute (SE/) publicC/tion.issue three. Grimmer. 1.J .. y Hinrichs. H. (2001 J. "'-\ methodological approach to data quality management supported by data mining". Proceedings O/i/II! Sixfh International conterenc!.! on ili/ormatioll Quality. pp. 217-232. Gnmdy.l y Hoskins. 1 (1998). "Serendipity: integrated environment support for process modelling. enactment and work coordination". Autoll/ated Software Engillel'l'illg: An Imernational Journal: Special Issue 0/1 Pracess Technology. 5( I). pp.27-60. Halstead. 1'v!. H.. (1977) Elell/ellls orSojnmre Science. Else\'ier North Holland. The Netherlands. Hare!. D. y Politi. 1vl. (1998). J/odel/ing Reactiw Systems ll'ith Statecharts. The Statemate approach. McGraw-HilI. Hareton. L. y Terence. Y. (2001)....-\ Process Framework for Small Projects". Sojnmre Process Improl'elllelll alld
Practice 6. pp. 67-83.
Harrison R.. Counsell S. y. Nithi. R. (1999). "An Evaluation of the MOOD set of Object-Oriented Software Metrics". IEEE TrallSactions on SOrMare Engineering. 24(6). pp. 491-496. Heimbigner. D.. Sunon. S. y Osterweil. L. (1990). "Managing Change in Process-Centered Emironments".
Proceedings ';th ACMSIGSOFT SymposiulII Sojnrare Dewlopmelll EI1\irol1l11eIll5. ACM Software Engineering Notes. vol. J5. December 1990.
Helfert. "I.. y von yIaur. E. (2002) ".-\ Strategy for Ylanaging Data Quality in data WarehoLlse Systems".
Proceedings o(the Sixth IlIIemational COI!(erence on In/orlllation Quality. pp. 62-76.
Henderson-Sellers B. (1996). Object-oriellled ,I/etrics-.I/easures o(complexity_ Prentice-Hall. Upper Saddle River. Nueva Jersey. Henderson-Sellers B.. Zowghi D.. Klemola T. y Parasuram S. (2002). "Sizing use cases: How to create a standard metrical approach". 8th O~iect-Oriel1led lnjormarion Systems 2002. Lecture Notes in Computer Science. 2425. SpringerVerlag. pp. 409--421. Henderson-Sellers. B. y Gonzalez-Perez. C. (2004) ....-\ Comparison of four process metamodels and the creation of a new generic standard". In/ormatioll and Sojilmre Teclmolog). 47 (2005). pp. 49-65. Henry. S. y Kafura. S. (J 981). "Software Structure "jetrics Based on Infom1ation Flow". IEEE TramCictions on
So/ill'ore Engineering. 7(5). pp. 510-518.
Hinrichs. H. (2000) "CLIQ- Inteligent Data Quality Management". Proceedillgs q(thejourtiI IEEE illlernational
Baltic Workshop on darabases and b?/ormation System. 2000
Hinrichs. H. yAden. T. (200 J ) ".-\n ISO 900 J:2000 compliant quality management System for Data Integration in Data Warehouse System". Proceedings ql'the International Workshop 011 Design and .I/anogemelll o( Data Warehouse (D.lfDJI"2001) Interlaken. Switzerland. June 4. 200J. Host. Regnel!. B. y \\llOlin. C. (2000). "Using Sllldents as Subjects - A comparative Sllldy of Sllldents & Professionals in Lead-Time Impact Assessment". Proceedings of the ';th Conference on Empirical Assessment & Emluation ill So/nl'are Engilleering (LISE!. Keele University. UK. pp. 20 J-214. Hoxmaier. lA. (200 J) Dimensions of Database Quality. In Dl!l'eloping Qualit)' Complex Database Sy,tems: Practices. Techniques. and Technologies. Editor Shirley Becker. Idea Group Publishing. 200 I. Hoyer. R.W. y Hoyer. B.B.Y. (2001). H7wt is QualifY. Quality Progress. Julio.
"I..
BIBLIOGRAFiA Y REFERENCIAS
373
Huang. K. T.. Lee. Y .. y Wang. R. (19991. Qualil)' In/ormation and KnO\r/edge. Prentice Hall. Upper Saddle RiYer. Hutf. K. (19961. "Software process modelling". En Sofllmre Process. John Wiley & Sons. Humphrey. W. (1989) Managing the so/im".e process. Addison \Yes!cy. Reading ylass. 1989.
Humphrey. W. (1997)./mroductionto Personal Sojhrare Process. Addison Wesley. Humphrey. W. (2000a). Introduction to Team Sofm'are Process. Addison Wesley. Humphrey. W. (2000b). The Team Sojhmre Process (TSP). TECHYICIL REPORT CllUiSEJ-1000-TR-023 ESCTR-1000-013. Software Engineering Institute. Noyember 2000. Humprhey. W. (2002) "The Software Standard Profile". In Fundamental Concepts for the Sqlhmre Quality Engineer. Taz Daughtrey Editor. American Society for Quality. Pp. 3-16. 2002. Hunter. R.B. YTIJayer. R.H. (200 I) (eds.). Sqlhmre Process ImprolWlent. IEEE Computer Society. Hyde. A. (1992). 'The Proyerbs of Total Quality Management: Recharting the Path to Quality Improyement in the Public Sector". Public Productil"ity and J!cmagement Redell'. 16(1). pp. 25-37. Ibbs. CW. y Kwak. Y.H. (2000). "Assessing Project Management e.1aturity. ProieCl Jfanagement Journal 31. pp.32-43. IEEE (19861 IEEE STD 1011-1986 IEEE Standardjor Sqlhmre I'ailication (Ind I'alidation Plans. IEEE (1987) IEEE STD 1058.1-1987 IEEE Siandardjor Sofllmre ProjeCl .\fanagement Plal15. IEEE (1988) IEEE-982.1-1988. Standard Dictionary qfMeasures to Proc/uce Reliable Sqlhmre. IEEE (1992) IEEE STD 1061-1992. IEEE Swndard jar a Sqlhmre Qualil)' Metrics Methodology. IEEE (1995). IEEE Standardfor Del'eloping Sofilrare Life Cycle Processes. IEEE Sid 1074-1995. Institute of Electrical and Electronics Engineers. EEUU. IEEE (19971 IEEE ELi 11107.1-1997. !I/duslly Implementation ollSO/IEC 11107:1995 - Standardjor b!/ormation Teeill/olog;' - Sojilmre Life Cycle Processes - Life Cycle Data Institute of Electrical and Electronics EngineersiElectronic Industries Alliance. 0 I-!vlay- I 997. IEEE (1998a) IEEE STD 830-1998. IEEE Siandard guide (LSi) IEEE Complller Sociel).
10
IEEE (I 998b I. IEEE Std 1061- I 998 IEEE Siandarel/or a Sofhmre Qllality Metric, Methodolog;. IEEE (1998cl. InduSII)' Implemelllotion of IlIIernational Standard ISO/IEC 12107: 1995 (ISO;fEC 11107) Standard/or In/orlllation Technology-Software life cycle processes. IEEEiEIA 12207.0-1996. Institute of Electrical and Electronics Engineers. EEUU. IEEE (l998d). IlIdllsll)' IlIIplemelllalion qlllllernational Standard ISO/IEC 11107: 1995 (!SO;lEC 11107) Standard for li!/imnation Technology-Software life cycle processes. Life cycle data. IEEE"EIA 12207.1-1997. Institute of Electrical and Electronics Engineers. EEUC.
374
RA-NlA
IEEE (l998e). Indllstry Implemel1lation of International Standard ISO/IEC 12207: 1995 (lSO/IEC 12]07; Standard for In[ormation Technolog;~Sofnrare We cycle processes. Implementation considerations. IEEEfEIA 12207.2-1997. Institute of Electrical and Electronics Engineers. EEUU. IEEE (2004). Gliide to the Sojilrare Engineering Body ofKnowledge. IEEE Computer Society. Ishikawa, K. (1985). H71C1t is Total QlIality COlllrol?: The Japanese
\l'(e\".
ISO (1993). ISO/IEC International Standard ISO 17M. International VocablllCll)' of Basic and General Terms in Metrolog;. International Organization for Standarization. Ginebra, Suiza. ISO (1995a). ISO/IEC 12]07. Intemational Standard In[ol7nation technolog;' - Sofnrare life-cycle processes. International Organization for Standarization. Ginebra, Suiza. ISO (1995b). ISO/lEe. Guideline for eraillation and selection of CASE tools. International Standard ISO/lEC IS 14102, International Organization for Standarization. Ginebra, Suiza. ISO (1998). ISO IEC 15504 TR2: 1998. part 2: A reference model jar processes and process capability. International Organization for Standarization. Ginebra. Suiza. ISO (1999). ISO ]./598: /999-2001. 1n[017l1C1tion Tecllllolog;' - Sofnrare Prodllct Em/llation - Parts 1-6. International Organization for Standarization. Ginebra, Suiza. ISO (2000a). lINe-EN ISO 9000:2000 Sistemas de gestion de la calidad Flindamelllos y vocablilario. AENOR. Madrid. ISO (2000b). LiNE-EN ISO 900 I :2000 Sistemas de gestion de 10 calidad ReqllisilOs. A..ENOR. Madrid. ISO (2000c). LiNE-EN ISO 9004:2000 Sistemas de gestion de la calidad. Directrices para la lI1ejora del desempeJio. AENOR. Madrid ISO (2001) Sofnrare Prodllct Em/liation-QlIality Characteristics and Gliidelinesjar their Use. ISO/lEC Standard 9126. International Organization for Standarization. Ginebra. Suiza. ISO (2002a). 1S0/IEC 12]07. International Standard lnjarmation technolog;' - Sofia'are life-cycle processes. Amendment 1. International Organization for Standarization. Ginebra, Suiza. ISO (2002b).IS0/IEC 15939: Sofnrare Engineering - Sofnrare Measllremelll Process. International Organization for Standarization. Ginebra, Suiza. ISO (2003). ISO/IEC 15288: b?formation Technolog;' - L!re Cycle Management -System L!fe Cycle Processes. International Organization for Standarization. Ginebra, Suiza. ISO (2004a). ISO/IEC 1550-1-1:2003. h?/armation tecllllolog;' vocablila/). International Standards Organization. Ginebra. Suiza.
Process assessmelll -
ISO (2004b). ISO/IEC 1550-1-2:2003. h!formation technolog;~ Process assessmelll assessmelll. International Standards Organization. Ginebra. Suiza. ISO (2004c). ISO/IEC 1550-1-3:2003. b!/al7l1C1tion teclmolog;' - Process assessment pe/fo17ning an assessment. International Standards Organization. Ginebra, Suiza.
Part 2: Pe/fonning an
Part 3: Gliidance on
ISO (2004d). ISO/fEC 15504-4:2003. Information technolog;' - Process assessmelll- Part 4: Guidance on use for process impro\'ement and process capability detenninalioll. International Standards Organization, Ginebra, Suiza.
RA,-ivLA
BlBLIOGRMiA Y REFERENCIAS
375
ISO (200-le), b?/Cmnatian Tecilllologt, - Sofnrare Life Cycle Processes, AlIImendmelll 2, International Organization for Standarization, Ginebra. Suiza, ISO (200-lf), ISO/IEC 90003:2004, SofMare engineering-Guidelines for the application of ISO 9001:2000 to computer software, International Organization for Standarization, Ginebra. Suiza, ISO (2005a). lS0/lEC 25000 Sofnrare and system engineering Sofnrare product Quality Requiremellls and El'aluation (SQuaRE) -Guide to SQuaRE. International Organization for Standarization. Ginebra. Suiza. ISO (2005b). lS0/lEC 25001 Sofnrare and system engineering - Sofnrare product Quality Requirements and Emluation (SQuaRE)-Emluatioll planning and managemelll. International Organization for Standarization. Ginebra. Suiza. ISO (2005e). lS0/lEC 25010 Sojhrare and system engineering - SofMare product Quality Requiremellls and Emluation (SQuaRE) Quali(l' model and guide. International Organization for Standarization. Ginebra. Suiza. ISO (2005d). lS0/lEC 25020 S(jfnrare and system engineering - S(jfhmre product Quality Requirements and Emlua/ion (SQuaRE) - Measurement re.terence model and guide, International Organization for Standarization. Ginebra. Suiza. ISO (2005e). ISO/IEC 25021 S(jlhrare and system engineering Sofnrare product Quality Requiremellls and Emluation (SQuaRE) - Measurement primitil'es. International Organization for Standarization, Ginebra. Suiza. ISO (2005f), ISO/IEC 25022 S(jfnmre engineering - Sofnrare product Quali(l' Requirements and Emluation (SQuaRE) Measurement of internal quality. International Organization for Standarization. Ginebra. Suiza, ISO (2005g). ISOlfEC 25023 S(jfnrare and system engineering - Sofnrare product Quality RequiremellIs and Emlua/ion (SQuaRE) -Measuremelll ofextemal quality, International Organization for Standarization, Ginebra. Suiza. ISO (2005h), ISO/IEC 2502-1 S(jfnmre and system engineering S(jfnmre product Quality Requirements and Emluation (SQuaRE)-MeasuremellI (jf quality in use. International Organization for Standarization, Ginebra. Suiza, ISO (2005i), ISO/IE C 25030 S(jfhrare and system engineering - S(j(i\\'are product Quality Requirements and Emluation (SQuaRE)-Qualit)' requirements. International Organization for Standarization. Ginebra. Suiza. ISO (2005j), ISO/IEC 25040 Software and system engineering Sofnrare product Quality Requiremellls and Emluation (SQuaRE) -Quality emluation Ol'eITieH' and guide, International Organization for Standarization. Ginebra. Suiza, ISO (2005k), ISO/IEC 25041 S(jfnmre and system engineering - Sofnrare product QualiZl' Requirements and Emluation (SQuaRE)-Emluationmodules. International Organization for Standarization. Ginebra, Suiza. ISO (20051). ISO/IEC 25042 Sojhmre and system engineering~ S(j(ilmre product Quality Requirements and Emluation (SQuaRE)-Processfor del'elopers, International Organization for Standarization, Ginebra. Suiza, ISO (2005rn). ISO/IEC 250-13 S(jfnrare and system engineering Sojhrare product Quality Requirements and Emlua/ion (SQuaRE) -Process for acquirers. International Organization for Standarization. Ginebra. Suiza, ISO (2005n), ISO/IEC 250-1-1 Sofnmre and system engineering - Sofnrare product Quality Requirements and Emluation (SQuaRE)-Processjor emluators. International Organization for Standarization. Ginebra, Suiza. ISO (2006). ISO/IEC J5504-5:2003. lnformationtecilllologt, - Process assessment- Part 5: An exemplar Process Assessmelll Model. International Standards Organization. Ginebra, Suiza, Jacobson. I.. Booeh. G. y Rurnbaugh.l (1999), EI Proceso Unificado de Desarrollo de S(jfhrare. Addison Wesley.
376
'~~~-MA
Jarke. M" Y Vassiliou. Y. (1997). "Data Warehouse Quality: A rcview ofthc DWQ Project". Proceedings o/Second Con(erence on In/iJl7nation Quality. :Vlassachusetls Institute of Technology. Cambridge. Jarke. M" Lenzerini. M" Yassiliou. Y. y Vassiliadis. P. (2000). Fundamel1lals o.(Data Warehollses. Ed. Springer. Jin y Embury (2001). "Non-Intrusive Assessment of Organizational Data Quality". Proceedings of the Sixth
Il1Iernational Con(erence on In/ormation Quality. pp. 398-411.
Jones. C. (2003). "Making Measurement Work". Crosstalk The Journal 0.( Defense Sojhmre Engineering. pp. 1519. Jorgensen. M. y Ylolokken-Ostvold. K. (2006). "How large are software costs overruns" A review of the 1994 CHAOS report". 14017nation and So.fhmre Technology 48. pp. 297-301. Junkermann. G" Peuschel. B" Schafer. W. y Walt: S. (1994). "MERLIN: Supporting Cooperation in Software Development Through a Knowledge-Based Environment". En A. finkelstein. 1. Kramer. and B. Nuseibeh. editors. Sofllmre Process Modelling and Technology. Research Studies Press Limited (1. Wiley). Juran. J.M. (ed.) (1988).Jurans Quality Control Handbook. 4" ed. Nueva York. McGraw-Hill. Juran. J.!\1. (ed.) (1995). A History o.OIanagingfor Quality. ASQC Quality Press. Milwaukee. Juristo. N. y ~'Ioreno. A. CWO I ). Basics o/So.jhmre Engineering Erperimel1lation. Kluwer Academic Publishers. Kahn. B.. Strong. D.. y \Vang. R. (2002) "Information Quality Benchmarks: Product and Sen'ice Perfonnance".
Communications ofthe AC\fApril 200:Ylol, -15,
.vo. -I.
Kaiser. G" Barghouti. N. y Sokols!"y. M. (I (90). "Preliminary Experience with Process Modeling in the Man'e! Software Development Kernel". Proceeding o.(the 23 d Il1Iemational Con(erence on System Sciences. Kan. S.H. (2003). Metrics and Models in Sojhmre Quality Engineering. 2" ed. Boston. Addison-Wesley. Katayama. T. (1989) "A Hierarchical and functional Software Process Description and its Enaction". Proceedings o(
the 11th II1Iel71ationai COI!ference 0/1 Sojhmre Engineering.
Kellner. M. (19911. "Software process modelling support for management planning and control". Proceedings o.f'the
First International Conjerence on Sojr.mre Process. pp. 8-28.
Kellner.
~l
y Hansen. G. (1989). "Software process modelling ..-'\ case study". Proceedings of'the 22nd .inHal
Kesh. S.. (1995). "Evaluating the Quality of Entity Relationship Models". lnjiJl7nation and SO(lH'are Technology. Vol. 37. No.12. Pp. 681-689. Kim. Woo y Choi. B" (2003) "Towards Quantitying Data Quality Costs". Journal of Object Technology. Vol. 2. noA" Pp. 69-76.July-August 2003. Kingsbury. 1. y Dawood. :V1. (1995) "Metrics Tools: Quality - Defect Tracking". CrossTalk: The Journal o.fDefense Sofllrare Engineering. Nlay 1995. http: \\Ww.stsc.hill.afmikrosstalki frames,asp'?uri= I 995:05,;\ktrics.as 0 (ultimo acceso en Agosto de 2006). Kiszkumo. E.. y Yankclcyich. D. (2001) "Data Testing". ASSE 200 I Proceedings of'SADJO. pp. 125-134.
RA-MA
BIBLIOGRAFiA Y REFERENCIAS
377
Kitchenham B. y Linkman, SJ. (1990), "Design Metrics in Practice", Inf Soft. Technology, Vol. 32, No.4, pp.304310,1990. Kitchenham B., Pflegger S. y Fenton N. (1995). "Towards a Framework for Software Measurement Validation". IEEE Transactions o/So/tware Engineering, 21(12), pp. 929-943. Kitchenham B., YLinkman, SJ. (1990), "Design Metrics in Practice", Inf Soft. Technology, Vol. 32, No.4, pp.304310,1990. Kitchenham, B. y Pfleeger, S.L. (1996). "Software Quality: The Elusive Target". IEEE Software 20(1), enero/febrero,12-21. Kitchenham, B., (2004) Procedures for Peifonning Systematic Revie....s. Keele University, Technical Report TRlSE0401. Kitchenham, B., Pfleeger, S., Pickard, L., Jones, P., Hoaglin, D., EI Emam, K. y Rosenberg, J. (2002). "Preliminary Guidelines for Empirical Research in Software Engineering". IEEE Transactions 011 Software Engineering, Vol. 28 N8, pp. 721-734. Kitchenham, B., y Pfleeger, S. (2002) "Principles of Survey Research. Part 5: PopUlations and Samples". ACM SIGSOFT. Software Engineering Notes, vol. 27, n. 5, pp. 17-20,2002. Kitchenham, B., y Pfleeger, S. (2002a) "Principles of Survey Research. Part 3: Constructing a Survey Instrument". ACM SIGSOFT. Software Engineering Notes, vol. 27, n. 2, pp. 20-24, 2002. Kitchenham, B., y Pfleeger, S. (2002b) "PrinCIples of Survey Research. Part 2: Designing a Survey". AC\1 SIGSOFT. So/tlmre Engineering Notes, vol. 27, n. I, pp. 18-20,2002. Kitchenham, B., y Pfleeger, S. (2002c) "Principles of Survey Research. Part 4: Questionnaire Evaluation". AC\I SIGSOFT. Soft....are Engineering Notes, vol. 27, n. 3, pp. 20-23, 2002. Kitchenham, B., y Pfleeger, S. (2003) "Principles of Survey Research. Part 6: Data Analysis". ACM SIGSOFT. So/tlmre Engineering Notes, vol. 28, n. 2, pp. 24-27,2003. Kosar, D. (1999). "Developing a Framework to Manage Data Quality in Healthcare". Proceedings o/the Fourth Conference on In/onnation Quality ICIQ' 1999, pp. 58-76. Krause, M. (1994). "Software: A maturity model for automated software testing". Afedical Devices and Diagnostic Indusfl), Maga::ine, 16(12), pp. 103-108. Kreutzberg, 1. (2000). "Has quality management any effect on qrtality?-Analysis of quality management by a nonlinear model". Proceedings o/the 2000 Conference on In/onnation Quality, pp. 242-259. Krogstie, 1., Lindland, O. y Sindre, G. (1995). "Towards a Deeper Understanding of Quality in Requirements Engineering". CAiSE 1995, Jyvash:yla, Finland, pp. 82-95. Kruchten, P. (1999) The Rational Unified Process. An Infloduction. Addison-Wesley, 2nd edition. Kuvaja, P., Simila, 1., Kizanik, L., Bicego, A., Koch, G. y Saukkonen, S. (1994). So/tlmre Process Assessment and Improvement: The BOOTSTRAP Approach, Blacbvell Business Publishers, Oxford, UK. Lavazza, L., (2000) "Providing Automated Support for the GQM Measurement Process". IEEE SO/Mare 17(3). Lawton, G. (2001) "Knowledge Management: Ready for Prime Time?". IEEE Computer 34. FebnlalJ' (2001), pp. 12-14.
378
RA-MA
Lee. J. Grunninger. M. Jin. Y. Malone. T. Tate. A. y Yost. G. (1998). "The PIF Process Interchange Format and Framework Version LT. The Knowledge Engineering Review. 13(1). pp. 91-120. Lee. Y.W . Strong. 0 .. Kahn. 8.. Y Wang. R. (2002) "AIMQ: A methodology for Information Quality Assessment". Infol7nation & Management . 40. 2 (2002). pp. 133-146. Leonowich-Graharn. P. Y Willshire, MJ. (2003). "A data quality framework for small business". Proceedings of the
Eigth International COf!ference onI'?fol7nation Quality (ICIQ-03), pp. 239-244.
Ley Organica 151l999. Ley Orgclllica de Proteccion de Datos Personales. BOE num. 298, December 14.1999. Li, W. Y Henry S.(1993). "Object-Oriented metrics that predict maintainability". Jou17lal ofSystems and Software". vol. 23 n 2, pp. 111-122. Li, H. F. y Cheng, W. K. (1987) "An Empirical Study of Software Metrics", IEEE Trans. on Software Engineering, Vol. 13, No.6, pp. 679-708,1987. Lindland 0., Sindre G., y Solvberg A. (1994). "Understanding Quality in Conceptual Modelling". IEEE Software, vol. II. n 2. pp. 42-49. Lindstrom. B. (2004). A Sofl1mre JHeasurement Case Study Using GQJI;f. Master's Thesis. Department of Communication Systems. Lund University. LUTEDX(TETS-5522)/I-72/(2004) & local 27. Lind\all. M.. Y Rus, I. (2003) "Lessons Learned from Building Experience Factories for Software Organizations". Wissensmanagemelll 2003: pp. 59-63. Liu. L. y Chi. L N. (2002) "Evolutional Data Quality: a theory-specific \iew". Proceedings of the Seventh IllIernarionai COI!terence on b!formation Qualit) (ICIQ-02), pp. 292-304. Lorenz M. y Kidd J. (1994). Object-Oriented Sofl1mre Metrics: A Practical Guide. Prentice Hall, Englewood Cliffs, Nueva Jersey. Losavio. F.. Chirinos, L. Le\y, N. y Ramdane-Cherif. A. (2003). "Quality Characteristics for Software Architecture". in Joul71al of Object Technology, vol. 2. no. 2. March-April 2003. pp. 133-150. http://www.jOLfi11iisslles/issue 2003 03/article" (ultimo acceso en Agosto de 2006). Loshin 0 .. (200]) EllIe/prises Knowledge Managemelll: The Data Qualit) Approach. Morgan Kauffman, San Francisco (California). Lon. C. y Rombach. H. (1996). "Repeatable Software Engineering Experiments for Comparing Defect-Detection techniques". Jou/7/al o.fEmpirical So.thmre Engineering. 1(3). pp. 244-277. Luftman. J.N. (2000) "Assessing Business-IT Alignment Maturity". Communication o.fAIS 4 (14). M&G (2004). "Mayer & Bunge Informatica LTDA". Panorama de la Industria del So.thmre en Larinoallllirica. BrasiL 2004. 1v!acDonelL S.G. MJ. Shepperd y PJ. Sallis. "Metrics for Database Systems: All Empirical Study", Proc. Fourth International Sofilmre Marics Symposium- Metrics '97, Albuquerque, IEEE Computer Society, pp. 99-107, 1997. Madnick. S.. Wang, R.. Xian. X. (2004). "The design and Implementation of a Corporate Householding Knowledgement Processor to Improve Data Quality". JOllmal o.fJfanagemelll Infol7lJation Systems. 20(3), pp. 41-69.
BffiLIOGRAFiA Y REFERENCLA,.S
379
Maier R. (200 I). "Organizational concepts and measures for the evaluation of data modelling". Chapter I. in
Developing quality camplex databases systems: practices. techniques and technologies. Ed. Becker S.. Idea Group
Publishing. Pp. 1-27. ;VLA..? (2003). CAF - El Marco Comlln de Emluacioll. Ministerio de Administraciones PlIblicas. Direccion General de Inspeccion. Simplificacion y Calidad de los Servicios. Madrid. 2003. Marchesi. M. (1998). "OOA Metrics for the Unified Modeling Language". 2nd Euromicro COI?ference on SojMare
Mailllenallce alld Reengineering. 1998. pp. 67-73.
Martin. L. (1993). "Total Quality Management in the Public Sector". National Producth'ity Rel'ieH'. 10. 195-213. McAndrews. D. (2001). The Team Sojnmre Process (TSPS): An Oven'iew and Preliminary Results oj Using Disciplined Practices. Technical Report CMUiSEI-2000-TR-015 ESC-TR-2000-015. Software Engineering Institute. McBride. T. Henderson-Sellers. B. y Zowghi. D. (2004). "Project Management Capability Levels: An Empirical Study'. Proc. Ojthe 11th Asia-Pacific SojMare Engineering Coi?ference (APSEC04), IEEE Computer Society. McCabe. 1. (1976). "A Sofuvare Complexity Measure". IEEE Transactions on Sojnmre Engineering. 2. pp. 308320. McCall. 1. A.. Richards. P.K. y Walters GF (1977) FactO/'S ill sojnmre quality. Vols I. II, III: US Rome Air Development Center Reports NTIS ADiA-049 014.015. 055. :VlcDermid.1. (1991). Sojnmre Engineering Reference Book. Butterworth Heinemann. McFeeley. B.. (1996) IDEAL: A User's Guidejor Sojnmre Process Improl'elnelll. tech. report CMU/SEI-96-HB001. Sofuvare Eng. Inst.. 1996. McGarry. L Card. D. Jones. C. Layman. B.. Clark. E.. Dean. 1. y Hall. F. (2002). Practical Sojtware AJeasuremelll.
Objecth'e b?formationjor Decision Makers. Addison-Wesley.
McGowan. C y Bohner. S. (1993). "Model based process assessments". Proceedings ojthe 15th JllIemational
Conference on Sojt.mre Engineering. pp. 202-211.
McLeod. R. (1990). Managemelll InjomlCltion Systems. New Yark, j\,'Y: McMillan Publishing. Mecella M.. Scannapieco, M.. Virgilito, A.. Baldoni. R.. Catarci, T.. Batini. C (2002). "Managing Data Quality in Cooperative Information Systems". En Meersman, R. y Tari, Z. (Eds) CooPIIDOAIODBASE 2002. LYCS 2519. pp 486-502. ivlekelburg, D. (2005). "Sustaining Best Practices: How Rt!al-World Software Organizations Improve Quality Processes". Sojnmre Quality Projessional7 (3), pp. 4-13. Meredith. D.C (2002). "Managing with Metrics: Theory into Practice". In Fundamental Conceptsjor the Sofnmre Quality Engineer. Taz Daughtrey Editor. American Society for Quality. 2002. pp. 145-154. Miranda D.. Genero M. y Piattini ;VI. (2003). "Empirical validation of metrics for UlvIL statechart diagrams". 5th
International Coi?ference on Ellie/prise Information Systems !lCEIS 03), 1. 2003. pp. 87-95.
~vlissier, P. Y Batini. C (2002). DLl.A: Descriptioll a/the Gelleral Rejerellce Scellariojor All b?/imllatioll Quali~' Management Frallll?\\'orkjor Cooperath'e IlljomlCltion Systems. AIetodologie e Stl1lmenti per la Qualita dei Dati in Sistemi Illjormati~'i Cooperathi. Programma di Ricerca Cofinanziato dal MIUR. http://www.dis.uniromal.it!-dg. (Ultimo acceso
Agosto de 2006).
380
RA-MA
Montangero, C. YAmbriola, V. (1994). "Oikos: Consuucting process-centered" SDEs. En A. Finkelstein, 1. Kramer, and B. Nuseibeh, editors. Software Process Modelling and Technology. Research Studies Press Limited (1. Wiley). Moody D. (1998). "Metrics For Evaluating the Quality of Entity Relationship Models". Proceedings of the Seventeenth Intel7lational COl!ference on ConceplZlal Modelling (ER '98), Singapore, noviembre 16-19, pp. 213-225. Moody D. Y Shanks G. (1994) "What Makes A Good Data Model? EValuating The Quality of Entity Relationships Models". Proceedings of the 13th IllIemational COliference on Canceplllal Modelling (ER '94), Manchester, Inglaterra, December 14-17, 1994, pp. 94-111. Moody D., Shanks G., y Darke P. (1998). "Improving the Quality of Entity Relationship Models-Experience in Research and Practice". Proceedings of the Seventeenth Intel7lational COliference 011 Conceptual Modelling (ER '98), Singapore, pp. 255-276. Moraga, M.A.., Calero, c., Paz, 1., Diaz, O. y Piattini, M. (2005). "A Reusability model for Portlets". En Workshop on Web biformation Systems Quality. Web biformation Systems Engineering - WISE 2005 Workshops, pp. 21-32, ISBN: 3540-30018-X, LCNS 3807. New York (USA) 20-22 November 2005. Morasca, S. (2001). "Software Measurement". En Handbook ofSoftl\'Ore Engineering and Knowledge Engineering. Vol. 1: Fundamentals, pp. 239-276. Motha, W. M. y Viktor H.L. (2000). "Expanding Organizational Excellence: The Interplay between Data Quality and Organizational Performance". Intemational COliference on Systems, (vbel71etics and !lifonnatics (SCI'2001), Orlando: USA, July 22-25, Volume XI, pp. 60-65. Mouradian, G., (2002) The quality Remlution A History of the Quality movement. University Press of America. Boston. Mullins, C. (2002). "The capability maturity model from a data perspective". The Data Administration Newsletter. Robert Seiner: Pittsburgh PA, 2002; 3. Disponible en: http://www.tdan.comli003fe04.htm(ultimoaccesoAgostode2006). NASCIO (2003). "National Association of State Chief Financial Officers". Enterprise Architecture Maturity Model, Version 1.3. National Association of State Chief Financial Officers: LeXington KY; 16. Dispouible en: https:!!www.nascio.orllinotlssues/EAlEA.MM.pdf(ultimo acceso en Agosto de 2006). Niessink, F. (2002). "Sofrware Requirements: Functional & Non-functional Software Requirements". Disponible en: http://\Vww.cs.uu.nl!wiki/SwaiWebHome (Ultimo acceso Agosto de 2006). Niessink. F., Clerc, V., van Vliet, H. (2002). The IT Service Capability Maturity lvfodel. Release L2+ 3-0.3 Draft. Software Engineering Research Centre: Utrecht. The Netherlands. Disponible en http://www.itservicecmm.onvdoc!itscmm123-0.3.pdf(ultimo acceso en Agosto de 2006). N1ST (2002). Planning Report 02-3.The Economic Impacts of Inadequate In/rastl1lcture for SofMare Testing. National Institute of Standards & Technology. Program Office Strategic Planning and Economic Analysis Group. Okes, D. (2002) "Organize your quality tool belt". Quality Progress. Vol. 35, No.7, July 2002, pp. 25-29. Oktaba, H. e Ibargtiengoitia, G. (2002). "Calidad en Procesos de Software: Ejemplo de TSP'. En Calidad en el
desan'ollo y mantenimiento del sofMare, Piattini, M.. Garcia, F. (eds), pp. 251-271.
Ok1aba, H.. Esquivel, c., Su Ramos. A .. Martinez, A., Quintanilla, G., Ruvalcaba, M., Lopez, F., Rivera. M.. Orozco, M., Fermlndez, Y., Flores, M. (2003). "Modelo de Procesos para la Industria de Software MoProSoft, Version l.l Mayo 2003". Dispouible en: http://www.lania.m'(}biblioteca/manualesimoprosofiiV%201.!%20 DocumentoBase .pdf (Ultimo acceso en Agosto de 2006).
RA-MA
BIBLIOGRAFiA Y REFERENCIAS
381
Oliver, G" D'Ambra, 1., y Van Toonn, C (2003), "Evaluating an Approach to Sharing Software Engineering Knowledge to Facilitate Learning", En Jl,fanaging Software Engineering Knowlegde, Aurum, A" Jeffery, K, Wohlin, C, Handzic, M. (eds.) Berlin, Springer. Olsen. K. y Staal, P. (1998). ''Testing Maturity Model". EPIC meeting on Software Improvement and Quality
Testing.
Olson, 1. E. (2003). Data Quality: the accuracy dimension. San Francisco, CA: Morgan Kaufmann Publishers. OMS (2004). OMB Entelprise Architecture Assessment Executive Office of the President.
I'
OMG. (2001). OAIG Unified .Modeling Language Specification; \'ersion 1.4. Object Management Group. OMG. (2002). Software Process Engineering Metamodel Specification; adopted specification. Object Management Group. Onnan, L, Storey. V.. y Wang. R. (1994) "Systems Approaches to Improving Data Quality". Agosto 1994. http://web.mit.eduitdgm\vww!papers/94/94-05.htrnl (lJltimo acceso en Agosto de 2006) Orr. K. (1998) "Data Quality and System Theory". Communication ofthe ACM, 41 (2). pp. 66-71. Osterweil, L (1987). "Software Processes Are Software Too". Proceedings of the 9th Il1Iel71ational Conference on Software Engineering. pp. 2-13. Monterey, CA. March 1987. IEEE Computer Press. ParasuranJan, A., Zeitharnl. VA. y Berry, LL (1988): "SERVQUAL: A Multiple-item Scale for Measuring Consumers Perceptions of Service Quality". Joul7lal ofRetailing, mi. 64. (Spring), pp. 12-40. Park. R. (1992). Sojhmre Si::e Measurement: A Framework for Counting Source Statemel1ls (CMU/SEI-92-TR-20). Software Engineering Institute, Carnegie Mellon University. Pittsburgh. Pa., September 1992. Park, R., Goethert. W .. Florac, W. (1996). Goal-Drh'ell Software lvfeasuremel1l - A Guidebook. Handbook CMU/SEI-96-HB-002. Software Engineering Institute. Agosto 1996. Paton, M. y Diaz. O. (1999) "Active Database Management Systems". ACM Computing SUlTeys. Vol. 31, No.1. pp. 63-103, 1999. Paulk- M .. C Weber, B. Curtis. y Chrissis. M. The Capabili(\' Maturity Model Guidelinejor Improt'ing the sojilmre Process. Addison-Wesley. Reading. Mass. 1995 Pease. A (1998). Core Plan Representation. version 4. Penedo. M. H. y Shu. C (1991). "Acquiring experiences with the modelling and implementation of the project lifecycle process: the PMDB work". So/hmre Engineering Joumal. 6(5), pp. 259-274. Perry, D.. Porte. A. y Votta. L (2000). Empirical Studies ofSofnmre Engineering: A Roadmap. Fwure oj'Sojhmre Engineering. Ed. Anthony Finkelstein. ACM. pp, 345-355. Pfleeger. S. L. (1997), "Assessing Software Measurement". IEEE S()fnmre. March!ApriL pp, 25-16. Pfleeger. S .. y Kitchenham. B. (200 I) "Principles of Survey Research. Part I: Turning Lemons into Lemonade", ..leH SIGSOFT. S()ft\mre Engineering Notes. 1'01, 26, n. 6. pp, 16-18.2001. Pfleeger, S.L. (200 I). Software Engineering Theory and Practice. 2' cd. Prentice-HalL
382
RA-MA
Philips. M. (2001). CMMI 1.1 Ow"iew. NASA Software Engineering Conference: Carnegie Mellon. Software Engineering Institute. Piattini. M.. Calero. e., Genero. M. (2002) In{ol7nation and Database Qualit)'. Boston. Kluwer Academic Publishers. Piattini. M.. Calero, e., y Genero, M. (2001) "Table Oriented Metrics for Relational Databases", SO/l1mre Quality
Joul71al, Vol. 9, pp. 79-97,2001.
In/ormaticas de Gestion
Piattini, M.. Calvo Manzano, J., Cervera, J. y Fernandez, L. (2003). AllIilisis y Diseiio de Aplicaciones Una perspectim de Ingenieria del Software. 2' edici6n actualizada y ampliada. Madrid, Ra-Ma.
Pipino. L., Lee, Y., y Wang, R. (2002) "Data Quality Assessment". Communications a/the A CAl. April2002Noi. 45. No.4. PMI (2004) A Guide to the Project Management Body 0/ Knowledge. 2004 edition. Project Management Institute Communications, USA. http://www.pmi.ore.!infoidefault.asp (ultimo acceso en Agosto de 2006). Poe Is, G. y Dedene, G. (2000). "Distance-based software measurement: necessary and sufficient properties for software measures". In{ol7nation and SO/l1mre Technology, 42( I), pp. 35-46. Pohl, K. (1994). 'The three dimensions of requirements engineering: a framework and its applications". Inrol7nation
systems, 19(3), pp. 243-258, April 1994.
Pressman. R. (2002). Ingenieria del Sojiware: un el!foqul! practico. McGraw-Hill, Madrid. Putnam. L. H. y Myers, W. (1992). Measures Jar E>:cellence - Reliable soJllmre on time. \I'ithin budget, Prentice Hall. New Jersey. 1991. Raffo. D. y Kellner. M. (1999). "ivlodelling software processes quantitatively and e\'aluating the perfonnance of process alternati\es". Elements a/Software Process Assessment and Impro\ement. CS Press. IEEE. Raffoul W. (2002). The Outsourcing Maturit), Model. Meta Group: Stamford CT. Disponible en: htm:iitechupdate.zdnet.comlechupdatc!stories/[nain ,ooolC 14 I79%2C2 85 I971-2%2COO.html#lc\cl I (ultimo acceso en Agosto de 2006). Ramanathan. 1. y Sarkar. S. (1988). "Providing customized assistance for software lifecycle approaches". IEEE
Transactions on SO/Mare Engineering, 14(6), pp. 749-757.
Ramasubbu, N., Krihsnan, M.S. y Kompalli. P. (2005). "Leveraging Global Resources: A Process Maturity Framework for Managing Distributed Development". IEEE Sojhmre. '80-86. Redman, T.e. (1996) Data Qualify/or the Information Age. Artech House Publishers, Boston. 1996. Redman. T.e. (2001) Data Quality: The Field Guide. Digital Press. 2001. Redondo. L. (2004). "Estado del Arte en la ISOI1EC 15504". Calidad. Septiembre 2004, pp. 22-26. Reingruber M. y Gregory W. (1994). The Data Modelling Handbook. A best-practice approach to building quality
data models. Jolm Wiley & Sons, Inc.
Reynoso L., Genero M. y Piattini M. (2004) "Measuring OCL Expressions: An Approach Based on Cognitive Techniques". Chapter 5 en l'vfetrics/or SO/Mare COl1ceptual Models (Eds. Genero M., Piattini ivl. and Calero e.). Imperial College Press, UK. 2004.
g;'RA-MA
BIBLIOGRAFiA Y REFERENCIAS
383
Robson. C. (1993). Reallmrld research: A resourcefor social sciemists and practitioners-researchers. Blacbvell. Rombach. H. D. (1990). "Design measurement: some lessons leamed".IEEE SofMare. 7(3). pp. 17-25. Saeki. M. (2003) "Embedding Metrics into Infonnation Systems Development Methods: An Application of Method Engineering Technique". C~iSE 2003: Pp. 374-389 Satpathy, M. y Harrison. R. (2002). "A Typed Generic Process Model for Product Focused Process Improvement". Proceedings of the 26th Annual Intemational Computer SofMare and Applications COIiference (COMPSAC'02). Oxford (England), pp. 379-384. Saunders, M.N., Lewis, P.. y Thornhill. A. (2002) Research Methods for Business Students. 3rd Edition. PrenticeHall. Scheer, A. W. (1998). ARlS- Business Process FramL7Jmrks. Springer. Schekkennan, J. (2003) "Extended Enterprise Architecture Maturity Model (E2AMM)". Institute for Public Enterprise Architecture Development. http: www.entemrise-architecture.info (ultimo acceso Agosto de 2006) Schlenoff. c., Knutilla, A. y Ray. S. (1998). "A Robust Process Ontology for Manufacturing Systems Integration". Proceedings ofthe 2nd International COI!ference on Engineering Design andAutomation. Maui (Hawaii), pp. 7-14. Sclmeider. K. l' von Hunnius, J-P. (2003). "Effective Experience Repositories for Software Engineering". Proc. the 25'" Int. C04 on Software Engineering (/CSE03). IEEE Computer Society.
0/
Schramm. W. (1971). Notes on case studies o/instl1lctionalmedia projects (December ed.). Washington DC: The Academy for Educational Development. Schuene R .. l' Rotthowe T. (1998). "The Guidelines of Modeling-An Approach to Enhance the Quality in Infonnation "'10dels". Proceedings of the Sel'enteenth International COI!ference on ConceplZlal Modelling (ER '98). Singapore. pp. 240-254. SEI (1995). The Capabiliz\' Maturiz\' Model: Guidelinesjor bnpro\'ing the So/nmre Process. Software Engineering Institute. SEI (2001). Standard C\JAfI Appraisal :\Iethodfor Process Improvement (SCAMPI). r ersionI.I: Method De./inition Document. CMU!SEI-2001-HB-00I. SEI (2002) Capability /'v/alZlrity Model IT Imegration (CMMP!). Version 1.1 CMAflSM .lor Systems Engineering. Sojhmre Engineering. Integrated Product cnd Process Del'elopment and Supplier Sourcing (CvlMI-SE SW;lPPDSS. VI. I ) http://\\"\\w.sei.cl11u.edU!publications'documents'02.reDort.'i'02trOO".html(ultimo acceso Agosto 1006). SEI (2004). Capability MalZlriz\' Model Integration (e\/MI). rersion 1.1 CMAfI (CMMI-SDSHilPPD;SS. n.I) Staged Representation CA/UISEl-2002-TR-012 ESC-TR-2002-012. En http://\\"\\w.sei.cmu.eduioublications!documents02.reports02trOO". html (Ultimo acceso en Agosto de 2006). Serrano. M. Calero. c..y Pianini. M. (2002) "Validating Metrics for Data Warehouses'. Proceedings (jlthe Conference on Empirical Assessment in Sofnrare Engineering (EASE 2002). Keele, Reino Unido, pp. 8-10. abril 2002. Serrano, M .. Calero. c.. Trujillo. J.C" Lujan-Mora. S. l' Piattini, M. (2004) "Empirical Validation of Metrics for Conceptual Models of Data Warehouses". Lecture Notes in Computer Science 3084. Person, A. y Stima. 1. (eds.). pp. 506520. 16'" Intemational COIiference on Admnced In/ormation Systems Engineering (C.4iSE 2004). Riga (Letonia) Agosto 1004.
384
RA-MA
Shankaranarayanan, G" Wang, R., y Ziad, M. (2000) "IP-MAP: Representing the Manufacture of an Information Product". Proceedings olthe 2000 Conference 011 Inlol7nation Quality, pp. 1-16. Shankaranarayanan, G., Ziad, M" y Wang, R.Y. (2003). "Managing Data Quality in Dynamic Decision Environments: An Information Product Approach". Joumal olDatabase Mallagement, 14(4), pp. 14-32. Shanks, G. y Darke, P. (1997) "Quality in Conceptual Modelling: Linking Theory and Practice", Proc. Pacific Asia Conlerence ollinlol7nation Systems, Brisbane, Queensland University of Technology, (May), pp. 805-814. Sheard, S. y Lake, 1. (1998). Systems Ellgineering Standards alld Models Compared Soltware Productivity Consortium, NFP, 1998. En http://www.software.or!lipub!extemalpapetS i 9804-2.html (ultimo acceso en Agosto de 2006). Shewhart W.A. (193 I). Economic Control olQuality olManulactured Product. D. Van Nostrand Company, Nueva York. Shull, F., Carver, 1., Travassos, G., Maldonado, 1.. Conradi, R. y Basili, V. (2003). "Replicated Studies: Building a Body of Knowledge about Software Reading Techniques". In N. Juristo y A. Moreno (Eds.), Lecture Notes on Empirical Soll1mre Ellgineering (pp. 39-84). Singapore. World Scientific. Siau, K. (1999) "Information Modeling and Method Engineering: A Psychological Perspective". Joumal Database Mallagement. 10(4): pp. 44-50 (1999). Silverman. 1., (1999) "Quality Today: Recognizing the Critical Shift", Quality Progress, February. pp. 53-60. Simao, R.P.S., Y Belchior. A.D (2003) "Quality Characteristics for Software Components: Hierarchy and Quality Guides". Compollelll-Based Soll1mre Quality 2003: pp. 184-206. Smith, c., y Heights, A. (2002) "Defect Prevention: The road less Traveled". In Fundamental Concepts lor the Soll1mre Quality Engineer. Taz Daughtrey Editor. American Society for Quality. Sneed. H.M. y Foshag, O. (1998) "Measuring Legacy Database Structures". Proc 01 The Europeall Soll1mre Afeasurement Conference, FESM~ 98, Antwerp, May 6-8. Coombes. Van Huysduyllen and Peeters (Eds.), pp.1 99-21 I. 1998. Sommerville, I. y Ransom, 1. (2005). "An Empirical Study of Industrial Requirements Engineering Process Assessment and Improvement". A CM Transactiolls 011 Soll1mre Ellgieering alld Methodology 14 (I). pp. 85-117. Standards Australia (2004). Standard Metamodellor Sofl1mre Del"eiopment Methodologies, drafi spec[ticatioll AS4651-2004 fhttu:iiwww.standards.orf1.aul. ultimo acceso en Agosto de 2006) Standish (2001) Extreme CHAOS D. Standish Group 1l1ternational. http:!;\\ww.standishf1roup.com!samole research;PDFpaf1es /extreme cl1aos.pdf(ultimo acceso en Abril de 2006) En
Strong, D.M., Lee. Y.W .. y Wang. R.Y. (I 997a) "Data quality in context". Communication of the ACM, 40 (5), pp. 103-110. Strong. D.M .. Lee, Y.W" y Wang. R.Y. (I 997b) "Ten potholes in the road to information quality". IEEE Computer August 1997, pp. 38-46. Stylianou, A.C. YKumar. R. 1. (2000) "An integrative framework for IS quality management". ComlllUllications of ACM 43(9): pp. 99-104 (2000) Swenson, K.D. (1993) "A Visual Language to Describe Collaborative Work". Proceedings of the 1993 IEEE Symposium on Visual Languages, IEEE CS Press, 1993, pp. 298-303.
RA-MA
BIBLlOGRAFiA Y REFERENCIAS
385
Taguchi G., y Wu. Y. (1979) Imroduction to Qtfline Quality COlllrol. Negaya, Japan: Central Japan Quality Control Association. Tague, N.R. (2005).
Taylor, R., Selby, R., Young. M., Belz. F., Clark, L., Wileden, J. OsterweiL L., Wolf, L. (1988). "Foundations of the Arcadia Environment Architecture". Proceedings of the Third ACM SIGSOFTISIGPLAN Symphosium on SofMare
Development Ent"ironments.
Tayntor, c.B.. (2003) Six Sigma Software Developmelll. Auerbach Publications. Boca Raton (Florida). TickIT Project Office (1992). Guide to Sofnmre Quality Managemelll System Constl1lction and Certification using EN2900J, Issue 2.0, UK Department ofTrade and Industry and BCS. Tiwana, A. (2000) The Knowledge Managemelll Toolkit. practical techniques for building a Ia/owledge management system, Prentice Hall PTR. Topaloglu. N. (1998). Assessment ofReuse Maturity. Computer Engineering Department Ege University, BornovaIzmir, Turkey. Trillium Team (1994). Alodelfor the Telecom Product Developmelll and Support Process Capability. Bell Canada. Tumey, A.. Grove, B. y McNairm G. (2004). "SPICE For Small Organisations". SofMare Process Improvement and
Practice, 9, pp. 23-31.
Van der Raadt, B., Hoorn, 1.F. y Van Vliet H. (2005). "Alignment and Maturity are siblings in architecture assessment'". Caise 2005, Pastor, O. y Falcao e Cunha, J. (eds.), LNCS 3520, 357-371. van Solingen. R. y Berghout E. (1999). The Goal/Question/Metric MetllOd, A Practical Guide for Quality ImprOl'elnelll ofsofnmre Del-e!opment. London. England: McGraw-Hill International (UK). ISBN 007 709553 7,1999. van Solingen. R. y Berghout, E. (2001). "Integrating Goal-Oriented Measurement in Industrial Software Engineering: Industrial Experiences with and Additions to the Goal!Question/Metric Method (GQM),. P;'oceedings Sel'elllh Intel7lational sofnmre Metrics Symposium (METRlCs'OI). pp. 246-258. Vilar. 1.. (2006) Estadistica 2: resllmenes Idep!mate f estadistica2!estadistica_2.htrn (ultimo acceso Agosto 2006).
de los capitulos.
http://\\'\\w.udc.es
Visaggio. C. A. (2005): Empiricall'alidation of Pair Programming. Tesis Doctoral. Departamento de Ingenieria. Universidad del Sannio. Benevento (ltalia). Vizcaino. A. Y Piattini. M. (eds.) (2006). Gestion del conocimielllO en ingenieria del Soft....are. Universidad de Castilla- La Mancha. Cuenca. Wand, Y. y Wang, R. (1996) "Anchoring Data Quality Dimensions in Ontological Foundations". Communications
ofthe AC.\J (CACM). 39. (II). Pp. 86-95
Wang. R., (1998) "A product perspective on data quality management". Communications of the AC.H 1'014112) pp. 58-65. February 1998. Wang. R.. Kon. H.. y Madnick S. (1993) "Data Quality Requirements Analisys and Modeling" . .Vinth International
Conference ofData Engineering. Viena. Austria, pp. 670 - 6i7.
Wang. R.. Storey: V., y Firth. c.. (1995). "A framework for analysis of data quality Reseach'. IEEE Transaction on Kno\l'ledge and Data Engineering 7(4). pp 623-642.
386
RA-tvlA
Wang. R., Ziad, M., y Lee, Y. W. (200 I) Data quality. Kluwer Academic Publishers. Massachussets (USA). Wang, Y. YKing, G. (2000). Software Engineering Processes: Principles andApplicatiollS. CRC Press. Warboys, B. (1990). "The IPSE 2.5 project: process modeling as the basis for a support environment". Proceedings ofthe First Intemational Conference on System Development Environments and Factories. Weber, K. y Rocha, A. (2004). "Modelo de Referencia para Melhoria de Processo de Software: uma abordagem brasileira". Proceedings ofthe QUA TIC 2004, pp. 73-78. Westcott, R.I. (2001) Lel'els o.fMaturity Matrix. Old Saybrook, CI: R.I. Westcott and Associates. Weyuker E. (1988). "Evaluating software complexity measures". IEEE Transactions Software Eng., Vol. 14 No.9, pp. 1357-1365. WiMC Workflow Management Coalition (1999) Tel7ninology & GlOSSOlY. Document number WFMC-TC-IOII, Version 3.0: Disponible en: http://www.aiim.om:iwfi11cistandards!docs.htm (ultimo acceso en Abril de 2006). Whitmire, S. (1997). Object Oriented Design Measurement. John Wiley & Sons. Inc. Widdows C y Duijnhouwer, F. (2003). Open Source Maturity Model. Cap Gemini Ernst & Young: New York NY. Disponible en: http://www.capQ:emini.com!servicestechnolo!!Viooensource (ultimo acceso en Agosto de 2006). Wilkin. C y Castleman, I. (2003) "Development of an Instrument to Evaluate the Quality of Delivered Infoffi1ation Systems". Proceedings o.fthe 36th Hmmii International Conference on System Sciences. Williams. L. Y Kessler B (2000). "The effects of 'Pair-Pressure' and 'Pair-Learning' ". Proceedings Conference on So.fMare Engineering Education and Training (CSEE&T 2000). IEEE Computer Society Press: Los Alamitos CA. pp.59-{j5 Windley P. (2002). eGo\"el?1mel1l Maturity. State of Utah: Salt Lake City UI. 2002: Disponible en acceso en Agosto de 2006). Wohlin. C. Runeson. P., Host. M.. Ohlson. M.. Regnell. B. y Wessh';n. A. (2000). Erperimel1lation in SofMare
Engineering: An Introduction. Kluwer Academic Publishers.
htto:
!www.windlev.comdocs/eGo\"Crnment~o20e.!aturitv.pdf(ultim0
Xu. H. (2003). "Would organization size matter for data quality". Proceedings of the Eighth Conference on Infol7nation Quality ICIQ '2003. pp. 365-379. Yin. R.K. (2003). Case Stuc(l' Research: Design and .\/ethods. TIlOusand Oaks. Sage Publications. Yu. E. S. K. Y Mylopoulos. 1. (1994). "Understanding 'why' in software process modelling. analysis. and design". Proceedings ofthe 16 th Il1lernafional COI!ference 011 Software Engineering. pp. 1-10. Zarnli, K. Y Lee. P. (2001). "Iaxonomy of Process Modeling Languages". ACSiIEEE International Conference on (.jfCCs.~ 2001). Beirut (Lebanon). 26-29 June 2001. pp. -135-437. Zelkowitz M. y D. Wallace. "Experimental models for validating technology". IEEE Computer. 31. 5. 1998.23-31. Zubrow, D. (1998). "Measurement With a Focus: Goal-Driven Software Measurement?". CrossTalk 1](9), Septiembre 1998. pp. 2-1-26.
ZU5~
INDICE ALFABETICO
A
AHvlQ.189 .A.MFE.39 APEL.132 Arquitectura de Sistemas de Infomlaci6n Integrados. 112 ASQ.14.69
D
Definici6n de Calidad 3 Diagrarna de afinidad. 30 Diagrama de controL 23 Diagrama de dispersi6n. 29 Diagrall1a de matriz. 32 Diagrarna de procesos de decisiones. 33 Diagrama de redes de actividad. 33 Diagrama de relaciones. 31 Diagrama de causa-efeclo. 19 Diagrama de lujo. 19 Diagrama de Pareto. 21
B
Benchmarking. 40. 66
c
CAF.66 CALDEA.303 Calidad de datos. 301 Calidad de la informaci6n. 289 Cali dad de los modelos conceptuales. 261 Calidad de los modelos 16gicos. 273 Calidad de producto software. 73 Calidad de Sistemas de Informaci6n. 75 Cali dad en uso. 84 Calidad extema 84 Calidad intema. 84 Casos de estudio. 346 CBA-IP!. 161 Cielo de vida de sistemas. 150 Cielo de vida software. 141 CrvfMI. 154. 181.214 Compelisoft. 191 Complejidad. 148 Control Estadistico del Proceso. 35 Core Plan Representation. 110 Coste de la calidad. 43
E
Eficiencia. 85 EFQM.62 Encuestas. 73. 353 EnlOmos de Ingenieria del Software. 126 EV AMECAL. 308 Experimentos. 332
F
Factoria de experiencia. 326 Farnilias de estudio. 331 Fiabilidad. 86 Formato de intercambio de proceso. 108 Funcionalidad 85
388
RA-MA
G
Gestion de la calidad total, 49 Gestion de la calidad, 12,58, lSI Gestion del conocimieto, 319 Goal Question Indicator Metric (GQ(I)}vf), 223 Goal Question Metric (GQivf), 214 Goal-Driven Software Measurement, 223 Niveles de madurez, 45. 158
p
People-CMA!, 174 Personal Software Process (PSP), 167 Plan de la Calidad, 14 Portabilidad. 88 Practical Sofllmre Management (PSM), 229 Premio Deming, 68 Proceso somvare, 97 Promenade. 114 Puntos funcion, 250
H
Histograma, 28 Hoja de chequeo, 22
I
IDEAL 164 IP-tvIAP, 291 ISO 12207, 142 ISO 14598,84,91 ISO 15288, 142, 154 ISO 15504, 179,236 ISO 15939,234 ISO 19011,53 ISO 25000, 83 ISO 9000,12,50,53 ISO 90003. 156 ISO 9001. 56. 59 ISO 9004. 53 ISO 9126. 83. 91
Q
QFD,38 QIP, 326
R
Registros. 14
s
L
SCAl'v!P!. 186 SCE,161 Seis - Sigma. 67 SERE)\:TI1PITY. 136 SMSDM.121 SPADE. 130 Spearmint. 112 SPEi\1. 116
Lenguqje de especificacion de proceso. 109 Lenguajes de modelado de proceso. 103 Linea de c6ciigo, 241
M
Malcom Baldrige Nacional Quality Award. 68 Mantenibi1idad. 87 Manual de la Ca1idad. 14 Medicion del proceso, 237 Medicion del producto. 240 ivledicion del proyecto, 238 Medicion del Software. 199 Metamodelo de proceso software. 106 Metricas. 209. 236 Modelo de madurez de la capacidad (ClvEv!). 158 Modelo de McCalL 81 Modelo de proceso unificado. 110 MoProSoft. 190 MRmps, 188
T
TDQM.298 Team Sofnmre Process ITSP). 171 TQdM,292
u
Usabilidad. 86
w
WorAjlow Management Coalition. III