Está en la página 1de 19

MODELOS Y CONTROL DE CALIDAD

SEMANA 4
Calidad en el proceso de
ingeniería de software

Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni 1
ESTE
utilizarDOCUMENTO
los contenidos paraCONTIENE LAdeSEMANA
fines comerciales 4
ninguna clase.
2
ESTE DOCUMENTO CONTIENE LA SEMANA 4
ÍNDICE

CALIDAD EN EL PROCESO DE INGENIERÍA DE SOFTWARE .................................................................. 5


OBJETIVOS ESPECÍFICOS ........................................................................................................................... 5
INTRODUCCIÓN ...................................................................................................................................... 5
1. ELEMENTOS DEL PROCESO DE SOFTWARE ................................................................................. 6
1.1. ACTIVIDAD .............................................................................................................................. 7
1.2. PRODUCTO ............................................................................................................................. 7
1.3. RECURSO ................................................................................................................................ 7
1.4. ROLES...................................................................................................................................... 7
2. PROCESOS DEL CICLO DE VIDA DEL SOFTWARE DE ACUERDO A LA NORMA ISO/IEC 12207 ..... 8
2.1. PROCESOS PRINCIPALES ......................................................................................................... 8
2.1.1. PROCESO DE ADQUISICIÓN ......................................................................................... 8
2.1.2. PROCESO DE DESARROLLO .......................................................................................... 8
2.2. PROCESOS DE APOYO ........................................................................................................... 10
2.2.1. DOCUMENTACIÓN .................................................................................................... 10
2.2.2. GESTIÓN DE LA CONFIGURACIÓN ............................................................................. 10
2.2.3. ASEGURAMIENTO DE LA CALIDAD ............................................................................ 10
2.2.4. VERIFICACIÓN Y VALIDACIÓN .................................................................................... 10
2.2.5. AUDITORÍA ................................................................................................................ 11
2.2.6. GESTIÓN DE LA RESOLUCIÓN DE PROBLEMAS .......................................................... 11
2.2.7. USABILIDAD ............................................................................................................... 11
2.3. PROCESOS DE LA ORGANIZACIÓN ........................................................................................ 11
2.3.1. PROCESO DE GESTIÓN ............................................................................................... 11
2.3.2. ALINEAMIENTO ORGANIZACIONAL ........................................................................... 11
3. CALIDAD DE LOS REQUERIMIENTOS ......................................................................................... 12
3.1. ATRIBUTOS DE CALIDAD VISIBLE Y NO VISIBLE VÍA EJECUCIÓN ........................................... 13
3.1.1. DISPONIBILIDAD ........................................................................................................ 13
3.1.2. FACILIDAD DE CAMBIOS ............................................................................................ 13
3.1.3. PERFORMANCE .......................................................................................................... 13
3.1.4. SEGURIDAD................................................................................................................ 13
3.1.5. FACILIDAD DE PRUEBAS ............................................................................................ 13

3
ESTE DOCUMENTO CONTIENE LA SEMANA 4
3.1.6. USABILIDAD ............................................................................................................... 14
3.2. ESTRATEGIAS Y TÁCTICAS EN EL TRABAJO CON REQUERIMIENTOS .................................... 14
3.2.1. PLANEAR .................................................................................................................... 14
3.2.2. HACER ........................................................................................................................ 14
3.2.3. REVISAR ..................................................................................................................... 14
3.2.4. CORREGIR .................................................................................................................. 14
4. GESTIÓN DE LOS PROCESOS DE SOFTWARE ............................................................................. 15
4.1. ETAPAS CLAVE DE LA GESTIÓN CON CALIDAD ..................................................................... 15
4.1.1. EJECUCIÓN Y CONTROL DE PROCESO........................................................................ 15
4.1.2. MEDICIÓN Y MEJORA ................................................................................................ 15
COMENTARIO FINAL.......................................................................................................................... 16
REFERENCIAS ..................................................................................................................................... 17

4
ESTE DOCUMENTO CONTIENE LA SEMANA 4
CALIDAD EN EL PROCESO DE INGENIERÍA DE SOFTWARE

OBJETIVOS ESPECÍFICOS
 Conocer y analizar los elementos que componen un proceso de software al interior de
