Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Presentado por:
Samuel David Córdoba Valencia
Ingeniería de Sistemas
Ingeniería de software
ITFIP
Instituto Tolimense de Formación Técnica Profesional
Tocaima, Cundinamarca – 25 de febrero de 2020
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 2
Contenido
del software....................................................................................................................................11
6. Recomendación...............................................................................................................14
7. Bibliografía.....................................................................................................................15
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 3
Según Sommerville (2005), para muchas personas el software son solo programas de
computadora, sin embargo nos comenta que son todos aquellos documentos asociados a la
configuración de datos que se necesitan para hacer que estos programas operen de manera
adecuada. Estos productos de software se desarrollan para algún cliente en particular o para un
metodologías, modelos y técnicas que permiten resolver los problemas. En los años 50 no
De ahí la importancia de contar con analistas y diseñadores que permitieran un análisis adecuado
Aun así, los resultados eran impredecibles, no se sabía la fecha exacta en que concluiría un
proyecto de software, no había forma de controlar las actividades que se estaban desarrollando.
software en un proceso formal, con resultados predecibles, que permitan obtener un producto
final de alta calidad y satisfaga las necesidades y expectativas del cliente. Según Gacitúa (2003),
El término ingeniería del software empezó a usarse a finales de la década de los sesenta,
para expresar el área de conocimiento que se estaba desarrollando en torno a las problemáticas
computación cada vez más y más complejos, asociado a la inmadurez del propio sector
se llamó la crisis del software. La crisis del software finalizó pues se comenzó a progresar en los
Según Silva (2001) desde 1985 hasta el presente, han ido apareciendo herramientas,
dificultad propia de los nuevos sistemas, y su impacto en las organizaciones, ponen de manifiesto
las ventajas, y en muchos casos la necesidad, de aplicar una metodología formal para llevar a
cabo los proyectos de este tipo. La ingeniería de software es una tecnología multicapa en la que,
según Pressman (2005), se pueden identificar: los métodos, el proceso (que es el fundamento de
la Ingeniería de Software, es la unión que mantiene juntas las capas de la tecnología) y las
mediante las cuales lo que debe hacerse, se modela y analiza (Choque, 2001).
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 5
perspectiva particular y así proporcione información parcial sobre el proceso. Éstos modelos
generales no son descripciones definitivas de los procesos del software más bien son
abstracciones de los procesos que se pueden utilizar para el desarrollo del software. Puede
pensarse en ellos como marcos de trabajo del proceso y que pueden ser adaptados para crear
procesos más específicos. Los modelos que mencionaremos en este punto son:
peticiones del cliente para producir un sistema que satisfaga sus necesidades.
Algunas de las metodologías tradicionales más utilizadas para el desarrollo de software han
Software (TSP)”.
Con PSP, los desarrolladores utilizan procesos bien definidos y medibles. Se toma
información de tamaño, tiempo y defectos al momento de realizar el trabajo. Se utilizan los datos
para: planear y monitorear el trabajo, así como administrar la calidad de los productos que se
entorno donde el trabajo efectivo de equipo sea normal y natural. En donde involucra a los
PSP y TSP son potentes herramientas que proporcionan los conocimientos necesarios, la
Actualmente los negocios operan en un entorno global que cambia rápidamente. Tienen que
Actualmente el desarrollo y entrega de manera rápida son los requerimientos más críticos de los
sistemas. De hecho, muchas organizaciones están dispuestas a obtener una pérdida en la calidad
del software y en el compromiso sobre los requerimientos en favor de una entrega rápida del
software.
Los procesos de desarrollo del software basados en una completa especificación de los
aplicaciones. Cuando los requerimientos cambian o se descubren problemas con ellos, el diseño
o implementación del sistema se tiene que volver a realizar o probar. Como consecuencia,
definitivo se entrega mucho tiempo después al cliente con el que inicialmente se pactó. En un
entorno de negocios tan cambiante, esto puede causar verdaderos problemas. Para cuando esté
disponible el software, la razón original de su adquisición puede ser que haya cambiado de forma
radical que en realidad éste sea inútil. Dicha metodología combina una filosofía y un conjunto de
software incremental, equipos pequeños con alta motivación, métodos informales y una
simplicidad general del desarrollo. Los procesos de desarrollo rápido de software están diseñados
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 8
para producir software útil de forma rápida. Generalmente, son procesos interactivos en los que
Los métodos ágiles no se deben de utilizar para el desarrollo de sistemas críticos en los que
es necesario generar un análisis detallado de todos los requerimientos del sistema para así
métodos ágiles y su penetración ocurre a un ritmo pocas veces visto en la industria: en tres o
cuatro años, según el Cutter Consortium, el 50% de las empresas define como “ágiles” más de la
mitad de los métodos empleados en sus proyectos (Charette, 2004). Algunas de las metodologías
utilizado. El nombre de XP fue acuñado por Beck (2000), debido a que el enfoque fue
desarrollado utilizando las mejores prácticas del desarrollo iterativo y con la participación
extrema del cliente. La programación extrema (XP), que algunos consideran una innovación
extraordinaria y otros creen cínica (Rakitin, 2001). En la metodología extrema, todos los
implementan directamente como una serie de tareas. Los programadores trabajan en parejas y
desarrollan pruebas para cada tarea antes de escribir el código. Todas las pruebas se deben
por medio de un enfoque que sirve para la descripción de requerimientos basado en las historias
los requerimientos del sistema. Dichos requerimientos no se especifica como una lista de
funciones requeridas en el sistema. Más bien, los clientes del sistema son parte fundamental del
equipo de desarrollo esto permite que discutan escenarios con todos los miembros del equipo.
Desarrollar conjuntamente tarjetas de historia (story card) que recogen las necesidades del
cliente. Por ende el equipo de desarrollo intentará implementar esos escenarios en una entrega
futura del software. Un punto fundamental en la ingeniería del soporte tradicional es que se debe
• Metodología SCRUM
Shuterland, 2011) (Shuterland, 2012), la cual aplica las mismas premisas conceptuales que XP
aplicaciones. SCRUM es una metodología ágil y flexible que sirve para gestionar el desarrollo de
se compromete con el proyecto dado que lo ve crecer iteración a iteración. Asimismo le permite
en cualquier momento realinear el software con los objetivos de negocio de su empresa, ya que
puede introducir cambios funcionales o de prioridad en el inicio de cada nueva iteración. Esta
forma de trabajo promueve la innovación, motivación y el compromiso del equipo que forma
parte del proyecto, por lo que los profesionales encuentran un ámbito propicio para desarrollar
sus capacidades. SCRUM genera algunas ventajas a diferencia de otras metodologías agiles entre
ellas:
• Cumplimento de expectativas
• Flexibilidad a cambios
• Mayor productividad
• Predicciones de tiempos
• Reducción de riesgos
stories”) son divididos en grupos en función de su prioridad relativa para luego ser
implementados en ciclos de esfuerzos relativamente cortos llamados “sprints”; las tareas son
organizadas en el equipo de tal manera que las asignaciones y prioridades se revisan diariamente
en una reunión breve llamada “SCRUM” que le da su nombre la metodología. En este enfoque se
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 11
siguen los principales criterios del manifiesto generando así liberaciones parciales incrementales
del producto que se esta desarrollando. La evidencia es consistente que al abrazar la hoja de ruta
y comprometer las inversiones necesarias para desplegar formalmente esta metodología también
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 12
se abordan al mismo tiempo aspectos clave del despliegue de prácticas maduras de proceso.
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 13
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 14
del desarrollo de
proyecto.
Solucionar cualquier
cuestión que se
plantee requiere una
cantidad sustancial
de tiempo, esfuerzo y
dinero.
La metodología en
cascada no es ni mejor
ni peor que otras,
sólo hay que saber
elegirla cuando resulta
más conveniente su
aplicación, en función
del proyecto y sus
necesidades. Y esto implementación de
sucede, por ejemplo, al nuevas tecnologías.
enfrentarse a
iniciativas estáticas,
donde no es muy
probable la
introducción de
cambios se realizará a
lo largo del proceso de
desarrollo o cuando se
cuenta con equipos de
trabajo de menor
experiencia, que
pueden beneficiarse de
una estructura más
rígida, como la que
propone este enfoque.
El modelo de Puede adaptarse y Resulta difícil Metodología SCRUM Flexión de cambio. Dificultad de
desarrollo evolutivo aplicarse a lo largo convencer a grandes Mayor productividad aplicación en
(espiral). de la vida del clientes de que el (Equipo de trabajo grandes proyectos.
software de enfoque evolutivo es más motivado). Plantea un problema
computadora. controlable. Reducción de riesgos. si el desarrollo está
Como el software Debido a su elevada Cumplimiento de restringido por una
evoluciona a medida complejidad no se expectativas. fecha de entrega y
que progresa el aconseja utilizarlo en Predicciones de un precio de entrega
proceso, el pequeños sistemas. tiempos: se conoce la cerrados por
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 16
contrato.
Supone que el
equipo está muy
formado y motivado.
desarrollador y el Funciona bien solo
cliente comprenden en equipos
y reaccionan mejor pequeños.
ante riesgos en cada Esta metodología
uno de los nivele necesita sólo los
evolutivos. velocidad media del
equipo por sprint. miembros del equipo
Permite a quien lo con experiencia. Si el
Programación
desarrolla aplicar el equipo está formado
Organizada.
enfoque de por personas que son
construcción de Los problemas se
novatos, el proyecto
prototipos en identifican con
Genera mucho tiempo no se puede
cualquier etapa de suficiente antelación
en el desarrollo del completar en el
evolución del a través de las
sistema tiempo.
producto. reuniones diarias y
Si alguno de los
Modelo costoso por lo tanto se
Demanda una pueden resolver con miembros del equipo
consideración directa Requiere experiencia deja el desarrollo del
en la identificación de rapidez.
de los riesgos proyecto, puede
riesgos Es más fácil para
técnicos en todas las tener un enorme
entregar un producto
etapas del proyecto y efecto inverso en el
de calidad en un
si se aplica proyecto.
tiempo programado.
adecuadamente Es necesario que el
Alineamiento entre el
debe reducir los equipo de trabajo
cliente y el equipo de
riesgos antes de que sea auto organizado.
desarrollo.
se conviertan en Depende en gran
problemas. medida de la
En la utilización de interacción del
grandes sistemas a cliente, por lo que si
doblado la el cliente no está
productividad. claro, el equipo se
puede conducir en la
dirección
equivocada.
se enfoca en integrar
estos componentes
en el sistema más
que en desarrollarlos
Simplifica las
desde cero. Estos tres
pruebas.
modelos se utilizan
Simplifica el
ampliamente en la
mantenimiento del
práctica actual de la
sistema.
ingeniería del
Mayor calidad. software, no se
Ciclos de desarrollo excluyen
más cortos. mutuamente y a
menudo se utilizan
juntos especialmente
para el desarrollo de
grandes sistemas.
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 18
3. Recomendación
Todos los modelos y metodologías para el desarrollo del software son viables dependiendo
del software que se vaya a crear. Por supuesto, en virtud de la evolución y el perfeccionamiento
hacer un análisis de la programación a realizar para decidir el modelo y/o metodología a usar.
Modelos y metodologías para desarrollo del software
Metodologías para el desarrollo ágil del software 19
4. Bibliografía
management/metodologia-agile/que-son-las-metodologias-de-desarrollo-de-software
Programación extrema.
https://iswugaps2extremeprogramming.wordpress.com/2015/09/14/ventajas-y-desventajas/
doctorales/2014/jlcv/software.htm
https://www.wearemarketing.com/es/blog/metodologia-scrum-que-es-y-como-funciona.html
http://www.diegocalvo.es/metodologia-xp-programacion-extrema-metodologia-agil/