Sie sind auf Seite 1von 8

DIFERENCIAS DE CICLOS DE VIDA CONTRA METODOLOGIAS DE DESARROLLO

INTRODUCCIÓN

Bajo la necesidad de buscar la adaptación de los procesos a las exigencias del nuevo orden

tecnológico, se requirió que el proceso fuera gestionado de manera esencial, dejando de lado la

técnica codificar y corregir y buscando un nuevo método que permitiera dar un seguimiento del

éxito o fracaso de dicho proyecto.

Uno de los puntos principales de la ingeniería de software es la capa asignada al proceso. Esto

debido a que dicho proceso definirá un entorno de trabajo entre áreas involucradas, las cuales

soportaran y gestionaran el proyecto del software en cuestión, estableciendo a través de métodos,

controles y medidas de calidad elementos claves para un resultado óptimo del trabajo.

Dentro de esta capa asignada a los procesos, se encuentra una serie de elementos que permitirán

distinguir entre el tiempo o duración de un proyecto, así como la metodología usada para su

construcción.

Dicha metodología está compuesta en un inicio por modos sistemáticos de realizar, gestionar y

administrar un proyecto a través de etapas y acciones, partiendo desde la necesidad del producto

hasta cumplir con el objetivo por el que fue creado.

Podemos distinguir en primera instancia que los métodos nos indican cómo construir técnicamente

el software, definiendo roles y actividades involucradas. Estos contemplan una extensa gama de

tareas que van desde el análisis de requisitos, diseño y construcción de programas, pruebas y

mantenimiento.
Así mismo podemos visualizar el ciclo traducido en una serie de actividades y tareas involucradas

en el desarrollo, la explotación y el mantenimiento de un producto de un software.

Estos ciclos deben de ser planificados y estudiados de principio a fin, así como establecer la

metodología de desarrollo que se usara dentro de todo este proceso.

El proceso de elaboración y de vida de un software debe estar soportado sobre una serie de

elementos de calidad, agrupadas en metodologías definidas. Este esfuerzo de gestionar la calidad

promueve una cultura de mejora constante en los procesos que día a día provocan que el desarrollo

y la estructura de los elementos enfocados a la ingeniería de software sean más robustos.

A continuación presentaremos un acercamiento más exacto a la definición y distinción entre Ciclos

de Vida y metodologías de desarrollo de un proceso.

DESARROLLO

Como mencionamos anteriormente, es necesario establecer las definiciones necesarias para los

“Ciclos de vida de Desarrollo de Sistemas” y el de “metodologías de desarrollo de un proceso”, ya

que sin estas, nos sería muy difícil comprender el enfoque de cada una de ellas.

Según la norma ISO 12207 (la cual es el estándar para los procesos de ciclos de vida del software),

define los Ciclos de Vida como: “un marco de referencia que contiene los procesos, las actividades

y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de

software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de

su uso”1.