distintos entornos de desarrollo.
 Analizar los procesos del ciclo de vida del software, según ISO/IEC 12207.
 Comprender la calidad de requerimiento de software, analizando sus atributos de calidad
y técnicas de trabajo.
 Comprender y analizar las etapas que involucra una gestión de procesos de software.

INTRODUCCIÓN
La calidad en el proceso de ingeniería de software es un componente esencial en el resultado final
del producto de software que se debe desarrollar. Cumple con establecer métodos,
procedimientos, actividades, productos de trabajo y responsables en cada caso. Para lo cual se
basa en una serie de buenas prácticas y estándares de la ingeniería de software. Es por esta razón
que las organizaciones que desarrollan productos de software deben adherir a esta condición, con
el objeto de asegurar la calidad final del producto que se desarrolla.

5
ESTE DOCUMENTO CONTIENE LA SEMANA 4
1. ELEMENTOS DEL PROCESO DE SOFTWARE
La calidad del producto de software no solamente se garantiza poniendo énfasis en la calidad del
producto. Todas las actividades que conlleva el desarrollo de software, cuando son realizadas en
forma sistemática, sobre la base de un método, aportan y mejoran sustancialmente el resultado
del producto final. La sistematización de las actividades permite en las organizaciones repetirlas,
obteniendo el mismo o mejores resultados que los anteriores. Sin embargo, lo anterior requiere
definir un proceso de desarrollo de software que sea el marco de trabajo aplicado por todos los
equipos de desarrollo, abarcando tanto la calidad del producto, el ciclo de vida de un proyecto de
software y otros aspectos relevantes como por ejemplo tecnología, gestión, personas y otros
recursos que se requieran para el desarrollo de software.

De acuerdo a lo que se ha escrito en la literatura respecto del proceso de desarrollo de software,


se pueden mencionar las siguientes definiciones:

 Conjunto de actividades, métodos, prácticas y transformaciones que la gente usa para


desarrollar y mantener software y los productos de trabajo asociados (planes de proyecto,
diseño de documentos, código, pruebas y manuales de usuario) (SEI, 1995).
 Proceso o conjunto de procesos usados por una organización o proyecto, para planificar,
gestionar, ejecutar, monitorizar, controlar y mejorar sus actividades de software
relacionadas (ISO/IEC 15504)1
 Conjunto coherente de políticas, estructuras organizacionales, tecnologías,
procedimientos y artefactos que son necesarios para concebir, desarrollar, empaquetar y
mantener un producto software (Fuggetta, 2000).
 Conjunto parcialmente ordenado de actividades llevadas a cabo para gestionar, desarrollar
y mantener sistemas software (Acuña, De Antonio, Ferré, Maté y López, 2001).
 El proceso software define cómo se organiza, gestiona, mide, soporta y mejora el
desarrollo, independientemente de las técnicas y métodos usados (Derniame et al., 1999,
citado por Vázquez, 2011).

Al igual que todo proceso, el desarrollo de software debe ser gestionado para definirlo, mejorarlo,
medirlo, ejecutarlo y controlarlo. En su etapa de definición, usualmente las organizaciones siguen
estándares de calidad de procesos y buenas prácticas.

Usualmente los modelos de procesos para el desarrollo de software tienen conceptos y


definiciones comunes. Se revisarán a continuación algunas de ellas:

1
http://goo.gl/7ZEjZd

6
ESTE DOCUMENTO CONTIENE LA SEMANA 4
1.1. ACTIVIDAD

Corresponde a una operación o un paso dentro de un proceso. Como resultado de la ejecución de


una o más actividades dentro de un proceso, se genera o modifica un conjunto de artefactos; las
actividades incorporan e implementan procedimientos, reglas y políticas. Como en toda definición
básica de proceso, la actividad tiene entradas, salidas y, también, resultados intermedios.

1.2. PRODUCTO

Corresponde al resultado de la ejecución de una o varias actividades en el contexto de un proyecto


de desarrollo de software. Es lo que se conoce con el nombre de entregable. En un lenguaje más
formal, se refiere a todo artefacto que es entregado y mantenido en un proyecto de desarrollo de
software.

1.3. RECURSO

