You are on page 1of 4

METODOLOGIAS Y MODELOS PARA LA

GESTIN DEL CICLO DE VIDA DE


DESARROLLO DE SOFTWARE
Eliseo Castro Jimenez
Universidad del Norte, Divisin de Especializaciones, Especializacin en Gerencia de
Sistemas de Informacin
Resumen - Desarrollar productos de software se ha convertido
en una labor no solo para las empresas dedicada a este negocio,
sino por empresas que cuentan con un rea de Desarrollo de
Software dentro de su departamento de Tecnologia de la
Informacin y se preocupan por la calidad con que se elabora el
producto. El objetivo de esta lectura, es repasar las diferentes
alternativas con que cuentan las organizaciones para gestionar el
ciclo de vida de desarrollo de software orientado a la calidad.

INTRUCCIN
La exigencia del mercado, la competencia globalizada, la
evolucin de las tecnologas, satisfacer a los clientes, reducir
costes, la preocupacin de entregar productos con calidad y
libre de defecto, ha permitido que la Ingeniera de Software
encuentre una madurez y crecimiento en sus estndares y
procesos, permitiendo cumplir con estos desafos en estos
das. Por eso, existen metodologas que han entrado en su
etapa de madurez, que han logrado evolucionar y permiten ser
utilizada en cualquier tipo de organizacin que desarrolle
software, pero enfocado a la Calidad.
La calidad se ha convertido en un pilar fundamental para
cualquier organizacin, por ende la Ingeniera de Software no
se ha quedado atrs y gracias a los modelos y normas
existentes, han permitido que las organizaciones logren sus
objetivos. Apoyndonos con los modelos como es el caso de
ISO/IEC 90003, ISO/IEC 15504, CMM, CMMI, SCAMPI,
normas como la ISO 9001, estndares como la ISO/IEC
12207 y metodologas de desarrollo de software como UP,
RUP, MSF, ESPIRAL, TSP/PSP, entre otras.
Ahora bien, para poder saber el grado de madurez en que se
encuentra una organizacin sobre su modelo de desarrollo de
software, grado de calidad, conocer cunto tiempo se puede
demorar la construccin de un producto con el objetivo de
costear y gestionar sus recursos, en necesario la medicin y
estimacin. La medicin y estimacin nos va a permitir lograr
con los siguientes objetivos fundamentales: ayudarnos a
entender que ocurre durante el desarrollo y el mantenimiento,
permitirnos controlar que es lo que ocurre en los proyectos y
poder mejorar los procesos y productos [2].

II METODOLOGIAS PARA LA GESTIN DEL CLICLO
DE VIDA DE DESARROLLO DE SOFTWARE
En la Ingeniera de Software existen diversas metodologas
que permite la gestin del ciclo de vida de desarrollo de
software y que se encuentran enfocados a la calidad o no,
como los es la programacin extrema. A continuacin
describiremos brevemente algunas de ellas.
A. PSP (Personal Software Process)
Permite gestionar de manera individual las prcticas de
ingeniera de software, creando una disciplina de control de
sus procesos y la mejora continua.
El proceso PSP apoya a las empresas que estn llevando a
cabo o tienen planeado implementar un plan de mejora de
procesos basados en un modelo como CMM, ayudando a
crear personal capacitado y disciplinado en su trabajo [1].
B. TSP (Team Software Process)
Permite gestionar equipos para el desarrollo de software de
calidad y que se construye bajo la base del PSP.
El proceso TSP se define a travs de una seria de guiones
en los que se describen todos los aspectos de planificacin de
proyectos y desarrollo de productos [1].


