Secciones
Referencias
Resumen
Servicios
Buscar
Fuente


Optimización de estados en la mejora de procesos de software
States optimization in Software Process Improvement
Enl@ce: Revista Venezolana de Información, Tecnología y Conocimiento, vol.. 13, núm. 2, 2016
Universidad del Zulia

Artículos

Disponible en:
http://www.redalyc.org/articulo.oa?id=82349540001


Recepción: 06 Marzo 2016

Aprobación: 28 Mayo 2016

Resumen: En el desarrollo de software, se refleja una tendencia orientada hacia la definición y mejora continua de los procesos que promueven estratégicamente el respaldo y logro de las metas de una organización. En función de ello, el objetivo del artículo es desarrollar un proceso para la optimización de estados en la mejora de procesos de software, tomando como referencia los factores críticos de éxito. Se fundamenta en una investigación descriptiva bajo un enfoque racionalista crítico, método de análisis cuantitativo, lo cual permitió la efectividad del diseño del modelo. Se determina en los resultados que en la mejora de procesos de software existen considerable fracasos, lo cual se atribuye a que no se tiene en cuenta el estado de la organización integralmente, ni su ámbito de actuación en lo socio-cultural. Se concluye, sobre la importancia de definir una evaluación integral de las organizaciones, considerando los factores críticos del éxito, previo al inicio de una mejora de procesos, asimismo se recomienda el diseño propuesto como soporte tecnológico, que basado en un algoritmo genético, obtiene estados de mejora requeridos por las organizaciones como apoyo a la toma de decisiones a partir de su estado inicial y las buenas prácticas que puede aplicar para mejorarlo

Palabras clave: desarrollo de software, procesos tecnológicos, factores críticos de éxito, decisiones organizacionales.

Abstract: In the development of software, it reflects a trend toward the definition and continuous improvement of processes that promote strategically support and achievement of the goals of an organization. On this basis, the aim of this article is to develop a process for the optimization of united in the software process improvement, taking as a reference the critical success factors. It is based on a descriptive research under a critical rationalist approach, method of quantitative analysis, which enabled the effectiveness of the design of the model. Is determined by the results in the improvement of software processes there are significant failures, which is attributed to it does not take into account the state of the organization as a whole, nor its sphere of activity in socio-cultural. It is concluded, on the importance of defining a comprehensive assessment of the organizations, considering the critical success factors, prior to the start of a process improvement, it is also recommended the proposed design as technological support, based on a genetic algorithm, you get united for improvement required by organizations such as support to the decision-making process from its initial state and good practices that can be applied to improve it. Key word: critical success factors; decisions making; good practices; software process improvement; states optimization. Introducción

Keywords: cess factors, decisions making, good practices, software process improvement, states optimization, critical success factors.

Introducción

Diversos autores reafirman la importancia de la Mejora de Procesos de Software (MPS) con vista a la introducción de Buenas Prácticas (BP) en la ejecución de los procesos para elevar la madurez y capacidad de los mismos (Ashrafi, 2003; Basili, McGarry, Pajerski, y Zelkowitz, 2002; Garcia, Trujillo, & Arza, 2016; Pino, García, & M., 2008; Trujillo et al., 2013b; Zahran, 1998). Las iniciativas MPS se centran en mejorar el rendimiento, la utilidad y la efectividad de los procesos de una manera disciplinada (Ashrafi, 2003); no obstante esta ventaja no siempre se observa a corto o mediano plazo, la implantación de BP es una labor cuyo fruto puede tardar años en obtenerse.

Organizaciones, instituciones y comunidades científicas han optado por la aplicación de modelos, normas, guías y estándares en función de la MPS como: Modelo de Capacidad y Madurez Integrada (CMMI por sus siglas en inglés) (CMMI, 2016), las normas ISO 15504, 9000 y 25000 (ISO, 2004, 2005a, 2005b), la Guía de Fundamentos para la Dirección de Proyectos (PMBOK) (PMI, 2013), entre otros. Estudios señalan que los modelos en general son muy restringidos pues no consideran la variedad de situaciones que se puede encontrar en organizaciones que desean implementar una MPS (Allison, 2010; Boas, da Rocha, y Pecegueiro do Amaral, 2010; Cattaneo, Fuggetta, y Sciuto, 2001; Dounos & Bohoris, 2010; Laporte & Trudel, 1998; Moitra, 1998; Ngwenyama, 2003; Stelzer & Mellis, 1999).

Se refiere además, como parte de la importancia de la investigación identificar las necesidades de los cambios culturales y organizativos para el éxito de las iniciativas MPS, los cuales por lo general son complejos de abordar, conllevan a recomendaciones complicadas y demandan una gran inversión de recursos y tiempo (Babar & Niazi, 2008; Müller, Mathiassen, & Balshøj, 2010; Niazi, Babar, & Verner, 2010; Pino et al., 2008). En este sentido algunos países se han aventurado en la creación de adaptaciones de estos modelos a su contexto específico, ejemplo de ello son: MoProSoft en México (NYCE, 2011), MPS.Br en Brasil (SOFTEX, 2012), la propuesta Iberoamericana Competisoft (COMPETISOFT, 2008) y en Cuba el Modelo de Calidad para Desarrollo de Aplicaciones Informáticas (MCDAI) (Ramírez & Santana, 2013) creado por el Centro Nacional de Calidad de Software (CALISOFT) de conjunto con la Universidad de las Ciencias Informáticas (UCI).

