METODOLOGIAS AGILES Y MODELOS DE DESARROLLO
Las metodologias agiles ayudan al mejor desarrolo de proyectos enfocados en adecuarse a las necesidades del cliente. Es decir, una metodología ágil es una innovadora forma de trabajar y organizar flujos, que divide los proyectos en partes, permite adaptarse sobre la marcha, complementa y resuelve etapas en poco tiempo.
Las metodologias agiles ofrecen varias ventajas aparte de ayudar a una mejor orgaizacion de los proyectos, estas metodologias agiles nos ayudan a agilizar las entregas rapidas y de forma continua, se mejora la calidad del producto, estimula el trabajo colectivo y aunmneta la motivacion.
Los modelos de desarrolo de software son una colección de técnicas y sistemas organizacionales para crear software de computadora. El objetivo de los diversos enfoques es estructurar equipos de trabajo para que puedan construir las funcionalidades del programa de la manera más eficiente posible.
Existen varias metodologias agiles y modelos de desarrollo para eligir, la mejor forma de determinar cual es el adecuado para su proyecto es teniendo en cuenta el valor de la calidad, la rapidez, la innovacion, entre otras cosas.
A continuacion evidenciaremos algunos de estos modelos.
MODELO DE CASCADA
Este fue el primer modelo propuesto y sigue siendo el padre de los demás modelos de procesos, cuando los requerimientos de un sistema están claramente definidos con anticipación y no se espera que cambien en el transcurso de las demás etapas es conveniente su aplicación.
Su ventaja es que contempla toda la funcionalidad del sistema desde un principio.
Su desventaja es que los cambios posteriores o inclusión de nuevos requerimientos
son muy costosos porque impactan todas las fases llevadas a cabo con anterioridad.
Por otra parte toma tiempo importante del equipo la formalización o documentación
de cada actividad una vez se finaliza.
MODELOS INCREMENTALES
Este modelo está pensado para cuando se requiere entregar un producto de
software con una funcionalidad reducida que posteriormente se va incrementando
hasta llegar finalmente a la versión deseada del producto. Los requerimientos
nuevos que se van agregando en cada entrega se denominan incrementos.
La ventaja es que se cuenta con un producto básico pero funcional en un tiempo
menor comparado con el modelo en cascada. La desventaja es que algunos clientes
temen que este proceso evolutivo de entregas se salga de control.
MODELO DE EVOLUCION POR PROTOTIPOS
Este modelo se apoya en los llamados prototipos o versiones primarias del producto
de software al cual se quiere llegar. Estos prototipos evolucionan o se mejoran cada
vez que se aplican las actividades del proceso de software: especificación,
planeación, modelado, desarrollo, implantación. Lo anterior es llamado una iteración
La diferencia con el modelo incremental es que un prototipo se puede descartar por
completo e iniciar con uno nuevo en cualquier etapa del proceso evolutivo o iterativo.
Su ventaja es que desde el primer prototipo ya se puede tener la realimentación del
cliente y se pueden corregir en etapas muy tempranas cualquier falencia que se
Plan rapido
Modelado diseño
rapido
Construcción del
prototipo
Desarrollo entrega y
retroalimentación
Comunicación
20
presente. Su desventaja es que no se puede estimar fácilmente el tiempo de
finalización del proyecto.
MODELOS AGILES
Recientemente se han popularizado los modelos ágiles que combinan las estrategias de
los modelos en cascada, incremental y prototipos. Un ejemplo es el modelo SCRUM que
está basado en el modelo incremental, pero plantea, entre otros, unas técnicas o criterios
para determinar cuándo pasar a una siguiente versión del producto de software.
Estos modelos son apropiados cuando se anticipa que van a surgir cambios en los
requerimientos a lo largo del proyecto y pretenden disminuir este impacto por un lado
haciendo más liviano o ligero la formalización de las etapas del proceso del software y por
otro haciendo énfasis en equipos de trabajo bastante cohesionados y motivados.
PRESSMAN, (2010).
La desventaja es que estas metodologías requieren un entrenamiento y disciplina en los
equipos de trabajo que no es accesible para todas las empresas.
MODELO BASADO EN COMPONENTES
Este modelo se apoya en software previamente desarrollado que se puede incorporar,
parametrizar o configurar al proyecto en desarrollo y de esta forma disminuir la cantidad de
código a producir.
Algunos softwares modernos como SAP, ORACLE, SIESA, entre otros, suministran
componentes para una amplia gama de procesos de negocio (contabilidad, nómina,
inventarios, entre otros) los cuales se configuran de acuerdo a las necesidades específicas
del cliente. Lo anterior evita que la actividad de desarrollo se haga desde cero y los
desarrollos se realizan para llenar las brechas o “gaps” entre la funcionalidad que requiere
el cliente y lo ofrecido por el proveedor.
Los componentes también pueden ser proporcionados a través de “frameworks” o librerías
que también son código ya elaborado y que puede ser configurado, utilizado y en algunos
20 casos modificado en esta fase de desarrollo. Ejemplo de estos frameworks son J2EE,
Microsoft .Net, Laravel (PHP), AngularJS, entre otros.
Una desventaja es que no siempre el componente o módulo cumple con todos los
requerimientos del cliente y en algunos casos las empresas limitan o disminuyen los
requerimientos en favor de una mayor prontitud en la entrega del producto de software
especificado
Este proceso se basa en los modelos tradicionales ya expuestos como son cascada,
prototipos e incrementales y hace énfasis en la utilización de casos de uso apoyados en el
lenguaje UML para modelar los requerimientos del cliente. PRESMAN, (2010).
Está compuesto por cuatro fases: Concepción, elaboración, construcción y transición. Al
igual que los modelos ágiles el proceso unificado también afronta el desafío del cambio
constante de los requerimientos y requiere de un entrenamiento al equipo de proyecto que
no todas las empresas pueden acceder
PROCESO UNIFICADO
Este proceso se basa en los modelos tradicionales ya expuestos como son cascada,
prototipos e incrementales y hace énfasis en la utilización de casos de uso apoyados en el
lenguaje UML para modelar los requerimientos del cliente (PRESMAN, 2010).
Está compuesto por cuatro fases: Concepción, elaboración, construcción y transición.
Al igual que los modelos ágiles el proceso unificado también afronta el desafío del cambio
constante de los requerimientos y requiere de un entrenamiento al equipo de proyecto que
no todas las empresas pueden acceder

Comentarios
Publicar un comentario