TAREA 2.7 EXPOSICIONES - Patricio Villalba 1ro B

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

INFORME

Exposición – Evolución del Software e Introducción a


Enfoques Ágiles

Análisis y Diseño de Sistemas

Ing. Mónica Páez

Villalba Proaño Kevin Patricio

[email protected] 0985212257

N/A 20/Jul/2023
RESUMEN:

Este informe aborda la evolución del software y la introducción a los enfoques

ágiles en el desarrollo de proyectos tecnológicos, comenzando con la descripción de la

evolución del software desde sus inicios en la programación manual hasta la era actual

de inteligencia artificial y aprendizaje automático. Luego, se presenta una introducción a

los enfoques ágiles, destacando los principios del Enfoque Ágil y algunos de los más

utilizados, como Scrum y Kanban. A través de un análisis detallado, el informe expone

los objetivos generales y específicos de la investigación, el cuerpo del informe

proporciona una amplia revisión de la evolución del software y los conceptos clave de los

enfoques ágiles. Finalmente, se presentan las conclusiones, recomendaciones y las

referencias bibliográficas utilizadas.

INTRODUCCIÓN:

El desarrollo del software ha experimentado una fascinante evolución desde sus

inicios. Inicialmente, la programación era una tarea manual que requería un conocimiento

profundo de la arquitectura de las computadoras. Con el tiempo, se desarrollaron

lenguajes de programación de alto nivel que facilitaron la escritura de código estructurado

y comprensible. Posteriormente, la filosofía ágil emergió como una alternativa a los

modelos tradicionales de desarrollo de software, con el objetivo de fomentar la

colaboración, flexibilidad y adaptabilidad. Este informe se centra en la evolución del

software y en la presentación de los enfoques ágiles más relevantes.


OBJETIVOS:

Objetivo General:

Analizar la evolución del software y la incorporación de los enfoques ágiles en el

desarrollo de proyectos de sistemas y de software.

Objetivos Específicos:

1. Explorar las etapas clave en la evolución del software, desde la programación

manual hasta la actualidad de la inteligencia artificial.

2. Presentar los principios y valores fundamentales de los Enfoques Ágiles y cómo

impactan en el desarrollo de software.

3. Describir en detalle los enfoques ágiles más destacados, como Scrum, Kanban,

XP y LSD; analizar sus características y aplicaciones en el desarrollo de

proyectos.

DESARROLLO:

Evolución del Software:

La evolución del software ha sido un proceso continuo que ha abarcado varias

décadas y ha experimentado numerosos avances significativos. A continuación,

proporciono una visión más detallada de cómo ha evolucionado el software a lo largo del

tiempo:
1. Década de 1940 - Los Primeros Computadoras y Programación Manual:

En los inicios de la informática, las instrucciones para realizar tareas se ingresaban

manualmente en lenguaje de máquina o lenguaje ensamblador. Esto era un proceso

tedioso y propenso a errores, ya que se requería un profundo conocimiento de la

arquitectura de la computadora.

2. Década de 1950 - Lenguajes de Programación de Bajo Nivel:

Se desarrollaron lenguajes de programación de bajo nivel, como el lenguaje

ensamblador, que permitieron a los programadores escribir código utilizando

mnemónicos en lugar de instrucciones en lenguaje de máquina.

A medida que la programación manual se volvía insostenible, se desarrollaron

lenguajes de programación de bajo nivel, como COBOL (Common Business-Oriented

Language) y Fortran (Formula Translation). Estos lenguajes permitieron escribir código

más estructurado y comprensible, aunque todavía se debían considerar aspectos específicos de la

máquina.

3. Década de 1960 - Lenguajes de Programación de Alto Nivel y Sistemas

Operativos:

La siguiente etapa fue el desarrollo de lenguajes de programación de alto nivel,

como C, Pascal y BASIC. Estos lenguajes proporcionaban abstracciones más

avanzadas, lo que facilitaba la escritura de programas complejos y aumentaba la

portabilidad del software entre diferentes plataformas.


4. Década de 1980 - La Revolución de la Programación Orientada a Objetos

(POO):

En la década de 1980, la programación orientada a objetos (POO) se convirtió en

un paradigma dominante. Lenguajes como C++, Java y Python permitieron una forma

más organizada y modular de escribir código, facilitando el desarrollo y mantenimiento

de aplicaciones complejas.

5. Década de 1990 - Software de Código Abierto y Comunidad de

Desarrolladores:

Con el tiempo, surgió el movimiento del software de código abierto, donde el

código fuente del software se pone a disposición del público para que cualquiera pueda

verlo, modificarlo y distribuirlo libremente. Esto llevó al desarrollo colaborativo y la

creación de comunidades de programadores que trabajan juntos para mejorar el

software.

La década de 1990 marcó el auge de Internet y la creación de la World Wide Web.

Se desarrollaron lenguajes de programación web como HTML y JavaScript, lo que

permitió la creación de páginas web interactivas y dinámicas.

6. Década de 2000 - Computación en la Nube y Software como Servicio (SaaS):

La computación en la nube y el modelo de Software como Servicio (SaaS) se

popularizaron en la década de 2000. Esto permitió que las aplicaciones se ejecutaran en


servidores remotos y fueran accesibles a través de Internet, liberando a los usuarios de

