[go: up one dir, main page]

100% encontró este documento útil (1 voto)
97 vistas34 páginas

D3. Metodologías de Desarrollo

Este documento describe los antecedentes y tipos de metodologías de desarrollo de software. Explica que en los años 50 no existían metodologías formales y que su importancia creció con el tiempo. Luego describe las metodologías tradicionales como la cascada, prototipado, espiral e incremental. Finalmente, habla sobre las metodologías ágiles más modernas como Scrum, Kanban y Lean, las cuales se basan en ciclos cortos e iterativos para entregar software de forma flexible.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
97 vistas34 páginas

D3. Metodologías de Desarrollo

Este documento describe los antecedentes y tipos de metodologías de desarrollo de software. Explica que en los años 50 no existían metodologías formales y que su importancia creció con el tiempo. Luego describe las metodologías tradicionales como la cascada, prototipado, espiral e incremental. Finalmente, habla sobre las metodologías ágiles más modernas como Scrum, Kanban y Lean, las cuales se basan en ciclos cortos e iterativos para entregar software de forma flexible.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 34

GESTIÓN DE PROYECTOS

DE SOFTWARE
D3. METODOLOGÍAS DE DESARROLLO
ANTECEDENTES DE LAS
METODOLOGÍAS DE DESARROLLO
ANTECEDENTES DE LAS
METODOLOGÍAS DE DESARROLLO
ANTECEDENTES
Para muchas personas el software son solo programas de computadora, sin embargo, Somerville (2005) 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 mercado en general. Para
el diseño y desarrollo de proyectos de software se aplican metodologías, modelos y técnicas que permiten
resolver los problemas.
En los años 50 no existían metodologías de desarrollo, el desarrollo estaba a cargo de los propios
programadores. De ahí la importancia de contar con analistas y diseñadores que permitieran un análisis
adecuado de las necesidades que se deberían de implementar.

M. en E. Georgina Varona Vargas


ANTECEDENTES DE LAS
METODOLOGÍAS DE DESARROLLO
DEFINICIÓN
Una Metodología de desarrollo de software, consiste principalmente en hacer uso de diversas herramientas,
técnicas, métodos y modelos para el desarrollo. Regularmente este tipo de metodología, tienen la necesidad de
venir documentadas, para que los programadores que estarán dentro de la planeación del proyecto,
comprendan perfectamente la metodología y en algunos casos el ciclo de vida del software que se pretende
seguir.
Es un proceso interactivo donde la herramienta de desarrollo se usa como medio de comunicación, con cada
iteración del diálogo se obtiene mayor conocimiento de las personas involucradas. El trabajo con una
metodología de desarrollo de software permite reducir el nivel de dificultad, organizar las tareas, agilizar el
proceso y mejorar el resultado final de las aplicaciones a desarrollar.

M. en E. Georgina Varona Vargas


ANTECEDENTES DE LAS
METODOLOGÍAS DE DESARROLLO
TIPOS DE METODOLOGÍAS
Aunque actualmente existen mucha variedad en metodologías de desarrollo. La realidad es que todas están
basadas en ciertos enfoques generalistas que se crearon hace muchos años, algunos tipos de metodologías de
desarrollo de software que se utilizaron e inventaron al principio de nuestra era tecnológica.

En la actualidad se pueden diferenciar dos grandes grupos de metodologías de desarrollo de software: las
ágiles y las tradicionales.

M. en E. Georgina Varona Vargas


ANTECEDENTES DE LAS
METODOLOGÍAS DE DESARROLLO
ALGUNAS CARACTERÍSTICAS DE LAS METODOLOGÍAS
Se recomienda considerar que el modelo que ayudara en el proceso de implantación de un sistema de
información tenga algunas características que simplificaran la gestión del proyecto. Las siguientes
características son las más importantes

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO
TRADICIONALES
METODOLOGÍAS DE DESARROLLO
TRADICIONALES
METODOLOGÍAS TRADICIONALES
Las metodologías de desarrollo de software tradicionales se caracterizan por definir total y rígidamente los
requisitos al inicio de los proyectos de ingeniería de software. Los ciclos de desarrollo son poco flexibles y no
permiten realizar cambios, al contrario que las metodologías ágiles; lo que ha propiciado el incremento en el uso
de las segundas.