C. RUP(Rational Unified Process)
Proceso para la gestin de desarrollo de software bajo los
requisitos del usuario, basado en componentes
interconectados entre si y que est diseado bajo el enfoque
incremental e iterativo. Para el diseo de los sistemas utiliza
el lenguaje de modelamiento unificado (Unified Modeling
Language, UML) y est compuesto por 4 fases: Inicio,
Elaboracin, Construccin y Transicin.
D. XP (Extrem Programming)
Es una metodologa que no est enfocada a la calidad ya
que se basa en lo simple, en la retro-alimentacin continua
entre usuario y desarrollador y poca documentacin. Su
principal objetivo es la satisfaccin del usuario y potenciar al
mximo el trabajo en equipo [3].
E. SCRUM
Es una metodologa gil enfocada en el proceso iterativo e
incremental teniendo como principal objetivo producir mayor
cantidad de software con calidad en periodos de tiempo
llamado Sprint.
Un aspecto importante de Scrum es que al final de cada
Sprint hay una demostracin, con el objetivo de mostrar al
cliente las funcionalidades finalizadas y de esta manera
involucrarlo en el proyecto [3].

II INGENIERIA DE REQUISITOS COMO
COMPONENTE PRINCIPAL PARA EL DESARROLLO
DE SOFTWARE
La Ingeniera de requisitos es [4]: La disciplina para
desarrollar una especificacin completa, consistente y no
ambigua, la cual servir como base para acuerdos comunes
entre todas las partes involucradas y en donde se describen las
funciones que realizar el sistema.
Es tan importante los requisitos dentro la construccin de
un software ya que define el alcance del mismo, la prioridad
del desarrollo, entrega y establece el tiempo y coste del
mismo, convirtindose en un contrato entre el proveedor y su
cliente. En los Sistemas de Informacin existen diferentes
tipos de requerimientos, los funcionales y no funcionales. Los
requisitos funcionales son aquellos expresados por los
usuarios y describe el problema a resolver y sus deseados para
alcanzar el objetivo. Los requisitos no funcionales son las
caractersticas o capacidades tcnicas que debe contar el
sistema, permitiendo satisfacer las necesidades del usuario;
los requerimientos no funcionales pueden estar categorizados
de diferentes en diferentes tipos: usabilidad, seguridad,
desempeo y estabilidad, mantenimiento, soporte, hardware,
restricciones, entre otras.
A pesar de lo importante y crtico que son los
requerimientos, no se le presta la importancia del caso; por
consiguiente, es una de las fases ms importante que debe
tener cualquier metodologa y que se debe contar con la
correcta definicin y madurez dentro de un modelo de
desarrollo para poder entregar productos con calidad dentro
del costo y tiempo ofrecido.

III MODELO DE MADUREZ PARA EL DESARROLLO
DE SOFTWARE
Segn las estadsticas, menos del 20 % de los proyectos se
completan en costes, plazos, alcance y nivel de calidad. Los
factores que influyen son muchos y los puntos ms
importantes del fracaso, son: Falta de experiencia
generalizada; poco realismo de los planes de negocio; cultura
de administracin de los proveedores y exceso de
neotecnicismo en los desarrolladores. [5].
Las organizaciones se han adoptados procesos que son
informales, preocupndose ms por la parte tcnica que la
gestin y madurez de sus procesos. Por lo tanto, existen
modelos de madures que nos permite lograr eficientemente
procesos eficientes, madurando no solo el mismo sino a los
colaboradores, llegando ser predecible y repetible. No
enfocaremos en este apartado de CMMI (de las siglas en
ingls Capability Maturity Model Integration), que nos ofrece
lo descrito anteriormente.
CMMI fue un modelo adoptado por el gobierno de los
Estados Unidos por intermedio de su secretaria de defensa
con el nombre inicial de CMM (Capability Maturity Model),
para asegurar que su s proveedores cumplieran unos niveles
de calidad. Viendo el xito de este modelo se extendi a la
Ingeniera de Sistemas y otras disciplinas.

