A nivel mundial, organizaciones de todos los
tamaños han abordado iniciativas de mejora de la calidad del software con
énfasis en la mejora de sus procesos de producción de software. La tendencia
actual en el mercado de las Tecnologías de Información es la de adquirir un
nivel de madurez en los procesos software que asegure la calidad de los
productos obtenidos.
Empezando por definir a “un proceso como el
conjunto de prácticas que se ejecutan para lograr un propósito que incluye
herramientas, métodos, infraestructura y gente; se entiende que un Modelo de
Procesos como una colección estructurada de elementos que describen las
características de procesos efectivos; los procesos que incluyen son aquellos
que en la experiencia han probado ser efectivos”.
En el año 2005 el Standish Group, preparó el
reporte del caos en el que plantea que el 51% de los proyectos de desarrollo de
Software tienen éxito; esto debido en parte a los procesos de calidad de los
productos terminados. Para ello toman como base o referencia los Modelos de
Procesos más difundidos de software aunque su estructura no sea fácil de
traducir al contexto de una organización que se dedica al desarrollo y
mantenimiento de software.
La mejora en los procesos es un esfuerzo
estratégico que las organizaciones tienen que encaminar hacia el cumplimiento y
que se ven complementados con tiempo, esfuerzo e infraestructura. Esta la base
para implementar cualquier modelo de procesos en una organización. Es aquí
donde surgen o entran las mejores prácticas que hablamos en clase, como CMMI,
MoProsoft, ISO 9000, PSP, TSP y MAAGTIC.
Para explicar cada una de ellas tendría que
hacer mucho resumen en el mejor de los casos o tener varios blog para hablar de
cada uno de ellos, sin embargo hablaré de manera genérica de cada uno de ellos.
CMMI implica un amplio marco de trabajo donde
se describen las prácticas esenciales de un proceso efectivo de desarrollo de
software; fue creado en Estados Unidos y se ha convertido en una referencia
internacional de la capacidad de los procesos de desarrollo de software. Define
25 áreas de proceso del ámbito de la ingeniería de software y la ingeniería de
sistemas.
Por su parte, ISO 9000 es una familia de normas
que sirve como guía a las organizaciones (de todo tipo y tamaño) en la
implantación y operación de Sistemas de Gestión de la Calidad. ISO 9000 tiene
un fuerte enfoque en los procesos y en la satisfacción del cliente; además de
que es certificable en México. Sin embargo, por su generalidad, es abstracto y
difícil de adecuar al desarrollo de software.
El Personal Software Process, conocido por sus
siglas como PSP, es una metodología de reciente creación, proveniente del
Instituto de Ingeniería del Software(SEI). PSP es una alternativa dirigida a
los ingenieros de sistemas, que les permite mejorar la forma en la que
construyen software. Considerando aspectos como la planeación, calidad,
estimación de costos y productividad, PSP es una metodología que vale la pena
revisar cuando el ingeniero de software está interesado en aumentar la calidad
de los productos de software que desarrolla dentro de un contexto de trabajo
individual.
Team Software Process (TSP) establece un
conjunto de procesos a nivel de equipos de proyecto orientados a la ejecución
de las tareas, así como mecanismos de gestión e indicadores de control que
permiten gestionar, de manera continua y efectiva, el desempeño del equipo. Es
fundamental contar con ingenieros capacitados en PSP que utilicen de manera efectiva
el proceso individual y que puedan contribuir al desempeño colectivo del
equipo. La ventaja del método es que posibilita el cambio rápido mediante el
autoaprendizaje obtenido de los propios resultados, al aplicar las técnicas que
integran los procesos.
El Manual Administrativo de Administración
General en Materia de Tecnologías de la Información (MAAGTIC), es un marco
normativo que en meses pasados publicó la Secretaría de la Función Pública para
simplificar, agilizar y hacer más efectivos los procesos bajo los cuales operan
las dependencias públicas federales hacia el interior y para con los
ciudadanos.
Dicho manual contiene un marco rector de la
forma en la que se deben llevar a cabo los procesos de las Unidades
Tecnológicas (UTIC's) que existen en cada dependencia. En el se contemplaron
las mejores prácticas y estándares internacionales tales como: Balanced Score
Card, TOGAF, ISO 9001, VAL IT, PMBOOK, CMMI, MOPROSOFT, ITIL, RISK IT e ISO
27001.
Si bien estos modelos internacionales y
nacional permiten determinar la capacidad de procesos de una organización que
desarrolla software, no es fácil adaptarlos al contexto de las empresas
mexicanas, que en su mayoría son PyMEs. De acuerdo con un estudio hecho, el 92%
de las empresas que desarrollan software en México son PyMEs, con menos de 100
empleados .
Es así como surge MoProSoft, por iniciativa de
la Secretaría de Economía y gracias al trabajo de académicos y empresarios
mexicanos, encabezados por la Dra. Hanna Oktaba, profesora de la Facultad de
Ciencias de la UNAM. MoProSoft es un modelo de procesos para la industria de
software nacional, que fomenta la estandarización de su operación a través de
la incorporación de las mejores prácticas en gestión e ingeniería de software.
La adopción del modelo permite elevar la capacidad de las organizaciones que
desarrollan o mantienen software para ofrecer servicios con calidad y alcanzar
niveles internacionales de competitividad. Es también aplicable en áreas
internas de desarrollo de software de las empresas de diversos giros.
Los beneficios de MoProSoft, en palabras de la
directora del equipo que lo elaboró, la Dra. Hanna Oktaba, son:
• Al
tener prácticas integradas, que abarcan desde la gestión de negocio hasta el
desarrollo y mantenimiento de software, las empresas logran un mayor control
sobre su desempeño en el mercado.
• El
costo de incorporación del nuevo personal podría disminuir si se enfocan a la
educación y a la capacitación sobre un modelo único.
• Las
empresas pequeñas, al seguir procesos similares, podrían asociarse con mayor
facilidad para afrontar proyectos de mayor envergadura.
• La
exportación de servicios de software de las empresas mexicanas será más
factible, incluso se podría disminuir la necesidad de la intermediación de las
empresas trasnacionales, gracias a que MoProSoft considera las prácticas
reconocidas en el ámbito internacional.
En general, MoProSoft es un modelo de calidad
que permitirá a la pequeña y mediana empresa de desarrollo de software, el acceso a las prácticas de Ingeniería de
Software de clase mundial.
En mi experiencia laboral y como estudiante, he
utilizado y aplicado CMMI y MoProsoft, ambas tienen similitud, sin embargo
debemos de darle valor a MoProsoft por ser mexicana y tener el éxito que ha
tenido hasta el día de hoy, tuve la oportunidad de que la la Dra. Hanna Oktaba
me diera una plática y posteriormente clase del modelo de procesos que ella
creo, es muy interesante y emocionante a la vez poder tener el conocimiento que
tengo gracias a la creadora de este proceso, sin embargo, algo de lo que no
hablamos mucho pero en este momento está de moda es SCRUM.
Scrum es un enfoque ágil para el desarrollo de
software. En lugar de un proceso completo o metodología, es un marco. Así que
en lugar de proporcionar una descripción completa y detallada de cómo todo lo
que hay que hacer en el proyecto, mucho se deja en manos del equipo de
desarrollo de software. Esto se hace debido a que el equipo sabrá la mejor
manera de resolver el problema que se presentan. Esta es la razón, por ejemplo,
una reunión de planificación de Sprint se describe en términos de el resultado
deseado (un compromiso con un conjunto de características que se desarrollarán
en el siguiente sprint) en lugar de un conjunto de criterios de ingreso, las
definiciones de tareas, los criterios de validación, y criterios de salida que
se proporcionan en la mayoría de las metodologías.
En fin hablar de SCRUM también nos llevaría
tiempo, la elección la tiene cada empresa y mientras tengan resultado con una
de ellas será difícil que cambien, por lo cual podría decir que todas tienen
una finalidad y si la aplican como se debe obtendrán el resultado que se
espera.
Por último, me gustaría compartir la
información que todos escucharon en nuestra clase de acuerdo al ejercicio que
dejo el profesor en grupo, el cual contiene el mapa conceptual y el proceso de la Guía Turística
para que lo puedan visualizar a los que les interese 8).
Proceso
|
|
Nombre
|
Desarrollo
de APP
|
Descripción
|
Guía
a seguir para el desarrollo de Software (aplicaciones Móviles)
|
Propósito
|
Determinar
el ciclo de desarrollo de software
|
Objetivos
|
·
O1.
Utilizar mejores practicas
·
O2.
Estandarización del desarrollo de Software
·
O3.
Determinar el nivel de calidad del software
|
Indicadores
|
·
I1.
Auditorias de ISO
·
I2.
Contar con documentación de los sistemas
·
I3.
Pruebas IRM
|
Metas
Cuantitativas
|
·
M1.
Aprobada o No Aprobada
·
M2.
Num de documentos aprobados /num de documentos requeridos
·
M1.
Satisfactoria o No Satisfactoria
|
Responsabilidad
|
Director
TI
|
Subprocesos
|
·
S1.
Concepción del Proyecto
·
S2.
Planificación
·
S3.
Análisis
·
S4.
Diseño
·
S5.
Construcción
·
S6.
Pruebas
·
S7.
Implantación
|
Procesos
Relacionados
|
·
Procesos
Finanzas
·
Proceso
de RH
·
Proceso
de Publicidad / estudios de mercado
|
Entrada
|
Solicitud
de aplicación Móvil para Guía turística Nacional e Internacional
|
Productos
Internos
|
·
S1.
Concepción del Proyecto. Obtención de proyecto de acuerdo a la demanda del cliente
y realización de carta del proyecto
·
S2.
Planificación. Planeación de actividades y fecha de liberación de la
aplicación.
·
S3.
Análisis. Obtención de requerimientos detallados.
·
S4.
Diseño. Diseño de aplicación mediante aprobación de prototipo
·
S5.
Construcción. Codificación de aplicación
·
S6.
Pruebas. Pruebas unitarias e integrales para validación de aplicación.
·
S7.
Implantación. Liberación de la aplicación
|
Salida
|
Aplicación
de Guía Turística con iOS
|
No hay comentarios:
Publicar un comentario