RESUMEN En este ensayo se introduce al lector en el modelo de procesos para desarrollo de Software conocido como Moprosoft, con el fin de sensibilizarlo con las principales ventajas que tiene su utilización en las !MES me"icanas# ara los lectores novatos en el asunto, se incluye una breve descripción sobre que son los modelos de mejora de procesos, como se relacionan $stos con la %n&enier'a de Software y como pueden ayudar en el desarrollo de software a las !MES me"icanas# (simismo se e"plica brevemente la norma me"icana n)mero n)mero NM*+%+-./ NM*+%+-./""+N! ""+N!0E+1 0E+1- titulada titulada 23e 23ecnolo&'a cnolo&'a de la %nformació %nformación n 4 Software 4 Modelos de procesos5 evaluación para desarrollo y mantenimiento de softw softwar are, e,66 la cual cual est7 est7 vi&e vi&ent nte e desd desde e 11- e impl implem emen enta ta al Mode Modelo lo Moprosoft#
%N3R89U00%8N 9esde 9esde la aparic aparición ión de las comput computado adoras ras di&ita di&itales les,, el desarr desarroll ollo o de software :a sido considerado un arte por al&unos y una ciencia por otros# 0on el avan avance ce en la tecn tecnol olo& o&'a 'a di&i di&ita tall el softw softwar are e se :a vuel vuelto to a su vez vez m7s m7s complejo, m7s poderoso y por ende con m7s probabilidad de fracaso# or esto, cada d'a es mas claro que el proceso de desarrollo de software debe se&uir re&las que permitan &enerar un producto que cumpla sus requerimientos de manera confiable y al m'nimo costo# ;a %n&enier'a de Software, definida por la %EEE como 2la aplicación de un enfoque sistem7tico, disciplinado y cuantificable :acia el desarrollo, operación y mantenimiento del software6, presenta a los desarrolladores de software las t$cnicas necesarias para reducir la posibilidad de fracaso en la &eneración del producto software# ;a in&enier'a de software contiene elementos que pueden a&ruparse en varias capas# En la capa b7sica se encuentran los componentes que permiten dar un enfoque de 0alidad al desarrollo completo# Sobre $stos se encu encuen entra tran n los los proc proces esos os,, es deci decirr, las las &u'a &u'as s que que esta establ blec ecen en los los paso pasos s probados para la &eneración de los productos que eventualmente permiten la construcción del software#
Estos procesos pueden aplicarse si&uiendo m$todos espec'ficos, los cuales dependen del tipo de software a desarrollarse# ara poder llevar a cabo todo esto, se utilizan :erramientas que incluyen len&uajes de pro&ramación, software para controlar confi&uración, para controlar el proyecto etc# ;a teor'a que apoya los componentes de cada una de estas capas es inmensa# En este ensayo nos concentraremos en la capa de los procesos# Mostraremos que los procesos bien implementados llevan al $"ito en el desarrollo de software y :ablaremos de un modelo de proceso de desarrollo de software, conocido como Moprosoft, que :a sido dise
0(%3U;8 =#+ ;8S M89E;8S 9E R80ES8S El
proceso para desarrollar
software normalmente contiene las
actividades de comunicación, planeación, modelado, construcción y arranque# Estas actividades pueden ejecutarse concurrentemente y su importancia depender7 de la fase de avance del proyecto de
desarrollo de software#
E"isten varios modelos del ciclo de vida de desarrollo de software que indican la secuencia en que el proceso se puede llevar a cabo# Sin importar cual sea el tipo de ciclo de vida que se use, la calidad del sistema construido estar7 altamente influenciada por la calidad de los procesos usados para adquirir sus insumos, desarrollarlo y mantenerlo# 0ada equipo de trabajo adopta un proceso para desarrollar software, ya sea de manera consciente y estructurada, o inconsciente y resultado de la pr7ctica diaria# Es obvio que vale la pena se&uir al&)n modelo probado para ase&urar que estas actividades consi&uen su objetivo# ;os modelos de procesos son &u'as que presentan las mejores pr7cticas para desarrollo del producto en cuestión# Su propósito es &uiar a las or&anizaciones en la selección de estrate&ias de mejora, determinando la madurez del proceso actual, e identificando puntos importantes a atacar para mejorar tanto el proceso como la
calidad de software# or 2madurez de un proceso6 se entiende el avance que :a alcanzado el proceso en su capacidad para conse&uir aquello para lo cual :an sido creados# ;a capacidad de un proceso es una medida estad'stica utilizada para evaluar cuantitativamente la posibilidad de que un proceso &enere los productos o servicios para los cuales fue dise
implementación
ordenada y
sistem7tica
permite
evaluar
cuantitativamente el nivel de madurez de los procesos de una or&anización, lo que le permitir7 saber donde est7 e ir midiendo su avance en la eficiencia de producción# Se&undo, las empresas que aplican modelos de procesos est7ndares tienen una mayor oportunidad de conse&uir niveles altos de competencia internacional# or otro lado, los modelos de mejora de procesos crean conciencia y responsabilidad de los errores en el equipo de desarrollo, ayudan a conse&uir la satisfacción de cliente pues permiten entre&ar productos de calidad y a tiempo, y reducen los costos de producción# E"isten varios modelos de mejora de proceso internacionales para el desarrollo de software tales como 0MM, 0MM%, %S8+%E0 =-->, %S8 .+1# (dem7s de estos modelos, en 1> se liberó el Modelo de Mejora de procesos de desarrollo de software conocido como Moprosoft, el cual fue dise
0(%3U;8 1#+ %M;EME3(N98 M89E;8S 9E R80ES8
%mplementar un Modelo de roceso si&nifica ense
(l :ablar de implementación de modelos de procesos nos :acemos la si&uiente pre&unta5 ?Es posible aplicar modelos de procesos a una empresa desarrolladora de software altamente inmadura@ ;a respuesta es s'# Sin embar&o esta implementación debe llevarse a cabo si&uiendo un orden y de manera pro&resiva# No es posible pasar el caos al estado óptimo en un solo paso# or otro lado y de manera muy importante es necesario tener en cuenta que los modelos deben ajustarse a la realidad de la cultura de la empresa en cuestión# or esta razón, muc:as veces los modelos %nternacionales no puede aplicarse directamente en empresas latinoamericanas, sino que deben ajustarse a factores caracter'sticos de $stas, tales como tama
0(%3U;8 A#+ M8R8S8B3 MoroSoft se define como un modelo de procesos para el desarrollo y mantenimiento de software diri&ido a la peque
est7 dividido en . procesos,
llamados tambi$n pr7cticas,
or&anizados por cate&or'as de acuerdo a sus respectivas 7reas de aplicación# ;as cate&or'as de procesos coinciden con los tres niveles b7sicos de la estructura de una or&anización5 alta dirección, &estión y operación# ;a fi&ura = muestra la estructura de los . procesos divididos por cate&or'a# 0ada proceso esta cuidadosamente detallado a trav$s de un instrumento llamado atrón de rocesos# Esta descripción est7 dividida en A partes5
descripción &eneral, descripción de pr7cticas y &u'as de ajuste# ;a descripción &eneral incluye los si&uientes componentes5 nombre del proceso, cate&or'a, propósito,
descripción,
objetivos,
indicadores,
metas
cuantitativas,
responsabilidad y autoridad# ;a descripción de la pr7ctica incluye5 roles involucrados y capacitación, actividades, dia&rama de flujo de trabajo Cen UM;D, verificaciones y validaciones, incorporación a la base de conocimiento, recursos
de
infraestructura,
mediciones,
capacitación,
situaciones
e"cepcionales, lecciones aprendidas# Moprosoft determina el nivel de madurez de la capacidad de cada proceso a trav$s de una evaluación, que permite colocar a la empresa en uno de los si&uientes - niveles# • • • • •
Nivel =5 roceso Realizado Nivel 15 roceso (dministrado Nivel A5 roceso Establecido Nivel >5 roceso redecible Nivel -5 8ptimización del proceso
3ambi$n e"iste el nivel , que indica que el proceso est7 incompleto CcaosD# El nivel de una empresa corresponde al nivel m7"imo al que est7n todos sus . procesos# ar pasar de un nivel al si&uiente, la empresa debe cumplir todos los requisitos de los niveles anteriores m7s los del nuevo nivel# ;os requisitos de cada nivel se encuentran detallados en el modelo#
Bi&ura =#+ Estructura de los procesos divididos por cate&or'a
Se :a presentado en este art'culo un breve resumen de los conceptos asociados a modelos de procesos para desarrollo de software, el modelo Moprosoft# Es clara la necesidad en nuestro pa's de aplicar m$todos probados para desarrollo de software Cesto es, in&enier'a de softwareD y la necesidad de se&uir modelos de mejora para conse&uir competencia internacional# ;a competencia internacional es una necesidad en el mundo &lobalizado actual# Moprosoft
es
una
manera
simple
de
iniciar
este
camino
a
la
internacionalización# ;as !MES me"icanas y en &eneral latinoamericanas, pueden iniciar con Moprosoft que es un modelo f7cil de se&uir y barato de implementar,
y
posteriormente
continuar
con
modelos
reconocidos
internacionalmente, tales como 0MM%#
0(%3U;8 A#=#+ 0(R(03ER%S3%0(S estiona recursos, procesos as' como su mantebilidad que componen el conocimiento de la or&anización en el desarrollo de su proyecto Cproductos &enerados, mediciones, documentación de procesos y datos cosec:ados a partir del uso y de las lecciones aprendidas sobre el proyecto desarrolladoD, mediante su definición, planificación, y su implementación# Fasada en los modelos de procesos %S8.=51, en las 7reas de procesos de los niveles 1 y A de 0MM+SG5 0MM+SGv#=#=#, en el marco &eneral %S8/%E0=--> y en pr7cticas y conceptos de MF8H!SGEF8H#
0(%3U;8 A#1#+ IEN3(J(S • • • •
• • • •
Su adopción no es costosa# Especifico para el desarrollo y mantenimiento del software# ractico de aplicar en or&anizaciones peque
•
0uenta )nicamente con . procesos evitando la fra&mentación que se
•
presenta en otros modelos# 0apacidad or&anizacional de &estión de procesos y proyecto
0(%3U;8 A#A#+ 9ESIEN3(J(S • • • • •
Evaluaciones formales constantes No es pr7ctico ni f7cil de usar# No es compresible para los modelos %S8 .5 1 Mejora de procesos orientado al objetivo del ne&ocio# royectos para lar&os plazos#
08N0;US%8N Es importante conocer :oy en d'a los modelos que respaldan la validación de un proyecto de software as' mismo la empresa en la que se trabaja o se piensa fundar, mediante el se&uimiento de normas que son &u'a clave para la culminación de determinado software# El asesoramiento y la determinación de software, ser7n controlados de una forma m7s anal'tica dependiendo de sus requerimientos, para darle al sistema una credibilidad m7s efectiva y que esta sea respaldada bajo normasK y documentada cumpliendo las especificaciones de cierto cliente# Moprosoft menciona que ase&ura la evaluación y el mejoramiento del software, es decir cuida mas el aspecto del sistema, que 0MM% que cuida el quien lo desarrolla, este modelo tambi$n tiene una &ran importancia pues es una norma que ayudara en la entre&a mas efectiva y completa en nuestro sistema pues nos brinda una
planificación a se&uir para entre&ar un sistema funcional y
tecnoló&ico, mediante los modelos de desarrollo de software C*, 9R(, ES%R(;, E30#D#
F%F;%8R(B%(
%EEE# Est7ndar %EEE L=#=1
R# ressman# Software En&ineerin ( practitioner (pproac:# Si"t:
Edition# Mc#raw ill, 1-# Software En&ineerin& %nstitute# 0apability Maturity Model %nte&ration C0MM%D Iersión =#1# 9isponible en :ttp5//www#sei#cmu#edu/# Bec:a de
0onsulta5 1+.+ J# (ramburu# 2El subdesarrollo es un problema cultural y nó económico6 Memorias di&itales del SE 1> ;atinoam$rica# uadalajara M$"ico#
Nov# 1> # 8Otaba y 0# (lquicira Esquivel# 2Moprosoft5 Modelo de rocesos para
la %ndustria del 9esarrollo de Software#6 M$"ico# 1># Normalización y 0ertificación Electrónica6 CN!0ED# 7&ina rincipal#
9isponible en5 :ttp5//www#nyce#orm"/# Bec:a de consulta5 1P+.+ N!0E# 23ecnolo&'a de la %nformación 4 Software 4 Modelos de procesos+ evaluación para desarrollo y mantenimiento de Software# arte =5 9efinición de 0onceptos y roductos6