Se considera, que de manera general los programas de mejora definidos no contemplan los aspectos sociales y las necesidades reales de las organizaciones alineadas a sus objetivos estratégicos, lo cual provoca que, al ejecutar los procesos definidos como parte del programa, existan inconsistencias y dificultades de entendimiento por parte del equipo de desarrollo que los ejecuta. Investigaciones realizadas sobre los resultados de la aplicación de iniciativas MPS en las organizaciones, reflejan un gran número de fracasos, observándose un ascenso de hasta un 70% (Forradellas, Pantaleo, & Rogers, 2005; Ngwenyama, 2003; Trujillo et al., 2013a).

Lo antes descrito se debe en gran medida a que las iniciativas de mejora no contemplan el estado real de las organizaciones y sus peculiaridades que representan un punto de partida diferente para el programa condicionando sus resultados (Trujillo et al., 2014). Varios autores aportan elementos para adaptar las iniciativas MPS a las características particulares de las organizaciones, para ello proponen factores que influyen en el diseño y ejecución de la MPS referentes a los aspectos sociales, a partir de: literatura consultada (Dounos & Bohoris, 2010), entrevistas y encuestas a consultores de MPS (M. Montoni & Rocha, 2007), datos y experiencias acumuladas de la ejecución de MPS (Boas et al., 2010; Santos et al., 2010), estudio de casos (Allison, 2010) y diagnósticos al iniciar la MPS (Trujillo et al., 2014).

El análisis en torno a los Factores Críticos de Éxito (FCE) que influyen positiva o negativamente en la MPS, permite inferir que su uso en función de los contextos organizacionales contribuye con el éxito de las iniciativas MPS (Dounos & Bohoris, 2010; M. A. Montoni & Rocha, 2010). El contexto varía en dependencia de la organización, cada una posee características que la distinguen del resto, desde los objetivos estratégicos y los aspectos sociales hasta las necesidades reales en función de los recursos con que cuenta (Garcia et al., 2016).

Los autores consideran que a pesar de los avances visualizados en las investigaciones sobre el tratamiento de los FCE para valorar el estado de las organizaciones frente a la MPS, persisten insuficiencias asociadas a la reutilización del conocimiento adquirido para establecer propuestas de estados a las organizaciones que reflejen una mejora cualitativa respecto de su estado inicial para enfrentar la MPS (Garcia et al., 2016; Niazi et al., 2010; Niazi, Wilson, & Zowghi, 2006; Trujillo et al., 2013a). Existe una dispersión respecto a la contribución de las BP para mejorar el estado de las organizaciones, no se realiza un análisis del grado en que las BP en combinación puedan incidir sobre el comportamiento de los FCE.

Lo anteriormente expresado conduce a un análisis casuístico de la teoría de la complejidad para lograr en este ámbito de caos una auto-organización que guíe a las organizaciones a la co-evolución a partir de sus capacidades de adaptación y aprendizaje. Resulta engorroso realizar el procesamiento de la información cuando existe un gran cúmulo de factores que inciden sobre la evaluación para proponer futuros estados de mejora. Por ello, es esencial la aplicación de técnicas de inteligencia artificial (IA) que transformen la información resultante de las experiencias en la MPS, en conocimiento útil para la toma de decisiones respecto hacia dónde dirigir los esfuerzos para alcanzar estados de mejora que viabilicen la inserción en la MPS. A partir de lo anterior se identifica como problema de investigación: ¿Cómo determinar estados de mejora para contribuir a la toma de decisiones en las iniciativas de MPS?

Mejora de procesos de software

La MPS se centra en el perfeccionamiento de los procesos para mejorar la calidad de los productos y en particular reducir el número de defectos de los entregables. La mejora continua según ISO significa la eficacia constante del sistema de gestión de la calidad mediante el uso de las políticas de calidad, los resultados de las auditorías, el análisis de los datos, las acciones correctivas y preventivas y la revisión de la dirección (ISO, 2000). Para Mathiassen y Pouya la MPS constituye un enfoque estructurado que permite a una organización de software mejorar continuamente sus capacidades para proporcionar servicios de calidad en forma competitiva (Mathiassen & Pouya, 2003). Una definición más precisa y certera es la de Ashrafi que manifiesta que la MPS se centra en mejorar el rendimiento, la utilidad y la efectividad de los procesos de una manera disciplinada (Ashrafi, 2003). La incorporación además el incremento de la calidad del producto, la reducción de los costos y del tiempo de desarrollo a partir de la comprensión y modificación acorde a las necesidades de los procesos existentes (Sommerville, 2007).