la necesidad de instalar y mantener software localmente.

Las empresas comenzaron a adoptar servicios en la nube para almacenar datos,

ejecutar aplicaciones y escalar sus operaciones de manera más eficiente.

7. Década de 2010 - Big Data, Inteligencia Artificial y Aprendizaje Automático:

En los últimos años, el avance de la inteligencia artificial y el aprendizaje

automático ha tenido un impacto significativo en el desarrollo del software. Estas

tecnologías han permitido crear aplicaciones más inteligentes y automatizadas que

pueden aprender y mejorar con el tiempo.

La inteligencia artificial y el aprendizaje automático se convirtieron en áreas de

rápido crecimiento y desarrollo, lo que permitió la creación de aplicaciones y sistemas

más inteligentes y automatizados. La automatización y la integración continua se

convirtieron en elementos clave para aumentar la eficiencia y la calidad del desarrollo de

software.

Introducción a los Enfoques Ágiles:

Los enfoques ágiles son un conjunto de metodologías y prácticas utilizadas en el

desarrollo de software y otros proyectos para fomentar la flexibilidad, colaboración,

entrega continua de valor y adaptación a los cambios. Estos enfoques surgieron como

respuesta a las limitaciones de los modelos tradicionales de desarrollo de software, que


a menudo eran rígidos, burocráticos y propensos a problemas de entrega y satisfacción

del cliente.

Enfoques Ágiles Destacados:

Algunos de los enfoques ágiles más populares son Scrum, Kanban, XP (Extreme

Programming) y LSD (Lean Software Development). A continuación de detalla cómo

funcionan, sus características distintivas y cómo se aplican en proyectos de desarrollo

de software.

Scrum:

Es un marco de trabajo para el desarrollo de productos que se enfoca en entregas

iterativas e incrementales. Se basa en ciclos de trabajo llamados " sprints ", que

generalmente tienen una duración de 1 a 4 semanas. Durante cada sprint, el equipo

desarrolla un conjunto de funcionalidades bien definidas que están listas para su entrega.

Los roles dentro del Scrum son: Scrum Team, Developers y Product Owner.

Kanban:

Se centra en la visualización del flujo de trabajo y la limitación de trabajo en

progreso. Se utilizan tableros Kanban para rastrear el estado de las tareas, y el equipo

se enfoca en mejorar continuamente la eficiencia y la calidad del proceso.


Extreme Programming (XP):

Se centra en la excelencia técnica y la mejora continua. Incluye prácticas como

pruebas unitarias, integración continua, programación en pareja y desarrollo dirigido por

pruebas (TDD).

Lean Software Development (LSD):

Busca reducir el desperdicio y aumentar el valor entregado al cliente. Se enfoca

en la eficiencia, la optimización del flujo de trabajo y la mejora continua.

CONCLUSIONES:

- Las etapas de evolución del software presentadas, son solo una muestra de la

larga y continua evolución del software. A medida que la tecnología avanza, el software

seguirá adaptándose y mejorando para satisfacer las necesidades en constante cambio

de la sociedad y las empresas.

- En general, ha estado impulsada por avances tecnológicos, cambios en las

necesidades empresariales y la búsqueda constante de mejorar la productividad y la

experiencia del usuario. A medida que continúa la evolución tecnológica, el software

seguirá desempeñando un papel fundamental en nuestra vida cotidiana y en el avance

de la sociedad.

- Es importante destacar que los enfoques ágiles no son la solución para todos

los proyectos y situaciones. La elección del enfoque dependerá de las características

específicas del proyecto y las necesidades del equipo y los interesados involucrados.
RECOMENDACIONES:

1. Fomentar la capacitación y formación del personal en metodologías ágiles para

aprovechar al máximo sus beneficios en el desarrollo de proyectos.

2. Considerar la aplicación de enfoques ágiles en proyectos con requisitos

cambiantes o poco definidos para mejorar la flexibilidad y satisfacción del cliente.

3. Realizar un seguimiento continuo y una mejora constante del proceso de

desarrollo de software para asegurar la eficiencia y calidad del trabajo realizado.

REFERENCIAS BIBLIOGRÁFICAS:

- Molinari, A., & Prikladnicki, R. (2015). Software Evolution and Maintenance: A


Practitioner's Approach. CRC Press.

- Martin, R. C. (2008). Agile Software Development, Principles, Patterns, and


Practices. Prentice Hall.

- Rayo, Á. M. (2016, 27 de septiembre). Lean Software Development (LSD): Los


siete principios. Recuperado el 20 de julio de 2023, de https://netmind.net/es/lean-
software-development-lsd-los-siete-principios/

- Grupo ASPASIA. (s.f.). Glosario Metodología SCRUM. Recuperado el 20 de julio


de 2023, de https://grupoaspasia.com/es/glosario/metodologia-scrum/

- IEBS. (s.f.). Descubre qué es el Extreme Programming y sus características.


Recuperado el 19 de julio de 2023, de iebschool.com/blog/que-es-el-xp-programming-
agile-scrum/

- Kanbanize (s.f.). ¿Qué es Kanban? Explicación para principiantes. Recuperado


el 19 de julio de 2023, de https://kanbanize.com/es/recursos-de-kanban/primeros-
pasos/que-es-kanban

También podría gustarte