En términos generales, un recurso es lo que se requiere para poder ejecutar las acciones que se
enmarcan dentro de una tarea. Este puede ser económico, humano, tecnológico, legal o
administrativo, por nombrar algunos. En el caso del proceso de desarrollo de software, se los
puede clasificar en el ámbito de los recursos humanos, donde se sitúa a los profesionales del área.
Así también se requieren recursos tecnológicos, donde se concentran las herramientas de
desarrollo y bases de datos. Finalmente, se tienen las herramientas de propósito general, donde
están aquellos softwares que apoyan el desarrollo de todas las actividades del proceso, como por
ejemplo planillas de cálculo, editores de texto, herramientas de diagramación o correo, entre
otras.

1.4. ROLES

En las organizaciones se definen una serie de roles, los cuales determinan el carácter de
responsabilidad, ámbito y alcance de las funciones asociadas a un determinado profesional. Lo
mismo ocurre en el proceso de desarrollo de software. Como es una definición formal, deben
estar escritos y bien definidos para su uso en la realización de tareas del proyecto.

7
ESTE DOCUMENTO CONTIENE LA SEMANA 4
2. PROCESOS DEL CICLO DE VIDA DEL SOFTWARE DE ACUERDO A
LA NORMA ISO/IEC 12207
Antes de revisar esta norma, es necesario introducir el concepto de ciclo de vida del software. Este
se refiere a un conjunto de actividades, métodos y procedimientos, los cuales en su conjunto
conforman un proceso que permite iniciar el desarrollo de un sistema de software, su
mantenimiento posterior y, finalmente, el retiro de la operación.

ISO/IEC 122072 define que las actividades a realizar durante el ciclo de vida del software
corresponden a procesos principales, procesos de soporte y procesos generales de la organización.
La norma es abstracta en lo que se refiere a la definición respecto al ciclo de vida del software,
puesto que las organizaciones pueden adoptar aquel que más se ajuste a sus necesidades y
dinámicas con sus clientes.

2.1. PROCESOS PRINCIPALES

Corresponden a aquellos procesos que facilitan el desarrollo de actividades en todas las etapas del
proceso de desarrollo de software. Esto es al iniciarse, durante el desarrollo, puesta en marcha y
mantenimiento posterior. Dentro de esta clasificación, se destacan los siguientes (Piattini, García,
García y Pino, 2012)

2.1.1. PROCESO DE ADQUISICIÓN

Su propósito es obtener el producto o servicio que satisface la necesidad planteada por el cliente,
para lo cual se apoya en los subprocesos de preparación de la adquisición, selección del
proveedor, supervisión del proveedor y aceptación del cliente. Es decir, corresponde a las
actividades que, realizadas en forma planificada y cumpliendo todas las tareas que ahí sean
definidas, permiten entregar una solución al cliente conforme a las especificaciones que se han
elaborado.

2.1.2. PROCESO DE DESARROLLO

El propósito de este proceso es entregar una solución de software sobre la base de una definición
inicial de requerimientos de usuario, los cuales tienen por objetivo satisfacer una necesidad
funcional. Corresponde al proceso más complejo desde la perspectiva de la cantidad de personas
que interactúan, la tecnología utilizada, la cantidad de tareas, métodos y procedimientos que

2
http://goo.gl/gwmYO5

8
ESTE DOCUMENTO CONTIENE LA SEMANA 4
intervienen en su ejecución. De esta forma, podemos identificar una serie de subprocesos que
sustentan todo lo anterior.

2.1.2.1. LEVANTAMIENTO DE REQUERIMIENTOS


Corresponde al proceso a través del cual se establecen las necesidades del usuario, se transforman
en definiciones funcionales, posteriormente se hace un seguimiento para verificar que los
productos de trabajo generados sean consistentes con lo requerido.

2.1.2.2. ANÁLISIS DE REQUERIMIENTOS DEL SISTEMA


Corresponde al proceso de transformación de los requerimientos de usuario o funcionales en
requerimientos técnicos. Sobre la base de estos, se construye el sistema de software. Usualmente
son definidos por analistas o ingenieros de software.

2.1.2.3. DISEÑO ARQUITECTÓNICO DEL SISTEMA


Corresponde al proceso que define las estructuras y modelos de trabajo para analizar, diseñar y
posteriormente implementar el producto de software. La visión de arquitectura del sistema
visualiza además aspectos que no necesariamente son funcionales, más bien de aquellas mejores
prácticas en el uso de la tecnología y métodos, para generar productos de calidad.