En su investigación para ayudar a las organizaciones a desarrollar y a mantener productos y servicios de calidad, CMMI ha identificado tres dimensiones sobre las que una organización puede enfocarse para mejorar su actividad: las personas, los métodos, procedimientos, así como las herramientas y equipamiento (Chrissis, Konrad, & Shrum, 2009). Otro elemento sustancial, permite afirmar que la mejora no es un evento de un solo paso, sino que se desarrolla gradualmente mediante transiciones de un nivel de madurez a otro (Maturro, 2010). Pressman visualiza de una manera más profunda la MPS al definirla como una perspectiva cíclica de tres estados principales (Pressman, 2010):

  1. - Medición del proceso: para mejorar las mediciones de acuerdo con los objetivos de la organización involucrada en la MPS.

    - Análisis del proceso: se identifican las debilidades y riesgos del proceso. Los modelos que describen el proceso son usualmente desarrollados durante este estado.

    - Cambio del proceso: se introducen los cambios identificados durante el análisis

A partir del análisis anterior, los autores conciben la importancia de la MPS para la mejora del rendimiento, la utilidad y la efectividad de los procesos de una manera disciplinada, siguiendo un enfoque cíclico que permita la medición de los procesos, el análisis de sus potencialidades, deficiencias y en base de ello la introducción de cambios en los procesos que permitan la evolución estratégica, así como continua de la organización. Se considera esencial en la investigación el enfoque dirigido al proceso como centro del desarrollo, con sus tres dimensiones críticas para la mejora continua en torno a las personas que desarrollan el proceso, los métodos, procedimientos que emplean para ello y las herramientas a utilizar para alcanzar los objetivos de mejora.

Se ha identificado que la aplicación de BP por las organizaciones para la MPS, influyen sobre el comportamiento de los FCE. En la revisión de las investigaciones que han realizado aportes más relevantes en el tratamiento de las BP y los FCE se pudo constatar que el tratamiento de las BP sólo es abordado por Niazi (2010) y Trujillo (2014) pero de manera dispersa. Los FCE son abordados en todas las investigaciones estudiadas; sin embargo, Niazi y Clarke lo realizan de manera dispersa mientras que Trujillo y Garcia lo hacen acorde al contexto. Respecto a las dependencias entre BP y FCE, son tratadas por Niazi y Trujillo pero de manera estática. La reutilización de experiencias es tratada sólo por Trujillo y Garcia, pero solo en base a los FCE y sin considerar la influencia de las BP. Además, se constató que solamente Garcia ofrece una propuesta de estados de mejora que contribuyan a direccionar las decisiones tomadas por las organizaciones frente a la MPS, con el fin de resultar exitosos en sus iniciativas, pero no teniendo en consideración las BP a aplicar (Garcia et al., 2016; Niazi et al., 2006; Paul Clarke & O’Connor, 2010; Trujillo, 2014). Si están citados aquí sugiero eliminar los mencionados en párrafos

Toma decisiones en las organizaciones

Schein (1988) plantea que “la toma de decisiones es el proceso de identificación de un problema u oportunidad y la selección de una alternativa de acción entre varias existentes, es una actividad clave en todo tipo de organización” (p.81).

La identificación de todas las alternativas posibles, el pronóstico de las consecuencias de las mismas y su evaluación según los objetivos y metas trazados, son postulados intrínsecos dentro del proceso de toma de decisiones. Para ello, se requiere poseer información actualizada sobre las oportunidades a considerar en el presente y valorar las consecuencias de actuar según cada una de las diversas opciones en el futuro. Luego, es indispensable la información sobre cómo llevar el estado actual al futuro; conocer los valores y las preferencias que se deben utilizar para elegir, entre las alternativas que, según los criterios establecidos, conllevan de forma más factible a los resultados deseados (CHOO, 1999).

Se puede calificar entonces, la toma de decisiones como un proceso imprescindible en las organizaciones, con un significado especial para todos los niveles por ser parte fundamental e inherente con el resto de las actividades de la organización, donde juega un papel esencial la aplicación de técnicas de inteligencia artificial (IA) para el procesamiento de la información.

Inteligencia artificial (IA)

Russell y Norving muestran diversas definiciones del término IA, las cuales se organizan en cuatro categorías: sistemas que actúan como humanos, sistemas que piensan racionalmente, sistemas que actúan racionalmente y sistemas que piensan como humanos (Russell & Norvig, 2003). De estas clasificaciones la que más se ajusta al desarrollo de la investigación es sistemas que piensan como humanos. De las definiciones de IA emitidas, se considera como más acertada la de Bellman (1978): “La automatización de actividades que asociamos con el pensamiento humano, actividades como toma de decisiones, resolución de problemas, aprendizaje…” (p.146).

La optimización es un proceso clásico dentro de la toma de decisiones y un problema solucionable mediante la aplicación de técnicas de IA, el mismo comprende la formulación del problema, su modelación, la optimización del modelo y la implementación de la solución (Valencia, 1997).

La Real Academia de la Lengua Española define el término optimización como la acción y efecto de optimizar y optimizar como buscar la mejor manera de realizar una actividad (RAE, 2016).