A. Qu ES CMMI?
CMMI (Capability Maturity Model Integration), es un
modelo de madurez en busca de la mejora de procesos que
provee a las organizaciones en sus elementos esenciales para
ejecutarlos eficazmente. Puede ser usado para orientar la
mejora de los procesos a travs de la vida de un proyecto, un
rea o una organizacin entera.
Ofrece un conjunto de buenas prcticas que inicia desde la
concepcin hasta la entrega y su mantenimiento.
B. DISCIPLINA DE CMMI
Existes unas disciplinas de conocimiento que abarca
CMMI para su implementacin; estas disciplinas son:
Ingeniera de Sistemas: es el desarrollo de sistemas de
todo tipo, exista o no software. La ingeniera de sistemas
se centran en transformar necesidades del cliente en
productos y es soportado a lo largo de su vida.
Ingeniera de Software: es el desarrollo de software y
va encaminado a aplicar metodologas sistemticas,
disciplinadas y cuantificables para el ciclo de vida del
desarrollo de software.
Desarrollo Integrado de Productos y Procesos
(Integrated Product and Process Development
IPPD): es un enfoque sistemtico permitiendo la
colaboracin eficiente del personal durante la vida del
producto con el fin de satisfacer las necesidades o
requerimientos de los clientes.
Relacin con proveedores: permite la gestin de los
proveedores que estn desarrollando un producto a
entregar.
C. NIVELES DE MADUREZ
Un nivel de madurez es una etapa evolutiva bien definida,
para convertirse en una organizacin madura [5].
CMMI cuenta con 5 niveles de maduracin de los cuales
son: Inicial, Gestionado, Definido, Gestionado
Cuantitativamente y En Optimizacin.
El primer nivel (Inicial), es el nivel donde se encuentra
todas las organizaciones que no tienen un proceso,
metodologa o estndar definido o estn en caos. Es el que
inicia cualquier organizacin que desee trabajar bajo este
modelo.
El segundo nivel (Gestionado), los proyectos son
gestionados y controlado durante el desarrollo del mismo.
El tercer nivel (Definido), es donde los procesos de
ingeniera se implantan con mayor efectividad, la
organizacin es proactiva, existen procesos estandarizados,
hay una mejor estimacin, se gestiona los requisitos, entre
otros procesos crticos.
El cuarto nivel (Gestionado Cuantitativamente), en este
nivel ya hay medicin, los proyectos y procesos de pueden
medir para cumplir un objetivo; los ingenieros utilizan datos y
tcnicas de medicin para predecir y tomar decisiones. Y el
ltimo nivel (En Optimizacin), es donde se dice que la
organizacin es totalmente madura y se centra en la mejora
continua, generando innovaciones en sus procesos y tcnicas.
Este es uno de los modelos de madurez ms utilizado,
riguroso, largo y costoso de implementar, apoyado de la
metodologa TSP/PSP pero permitiendo integrar tambin con
otras como es el caso de RUP, MSF, entre otras y hasta con
metodologas agiles como SCRUM.


IV LAS MEDICIONES DEL SOFTWARE

Todo se mide, nuestras vidas, procesos, actividades,
deseos, etc. Por lo tanto, la importancia de medir es para saber
si se cumple un objetivo, saber el horizonte, si requerimos
mejoras y para buscar la excelencia. Ahora, la forma de uno
saber si un proceso cumple con un grado de calidad y debe ser
mejorado es por intermedio de indicadores; se mide tanto el
producto como el servicio, el esfuerzo, tiempo y todo lo que
este a su alrededor. Se puede afirmar que una de las formas de
madurar es con la medicin y contar con buenos indicadores.
La forma de medir con los indicadores es por intermedio de
un modelo de anlisis, que se podra catalogar algoritmo o
clculo matemticos. Estos algoritmos o clculo
matemticos, estn compuesto por un objetivo, valor umbral
y patrones para determinar la necesidad de la accin o para
describir el nivel de confianza del resultado entregado. Por lo
tanto la medicin es el conjunto de operaciones que permite
obtener el valor del resultado de medicin para un atributo de
una entidad, usando una forma de medir [2].
Por consiguiente, todo software tiene un objetivo final,
satisfacer las necesidades del cliente. Dentro del ciclo de vida
de un desarrollo de software podemos contar un cien nmeros
de indicadores, pero siempre van existir los ms bsico y que
permite medir la calidad del mismo.
A nivel de estimacin de tiempo de desarrollo podemos
hablar de Punto de Funcin o Punto de Casos de Uso,
donde el primero nos permite estimar el tamao de un
desarrollo basndonos solo con los requerimientos
funcionales y el segundo basndonos con los Casos de Uso;
para estimar el costo de un proyecto, contamos con el modelo
COCOMO II.
Tambin existen otras medidas clsicas para estimar
tamao del software y bastante utilizadas que dependen de la
experiencia y documentacin que se tenga, que est basado en
las Lneas de Cdigo (LOC, Lines of Code).
Tambin contamos con mtricas de estimacin de tamao
de software que son ms precisas, porque se desarrollan en la
etapa de diseo del sistema basndonos en el modelamiento
con UML; estas mtricas son: MOOSE, tambin conocida
como mtricas CK, mtricas MOOD, las de Loren y Kidd, y
muchos ms; tambin encontramos en el mundo de la
medicin, mtricas a nivel de Base de Datos como lo son:
Moody, Piattinni et al, entre otras [2].
Siempre se ha medido y la medicin se posiciona en una
disciplina importante en cualquier rama, dentro de la
ingeniera de sistemas no debe ser la excepcin teniendo en
cuenta las particularidades que tienen los sistemas ante los
otros productos y servicios. Por eso los modelos de madurez
toman como un alto valor la medicin y definicin de
mtricas o indicadores que permiten visualizar ms all de lo
que se pueda pensar o establecer y es el apoyo para lograr una
madurez dentro de una organizacin y en especial, en el rea
de Tecnologia de la Informacin.