La organización del trabajo de las metodologías tradicionales es lineal, es decir, las etapas se suceden una tras
otra y no se puede empezar la siguiente sin terminar la anterior. Tampoco se puede volver hacia atrás una vez se
ha cambiado de etapa. Estas metodologías, no se adaptan nada bien a los cambios, y el mundo actual cambia
constantemente.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO
TRADICIONALES
WATERFALL (CASCADA)
Es una metodología en la que las etapas se organizan de arriba a abajo, de ahí el nombre. Se
desarrollan las diferentes funciones en etapas diferenciadas y obedeciendo un riguroso orden. Antes
de cada etapa se debe revisar el producto para ver si está listo para pasar a la siguiente fase. Los
requisitos y especificaciones iniciales no están predispuestos para cambiarse, por lo que no se
pueden ver los resultados hasta que el proyecto ya esté bastante avanzado.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO
TRADICIONALES
PROTOTIPADO
Se basa en la construcción de un prototipo de
software que se construye rápidamente para que los
usuarios puedan probarlo y aportar feedback.

Así, se puede arreglar lo que está mal e incluir otros


requerimientos que puedan surgir. Es un modelo
iterativo que se basa en el método de prueba y error
para comprender las especificidades del producto.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO
TRADICIONALES
ESPIRAL
Es una combinación de los dos modelos anteriores, que añade el concepto de análisis de riesgo. Se
divide en cuatro etapas: planificación, análisis de riesgo, desarrollo de prototipo y evaluación del
cliente.
}

El nombre de esta metodología da nombre a su funcionamiento, ya que se van procesando las


etapas en forma de espiral. Cuanto más cerca del centro se está, más avanzado está el proyecto.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO
TRADICIONALES
INCREMENTAL
En esta metodología de desarrollo de software se va construyendo el producto final de manera
progresiva. En cada etapa incremental se agrega una nueva funcionalidad, lo que permite ver
resultados de una forma más rápida en comparación con el modelo en cascada. El software se puede
empezar a utilizar incluso antes de que se complete totalmente y, en general, es mucho más flexible
que las demás metodologías.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO
TRADICIONALES
DISEÑO RÁPIDO DE APLICACIONES (RAD)

Esta metodología permite desarrollar software


de alta calidad en un corto periodo de tiempo.
Los costes son mucho más altos y el desarrollo
más flexible, aunque requiere una mayor
intervención de los usuarios. Por otro lado, el
código puede contener más errores, y sus
funciones son limitadas debido al poco tiempo
del que se dispone para desarrollarlas. El objetivo
es iterar el menor número posible de veces para
conseguir una aplicación completa de forma
rápida.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO
ÁGILES
METODOLOGÍAS DE DESARROLLO ÁGILES
METODOLOGÍAS ÁGILES
Las metodologías ágiles de desarrollo de software son las más utilizadas hoy en día debido a su alta flexibilidad
y agilidad. Los equipos de trabajo que las utilizan son mucho más productivos y eficientes, ya que saben lo que
tienen que hacer en cada momento. Además, la metodología permite adaptar el software a las necesidades que
van surgiendo por el camino, lo que facilita construir aplicaciones más funcionales.

Las metodologías ágiles se basan en la metodología incremental, en la que en cada ciclo de desarrollo se van
agregando nuevas funcionalidades a la aplicación final. Sin embargo, los ciclos son mucho más cortos y rápidos,
por lo que se van agregando pequeñas funcionalidades en lugar de grandes cambios.