En el contexto de la investigación, la optimización se concibe como el proceso de encontrar la mejor solución posible para un determinado problema. El referido proceso constituye un refinamiento continuo que, si bien no retorna un resultado óptimo, tendrá como fin la obtención de resultados mejores por alcanzar teniendo en cuenta las variables iniciales y las restricciones del problema en cuestión. Este proceso pudo ser aplicado al soporte de la toma de decisiones en diferentes entornos, entre ellos, a las organizaciones que se enfrentan a la MPS. Resulta de gran utilidad a la hora de iniciarse en la MPS, conocer que tan efectivo será iniciarse en la MPS teniendo en cuenta el estado inicial de la organización y las BP que puede aplicar.

Los problemas de optimización combinatoria – problemas donde el conjunto de posibles soluciones es discreto o se puede reducir a un conjunto discreto– suelen ser solubles mediante el uso de meta-heurísticas, familia de algoritmos aproximados de propósito general que guían una heurística subordinada de búsqueda, combinando de forma inteligente distintos conceptos para explorar y explotar adecuadamente el espacio de búsqueda (Herrera, 2006).

Según Hertz y Kobler (2000), las técnicas para resolver problemas complejos de optimización combinatoria han evolucionado progresivamente de métodos constructivos a métodos de búsqueda local y finalmente a algoritmos basados en poblaciones. Los autores consideran relevante la aplicación de estos últimos, específicamente el uso de algoritmos evolutivos donde el estado inicial representa un individuo y las experiencias almacenadas la población sobre la cuál realizar las búsquedas. Haciéndose necesaria la optimización de los atributos de un individuo, destaca la importancia de una selección en la base de experiencias proporcional al fitness de cada individuo (Coello & Zacatenco, 2004; Mateos Andaluz, 2004; Pettis, 2005; Rosas, Leiva, & Gallard, 2000), por lo que se considera para la presente investigación el uso de algoritmos genéticos como técnica de optimización más apropiada para solucionar la problemática planteada.

Optimización de estados

En el marco del desarrollo de la investigación se define un estado como: la situación o modo de estar de una organización en un momento de tiempo dado, cuya condición está sujeta a cambios.

La optimización de estados como: el proceso mediante el cual se obtienen estados de mejora, tomando como punto de partida el estado inicial de la organización y las BP que puede aplicar.

Desarrollo y análisis

Factores Críticos de Éxito

Los FCE que influyen en la MPS fueron definidos por Trujillo (2014) en la Tabla 1, así como las Medidas Bases (MB) que facilitan su medición.

Tabla 1
FCE y sus MB.

Trujillo, (2014).

Descripción del proceso

Para la optimización de estados en la MPS se parte del estado inicial en que se encuentra la organización y las BP que puede aplicar para mejorar dicho estado.


Figura 1
Proceso Optimización de estados en la MPS
elaboración propia

- Paso 1: Seleccionar estados

Como parte de este subproceso (ver figura 2), la primera actividad en desarrollarse es Evaluar estados, donde se evalúa toda la muestra de población con la función objetivo que se muestra en la ecuación 1.

[1]

Donde:

es la función objetivo o de evaluación.

es la cantidad de medidas (genes) del estado (cromosoma).

es la función de aptitud para la medida (gen) i y se determina mediante la ecuación 2.

es el grado de mejora para la medida (gen) i y se determina mediante la ecuación 3.


Figura 2
Subproceso Seleccionar estados
elaboración propia

se determina de la siguiente manera:

Para (2)

Donde:

es el valor de la medida (gen) en la posición i del estado (cromosoma) a analizar.

es el conjunto de medidas asociadas a las BP seleccionadas (se obtiene del análisis de correlación entre las BP y las medidas que componen a los FCE).

es el valor de la medida (gen) en la posición i del estado (cromosoma) inicial.

Para (2)

Donde:

es la distancia existente entre el valor de y

se determina de la siguiente manera:

(3)

Donde:

es el valor de mejora deseado para (se obtiene del análisis de correlación entre BP y las medidas que componen a los FCE)

Una vez evaluados los estados de la población, se procede a realizar un ordenamiento jerárquico de manera descendente atendiendo a los resultados de la función objetivo para cada estado y se selecciona una muestra de población que corresponde al rango (ranking) de los primeros estados (cromosomas) de la lista ordenada, donde constituye el resultado de la aplicación de la técnica de muestreo probabilístico que se determina por la ecuación 4.

(4)

Donde:

es el tamaño de la muestra probabilística

N es el tamaño de la población total

Z es el nivel de confianza, dado por la probabilidad de que la estimación efectuada se ajuste a la realidad; es decir, que esté comprendida dentro de un intervalo determinado basado en el estimador y que dicha estimación capte el valor verdadero del parámetro a medir. El valor de Z se calcula mediante la campana de Gauss.

p es la proporción esperada, en caso de desconocerse se toma el valor 0,5.

q es la probabilidad de fracaso dada por la ecuación 5:

q =1- p (5)

d es la precisión que se desea o error que se prevé cometer. Su valor suele oscilar entre el 1% (0,01) y 9% (0,09). En el contexto de la investigación se asume 1% (0,01).

- Paso 2: Cruzar estados