2.1.2.4. DISEÑO DEL SOFTWARE


Corresponde al proceso a través del cual se define un diseño para el software, se implementan los
requerimientos funcionales y, a su vez, se establecen mecanismos para su posterior verificación.

2.1.2.5. DESARROLLO DEL SOFTWARE


Corresponde al proceso a través del cual se desarrollan los productos de software que
implementan la solución funcional esperada por el cliente. Es el sistema en su conjunto, sin
embargo durante su desarrollo y de acuerdo a lo definido por los procesos de arquitectura,
pueden ser una serie de piezas de software.

2.1.2.6. INTEGRACIÓN DEL SOFTWARE


Corresponde al proceso a través del cual se integran las distintas partes de la solución (piezas de
software), como se mencionó en el proceso de desarrollo de software.

2.1.2.7. PRUEBA DEL SOFTWARE


El propósito de este proceso es verificar que las distintas piezas de software, luego de ser
integradas, funcionen de acuerdo a lo esperado.

2.1.2.8. INTEGRACIÓN DEL SISTEMA


Su fin es integrar todos los elementos del sistema (servidores de hardware y software, otros
sistemas, accesos a redes, procesos manuales) que han sido definidos como parte de la solución
técnica y funcional.

2.1.2.9. PRUEBA DEL SISTEMA


El propósito de este proceso es probar a nivel de sistema toda la solución. Una vez hecho lo
anterior, sigue el paso de entrega final al cliente.

9
ESTE DOCUMENTO CONTIENE LA SEMANA 4
2.1.2.10. INSTALACIÓN DEL SOFTWARE
Su fin es dejar disponible la solución en el entorno que se requiere.

2.1.2.11. OPERACIÓN
El propósito de este proceso es velar por el correcto funcionamiento de la solución en el entorno
donde se ha dejado disponible, asegurando también el soporte a los usuarios finales.

2.1.2.12. MANTENIMIENTO
Este proceso es uno de los más importantes. Trasciende en varios aspectos que se pueden
clasificar en el contexto de mejoras, correcciones, adaptaciones, modificaciones, como también en
el de reemplazo de funcionalidad por un tema de evolución de las necesidades del usuario y la
organización.

2.2. PROCESOS DE APOYO

La característica principal de este tipo de procesos es que a través de ellos se da soporte al resto
de los procesos de la organización. En el ámbito del desarrollo de software facilitan la consecución
de las tareas desde el punto de vista económico, organizacional, financiero, contable y
administrativo, entre otros. Dentro de este ámbito se tienen los siguientes subprocesos (ISO,
2008):

2.2.1. DOCUMENTACIÓN

Asegura el cumplimiento, almacenamiento y mantenimiento, de la documentación exigida para


cada proyecto.

2.2.2. GESTIÓN DE LA CONFIGURACIÓN

Facilita el almacenamiento y distribución de todos los productos de trabajo del proyecto,


dejándolos disponibles para el uso de las partes, en forma ordenada, versionada y asegurando su
correcta utilización.

2.2.3. ASEGURAMIENTO DE LA CALIDAD

Proceso responsable de asegurar la calidad en el proceso y producto, durante el desarrollo.

2.2.4. VERIFICACIÓN Y VALIDACIÓN

Este proceso se encarga de confirmar que todos los productos de trabajo de software en un
proceso o proyecto cumplan con los requerimientos especificados. Así también desde el punto de
vista funcional.

10
ESTE DOCUMENTO CONTIENE LA SEMANA 4
2.2.5. AUDITORÍA

El propósito de este proceso es verificar con total independencia la concordancia de los productos
de trabajo con los procedimientos, planes y estándares definidos para ejecutar el proyecto.

2.2.6. GESTIÓN DE LA RESOLUCIÓN DE PROBLEMAS

El objeto de este proceso es realizar un control y seguimiento de todos los problemas que se van
detectando. Asegurando la resolución de estos.

2.2.7. USABILIDAD

El propósito de este proceso es potenciar los aspectos de uso dados y definidos por el usuario, de
manera que el producto final no sea un obstáculo en el proceso de negocio que debe apoyar. De
esta manera, prepara el camino para una mejor solución y evitar así el rechazo final del usuario.