Este tipo de metodologías permite construir equipos de trabajo autosuficientes e independientes que se reúnen
cada poco tiempo para poner en común las novedades. Poco a poco, se va construyendo y puliendo el producto
final, a la vez que el cliente puede ir aportando nuevos requerimientos o correcciones, ya que puede comprobar
cómo avanza el proyecto en tiempo real.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO ÁGILES
KANBAN
Metodología de trabajo inventada por la empresa de automóviles Toyota. Consiste en dividir las tareas en
porciones mínimas y organizarlas en un tablero de trabajo dividido en tareas pendientes, en curso y finalizadas.
De esta forma, se crea un flujo de trabajo muy visual basado en tareas prioritarias e incrementando el valor del
producto.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO ÁGILES
SCRUM
Es también una metodología incremental que divide los requisitos y tareas de forma similar a Kanban. Se itera
sobre bloques de tiempos cortos y fijos (entre dos y cuatro semanas) para conseguir un resultado completo en
cada iteración. Las etapas son: planificación de la iteración (planning sprint), ejecución (sprint), reunión diaria
(daily meeting) y demostración de resultados (sprint review). Cada iteración por estas etapas se denomina
también sprint.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO ÁGILES
LEAN
Está configurado para que pequeños equipos de desarrollo muy capacitados elaboren cualquier tarea en poco
tiempo. Los activos más importantes son las personas y su compromiso, relegando así a un segundo plano el
tiempo y los costes. El aprendizaje, las reacciones rápidas y potenciar el equipo son fundamentales.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE DESARROLLO ÁGILES
PROGRAMACIÓN EXTREMA (XP)
Es una metodología de desarrollo de software
basada en las relaciones interpersonales, que
se consideran la clave del éxito. Su principal
objetivo es crear un buen ambiente de trabajo
en equipo y que haya un feedback constante
del cliente.
El trabajo se basa en 12 conceptos: diseño
sencillo, testing, refactorización y codificación
con estándares, propiedad colectiva del
código, programación en parejas, integración
continua, entregas semanales e integridad con
el cliente, cliente in situ, entregas frecuentes y
planificación.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE INGENIERÍA
DE SOFTWARE
METODOLOGÍAS DE INGENIERÍA DE SOFTWARE
METODOLOGÍAS DE INGENIERÍA DE SOFTWARE
Existen muchas metodologías de implantación de sistemas, se debe elegir una metodología, basados en el tipo
de proyecto y las necesidades del proyecto. Algunos ejemplos de metodologías:

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE INGENIERÍA DE SOFTWARE

ASAP está compuesta por una metodología


ROADMAP, que es un conjunto de poderosas
herramientas y una base de datos de conocimiento,
que garantizan el éxito en la implantación

Las herramientas de ASAP, incluyen facilidades para


la gerencia del proyecto, cuestionarios para ayudar a
definir los requerimientos de los diversos procesos,
lista de verificación de cumplimiento de las
actividades por fase o etapa.

La base de conocimientos, está en documentos de


diferentes formatos (PDF, Word, PowerPoint,
Project), que contienen información para comenzar
el proyecto, estos documentos han sido utilizados en
otros proyectos
Mtra. Georgina Varona Vargas
METODOLOGÍAS DE INGENIERÍA DE SOFTWARE
Que es ROADMAP?
✓ Es una herramienta de planeación
estratégica, que alinea las acciones y
recursos de la empresa, con sus objetivos
estratégicos mediante la definición de
soluciones tecnológicas relevantes y
prioritarias en un horizonte de tiempo
determinado.
✓ Su formato es muy efectivo para comunicar
la estrategia y acciones para alcanzar el
objetivo de la empresa.
✓ Esta metodología es dinámica, ya que puede
modificarse a las necesidades del entorno y
según los avances y requerimientos.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE INGENIERÍA DE SOFTWARE
El SWEBOK (Software Engineering Body of Knowledge) es
una guía que describe el conocimiento que existe de la
disciplina de la ingeniería del software. Comenzó a
elaborarse en 1998, liderado por la IEEE Computer Society,
quien pensó que era necesario para “convertir a la
ingeniería del software en una disciplina legítima y una
profesión reconocida”. Es una guía, obviamente no
contiene todo el conocimiento, accesible de manera
gratuita y que divide a la ingeniería del software en 10
áreas
La última versión del SWEBOK versión 3 es del 2014, en
estos días, está a punto de salir una nueva versión, para la
que se han propuesto dos áreas de conocimiento más
dentro de la ingeniería del software: la seguridad y la
medición. M. en E. Georgina Varona Vargas
METODOLOGÍAS DE INGENIERÍA DE SOFTWARE

SCRUM es un conjunto de labores


grupales que están al servicio de la
consecución (seguimiento) de un
objetivo.

La singularidad del método radica en


la manera en que intervienen los
distintos actores del plan, por
ejemplo los líderes, los miembros de
segunda y tercera línea e, incluso, los
propios clientes o destinatarios.

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE INGENIERÍA DE SOFTWARE
Métodos tradicionales

Método SCRUM

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE INGENIERÍA DE SOFTWARE
IMPLANTACIÓN EN MODELO CASCADA (ASAP)

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE INGENIERÍA DE SOFTWARE
IMPLANTACIÓN EN MODELO V (SWEBOK)

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE INGENIERÍA DE SOFTWARE
IMPLANTACIÓN EN MODELO ESPIRAL (SCRUM)