Posteriormente se cruzan los estados (cromosomas) aplicando cruzamiento uniforme por máscara binaria para obtener estados con mejores posibilidades de adaptación. Para ello se genera la máscara de cruzamiento, condicionando (con el valor 1) las posiciones de las medidas que están sujetas a mejoras producto a las BP que puede aplicar la organización. Con la máscara de cruzamiento se procede a realizar el cruce entre el estado inicial y los estados seleccionados en el primer paso, obteniéndose como resultado los estados cruzados.

- Paso 3: Calcular probabilidad de mutación

Se calcula la probabilidad de mutación, que es generada de manera aleatoria. En caso que exista probabilidad de mutación se procede a realizar el paso 4, de lo contrario se ejecuta el paso 5.

- Paso 4: Mutar estados

Se mutan algunas de las medidas (genes) que componen al estado (cromosoma) tratando de mutar (en incremento) de manera aleatoria aquellas medidas (genes) asociadas a las BP que puede aplicar la organización.

- Paso 5: Incrementar población

Se incrementa la población con los estados (cromosomas) seleccionados y mutados. Posteriormente se vuelve a ejecutar el paso 1 de manera cíclica, donde la condición de parada radica en que la población obtenida comprende los estados máximo y mínimo en la lista ordenada con valores de la función objetivo superior a 0,75. En este caso se ejecuta el paso 6.

- Paso 6: Mostrar resultados

Se muestran los estados de mejora máximo y mínimo resultantes del proceso de optimización.

Diseño del componente Optimización de estados en la MPS

El componente Optimización de estados en la MPS, mediante la aplicación de algoritmos genéticos obtiene los estados de mejora que puede aplicar la organización para evolucionar desde su estado inicial ante la MPS. En la figura 3 se muestra su representación gráfica.


Figura 3
Componente Optimización de estados en la MPS.
elaboración propia.

Posee como entradas:

- BP que puede aplicar la organización para mejorar su estado inicial frente a la MPS.

- MB que caracterizan el estado inicial de la organización entorno al comportamiento de los FCE.

- Correlación existente entre las BP y las MB para establecer en qué grado se verán influenciadas las medidas que caracterizan el comportamiento de los FCE. Para identificar de manera dinámica esta correlación entre las variables mencionadas se aplican las técnicas de análisis multivariado: Análisis de Componentes Principales (PCA por sus siglas en inglés) y Modelo de Ecuaciones Estructurales; ambas técnicas permiten establecer el grado de relación existente entre varias variables dependientes y varias variables independientes.

- Base de experiencias donde se encuentra almacenado todo el conocimiento referente a los resultados obtenidos por otras organizaciones para la reutilización como base del análisis.

- Restricciones del problema de optimización para obtener estados de mejora que están dadas precisamente por:

  1. - Potenciar la mejora de las medidas asociadas a las BP que puede aplicar la organización.

    -La distancia entre el estado inicial y el estado de mejora se encuentra en un margen asequible por la organización, atendiendo al grado en que pueda mejorar su estado inicial.

Metodología

El desarrollo metodológico se fundamentó en una investigación descriptiva, mediante la cual se describe de forma detallada los procesos objeto de estudio, tal cual se presentan en la realidad contextual. Asimismo, desde una perspectiva documental se realizó el análisis crítico de investigaciones previas, con el objetivo de establecer un punto de referencia para el diseño de la propuesta. Desde la perspectiva del análisis se logró la identificación de la situación problemática, así como la caracterización de los componentes influyentes con el fin de lograr su profundización, para luego sintetizarlos en la solución propuesta.

La muestra estuvo representada por 14 centros de desarrollo de software pertenecientes a la Unidad de Ciencias Informáticas, los cuales poseen un comportamiento organizacional. Para la técnica se seleccionó la observación participante, con el fin de argumentar a profundidad los aspectos que inciden en el planteamiento del problema, la hipótesis y confrontar los resultados obtenidos, que de forma coloquial permitió la presentación de los resultados en sesiones científicas y grupos focales, así como también la encuesta aplicada bajo la técnica ladov, para conocer el grado de satisfacción de los clientes con el proceso desarrollado. El método utilizado, se basó en el paradigma cuantitativo, para el procesamiento de los datos y análisis de encuestas. Su uso permitió desde la estadística descriptiva, el análisis de los resultados.

Resultados

El proceso previamente descrito fue sometido al análisis por diversos especialistas y expertos aplicando grupos focales, siendo presentado en una primera instancia a los especialistas del área productiva de la UCI y posteriormente a un grupo de expertos en la temática procedentes del Centro Nacional de Calidad de Software y otros profesionales con experticia en las áreas mejora de procesos de software e inteligencia artificial. Las sugerencias emitidas fueron abordadas para el perfeccionamiento del proceso presentado en la investigación. Posteriormente se aplicó la técnica Iadov con profesionales de la Dirección de Calidad de la Unidad de Ciencias Informáticas UCI, que permitió conocer el grado de satisfacción del cliente, obteniéndose finalmente una concordancia del 95% respecto a la utilidad, adaptabilidad, relevancia y pertinencia tanto del proceso propuesto como del diseño de la herramienta informática para la optimización de estados de mejora de las organizaciones previo a la MPS. Se destacan como elementos positivos de la propuesta:

- La reutilización de experiencias de otros centros u organizaciones para la optimización de estados previo a iniciarse en la MPS como un aporte importante, pues logra orientar hacia dónde dirigir los esfuerzos a partir de situaciones reales.

- El procesamiento de la información referente a los FCE, para la obtención de los estados de mejora.

- La generalización del proceso propuesto y su flexibilidad para incorporar nuevos FCE y medidas en el análisis.

- El análisis de las BP que puede aplicar la organización y del estado inicial, como bases para la generación de estados de mejora en la MPS, lo cual posibilita que no constituyan metas inalcanzables por la organización en cuestión.

- El sistema permite llegar a todos los centros u organizaciones involucrados en la MPS para obtener información importante sobre la factibilidad de iniciarse o no en la MPS.

Además, se desarrolló un cuasi-experimento teniéndose en cuenta como entrada, los datos relacionados con el comportamiento de los FCE en 14 centros de desarrollo de software pertenecientes a la UCI, los cuales poseen un comportamiento organizacional. De los 14 centros a los que se le aplicó el cuasi-experimento, cinco reflejaron una tendencia al fracaso en la MPS, a los cuales se les aplicó el proceso de optimización obteniéndose los estados de mejora mínimo y máximo. Las propuestas de estados de mejora fueron aplicadas por los centros de desarrollo, vertiéndose en el éxito de la certificación de CMMI nivel 2 a finales de 2015.

Conclusiones

En función de desarrollar un proceso para la optimización de estados en la mejora de procesos de software, tomando como referencia los factores críticos de éxito, se consideran diversos aspectos concluyentes, los cuales determinan que el impacto económico de la investigación, se fundamenta en los elevados costos de los programas de mejora y el alto índice de fracasos, jugando un papel esencial el aporte del proceso en proveer la información necesaria para emplear correctamente los presupuestos asociados a la MPS en las organizaciones.

En tal sentido, los resultados que ofrecen el proceso y el componente que lo implementa, favorecen la obtención de información referente a la optimización de estados para saber hacia dónde dirigir los esfuerzos de mejora, previo a la inversión en la MPS. Para ello, se integra a la valoración de la organización, la reutilización de las experiencias almacenadas como aporte significativo para la resolución del problema de investigación. Además, se refleja en el criterio de los especialistas y expertos la utilidad, adaptabilidad, relevancia y pertinencia tanto del proceso propuesto como del diseño de la herramienta informática para la optimización de estados de mejora, consecuente con las exigencias de la problemática identificada.

Con respecto a los resultados sobre la aplicación de la técnica de Iadov, se refleja un alto grado de satisfacción por parte del cliente, dejando en evidencia la consideración por los expertos de que la propuesta de solución contribuye a elevar el estándar de reutilización de experiencias para la obtención de estados de mejora previo a la MPS. Sin dejar de destacar, que la aplicación del cuasi-experimento arrojó resultados positivos, corroborados en la certificación exitosa de los centros de desarrollo en el nivel 2 de CMMI a finales de 2015.N. Como contribución del desarrollo de la investigación se establece la puesta en práctica del proceso y la aplicación de la herramienta diseñada en entornos controlados para contrarrestar los resultados obtenidos en la presente investigación con casos reales presentados por las organizaciones. Así como la institucionalización de la propuesta de solución en la Dirección de Calidad de la UCI para el apoyo en la toma de decisiones respecto al direccionamiento de los esfuerzos con vista a obtener estados cualitativamente superiores para enfrentar una MPS.

Referencias

Allison, I. (2010). Organizational Factors Shaping Software Process Improvement in Small-Medium Sized Software Teams: a Multi-Case Analysis. Paper presented at the Quality of Information and Communications Technology (QUATIC), 2010 Seventh International Conference on the, Porto. Recuperado de http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5655656&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5655656

Ashrafi, N. (2003). The impact of software process improvement on quality: in theory and practice. Inf. Manage , 40(7), 677-690. doi: 10.1016/s0378-7206(02)00096-4

Babar, M. A., y Niazi, M. (2008, 17-20 Aug. 2008). Implementing Software Process Improvement Initiatives: An Analysis of Vietnamese Practitioners’ Views. Paper presented at the Global Software Engineering, 2008. ICGSE 2008. IEEE International Conference on.

Basili, V., McGarry, F., Pajerski, R. y Zelkowitz, M. (2002). Lessons learned from 25 years of process improvement: the rise and fall of the NASA software engineering laboratory. Paper presented at the Proceedings of the 24th International Conference on Software Engineering, Orlando, Florida.

Bellman, R. (1978). Artificial intelligence: can computers think? San Francisco: Boyd & Fraser Publishing Company.

Boas, G. V., da Rocha, A. R. C., & Pecegueiro do Amaral, M. (2010). An Approach to Implement Software Process Improvement in Small and Mid Sized Organizations. 2010 Seventh International Conference. Quality of Information and Communications Technology (QUATIC), 447 - 452 doi: 10.1109/QUATIC.2010.77

Calisoft, C. N. d. C. d. S. (2012). Libro del Diagnóstico UCI -2012. Diagnóstico. CALISOFT. Centro Nacional de Calidad de Software. La Habana.

