You are on page 1of 6

Calidad y Certificacin de Software

1.1 Introduccin a la Calidad del software

06/Junio/2011

1.1.1 Qu es la calidad en el desarrollo de software? El trmino calidad , como tal, tiene una definicin ambigua. No obstante, las normas y modelos internacionales ofrecen varias acepciones, basadas sobre todo en la adaptabilidad de uso (mediante la calidad de diseo y la calidad de conformidad del usuario) Segn estas . normas, comnmente aceptadas, la calidad debe ser mesurable y predecible, y debe incorporar varios factores bsicos: Ausencia de defectos Satisfaccin del usuario Conformidad con los requerimientos. Segn la norma ISO 9126, sobre tecnologas de la Informacin y calidad de los productos software, las caractersticas de la calidad son:

Otras empresas o entidades definen sus propios criterios de calidad, como el caso de IBM (funcionalidad, usabilidad, rendimiento, confiabilidad, instalacin, mantenibilidad, documentacin/informacin, servicio y totalidad ), o de Hewlett-Packard (funcionalidad, usabilidad, confiabilidad, rendimiento, servicio). 1.1.2 Qu es un modelo de mejora? Es un patrn a seguir, mediante el cual una empresa, intenta modificar sus procesos para ser ms eficaces y reducir costes. Mediante el seguimiento de este patrn, que en la mayor parte de los casos conlleva reorganizaciones internas, se persigue implcitamente la mejora en la calidad de los productos desarrollados. La Ingeniera del Software abarca un amplio espectro de disciplinas, entre las cuales se encuentra el dominio en la aplicacin de modelos y estndares de calidad. Estos permiten que las empresas puedan implementar la calidad en una doble vertiente: a nivel proceso y a nivel producto. Cada modelo o estndar puede, pues, tener una aplicacin concreta o limitada orientada a lograr mejorar determinados objetivos.

Claudia A. Estrada Guerra

Pgina 1

Calidad y Certificacin de Software

06/Junio/2011

La mejora orientada hacia los procesos de mi organizacin El proceso software objeto de mejora podra definirse como el conjunto de actividades, mtodos, prcticas y transformaciones que la gente usa para desarrollar y mantener software y los productos de trabajo asociados, como planes de proyecto, diseo de documentos, cdigo, pruebas y manuales de usuario (segn el Software Engineering Institute). La definicin de ISO, por otra parte, define este proceso como el proceso o conjunto de procesos usados por una organizacin o proyecto, para planificar, gestionar, ejecutar, monitorizar, controlar y mejorar sus actividades software relacionadas . El objetivo final de un modelo de procesos es lograr una representacin clara de los procesos reales de desarrollo que se implementan en una organizacin, con la cual poder trabajar para planificar las mejoras a incluir en cada uno de esos procesos. Si la representacin conceptual del proceso es buena, los anlisis de estos procesos sobre el papel permitirn a la empresa la posibilidad de automatizarlos, controlar su eficiencia, comprobar las interacciones con otros procesos, y ofrecer a la Direccin una nueva fuente de informacin, como puede ser la informacin actual del estado de cada proceso en cualquier momento, el significado que debe darse a cada uno de los puntos de decisin, etc. La mejora del producto final pasa, segn estos modelos, por la mejora de los procesos que llevan a su creacin. La adopcin del modelo o metodologa adecuados podr realizar esta mejora con una correcta implantacin, dotando implcitamente al producto final de una calidad manifiesta. Entre los modelos o estndares a nivel de proceso se pueden mencionar la familia de normas ISO 9001:2000 (ISO 9003:2004), ISO/IEC 15504, CMMI, TickIT, ISO 20000, Bootstrap, SwTQM (basado en EFQM y CMMI), Moprosoft, etc.

1.2 La certificacin de la mejora


1.2.1 Qu se entiende por certificacin? La certificacin es la accin llevada a cabo por una entidad reconocida como confiable e independiente de las partes interesadas, mediante la que se manifiesta la conformidad de una empresa, producto, proceso, servicio o persona con los requisitos definidos en normas o especificaciones tcnicas. Se debe tener muy en cuenta que no todos los modelos son certificables. Existen modelos que simplemente sirven para realizar evaluaciones conforme a estndares de buenas prcticas; y otros, como CMMI, que requieren de un proceso denominado appraisal (realizado por auditores pertenecientes al SEI) y que evala el nivel de cumplimiento con las normas establecidas en su definicin. Pese a todo, en esta gua aparecer el concepto certificacin para referirse a la consecucin y validacin externa exitosa de un proceso completo de mejora en una organizacin. 1.2.2 Cmo se obtiene una certificacin? Un proceso de certificacin vara segn la situacin inicial de cada organizacin y el modelo elegido para su implementacin.

Claudia A. Estrada Guerra

Pgina 2

Calidad y Certificacin de Software

06/Junio/2011

Normalmente, tras la eleccin del modelo que se estime ms adecuado (para lo que en ocasiones puede contarse con consultores externos especializados), se pone en marc un ha proceso que consta de: Evaluacin de la situacin actual de la organizacin. Comparar la situacin actual con las exigencias del modelo o norma elegida. Diseo de un proyecto de mejora, basado en la comparacin anterior y, por tanto, en la brecha existente frente al modelo o norma, para corregir las debilidades en los procesos software de la organizacin. Realizacin de la evaluacin que conlleva la certificacin segn el modelo o norma elegido.