2.3. PROCESOS DE LA ORGANIZACIÓN

Corresponden a procesos transversales a la organización, a través de los cuales se establecen las


relaciones que gobiernan la administración total de la misma. Estos procesos permiten mejorar
permanentemente la dirección de las empresas. Por lo anterior, abarcan un ámbito mucho más
allá del proceso de desarrollo de software.

2.3.1. PROCESO DE GESTIÓN

Su propósito es organizar, monitorear y controlar cualquier tipo de proceso, con el objeto de


asegurar su éxito y logro de los objetivos de negocio de la organización. Para conseguir lo anterior,
además resguarda el cumplimiento de las prácticas definidas en la organización para el desarrollo
de proyectos. Este proceso consta de una serie de subprocesos. A continuación, se mencionan los
más relevantes (ISO, 2008):

2.3.2. ALINEAMIENTO ORGANIZACIONAL

Su propósito es garantizar que los productos y procesos de software vayan de la mano de los
objetivos de la organización.

2.3.2.1. GESTIÓN ORGANIZACIONAL


Establece las prácticas de gestión del software que sean coherentes con los objetivos de negocio
de la organización, en el transcurso de la ejecución de los procesos que generan productos y
servicios software.

11
ESTE DOCUMENTO CONTIENE LA SEMANA 4
2.3.2.2. GESTIÓN DE PROYECTOS
Su propósito es definir, coordinar y monitorear las actividades, tareas y recursos para que un
proyecto genere el producto o servicio establecido de acuerdo a las definiciones y alcance del
proyecto.

2.3.2.3. GESTIÓN DE CALIDAD


El propósito de este proceso es asegurar la calidad de los productos y servicios que se generan a
partir de las necesidades presentadas por el cliente o usuario. Para realizarlo, se establecen
actividades de inspección y monitoreo durante el proceso y en el resultado que de este se va
obteniendo.

2.3.2.4. GESTIÓN DE RIESGOS


El propósito de este proceso es identificar, gestionar, analizar y controlar los riesgos
permanentemente, a nivel organizacional y técnico.

Además de los subprocesos mencionados, existen otros también que contribuyen desde el ámbito
técnico, como por ejemplo el proceso de infraestructura, del ámbito de la mejora de procesos y
administración de recursos humanos.

3. CALIDAD DE LOS REQUERIMIENTOS

Los requerimientos son el conjunto de definiciones que forman la base para especificar funcional y
técnicamente las soluciones que se deben desarrollar en un proyecto de software. En el proceso
de definición de requerimientos, se pueden establecer características que los definen y aportan en
la calidad de estos. Son las siguientes (Pressman, 2010):

 Deben ser redactados y considerados como un acuerdo, o más bien un contrato entre dos
partes.

 Debe ser posible probarlo, verificarlo, comprobar su ocurrencia.

 Debe ser conciso, fácil de revisar y entendible, sin tener que realizar una descripción
extensa.

 Debe ser completo, en su definición debe estar todo lo que se requiere saber.

 Además de lo anterior, debe ser consistente. Sin contradicciones y coherente en su


definición.

 No debe ser ambiguo, es decir, no tiene más de una interpretación.

12
ESTE DOCUMENTO CONTIENE LA SEMANA 4
3.1. ATRIBUTOS DE CALIDAD VISIBLE Y NO VISIBLE VÍA EJECUCIÓN

En su conjunto, los requerimientos presentan características o atributos de calidad que


usualmente no son analizados en detalle, lo cual es un error, dado que estos determinan
características no funcionales relevantes para la solución de software.

Entre los atributos de calidad relacionados con el sistema se pueden mencionar los siguientes (óp.
cit.):

3.1.1. DISPONIBILIDAD

Las fallas pueden ocurrir en los sistemas y comprometer el uso de estos, dejando de brindar la
funcionalidad que se especificó en su desarrollarlo. Las fallas técnicamente invalidan una
funcionalidad y pueden ser detectadas por el usuario directamente, o bien por otros sistemas. Si
se quiere cuantificar la disponibilidad, correspondería a la razón entre el tiempo de fallo dividido
por la suma del tiempo de fallo más el tiempo requerido para solucionarlo.

3.1.2. FACILIDAD DE CAMBIOS

