0% encontró este documento útil (0 votos)
175 vistas4 páginas

EVOLUCIÓN METODOLÓGICAS DE DESARROLLO DE SOFTWARE Desde 1940 El Software Ha Evolucionado Hasta Convertirse en Una Profesión Que Se Ocupa de Cómo Crear Software y Maximizar Su Calidad

El documento describe la evolución de las metodologías de desarrollo de software desde la década de 1950 hasta la actualidad. Se han propuesto diversos modelos de ciclo de vida como la cascada, en V y en espiral para mejorar la calidad y procesos de desarrollo. En los años 1990 surgieron los métodos ágiles como Scrum y Extreme Programming para adaptarse mejor a entornos cambiantes, dando lugar a la metodología actual basada en procesos ágiles y ligeros.

Cargado por

Andres Cueto
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
175 vistas4 páginas

EVOLUCIÓN METODOLÓGICAS DE DESARROLLO DE SOFTWARE Desde 1940 El Software Ha Evolucionado Hasta Convertirse en Una Profesión Que Se Ocupa de Cómo Crear Software y Maximizar Su Calidad

El documento describe la evolución de las metodologías de desarrollo de software desde la década de 1950 hasta la actualidad. Se han propuesto diversos modelos de ciclo de vida como la cascada, en V y en espiral para mejorar la calidad y procesos de desarrollo. En los años 1990 surgieron los métodos ágiles como Scrum y Extreme Programming para adaptarse mejor a entornos cambiantes, dando lugar a la metodología actual basada en procesos ágiles y ligeros.

Cargado por

Andres Cueto
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 DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

EVOLUCIÓN METODOLÓGICAS DE DESARROLLO DE SOFTWARE Desde 1940 el software ha