CONCLUSIONES
Por ms que se cuenta con recursos, herramientas,
excelente talentos humanos, personas comprometidas y
dems aptitudes que puede contar un buen profesional,
debemos proveernos con modelos, metodologas e
indicadores que permite la optimizacin del mismo dentro de
la organizacin y lograr el grado de madurez enfocado a la
calidad, dando como cumplimiento a la satisfaccin de
nuestros clientes cumpliendo con los objetivos y necesidades.
Lo ms importante en tener en cuenta que la calidad para
desarrollar un producto de software no es solo para las
organizaciones dedicada a este negocio, sino para todas las
organizaciones que dentro de su rea de Tecnologia de la
Informacin desempee esta funcin y se debe tener como
objetivo estratgico dentro de la organizacin ya que la
supervivencia depende muchos de los Sistemas de
Informacin con que se cuenta. Durante la existencia de la
Ingeniera de Software se han publicado y madurado muchos
modelos y metodologas en que las organizaciones se pueden
apoyar y lo ms importante es entender cules de esta puede
apoyar a cumplir sus objetivos, desarrollar con calidad y
llegar a la maduracin requerida.

REFERENCIAS
[1] Mario G. Piattini, Flix, O. Garcia e Ismael Caballero, Calidad de
Sistemas Informaticos, 1ra ed., Alfaomega Grupo Editores, S.A.
de C.V., Mxico, Mayo 2007.
[2] Mario G. Piattini, Flix O. Garcia, Javier Garzs P., Marcela F.
Genero B., Medicin y Estimacin del Software: Tcnicas y
mtodos para mejorar la calidad y la productividad, 1
ra
ed.,
Alfaomega Grupo Editores, S.A. de C.V., Mxico, Agosto 2008.
[3] Marlene Arias, Deisy Carrero, Francisca Grimn y Otniel Morales,
Software para la evaluacin Online bajo el enfoque de procesos,
2006, [en lnea], Acceso a travs de:
http://ezproxy.uninorte.edu.co:2120/login.aspx?direct=true&db=ed
soai&AN=edsoai.756122690&lang=es&site=eds-live
[4] Caridad Racero Borrell, Importancia de la ingeniera de
requerimientos dentro del ciclo de desarrollo de software.
(Spanish)." Tono: Revista Tcnica De La Empresa De
Telecomunicaciones De Cuba, S.A no. 3: 52-56., Octubre 2006,
[en lnea], Acceso a travs de:
http://ezproxy.uninorte.edu.co:2120/login.aspx?direct=true&db=bt
h&AN=34162106&lang=es&site=eds-live
[5] Madeleine Huayta Garcia, CMMI: ASEGURAMIENTO DE LA
CALIDAD. (Spanish)." Ingenieria Industrial 27, no. 2/3: 11-
15. Fuente Acadmica Premier, 2006, [en lnea], Acceso a travs
de:
http://ezproxy.uninorte.edu.co:2120/login.aspx?direct=true&db=fu
a&AN=25387643&lang=es&site=eds-live

You might also like