Es la facilidad que presenta el software para aplicar cambios, los cuales pueden ser de
funcionalidad, plataforma o integraciones. Por tal razón, es importante que este concepto esté
considerado al momento de diseñar una solución. Usualmente, una solución de software que no
facilita la incorporación de cambios, o inclusive mejoras, no es una buena solución.

3.1.3. PERFORMANCE

Es la característica que determina cuánto le toma al sistema responder una solicitud de usuario u
otra solicitud que este permita realizar. Es una condición que depende también de otros factores,
como por ejemplo la infraestructura sobre la cual se ha desplegado la solución.

3.1.4. SEGURIDAD

Es la capacidad que posee un sistema para brindar mecanismos de protección ante intentos de uso
malicioso. Manteniendo así la disponibilidad del sistema para los usuarios.

3.1.5. FACILIDAD DE PRUEBAS

Característica recurrente y necesaria. Se manifiesta en la capacidad que tiene el sistema para


realizar pruebas de funcionalidad y técnicas, las cuales se requieren cuando es necesario realizar
cambios en el sistema, producto de mejoras o correcciones.

13
ESTE DOCUMENTO CONTIENE LA SEMANA 4
3.1.6. USABILIDAD

Esta característica es relevante para todo sistema. Demuestra cuán fácil de utilizar es el sistema
ante la operación del usuario. Abarca aspectos como simplicidad y efectividad, optimización del
trabajo que realiza el usuario, facilidad de aprendizaje y utilización.

3.2. ESTRATEGIAS Y TÁCTICAS EN EL TRABAJO CON REQUERIMIENTOS

3.2.1. PLANEAR

En el trabajo de definición de requerimientos, la planeación es el punto de partida para toda tarea


posterior. Implica definir en términos precisos el objetivo planteado, el equipo para desarrollarlo y
los recursos necesarios para hacerlo. Asimismo, se determina la forma de trabajo y prepara la
información necesaria, como también se instruye al equipo con las mejores prácticas para definir
requerimientos.
3.2.2. HACER

De acuerdo al plan previamente establecido, los requerimientos deben comenzar a ser escritos.
Por tanto, es necesario preparar reuniones de trabajo con los usuarios claves, puesto que ellos son
los conocedores de las necesidades funcionales. Esta instancia corresponde a las sesiones de
trabajo que han sido planificadas para realizar un levantamiento inicial que posteriormente se
transformará en los requerimientos funcionales del usuario.

3.2.3. REVISAR

Luego de haber realizado las sesiones de trabajo y depurado en conjunto con el usuario la
definición de sus requerimientos, corresponde la revisión formal. El objetivo de esta actividad es
verificar que las definiciones sean claras, completas y precisas. Siendo así, se prepara un listado de
requerimientos para su posterior formalización e implementación a nivel de estado.

3.2.4. CORREGIR

Como parte natural de todo proceso, siempre se van a requerir ajustes y correcciones. Por tanto,
al tener una lista de requerimientos formalizada y validada por las partes, se pueden realizar estas
correcciones, pero en el marco de lo definido inicialmente. Así, todo cambio que escapa del
alcance original debe ser aprobado por el usuario y todos los responsables de administrar el
proyecto. A esto se le llama mantener una línea base de requerimientos.

14
ESTE DOCUMENTO CONTIENE LA SEMANA 4
4. GESTIÓN DE LOS PROCESOS DE SOFTWARE

En el proceso de desarrollo de software también podemos especificar requerimientos de calidad.


Así, por ejemplo, cumplir las expectativas o resultados esperados, que las definiciones adoptadas
sean correctas y, además, que el proceso siempre pueda estar en permanente mejora como
respuesta a los cambios promovidos por el negocio. Por lo anterior, Piattini, García, García y Pino
(2012) definen objetivos de la gestión del proceso de desarrollo de software y, para gestionarlos
en forma profesional, las acciones y responsabilidades, las cuales deben estar enfocadas en
definir, medir, controlar y mejorar el proceso.

4.1. ETAPAS CLAVE DE LA GESTIÓN CON CALIDAD

Las etapas clave para realizar una buena gestión de la calidad de los procesos de desarrollo de
software corresponden a las siguientes:

4.1.1. EJECUCIÓN Y CONTROL DE PROCESO