La metodología espiral es para el modelo SCRUM, ya que este


modelo, hace iteraciones en las etapas de diseño,
programación y pruebas, hasta comenzar a liberar módulos.
Los riesgos del módulo SCRUM, es que los requerimientos no
se acaben o no se satisfagan, por ello se recomienda definir el
alcance del proyecto y dejarlo en documentos que sean
firmados y del conocimiento de las áreas involucradas

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE INGENIERÍA DE SOFTWARE
IMPLANTACIÓN EN MODELO ESPIRAL (SCRUM)
El modelo incremental es muy parecido al de
espiral, el riesgo que tiene es que los nuevos
requerimientos, se cumplan en la primera etapa
del sistema. En esta etapa se desarrollan los
procesos evolutivos, es decir aquellos procesos
que mejoraran los procesos de la organización.
Para evitar retrasos, se recomienda documentar
los entregables de la primera versión, es decir
satisfacer la operación necesaria de la
organización, una vez implementado la primera
versión, se comienza con los nuevos
requerimientos o mejoras que se ofrecen al
cliente.
M. en E. Georgina Varona Vargas
METODOLOGÍAS DE INGENIERÍA DE SOFTWARE
¿QUÉ METODOLOGÍA DE DESARROLLO DE SOFTWARE SE DEBE UTILIZAR?

M. en E. Georgina Varona Vargas


METODOLOGÍAS DE INGENIERÍA DE SOFTWARE

M. en E. Georgina Varona Vargas


REFERENCIAS BIBLIOGRÁFICAS

 Aguilera López, Purificación (2010). Seguridad informática, Editorial Editex, 240 p.


 Andrew S. Tanenbaum (2003). Redes de computadoras, México, Prentice Hall.
 Casares, San José-Martí Isabel, y Lizarzaburu Bolanos, Edmundo R. (2016). Introducción a la gestión integral
de riesgos empresariales. Enfoque: ISO 31000, disponible en:
https://fundacioninade.org/sites/inade.org/files/web_libro_3_la_gestion_integral_de_riesgos_empresariales.
pdf [consultado en 2021], Platinum Editorial, S.A.C.
 Díaz Orueta, Gabriel, et al. (2004). Seguridad en las comunicaciones y en la información, Editorial UNED, 472 p.
 Echenique García, José Antonio (2005). Auditoría informática, McGraw-Hill Interamericana.
 Hidobro Moya, Jośe Manuel (2014). Comunicaciones por radio. Tecnologías, redes y servicios de
radiocomunicaciones, Grupo Editorial RA-MA, 588 p.
 Information Systems Audit and Control Association, disponible en: https://www.isaca.org/.International
 Organization for Standardization, disponible en: https://www.iso.org/
 Munoz, Razo Carlos (2002). Auditoría en sistemas computacionales, Pearson Educación.
M. en E. Georgina Varona Vargas
REFERENCIAS BIBLIOGRÁFICAS

 Oz, E., y Sarmiento, M.Á.M. (2008). Administración de los sistemas de información (núm. Sirsi i9789706867766),
Mason: Cengage Learning.
 OSTEC (2020). “Firewall definición: mejore sus conocimientos de seguridad”, disponible en:
https://ostec.blog/es/seguridad-perimetral/firewall-definicion/
 Piattini, V.M. (2001). Auditoría informática: Un enfoque práctico, 2a. ed., Espana, AlfaOmega.
 _______, Del Peso, Mario (2001). Auditoría informática, Alfaomega.
 _______, y García Rubio, Felix (2008). Calidad en el desarrollo y mantenimiento del software, Editorial RA-MA, 310-
356 p.
 _______, et al. (2015). Calidad de sistemas de información, 3a. ed., ampliada y actualizada, Grupo Editorial RA-MA.
 Solís, M.G. (2002). Reingeniería de la Auditoría Informática, México, Trillas.
 Tanenbaum, A. (2009). Sistemas operativos modernos, 3a. ed., Pearson.
 Valdivia, M.C. (2015). Redes telemáticas, Espana, Parainfo.
 Vieites, Á.G. (2011). Enciclopedia de la seguridad informática, Grupo Editorial RA-MA.
M. en E. Georgina Varona Vargas

También podría gustarte