Cattaneo, F., Fuggetta, A. y Sciuto, D. (2001). Pursuing coherence in software process assessment and improvement. Software Process: Improvement and Practice , 6(1), 3-22. doi: 10.1002/spip.131

CMMI, I. (2016). CMMI Institute. Clearmodel. Recuperado el 03 de enero del 2016 de http://cmmiinstitute.com/

Coello, C. y Zacatenco, C. (2004). Introducción a la computación evolutiva (Notas de curso). CINVESTAV-IPN, Departamento de Ingeniería Eléctrica, Sección de Computación. México, DF.

COMPETISOFT, P. (2008). COMPETISOFT. Mejora de Procesos para Fomentar la Competitividad de la Pequeña y Mediana Industria del Software de Iberoamérica. (1 ed.) Ciencia y Tecnología para el Desarrollo - CYTED (3789)

Choo, C. W. (1999). La organización inteligente: el empleo de la información para dar significado, crear conocimiento y tomar decisiones.

Chrissis, M., Konrad, M. y Shrum, S. (Eds.). (2009). CMMI. Guía para la integración de procesos y la mejora de productos (2 ed.): SEI. Carnegie Mellon University.

Dounos, P. y Bohoris, G. (2010). Factors for the Design of CMMI-based Software Process Improvement Initiatives. Informatics (PCI), 2010 14th Panhellenic Conference on 43 - 47. Recuperado de http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5600289&sortType%3Dasc_p_Sequence%26filter%3DAND%28p_IS_Number%3A5600280%29 doi:10.1109/PCI.2010.46

Forradellas, P., Pantaleo, G. y Rogers, J. (2005). El modelo CMM/CMMI - Cómo garantizar el éxito del proceso de mejoras en las organizaciones, superando los conflictos y tensiones generados por su implementación (pp. 21). Universidad CAECE, Av. de Mayo 866: Capítulo Argentino de la IEEE COMPUTER SOCIETY e it-Mentor.

Garcia, A. M., Trujillo, Y. y Arza, L. (2016). Pronóstico de éxito en la Mejora de Procesos de Software. Informática.

Herrera, F. (2006). Introducción a los algoritmos metaheurísticos. Ciencias de la Computación e IA.

Hertz, A. y Kobler, D. (2000). A framework for the description of evolutionary algorithms. European Journal of Operational Research , 126(1), 1-12.

ISO. (2000). ISO 9001:2000. Quality management systems - Requirements: ISO.

ISO. (2004). ISO/IEC 15504-1:2004. Information technology.: ISO.

ISO. (2005a). ISO 9000: 2005. Quality management systems.: ISO.

ISO. (2005b). ISO/IEC 25000:2005. Software Engineering -- Software product Quality Requirements and Evaluation (SQuaRE): ISO.

Laporte, C. y Trudel, S. (1998). Addressing the people issues of process improvement activities at Oerlikon Aerospace. Software Process: Improvement and Practice , 4(4), 187-198. doi: 10.1002/(sici)1099-1670(199812)4:4<187::aid-spip108>3.0.co;2-f

Mateos Andaluz, A. (2004). Inteligencia en Redes de Comunicaciones. Algoritmos Evolutivos y Algoritmos Genéticos. Universidad Calos III de Madrid. (N.I.A.: 100027597)

Mathiassen, L. y Pouya, P. (2003). Managing knowledge in a software organization. Journal of Knowledge Management , 7(2).

Maturro, G. (2010). Modelo para la gestión del conocimiento y la experiencia integrada a las prácticas y procesos de desarrollo software. (Tesis Doctoral), Universidad Politécnica de Madrid, Madrid. Recuperado de http://www.ort.edu.uy/fi/pdf/tesismatturro2010.pdf

Moitra, D. (1998). Managing change for software process improvement initiatives: a practical experience-based approach. Software Process: Improvement and Practice , 4(4), 199-207. doi: 10.1002/(sici)1099-1670(199812)4:4<199::aid-spip107>3.0.co;2-d

Montoni, M. y Rocha, A. (2007). A Methodology for Identifying Critical Success Factors That Influence Software Process Improvement Initiatives: An Application in the Brazilian Software Industry. In P. Abrahamsson, N. Baddoo, T. Margaria & R. Messnarz (Eds.), Software Process Improvement (Vol. 4764, pp. 175-186): Springer Berlin Heidelberg.

Montoni, M. y Rocha, A. R. (2010). Applying Grounded Theory to Understand Software Process Improvement Implementation. Paper presented at the Proceedings of the 2010 Seventh International Conference on the Quality of Information and Communications Technology.

Müller, S. D., Mathiassen, L. y Balshøj, H. H. (2010). Software Process Improvement as organizational change: A metaphorical analysis of the literature. Journal of Systems and Software , 83(11), 2128-2146. doi: http://dx.doi.org/10.1016/j.jss.2010.06.017

Ngwenyama, O. K. (2003). Competing values in software process improvement: an assumption analysis of CMM from an organizational culture perspective. Engineering Management, IEEE Transactions on , 50(1), 100 - 112 doi: 10.1109/TEM.2002.808267