1
International Organization for Standardization, Norma ISO 12207:2008, “Systems and software engineering -- Software life cycle
processes” (https://www.iso.org/standard/43447.html)
Podemos notar dentro de esta definición propuesta, que se concibe al ciclo de vida del software

desde la necesidad surgida a raíz del cliente, pasando por la definición y desarrollo hasta llegar a un

producto terminado que sea de utilidad para el usurario.

Otra definición propuesta por Steve McConnell (precursor e influyente en la ingeniería del software)

es la de concebir al Ciclo de Vida como un “modelo prescriptivo de lo que pasaría entre la primera

chispa y el funcionamiento del sistema”.

Es necesario resaltar que, dentro de estas dos definiciones citadas, se contemplan diversos

elementos dentro de un “marco de referencia” o dentro de un “modelo”

Conceptualmente podemos definir al marco de referencia como la “recopilación breve y concisa de

conceptos, teorías y reglamentación (aplicable) que se relacionan directamente con el desarrollo

del tema y del problema de investigación”2.

De igual forma podemos concebir un modelo como “una representación abstracta, conceptual,

gráfica o visual de sistemas o procesos a fin de analizar, describir, explicar, simular esos procesos”.3

Resaltamos estos dos conceptos ya que los Ciclos de Vida tienen enfoques teóricos llevados a través

de marcos de referencias y modelos para su aplicación en el desarrollo en la industria del software.

Esto podemos vislumbrarlo desde los objetivos que busca un ciclo de vida, los cuales van desde

definir actividades, lograr congruencia entre proyectos, así como la revisión y control hasta lograr

organizar las actividades de manera lógica.

Recordemos que existen distintos modelos que pueden aplicarse a un ciclo de vida, como son:

2
Cubillos Alonso, German. Proyectos de grado, “Marco de Referencia” (https://trabajodegradouamerica.wikispaces.com/file/view/MarcoReferencia.pdf)

3
(https://es.wikipedia.org/wiki/Modelo_cient%C3%ADfico)
 Cascada Pura

 Codificar y Corregir

 Espiral

 Cascadas modificadas

 Cascada con fases solapadas

 Cascada con subproyectos

 Cascada con reducción de riesgos

 Prototipo Evolutivo

 Entrega por etapas

 Diseño por planificación

 Entrega evolutiva

 Diseño por herramienta

 Software comercial existente

Todos estos modelos de Ciclo de vida de un software tienen sus ventajas y desventajas,

dependiendo del tipo de proyecto asignado y del tipo de producto que se requiera desarrollar.

En general, las principales funciones que deben poseer los ciclos de vida son las de:

 Determinar el orden de los fasces del proyecto

 Establecer los criterios de transición entre cada fase

 Definir entradas y salidas de cada fase

 Describir cada estado por los que pasa el producto

 Definir un esquema que sirve para planificar, organizar, conducir y desarrollar


Cada ciclo de vida mencionado anteriormente, posee una serie de fases que se pueden planear.

Dichas fases deben de contener las actividades necesarias para el desarrollo del proyecto, esto con

la finalidad de conocer que recursos deberán de ser asignados a cada fase y actividad.

Todo ciclo de vida también posee entregables que pueden surgir al termino de cada fase, así como

un entregable final el cual será la conclusión del proyecto materializado en un producto terminado.

No obstante, estos ciclos de vida pudieran no contener el detalle necesario dentro de cada actividad

para lograr el éxito proyecto, ya que únicamente conforman un marco de referencia para el

desarrollo del proyecto.

Debido a esta situación, es necesario la incursión en técnicas y procesos en donde existen

definiciones y roles específicos para dentro de cada actividad, dicho conjunto de elementos las

conocemos como una metodología.

Una definición sobre metodología pudiera ser: el conjunto de métodos que se utilizan en una

determinada actividad con el fin de formalizarla y optimizarla. Determina los pasos a seguir y como

realizarlos para finalizar una tarea.

Otra definición más exacta acerca del concepto de metodología es “un enfoque estructurado para

el desarrollo de software que incluye modelos de sistemas, notaciones, reglas, sugerencias de

diseño y guías de procesos”4

Es por esta situación que una metodología debe de complementar el proceso del ciclo del software,

ya que completara los procesos a seguir para establecer un proceso formal en cada actividad y así

lograr un producto terminado.

4
(http://www.eumed.net/tesis-doctorales/2014/jlcv/software.htm)
Estas metodologías definen exactamente las tareas a realizar en cada fase, las entradas y salidas

que deben de existir dentro de estas, los productos y herramientas necesarios para llevar acabo los

procesos, y los criterios de evaluación que se deberán de cumplir durante el proceso de elaboración

del producto.

La metodología elegida será el marco de trabajo que tendremos que usar para planificar y

estructurar cada una de las actividades y así poder controlar cada parte del proceso. Cada

metodología establece ciertas virtudes y debilidades que tendrán que valuar para identificar cual es

la más idónea para cada proyecto.

Debemos de comprender que estas metodologías están conformadas por una filosofía de desarrollo

y que consideran herramientas y modelos que ayudaran al desarrollo de cada actividad.

Algunas ventajas que podemos mencionar sobre el uso de esta metodología son la de facilitar la

planificación, el control y el seguimiento del proyecto, mejorar el costo asignado, optimizar el uso

de recursos disponibles así como facilitar la evaluación de resultados y mejorar la comunicación

entre el usuario y el equipo desarrollador.

Como mencionamos en párrafos anteriores, estas metodologías incluyen una filosofía las cuales las

agrupan en dos grupos importantes: las metodologías tradicionales y las metodologías agiles.

Las metodologías tradicionales se caracterizan por el gran uso de documentación durante todo el

ciclo del proyecto, cumpliendo con el plan de trabajo establecido desde su fase inicial en cambio las

metodologías agiles se basan en la respuesta y cohesión del equipo de trabajo, así como la enfatizan

en la comunicación vital con el cliente.

Algunos ejemplos de los tipos de metodologías junto con su enfoque son los siguientes:

 Programación Extrema (Extreme Programming, XP) – Metodologìa Agil


 RATIONAL UNIFIED PROCESS (RUP) – Metodologìa Tradicional

 CRYSTAL METHOLOGIES Metodologìa Agil

 MSF – Metodologìa Tradicional

Es importante analizar cada beneficio que contiene cada una de estas para poder llevar acabo una

planificación correcta en cada proceso. Ya que de lo contrario, el método establecido produciría

problemas en la ejecución del trabajo.

CONCLUSIONES

Es importante distinguir entre el modelo conceptual que definirá la vida de un proyecto ( Ciclo de

vida) y el método a seguir dentro del desarrollo de cada actividad comprendida dentro del ciclo de

vida.

Como hemos visto en el desarrollo de este documento, la decisión estará basada en el tipo de

proyecto que estemos por ejecutar, ya que el alcance y objetivo de este proyecto determinara en

primer lugar el tiempo que deberá de durar el proyecto y asì elegir el ciclo de vida correcto para

posteriormente, analizar cada tipo de metodología que deberá de usarse en el desarrollo de cada

fase del proyecto.

Los ciclos de vida y las metodologías no se contraponen en su aplicación, pero sì deben de encontrar

la armonía necesaria para que el proyecto cumpla con todos los estándares de calidad y asì el cliente

este satisfecho con el producto final.

Bibliografía
Fundación Wikimedia, Inc.,. (s.f.). Wikipedia. Obtenido de
https://es.wikipedia.org/wiki/Modelo_cient%C3%ADfico

Cubillos Alonso, G. (s.f.). wikispaces. Obtenido de


https://trabajodegradouamerica.wikispaces.com/file/view/MarcoReferencia.pdf

Grupo ISSI. (2003). Software, Metodologías Ágiles en el Desarrollo de Software. Taller realizado en
el marco de las VIII Jornadas de Ingeniería del Software y Bases de Datos.
International Organization for Standardization. (s.f.). International Organization for
Standardization. Obtenido de https://www.iso.org/standard/43447.html

Roberth G. Figueroa, C. J. (s.f.). METODOLOGÍAS TRADICIONALES VS. METODOLOGÍAS ÁGILES.


Universidad Técnica Particular de Loja, Escuela de Ciencias en Computación.

Union Bolivariana. (s.f.). Ingenieria de software. Obtenido de


http://ingenieriadesoftware.mex.tl/52682_Metodologias-Agiles.html

Valdéz, J. L. (s.f.). http://www.eumed.net. Obtenido de http://www.eumed.net/tesis-


doctorales/2014/jlcv/software.htm

Das könnte Ihnen auch gefallen