1.2.4 Por qu debo certificarme? Los motivos fundamentales por los que una empresa debiera certificarse o adoptar al menos un modelo de calidad son los siguientes: Un cambio de inercia de cara a la reduccin de costes a medio-largo plazo, adoptando buenas prcticas de gestin de proyectos y de ciclo de vida del software. La disminucin de las tasas de error, gracias a nuevas prcticas de testing para minimizar los trabajos extra de garanta y mantenimiento. Los requerimientos externos de clientes, o exigencias de la administracin pblica segn qu tipo de desarrollo se desee realizar. El valor aadido proporcionado implcitamente por la propia certificacin, utilizado tanto como marketing, como por ser un elemento diferenciador de cara al exterior y ante la competencia en el sector.

Claudia A. Estrada Guerra

Pgina 3

Calidad y Certificacin de Software

06/Junio/2011

2 QU MODELOS EXISTEN EN EL MERCADO, Y CUL ES EL QUE MS ME CONVIENE?


2.1 Qu modelos existen?
En el mercado de la certificacin, a da de hoy, existen gran cantidad de modelos y normas aplicables a empresas y organizaciones desarrolladoras de software. En los apartados siguientes se muestra una pequea seleccin de modelos y normas considerados como los ms importantes segn la percepcin de los agentes implicados en certificacin en Espaa. 2.1.1 Qu modelos se orientan a la mejora de procesos?

2.2 Qu se recomienda para mi empresa, si...


2.2.1 ...tenemos menos de 10 trabajadores?

Claudia A. Estrada Guerra

Pgina 4

Calidad y Certificacin de Software

06/Junio/2011

Una vez dado el primer paso hacia la certificacin, uno de los principales inconvenientes que se puede encontrar una empresa pequea es la necesidad de que existan roles y perfiles encargados de realizar las tareas que los modelos exigen. El personal debe repartirse estos roles, por lo que en muchos casos, modelos o normas con altas exigencias en este sentido no pueden ser implementados con xito. Tanto ste como otros inconvenientes han quedado reflejados en las distintas experiencias piloto realizadas de cara a la implantacin de modelos importantes y muy reconocidos, como CMMI, en microempresas. Los resultados de estas experiencias piloto son una serie de modelos e iniciativas, respaldados por varias entidades de prestigio a nivel espaol e internacional, que ofrecen modelos orientados exclusivamente a este tipo de empresas: El modelo ITMark ha sido diseado por ESI (European Software Institute), entidad sin nimo de lucro radicada en Espaa. Este modelo se ha definido con la PYME y la microempresa como objetivo fundamental, preparando un esquema de certificacin basado en CMMI. No se ha reducido su alcance para poder ser aplicado ms fcilmente; por el contrario, se aplica de forma muy concreta, pero estableciendo unos requisitos que se pueden interpretar nicamente desde las caractersticas especiales de las PYMEs. El modelo MoProsoft parte de la base de ISO/IEC 15504:2003 para definir un modelo orientado a PYME, evaluable mediante un modelo denominado EvalProSoft. Se ha convertido en la norma mexicana de calidad de software, y es ampliamente implementado en Latinoamrica. El grupo WG24 de ISO lo toma como referencia para el desarrollo de su modelo orientado a microempresas. El uso de modelos orientados a la mejora del producto, que ante todo se enfocan sobre las pruebas del software y son de rpida implementacin con respecto a los dems mtodos. El uso de mtodos giles, como XP (eXtreme Programming) o SCRUM, orientados a la satisfaccin y confianza del cliente frente a otros factores.

3 QU PASOS DEBO SEGUIR, Y QU DEBO INVERTIR PARA IMPLANTAR UN MODELO DE CALIDAD?


3.1 Con quin puedo contactar en caso de inters en implementar un modelo?
El primer paso es tomar la decisin de implementar un modelo, por las razones que la organizacin estime conveniente. Una vez dado el primer gran paso, se debe elegir un modelo que se adapte a las necesidades de la organizacin. En este sentido, los consultores externos de empresas de certificacin pueden ser una gran ayuda. El sitio web de ENAC (Entidad Nacional de Acreditacin), el enlace http://www.enac.es/web/enac/busqueda-por-empresa permite la bsqueda de entidades con capacidad de certificar por pases, y en el caso de Espaa se pueden buscar por comunidad autnoma y dentro de cada comunidad autnoma por provincia.

3.2 Qu proceso se debe seguir?


Los pasos necesarios tras la eleccin del modelo son los siguientes:

Claudia A. Estrada Guerra

Pgina 5

Calidad y Certificacin de Software

06/Junio/2011

Evaluacin de la situacin actual de la organizacin: o La organizacin deber analizar sus procesos actuales, la documentacin que acompaa cada paso en cada uno de los procesos, y representar la situacin de una manera comprensible. Comparar la situacin actual con las exigencias del modelo o norma elegida. Diseo de un proyecto de mejora: o Basado en la comparacin anterior, deber ir encaminado a reducir la brecha existente frente al modelo o norma, de forma que puedan ser corregidas las debilidades en los procesos software de la organizacin. o Probablemente, este paso requerir cambios organizativos o redistribucin de roles y perfiles, adems de la probable adquisicin e instalacin de aplicaciones destinadas a mantener y gestionar los proyectos y desarrollos de acuerdo a la metodologa elegida. Realizacin de la evaluacin que conlleva la certificacin segn el modelo o norma elegido: o Ser realizada por personal de la entidad de certificacin elegida por la organizacin, o personal evaluador de otras entidades en el caso de que el modelo elegido lo requiera.

Claudia A. Estrada Guerra

Pgina 6