Niazi, M., Babar, M. A. y Verner, J. M. (2010). Software Process Improvement barriers: A cross-cultural comparison. Information and Software Technology , 52(11), 1204-1216. doi: http://dx.doi.org/10.1016/j.infsof.2010.06.005

Niazi, M., Wilson, D. y Zowghi, D. (2006). Critical success factors for software process improvement implementation: an empirical study. Software Process: Improvement and Practice, 11(2), 193-211. doi: doi: 10.1002/spip.261

NYCE, S. C. (2011, 2011). NMX-I-059-NYCE (MoProSoft) Retrieved 10/01/2016, 2016, from http://www.moprosoft.com.mx/

Paul Clarke, & O’Connor, R. (2010). Harnessing ISO/IEC 12207 to Examine the Extent of SPI Activity in an Organisation. Communications in Computer and Information Science, 99, 25-36. doi: 10.1007/978-3-642-15666-3_3

Pettis, S. L. (2005). Una aplicación de programación genética al área de control.

Pino, F. J., García, F., & M., P. (2008). Software process improvement in small and medium software enterprises: a systematic review. Software Quality Journal, 16(2), 237–261. doi: 10.1007/s11219-007-9038-z

PMI. (2013). A Guide to the Project Management Body of Knowledge. 5th. Recuperado de 21 de enero 2016 de http://www.pmi.org/PMBOK-Guide-and-Standards.aspx

Pressman, R. S. (2010). Software Engineering. A Practitioner´s Approach. 7th. ed. New York: McGraw-Hill Companies.

RAE. (2016). Real Academia Española. Recuperado de http://www.rae.es/

Ramírez, D. y Santana, R. (2013). Propuesta de proceso para la definición de activos de procesos de la organización para las PYMES de desarrollo de software Fordes. 13 Semana Tecnológica. III Taller Nacional de Atención a la Población y Calidad de los Servicios, 12.

Rosas, M., Leiva, H. A. y Gallard, R. H. (2000). Técnicas de niching: estrategias evolutivas vs. algoritmos genéticos. Paper presented at the VI Congreso Argentino de Ciencias de la Computación.

Russell, S. y Norvig, P. (2003). Artificial Intelligence: A Modern Approach. 2 ed. Pearson Education, Inc.

Santos, G., Kalinowski, M., Rocha, A. R., Travassos, G. H., Weber, K. C. y Antonioni, J. A. (2010). MPS.BR: A Tale of Software Process Improvement and Performance Results in the Brazilian Software Industry. Paper presented at the Proceedings of the 2010 Seventh International Conference on the Quality of Information and Communications Technology.

Schein, E. (1988). Process consultation. (pp. 81). Cambridge: Addison-Wesley Publishing Company.

SOFTEX. (2012). MPS.BR-Mejora de Proceso del Software Brasileño. Ana Regina C. Rocha

Cristina Ângela Filipak Machad. (2012) Recuperado el 15 de enero del 2016 de http://www.softex.br/wp-content/uploads/2013/10/MPS.BR_Gu%C3%ADa_General_Software_2012.pdf

Sommerville, I. (2007). Software Engineering (8 ed.): Addison-Wesley.

Stelzer, D. y Mellis, W. (1999, 14/05/1999). Success Factors of Organizational Change in Software Process Improvement. Paper presented at the SOFTWARE PROCESS–IMPROVEMENT AND PRACTICE.

Trujillo, Y. (2014). Modelo para valorar las organizaciones desarrolladoras de software al iniciar la mejora de procesos. (Tesis en opción al grado científico de Doctor en Ciencias Técnicas), Universidad de las Ciencias Informáticas.

Trujillo , Y., Febles , A., León , G., Betancourt , Y., Enamorado , O. y Sánchez , Y. (2014). Diagnóstico al iniciar la mejora de proceso de software. Ingeniería Industrial , 35(2), 172-183.

Trujillo, Y., Febles, A., León, G., Betancourt, Y., Enamorado, O., Sánchez, Y., . . . Tamayo, L. (2013a). Modelo para valorar las organizaciones previo a la mejora de procesos de software VI Taller de Calidad en las Tecnologías de la Información y las Comunicaciones (pp. 10). La Habana: Informática 2013.

Trujillo, Y., Febles, A., León, G., Betancourt, Y., Enamorado, O., Sánchez, Y., . . . Tamayo, L. (2013b). Modelo para valorar las organzaciones previo a la mejora de proceso de software. Paper presented at the VI Taller de Calidad en las Tecnologías de la Información y las Comunicaciones en la XV Convención y Feria Internacional Informática 2013, Habana, Cuba.

UCI. (2011). Programa de Mejora. Procesos y Guías: Universidad de las Ciencias Informáticas.

Valencia, E. (1997). Optimización mediante algoritmos genéticos. Paper presented at the Anales del Instituto de Ingenieros de Chile.

Zahran, S. (1998). Software Process Improvement: Practical Guidelines for Business Success (ADDISON WESLEY Publishing Company Incorporated ed.).



Buscar:
Ir a la Página
IR