Los proyectos software de una organización se ejecutan de acuerdo al modelo de proceso que se
haya definido. Por lo cual, es importante poder controlar en todo momento la ejecución de estos
proyectos (y en consecuencia, de los procesos correspondientes) para garantizar y cumplir con las
expectativas de los clientes o usuarios finales. Para ello, se han desarrollado los denominados
"entornos de ingeniería del software orientados a procesos" (process software engineering
environments), los cuales corresponden a sistemas de software que ayudan en el modelamiento
de procesos de software utilizando un determinado lenguaje y en su posterior automatización.

4.1.2. MEDICIÓN Y MEJORA

El concepto de mejora aplicado en todo orden siempre requiere tener un objetivo por el cual
mejorar. Así es como antes de hacerlo, es necesario evaluar y medir los aspectos relevantes o
sujetos a estudio para su posterior mejora. Cuando hablamos de procesos, también entendemos
que estos están sujetos a mejora. Pero es necesario saber objetivamente qué se debe mejorar y
por qué. Cuando un proceso es medido, es fácil tener indicadores de desempeño parcial o total
dependiendo de cómo se defina.

Por ejemplo, si en un proceso de desarrollo de software se identifica que las pruebas están
resultando inapropiadas y no logran asegurar un buen resultado, sería conveniente poner atención
en esa parte del proceso y definir algunos indicadores para, posteriormente, hacer medidas y
evaluar qué mejora se debiera aplicar. O quizás, de otra forma, detectar que el problema no se da
en esa parte del proceso.

15
ESTE DOCUMENTO CONTIENE LA SEMANA 4
COMENTARIO FINAL

La calidad del proceso de ingeniería de software determina métodos, procedimientos, actividades,


artefactos, entregables, responsabilidades, entre otros elementos de una larga lista de buenas
prácticas orientadas a asegurar la calidad final del producto de software y dar soluciones a las
necesidades que plantea el usuario. Por lo anterior, siempre será un requisito para las
organizaciones que desarrollan soluciones de software definir un proceso que otorgue un
mecanismo de formalidad y que adhiera a las mejores prácticas y estándares para desarrollar
software de calidad.

16
ESTE DOCUMENTO CONTIENE LA SEMANA 4
REFERENCIAS

Acuña, S. T.: De Antonio, A.; Ferré, X.; Maté, L. y López, M. (2001). The software process:

modelling, evaluation and improvement. In S. K. Chang (ed.), Handbook of software

engineering and knowledge engineering. Vol. 1 Fundamentals, pp. 193-237. New Jersey,

EE. UU.: World Scientific.

Fuggetta, A. (2000). Software process: a roadmap. Recuperado de: http://goo.gl/7Pvgvs.

International Organization for Standardization (2008). ISO 12207:2008, Systems and software

engineering - Software life cycle processes. Ginebra, Suiza: ISO. Recuperado de:

https://goo.gl/nRYgrI

International Organization for Standardization (2003). ISO/IEC 15504-2:2003, Information

technology -- Process assessment -- Part 2: Performing an assessment. Ginebra, Suiza: ISO.

Recuperado de: http://goo.gl/7ZEjZd

Piattini, M.; García, F.; García, I. y Pino, F. (2012). Calidad de sistemas de información. México:

Alfaomega Grupo Editor. Madrid: Ra-Ma.

Pantaleo, G. (2011). Calidad en el desarrollo de software. México: Alfaomega Grupo Editor.

Pressman, R. (2010). Ingeniería de software, un enfoque práctico. 7.ª edición. España: Editorial

McGraw-Hill Interamericana S. A.

Software Engineering Institute. (1995). Digital Library. Recuperado de http://goo.gl/OPkBXU

Vázquez, L. (2011). Reingeniería de procesos en los flujos de información de una empresa de la

industria alimentaria. Tesis para obtener el grado de magíster en Ingeniería Industrial.

México: Instituto Politécnico Nacional. Recuperado de: http://goo.gl/2X4Fmk

17
ESTE DOCUMENTO CONTIENE LA SEMANA 4
PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2015). Calidad en el proceso de ingeniería de software. Modelos y Control de Calidad.

Semana 4.

18
ESTE DOCUMENTO CONTIENE LA SEMANA 4
19
ESTE DOCUMENTO CONTIENE LA SEMANA 4

También podría gustarte