evolucionado hasta convertirse en una profesión que se ocupa de cómo crear software y maximizar
su calidad; la calidad puede referirse a cuan mantenible es el software su estabilidad, velocidad,
usabilidad, comprobabilidad, legibilidad, tamaño, costo, seguridad y fallas o bugs, como otros
atributos elegancia, concisión y satisfacción del cliente. La mejor manera de crear software de alta
calidad es un problema separado y convertido en diseño de software, escribir códigos mejores
prácticas. Aún sigue en evolución, en la metodología de desarrollo de software lo cual propone
como objetivo principal presentar un conjunto de técnicas tradicionales, modernas y agiles de
modelado de sistema que permitirá desarrollar software con calidad, incluyendo heurística de
construcción y criterios de comparación de modelos de sistemas. La ingeniería de software es la
aplicación de un enfoque sistemático, disciplinados y cuantificables de desarrollo, operación y
mantenimiento de software y el estudio de estos enfoques, es decir, la aplicación de la ingeniería
de software, aunque requiere llevar a cabo numerosas tareas agrupadas en etapas, en conjunto de
estas etapas se le denominan ciclos de vida; los cuales son: análisis de requerimientos,
especificación, arquitectura, programación, pruebas, documentación y mantenimiento.
EVOLUCION CRONOLOGICA DE LAS METODOLOGIAS DE DESARROLLO DE SOFTWARE El
desarrollo de software ha evolucionado, pasando por el modelo de procesos, la conceptualización
de los modelos de ciclos de vida del software. PRIMERA ESTAPA CRONOLOGICA (1950-1960)
PROGRAMACION O TECNICAS DE CODIFICACION En los años 50 aparecen los analistas
programadores y analistas de sistema, ya que las personas que desarrollaban los sistemas eran
programadores más enfocados en la tarea de codificar que recoger y comprender las necesidades
de los usuarios; ante esta perspectiva se vio la importancia del análisis y del diseño en el desarrollo
de un sistema. En la cual se crearon los lenguajes de programación de tercera generación en que
sus instrucciones o primitivas eran de alto nivel e independiente de la máquina. SEGUNDA ETAPA
CRONOLOGICA (1960-1970) MODELOS DE PROCESOS El modelo de procesos predominaba
para los años 60 y consistía en codificar y corregir (code and fix); entonces codificar y corregir
surge así como un modelo poco útil, realmente se le considero aplicable ya que los programadores
se le llevaba de forma intuitiva. Se considera como una base inicial para la fabricación del software,
en vista de que en este modelo empieza a establecer una idea general, la cual comenzaron a
combinar diseño, código, depuración y métodos de prueba, que se le puede aplicar hasta que el
producto esté listo para entregarlo; este modelo implementaba el código y luego se pensaba en los
requisitos, diseño, validación y mantenimiento. Aparece la crisis del software, llamada así por los
problemas de exceso de costo, la escasa fiabilidad, la insatisfacción de los usuarios y el tiempo de
creación del software, estos aspectos conocidos como “síntomas” de la crisis de software esto
provoco grandes pérdidas en la década de los 70 sobre el desarrollo de software dando como
resultado una nueva disciplina llamada “ingeniería de software” que abarcaría los aspectos
técnicos de software y gestión de datos. TERCERA ETAPA CRONOLOGICA (1970-1985)
PROCESO DE DESARROLLO SOFTWARE Y MODELOS TRADICIONALES DEL CICLO DE VIDA
En esta etapa se centra en la solución de la llamada “crisis de software” mientras que el término
ingeniera de software fue acuñado en la conferencia a la OTAN en 1968 para discutir la crisis; la
historia de la ingeniería de software esta entrelazada con la historia de hardware y software. Para
dar solución se empezó a tomar la importancia de los datos y solucionar sistemas complejos
empezó el análisis por partes o etapas se introduce la planificación y la administración El ciclo de
vida de desarrollo de software o SDLC (software develop life cicle) empezó a aparecer como un
consenso para la construcción centralizada de software; con una ayuda al proceso de solución de
problemas, intentando trasformar las necesidades en una solución automatizada que satisface la
misma. Comienzan a implementar una serie de modelos que establecen y muestran distintas
etapas y estados a estos modelos se les denomina ”modelos de ciclos de vida” los cuales pretenda
abarcar todo el proceso completo creando en cada paso normatividad y parámetros desde el inicio
hasta el final y ajustándose a la necesidad de cada empresa Este modelo es una guía para los
ingenieros de software con el fin de ordenar diversas actividades técnicas en el proyecto suministra
un marco para administrar el proyecto de desarrollo y el mantenimiento en el que permitiría estimar
recursos, definir puntos de control intermedios, monitorear el avance. En el año 1966 se empezó a
diseñar un modelo que tuvo como nombre modelo de cascada derivo de procesos más generales
de ingeniera de sistema; se conoció así por el pase de una fase a otra en forma de cascada,
definido por winton royce fue terminada en 1970 como respuesta al modelo de procesos. Este
modelo sugiere un enfoque sistemático y secuencial para el desarrollo de software, por lo que
contiene más disciplina y se basa en análisis, diseño, prueba y mantenimiento; la importancia de
este modelo para la época fue en convertirse en un ejemplo de un proceso dirigido al plan, el
principio, se planificara y programaría todas las actividades del proceso antes de empezar a
trabajar en ellas. En la cual se comienzan a descubrir los errores y las omisiones en los
requerimientos originales del software. Surgen los problemas de programa y diseño su principal
problema detectado en la partición inflexible del proyecto en distintas etapas. Posteriormente Alan
Davis propuso el modelo v desarrollado para determinar con algunos de los problemas en el
enfoque de cascada tradicional, el modelo v permitió hacer más explícita la tarea de la iteración de
las actividades del proceso, las pruebas que se implementaría en cada fase ayudaría a corregir
posibles errores sin tener que esperar a que sea rectificada al final. En 1980 fue propuesto el
Modelo de Desarrollo Incremental por Harlan Mills, el cual cambio del módulo de cascada con la
filosofía interactiva de construcción de prototipos. Surgió el enfoque incremental de desarrollo
como una forma de reducir la repetición del trabajo en el proceso de desarrollo. En 1985 aparece el
desarrollo en espiral de Bairy Boehm evoluciono atreves de ciertos números de interacción
alrededor de la espiral, teniendo un carácter permanente operativo hasta que el software se retire,
considerándolo así el remedio de los modelos anteriores. CUARTA ETAPA CRONOLÓGICA
(1985-1999) METODOS RAPIDOS E INICIOS DE DESARROLLO AGIL DE LA INGENERIA DE
SOFTWARE A mediado de los años 80 se empiezan a estudiar los objetivos en si como unidades
de información, dando así el proceso evolutivo del desarrollo de software en modelo en espiral
presentado a finales de la etapa anterior. Boehm ideo y promulgo un modelo desde un enfoque
distinto al tradicional en cascada, el modelo evolutivo espiral, comenzó mirando las posibles
alternativas de desarrollo se opta por la de riesgo más asumibles y se hace un ciclo espiral. Este
modelo Boehm lo propone en 1988 en su artículo “a spiral Model of software Development and
Enhancement” y consiste en una serie de ciclos que se repiten en forma espiral, comenzando
desde el centro. En los años 90 surge el desarrollo de software de “método rápidos” (modelos
rápidos o abreviado AG) los cuales reducirán el tiempo del ciclo de vida del software al desarrollar,
los métodos rápidos se originaron por la inestabilidad del entorno técnico. Brian Gallagher, Alex
Balchin, Barry Boehm, Scott Shultz, y James Martin desarrollo el enfoque de desarrollo rápido de
aplicaciones durante los 80 en IBM y finalizo en 1991 con la publicación de su libro “desarrollo
rápido de aplicaciones”. Aparece el desarrollo rápido de aplicaciones (RAD) para responder a la
necesidad de entregar sistemas muy rápidos, el método tiene una lista de tareas una estructura de
desglose de trabajo diseñada para la rapidez, comprende el desarrollo iterativo La construcción de
prototipos y el uso de utilidades CASE(computer aided software engineering) En 1994 nace el
modelo de desarrollo dinámico (DSDM) desarrollado como un proceso de entretenimiento de
negocios en Inglaterra, se estableció para crear una metodología RAD unificada el cual definiría el
marco para desarrollar un proceso de aplicación de software. En 1995 Schwaber y Sutherland
durante el OOPSLA ’95 presentaron el paralelo en una serie de artículos describiendo scrum. En
2001 Schwaber y Mike Beedle describieron la metodología en el libro “agile software development
with scrum”. Este método apoya a proyectos con un rápido cambio de requisitos al presentar una
guía de actividades de desarrollo dentro de cada proceso de análisis incorporando actividades
estructurales como: requerimientos, análisis, diseño, evolución y entrega. En 1996 ´surge Extreme
Programming (xp) o programación extrema fundada por Ken Beck; centrada en potenciar las
relaciones interpersonales como clave para el texto en desarrollo de software. En junio de 1998 se
lanza Rational Unified Process Rup (proceso unifficado racional), este método especifica la
constitución del equipo y las escalas de tiempo, así como un numero de modelos de documentos.
QUINTA ETAPA CRONOLOGICA (2000 AL PRESENTE) METODOLOGIA DEL PROCESO DE
INGENERIA DE SOFTWARE El uso de los prototipos rápidos, procedimientos y normas evoluciono
al uso del concepto de metodología del proceso de la ingeniería de software, destacando la
utilización de las metodologías ligeras completas como la programación extrema (xp) que intento
simplificar muchas áreas de la ingeniería de software. En el 2001 la comunidad de desarrollo
software se reunieron en snowbind Utah y adoptaron el nombre de “métodos agiles”. Métodos
similares al agil fueron creados antes del 2000 los más notables son: scrum, crystel clear (cristal
trasparente) programación extrema (extreme programming o xp) desarrollo de software adaptativo
(ASD) feature driven development (FDD) métodos de desarrollo de sistemas dinámicos (Dynamic
system Development Methodo DSDM). En el 2002 Sommerville define que “una metodología de
ingeniería de software es un enfoque estructurado para el desarrollo de software cuyo propósito es
facilitar la producción de software de alta calidad de una forma costeables, en la cual se debe
manejar conceptos fundamentales como: proceso, métodos, tareas, procedimientos, técnicas,
herramientas, productos entre otros. Los nuevos métodos buscan minimizar riesgos, ya que los
errores más perjudiciales se producen en los primeros pasos, no solo se realizan desarrollos líneas
en cascadas sino también desarrollos y métodos en espiral que son más complejos, apoyándose
en el desarrollo agil. INTRODUCCION A LA METODOLOGIA AGILES Las metodologías de
proyecto como PMBOK han tenido una fuerte orientación predictiva. A partir del detalle del
proyecto que se quiere elaborar (análisis funcional/técnico, requerimiento funcionales/técnicas) se
definen fases actividades planificadas en el tiempo a base a los recursos disponibles. Este tipo de
metodología han resuelto ser útil, mejorando la calidad y reduciendo las desviaciones en los
proyectos que son aplicadas; la creación de valor mediante la adaptación a las necesidades
cámbiate aparecen en un primer plano frente a las tradicionales ideas de diseñar un plan y cumplir
unos calendarios/ requerimientos estáticos. MANISFIESTO AGIL Los propulsores de las
metodologías agiles firmaron un manifiesto donde se expresaban las ideas fundamentales del
estilo de gestión. • Valorar a las personas y su interacción, por encima de los procesos y las
herramientas. • Valorar el software que funciona, por encima de la documentación exhaustiva. •
Valorar la colaboración con el cliente, por encima de la negociación contractual. • Valorar la
respuesta al cambio, por encima del seguimiento de un plan: Anticipación y adaptación enfrente de
planificación y control. Valores básicos detrás de la gestión agil • La principal prioridad es satisfacer
al cliente. • Los requisitos cambiantes son bienvenidos. • Integración de los conocedores del
negocio en el propio proyecto. • La motivación y el talento son aspectos clave, por tanto la
confianza y el apoyo al equipo humano es fundamental. • Potenciar las conversaciones en persona
por encima de la comunicación escrita. • El producto funcional es la principal medida del progreso.
CARACTRISTICAS BASICAS Las características básicas de los proyectos gestionados con
metodologías agiles con las siguientes: • Incertidumbre: la dirección indica la necesidad estratégica
que se desea cubrir, ofreciendo máxima libertad al equipo de trabajo. • Equipos auto-organizados:
no existen roles especializados • Autonomía: libertad para la toma de decisiones. • Auto-
superación: de forma periódica se evalúa el producto que se está desarrollando. • Auto-
enriquecimiento: transferencia del conocimiento • Fases de desarrollo solapadas: Las fases no
existen como tal sino que se desarrollan tareas/actividades en función de las necesidades
cambiantes durante todo el proyecto. • Control sutil: establecimientos de puntos de control para
realizar un seguimiento adecuado sin limitar la libertad y creatividad del equipo. Así mismo, se
recomienda: • Evaluar el ambiente laboral, siendo fundamental la elección de personas que no
generen conflictos. • Reconocer los méritos mediante un sistema de evaluación justo y entender los
errores como puntos de mejora y aprendizaje. • Potenciar la interacción entre el equipo y el
negocio, para que puedan conocer las necesidades de primera mano. Importancia de identificar el
lugar del proyecto los fundamentales son: persona, tecnología y procesos METODOLOGIA
AGILES DISPONIBLES La metodología ágil más popular para gestión de proyecto es scrum; se
presenta con contrapunto a PMBOK y PRINCE 2 siendo utilizada para el desarrollo de software
como para otro tipo de producto. • Scrum: es un proceso en el que se aplican de manera regular un
conjunto de buenas prácticas ´para trabajar colaborativamente en equipo y obtener el mejor
resultado posible de un proyecto. • Dynamic system development method (DSDM) la metodología
ágil más veterana y la que más se aproxima a los métodos tradicionales su implementación incluso
permitiría alcanzar un nivel dos de madurez según CMMI. • Extreme programming (xp)
metodología más ágil, más radical y popular. Xp se centra en el ciclo de vida de desarrollo de
software • Agile modeling: metodología para el modelado y la generación de documentación que se
encuentra alineado con los principios del desarrollo ágil y que puede ser utilizado como subtítulo de
UML. • Feature driven development (fcc) metodología de desarrollo de software orientada a la
generación de valor para el cliente. La metodología ágil presenta un enfoque diametralmente
opuesto a las metodologías predictivas, ofreciendo un enfoque más adecuado para determinados
proyectos como el desarrollo de software. INTRODUCCION METODOLOGIA TRADICIONAL Las
metodologías tradicional o clásicas exigen una abundante y exhaustiva documentación ponen
especial énfasis en la planificación y control de proyecto desde la fase inicial como la
especificación precisa de requisitos y el modelado. Es importante tener una disciplina durante el
desarrollo del software como la intención de obtener un producto más predecible y eficiente. Entre
las principales metodologías tenemos las ya tan conocidas RUP y MSF entre otros; que centran su
atención en llevar una documentación exhaustiva de todo el proyecto y centran su atención en
cumplir con un plan de proyecto en la fase inicial del desarrollo del proyecto, teniendo en cuenta los
altos costos al implantar un cambio y al no ofrecer una buena solución para proyectos desde el
entorno es volátil. Las metodologías tradicionales se localizan en documentación, planificación y
procesos. Rational unified process (RUP) proceso unificado rational Provee un acercamiento
disciplinario para asignar tareas y responsabilidades dentro de una organización de desarrollo
Fases principales: concepción, elaboración, construcción y transición Microsoft solución framework
(MSF) es un resumen de las mejores prácticas en cuanto a la administración de proyectos se
refiere. Más que una metodología rígida de administración de proyecto. Fases principales: visión y
alcances, planificación, desarrollo, estabilización e implementación.

También podría gustarte