You are on page 1of 19

Republica Bolivariana de Venezuela

Instituto Universitario Politécnico Santiago Mariño

Extensión San Cristóbal

INGENIERIA DE SOFTWARE

Martínez Jesús

C.I. 21.542.167

10 de enero de 2018
QUE ES INGENIERIA DE SOFTWARE

Es una disciplina formada por un conjunto de métodos, herramientas y técnicas que se


utilizan en el desarrollo de los programas informáticos, Esta disciplina trasciende la actividad
de programación, que es el pilar fundamental a la hora de crear una aplicación. El ingeniero de
software se encarga de toda la gestión del proyecto para que éste se pueda desarrollar en un
plazo determinado y con el presupuesto previsto. Por lo tanto, incluye el análisis previo de la
situación, el diseño del proyecto, el desarrollo del software, las pruebas necesarias para confirmar
su correcto funcionamiento y la implementación del sistema, Cabe destacar que el proceso de
desarrollo de software implica lo que se conoce como ciclo de vida del software, que está formado
por cuatro etapas: concepción, elaboración, construcción y transición

MODELOS DE ROGE PRESSMAN

MODELOS PRESCRIPTIVOS: Se propusieron originalmente para ordenar el caos de desarrollo


de software, los modelos prescriptivos de proceso definen un conjunto distintos de actividades,
acciones, tareas, fundamentos y productos de trabajo que se requieren para el desarrollo
software de alta calidad.

MODELO EN CASCADA: También llamado el ciclo de la vida clásico, sugiere un enfoque


sistemático, secuencial hacia el desarrollo del software.
Ventaja.

 Es muy sencillo

Desventaja.

 Los proyectos reales raramente siguen el flujo secuencial que propone el modelo.
 Normalmente, es difícil para el cliente establecer explícitamente al principio todos los
requisitos.
 El cliente debe tener paciencia, hasta llegar a las etapas finales del proyecto, no estará
disponible una nueva versión operativa del programa

MODELO INCREMENTAL

El modelo incremental entrega el software en partes pequeñas, es operativo


Ventajas.

 El primer incremento se realiza con poca gente

Desventajas

 Los primeros incrementos son versiones “incompletas” del producto final, pero
proporcionan al usuario la funcionalidad que necesita y una plataforma para evaluarlo.
 Con el pasar de los incrementos se solicitara mas personal para implementar al
incremento siguiente.

MODELO PROTOTIPOS

Pertenece a los modelos de desarrollo evolutivo construido en poco tiempo, poco


recursos. El responsable del desarrollo del software esta inauguró de la eficacia de un
algoritmo, de la adaptabilidad de un sistema operativo o de la forma que debería tomar
la interacción humana
Ventajas.

 No modifica el flujo del ciclo de la vida


 Reduce el riesgo de construir productos que no satisfagan las necesidades de los
usuarios
 Reduce costos y aumenta la probabilidad de éxito
 Exige disponer de las herramienta adecuadas
 No presenta calidad de robustez
 Una vez identificados todos los requisitos mediante el protocolo, se construye el
producto de ingeniería

Desventajas

 El cliente ve funcionando lo que para el es la primera versión del prototipo que ha sido
construido y puede decepcionarse al indicarle que el sistema aun no a sido construido
 El desarrollador puede caer en la tentación de aumentar el prototipo para construir el
sistema final sin tener en cuenta las obligaciones de calidad y de mantenimiento que
tiene con el cliente.
MODELO EN ESPIRAL

Es un modelo de proceso de software evolutivo ha sido desarrollado para cubrir las


mejores características tanto del ciclo de vida clásico. Se desarrolla mediante una serie de
entregas evolutivas, la primera entrega tal vezsea un documento del modelo. Enfoque cíclico para
el crecimientoincremental.

QUIEN ES ROGER PRESSMAN

Es una autoridad reconocida internacionalmente en el proceso de software Mejora y


tecnologías de ingeniería de software. Durante más de tres décadas, trabaja como ingeniero de
software, gerente, profesor, autor y consultor, enfocándose en cuestiones de ingeniería de
software. Fundó EVANNEX, una compañía especializada en accesorios de posventa para
vehículos eléctricos con un fuerte énfasis de Tesla Model S, Model X y el próximo Modelo 3.
Pressman ha diseñado y desarrollado productos que se utilizan en todo el mundo para
capacitación en ingeniería de software y mejora de procesos. En los últimos años, ha diseñado y
desarrollado una variedad de productos de posventa personalizados para vehículos Tesla que se
fabrican en la ubicación de EVANNEX en Florida.
ANALISIS DEL SISTEMA

Es la ciencia encargada del análisis de sistemas grandes y complejos, y la interacción


entre los mismos. Esta área se encuentra muy relacionada con la investigación operativa. Es las
etapas de construcción de un sistema informático, que consiste en relevar la información actual y
proponer los rasgos generales de la solución futura.

Los sistemas en relación con el análisis de sistemas están relacionados con cualquier
campo, como procesos industriales, administración, toma de decisiones, procesos, protección al
medio ambiente, etc.

Dependiendo de los objetivos del análisis, podemos encontrarnos ante dos problemáticas
distintas:

 Análisis de un sistema ya existente para comprender, mejorar, ajustar y/o predecir su


comportamiento.

 Análisis como paso previo al diseño de un nuevo sistema-producto.

En cualquier caso, podemos agrupar más formalmente las tareas que constituyen el
análisis en una serie de etapas que se suceden de forma iterativa hasta validar el proceso
completo:

Conceptualización

Consiste en obtener una visión de muy alto nivel del sistema, identificando sus elementos
básicos y las relaciones de éstos entre sí y con el entorno.

Análisis funcional

Describe las acciones o transformaciones que tienen lugar en el sistema. Dichas acciones
o transformaciones se especifican en forma de procesos que reciben unas entradas y producen
unas salidas.

Análisis de condiciones (o constricciones)

Debe reflejar todas aquellas limitaciones impuestas al sistema que restringen el margen de
las soluciones posibles.
BASE DE DATOS

Implica definir y organizar el contenido, las relaciones y la estructura de los datos


necesarios para construir una base de datos.

El desarrollo de la aplicación de bases de datos implica utilizar un sistema de


administración de base de datos para desarrollar prototipos de
consultas, formularios, reportes y páginas Web para una aplicación de negocios propuesta. El
mantenimiento de base de datos implica utilizar de sistemas de procesamientos
de transacciones y otras herramientas para añadir, borrar, actualizar y corregir la información de
una base de datos.

El uso principal de una base de datos por parte de los usuarios finales implica emplear las
capacidades de consulta de base de datos de un sistema de administración de base de datos
para acceder la información de una base de datos, con el fin de recuperar y desplegar
información y producir reporte, formularios y otros documentos de manera selectiva.

CONCECUENCIAS DE UN MAL ANALISIS Y DESARROLLO DE SOFTWARE

A pesar de que las causas que afectan la calidad de software siempre están presentes,
la mala calidad no es un atributo inevitable de todo software. La mala calidad siempre representa
riesgo, Las causas que afectan la calidad de software son resultado de malas prácticas que
aparecen desde la concepción del sistema. Sin embargo estas pueden ser predichas y
controladas. El no contar con sistemas de software con factores de calidad como alta
disponibilidad, desempeño y la facilidad de adaptarse a cambios deriva en un sin número de
problemas.

Un problema principal del software de mala calidad son los costos que se derivan después
de su implementación. Muchas veces estos costos son subestimados y se desconoce el impacto
que pueden llegar a generar. La analogía es un iceberg en donde en la superficie aparecen los
costos visibles a corto plazo, sin embargo los que terminar causando más daño son los ocultos.

Decimos que las actividades, recursos y personas requeridas para mantener la operación
del software una vez implementado, son designadas al proceso conocido como mantenimiento de
software Las 5 principales causas que conllevan a una mala calidad de software y que serán
recurrentes año tras año, son:
Falta de dominio del negocio

En la mayoría de los proyectos los desarrolladores en un principio no son expertos en los


conceptos y temas propios del negocio, para el cual se está desarrollando el software. Con el
tiempo ellos logran conocer mucho sobre el negocio y se llegan a convertir en unos verdaderos
expertos. Sin embargo, mucho de este desconocimiento al inicio se traduce en un buen número
de defectos introducidos al sistema por reglas y requerimientos funcionales malentendidos. Una
solución es introducir a expertos del negocio al inicio del proyecto, que den orientación a analistas
y desarrolladores. Los analistas deberán trabajar en documentar el entendimiento y su validación
con los usuarios de negocio. Posteriormente se recomienda conducir revisiones con los expertos
de negocio para verificar que la documentación generada es correcta.

Desconocimiento de la tecnología

La mayoría de los desarrolladores son conocedores de varios lenguajes y tecnologías


informáticas. Sin embargo, las aplicaciones empresariales actuales de múltiples capas son un
enredo complejo de muchos lenguajes y plataformas de software. Estos niveles incluyen la
interfaz de usuario, la lógica empresarial y la gestión de datos, y pueden interactuar a través de
middleware con sistemas de recursos empresariales y aplicaciones heredadas escritas en
lenguajes arcaicos. Pocos desarrolladores conocen todos estos lenguajes y tecnologías, y tienen
suposiciones incorrectas sobre cómo funcionan otras tecnologías. Esto llega a ser la fuente
principal de los defectos no funcionales que causan interrupciones dañinas, corrupción de datos y
fallas de seguridad durante la operación.

La mejor manera de mitigar esta causa es entrenar a los desarrolladores en diferentes


tecnologías, realizando revisiones entre pares con otros desarrolladores que trabajen en
diferentes aspectos de la aplicación.

Calendarios pocos realistas

Cuando los desarrolladores se ven obligados a sacrificar buenas prácticas de desarrollo de


software por planes y calendarios mal elaborados y extremadamente cortos, los resultados no son
buenos. Los pocos resultados exitosos se basan en actos heroicos que rara vez se repiten. Al
trabajar a un ritmo vertiginoso, los desarrolladores más estresados cometen más errores y tienen
menos tiempo para encontrarlos. La única manera de mitigar esto es a través de la aplicación de
fuertes prácticas de gestión de proyectos. Controlar los compromisos a través de la planificación y
el seguimiento para identificar problemas, así como el control de lo cambios en los requerimientos
son prácticas críticas para proporcionar un entorno profesional para el desarrollo de software.
No implementar ingeniería de Software

La mayoría de las actividades de desarrollo de software implican el cambio o la mejora de


código. Estudios demuestran que la mitad del tiempo dedicado a modificar software se gasta
comprendiendo la lógica del código fuente. El código complejo frecuentemente es difícil de
entender y la modificación conduce a numerosos errores y efectos secundarios negativos
imprevistos. Estos defectos recién inyectados causan retrabajos costosos y liberaciones
retardadas. La manera de mitigar esta causa es volver a partes críticas del código guiado por
información de análisis de código arquitectónico y estático.

Utilizar malas o nulas prácticas de desarrollo de Software

La mayoría de las aplicaciones multi-nivel grandes son construidas y mantenidas por


equipos distribuidos, algunos o todos los cuales pueden ser subcontratados de otras compañías.
En consecuencia, la organización adquirente a menudo tiene poca visibilidad o control sobre la
calidad del software que está recibiendo. Por varias razones, los niveles del modelo CMMI no
siempre han garantizado entregas de software de alta calidad.

Para mitigar los riesgos de problemas de calidad en el software suministrado


externamente, los administradores deben implementar objetivos de calidad en sus contratos y una
sólida garantía de calidad para el software entregado.
CUADRO COMPARATIVO

SOFTWARE SISTEMAS
El software es el soporte o equipamiento lógico de Un sistema son las que tienen a cargo la ejecución
los sistemas informáticos; consiste en información del proceso, y que de manera organizada e
codificada que son instrucciones para el íntimamente relacionadas buscan lograr el objetivo.
funcionamiento del aparato en el cual ha sido
instalado.

El software son los distintos programas con los que Existe una organización coherente en la cual cada
el hardware realiza las distintas operaciones, tanto elemento cumple una función, ocupa un lugar, se
internas como externas, por ejemplo entre diversos integra un orden. Por lo cual observamos una
dispositivos dentro de una computadora, ya sea el lógica de relaciones entre los componentes de un
monitor, el teclado, el disco duro, o el procesador, o sistema.
en las distintas operaciones que se realizan

usa el lenguaje binario para poder comunicarse de El sistema posee una organización interna. La
forma interna con el hardware y otros dispositivos, organización es el equilibrio dinámico entre los
ya sea este hardware una computadora u otro procesos internos del sistema. La estructura del
dispositivo tecnológico, como teléfonos móviles, sistema posee un atributo que consiste en relativa
cajeros automáticos, refrigeradores, lavadoras, estabilidad, es decir, en relaciones permanentes
hornos de microondas etc. es decir, aquellos que se dan en su interior. Esta estructura integra y
aparatos que cuenten con software, como por mantiene unida las partes y da lugar a la propiedad
ejemplo los sistemas operativos con que cuentan holística de sistema
en la actualidad los aparatos mencionados.

Es el conjunto de herramientas que permiten Forma parte de un sistema de mayor magnitud y


al programador desarrollar programas de complejidad que lo condiciona y que constituye su
informática, usando diferentes alternativas entorno o medio ambiente. Ningún sistema
y lenguajes de programación, de una manera funciona de manera aislada.
práctica.
El software de aplicación es aquel que permite a los Todos los sistemas consisten en que tienden a
usuarios llevar a cabo una o varias tareas moverse hacia estados de desorganización y a
específicas, en cualquier campo de actividad desintegración. En cualquier transformación que se
susceptible de ser automatizado o asistido, con produzca la entropía del mismo aumenta o
especial énfasis en los negocios. permanece constante de manera que alcance una
configuración de entropía máxima, debido a los
cambios que está experimentando, consiguiente así
un equilibrio.
CUADRO COMPARATIVO

PROGRAMACION ANTIGUA PROGRAMACION ACTUAL


FORmulaTRANslation es el lenguaje de Java es uno de los lenguajes de programación
programación más antiguo y que continúa en más adoptados,. Su enorme popularidad se
uso. Creada por John Backus, esta debe a su poder de permanencia, cuestión
herramienta fue desarrollada para la que asegura el funcionamiento a largo plazo
computación científica de alto nivel, de las aplicaciones que lo utilizan.
matemática y estadística.
El Common Business Oriented Language está Javascript es un lenguaje de programación
detrás de la mayoría de los sistemas de que puede ser utilizado para crear programas
transacciones de negocio de los procesos de que luego son acoplados a una página web o
las tarjetas de crédito, ATMs (Modo de dentro de programas más grandes. Sirve para
Transferencia Asíncrona), telefonía, sistemas crear efectos y realizar acciones interactivas.
hospitalarios, gobierno, sistemas Podemos ver funcionando este lenguaje en
automatizados y señales de tráfico. servicios como el chat, calculadoras,
buscadores de información y un sin fin de
utilidades más.

el denominado Beginners All Purpose PHP fue creado con la intención de contar
Symbolic Instruction Code fue diseñado como con un conjunto de herramientas para el
un lenguaje simplificado para aquellos que no mantenimiento de las páginas web . Es de
tenían como base fuertes conocimientos fácil acceso para nuevos programadores y a
técnicos o matemáticos. Una versión su vez ofrece a los más experientes muchas
modificada, escrita por Bill Gates y Paul Allen, posibilidades.
llegó a ser el primer producto de Microsoft.
Fue vendido al M.I.T.S. para el Altair.
Pascal desarrollado como una herramienta Practical Extraction and Report Language. Es
de enseñanza y formación aunque tiene un un lenguaje de propósito general que sirve
uso meramente comercial. Este lenguaje se practicamente para todo, como puede ser la
usa en Skype. generación y tratamiento de ficheros, para
analizar datos y textos, y muchas otras cosas
más. Si bien hay proyectos complejos y
completos escritos en Pearl, son los menos.
El lenguaje C al C++, creando lo que muchos Se trata de un lenguaje de programación de
consideran el lenguaje de programación más bajo nivel utilizado para interactuar con
popular que ha existido nunca. Además, ha hardware informático. Utiliza comandos
sido listado en lo alto de los top ten de los estructurados, en sustitución de los números,
lenguajes de programación desde 1986 y permitiendo a las personas tener una mayor
archivado en el Hall of Fame en 2003. Hoy en legibilidad de los códigos. Si bien es más
día es usado por Firefox, sencillo de leer que el código binario se trata
de un lenguaje difícil que muchas veces es
sustituido por uno superior, como por ejemplo
C.
METODOLOGIA DE JAMES SENN

Según James Senn el método de ciclo de vida para el desarrollo de sistemas es el


conjunto de actividades que los analistas, diseñadores y usuarios realizan para desarrollar e
implantar un sistema de información.

1. Determinación de los requerimientos del sistema


2. Diseño del sistema
3. Desarrollo del Software
4. Prueba de sistemas
5. Implantación y Evaluación

Determinación de los requerimientos del sistema

El aspecto fundamental del análisis de sistemas es comprender todas las facetas


importantes de la parte de la empresa que se encuentra bajo estudio. Los analistas, al trabajar
con los empleados y administradores, deben estudiar los procesos de una empresa para dar
respuesta a las siguientes preguntas clave:

1- ¿Qué es lo que hace?

2- ¿Cómo se hace?

3- ¿Con que frecuencia se presenta?

4- ¿Qué tan grande es el volumen de transacciones o decisiones?

5- ¿Cuál es el grado de eficiencia con el que se efectúan las tareas?

6- ¿Existe algún problema?

7- Si existe un problema, ¿qué tan serio es?

8- Si existe un problema, ¿cuál es la causa que lo origina?


Diseño del sistema

El diseño de un sistema de información produce los detalles que establecen la forma en la que el
sistema cumplirá con los requerimientos identificados durante la fase de análisis. Los
especialistas en sistemas se refieren, con frecuencia, a esta etapa como diseño lógico en
contraste con la del desarrollo del software, a la que denominan diseño físico.

Desarrollo del software

Los encargados de desarrollar software pueden instalar software comprobando a terceros


o escribir programas diseñados a la medida del solicitante. La elección depende del costo de
cada alternativa, del tiempo disponible para escribir el software y de la disponibilidad de los
programadores. Por lo general, los programadores que trabajan en las grandes organizaciones
pertenecen a un grupo permanente de profesionales.

Prueba de sistemas

Durante la prueba de sistemas, el sistema se emplea de manera experimental para


asegurarse de que el software no tenga fallas, es decir, que funciona de acuerdo con las
especificaciones y en la forma en que los usuarios esperan que lo haga. Se alimentan como
entradas conjunto de datos de prueba para su procesamiento y después se examinan los
resultados.

Implantación y evaluación

La implantación es el proceso de verificar e instalar nuevo equipo, entrenar a los usuarios,


instalar la aplicación y construir todos los archivos de datos necesarios para utilizarla.

Una vez instaladas, las aplicaciones se emplean durante muchos años. Sin embargo, las
organizaciones y los usuarios cambian con el paso del tiempo, incluso el ambiente es diferente
con el paso de las semanas y los meses. Por consiguiente, es indudable que debe darse
mantenimiento a las aplicaciones.
La evaluación de un sistema se lleva a cabo para identificar puntos débiles y fuertes. La
evaluación ocurre a lo largo de cualquiera de las siguientes dimensiones:

 Evaluación operacional: Valoración de la forma en que funciona el sistema, incluyendo su


facilidad de uso, tiempo de respuesta, lo adecuado de los formatos de información, confiabilidad
global y nivel de utilización.
 Impacto organizacional: Identificación y medición de los beneficios para la organización en
áreas tales como finanzas, eficiencia operacional e impacto competitivo. También se incluye el
impacto sobre el flujo de información externo e interno.
 Opinión de loa administradores: evaluación de las actividades de directivos y administradores
dentro de la organización así como de los usuarios finales.
 Desempeño del desarrollo: La evaluación de proceso de desarrollo de acuerdo con criterios
tales como tiempo y esfuerzo de desarrollo, concuerdan con presupuestos y estándares, y otros
criterios de administración de proyectos. También se incluye la valoración de los métodos y
herramientas utilizados en el desarrollo.

METODOLOGIA DE LLORENS FABREGAS

Fabregas se enfoca en la necesidad de la Organización para el cumplimiento cabal de sus


actividades y se basa en su metodología para establecer fases que determinan cada paso
del diseño o la implementación de un Sistema de Información, su técnica es utilizada para
desarrollar estrategias que mejoren el funcionamiento de los sistemas de información ya
existentes.
El ciclo de desarrollo de sistemas de información propuesto por Llorens Fabregas esta
compuesto de 5 Fases, las cuales enfocan de una manera clara los métodos y pasos para la
implementación de un SI.
La primera fase, los requerimientos, esta enfocado a la necesidad de la organización, lo
que significa, la planeación y las estrategias que se van a emplear para el desarrollo del nuevo
sistema, es decir los requerimientos del cliente. Este análisis de información va desde
los procesos que integran al departamento u Organización en donde se va a desarrollar el
sistema, hasta los bienes materiales y humanos que componen al mismo.
La segunda fase, el Análisis y Diseño, en este se requieren datos aportados por el
solicitante del SI. Estos datos son los recopilados por la primera fase, analizar, organiza y diseña
los procesos, los datos, los componentes físicos que el sistema necesita para poder funcionar de
forma efectiva y que cumpla con todos Los requerimientos del cliente.
Al concluir estas dos fases, se procede a la construcción del sistema, el cual esta divido en
varias sub.-fases: El Desarrollo de Infraestructura (Lo cual permite el cumplimiento de las tareas
del sistema de forma más efectiva), Adaptación de Paquetes (Se revisa el funcionamiento del
sistema por el equipo Analista- Usuario para su mejor entendimiento), Desarrollo de unidades de
diseño interactivas (Los procedimiento visuales), Unidades de diseño batch (transacciones de
datos) y el Desarrollo de unidades de diseño Manuales.
Luego, siguen la fase de las pruebas, en donde se prueba por completo el sistema,
midiendo su nivel de calidad, funcionalidad, integración y aceptación técnica. Luego, se prueba el
sistema completo en base a los niveles de prueba: Funcional, De Sistema, De integración y De
Aceptación Técnica.
Al concluir con estas pruebas de forma satisfactoria, se cargan los archivos, bases de
datos y las tablas del nuevo sistema, para de esta forma comenzar su uso, primero durante un
Periodo de Aceptación, y finalizado este como el sistema oficial. Por ultimo, una vez que un
sistema pasa a formar parte de la vida diaria de la empresa cada programa, procedimiento y
cada estructura de datos se convierte en una pieza del negocio, que como tal, deberá funcionar
de forma constante exacta y confiable.
Una Metodología para el Desarrollo de Sistemas de Información es un conjunto de
actividades llevadas a cabo para desarrollar y poner en marcha un Sistema de Información.
Los Objetivos de las Metodologías de Desarrollo de Sistemas de Información son:
 Definir actividades a llevarse a cabo en un Proyecto de S.I.
 Unificar criterios en la organización para el desarrollo de S.I.
 Proporcionar puntos de control y revisión
Llorens Fabregas utiliza un análisis estructurado por que:
 Se maneja como proyecto
 Gran volumen de datos y transacciones
 Abarca varias áreas organizativas de la empresa
 Tiempo de desarrollo largo
 Requiere que se cumplan todas las etapas, para poder cumplir las siguientes (progresión lineal y
secuencial de una fase a la otra).
METODOLOGIA HIBRIDA

Las Metodologías Híbridas retoman las ventajas de los dos tipos de metodologías
anteriores. De esta manera, son una combinación de las mejores prácticas existentes dentro de
ellas.

La nueva tendencia en Ingeniería de Software es diseñar Metodologías Híbridas. Esta


propuesta es atribuida a Ivar Jacobson, uno de los tres creadores de metodología híbrida que
combina RUP con Scrum.

Por lo tanto, diseñar una metodología híbrida para que las empresas de desarrollo de
software en México la puedan utilizar, es una buena opción para incrementar su productividad.
Sin embargo, antes de crear una nueva metodología híbrida para desarrollo de proyectos de
Software en México, es necesario saber si ésta realmente podría representar una opción factible,
así como conocer cuáles son las prácticas de Ingeniería de Software que se emplean en las
empresas mexicanas para ser incluidas.

Si se desea utilizar en una empresa una metodología híbrida, es conveniente tener en


cuenta los resultados de este estudio, obtenido de manera formal por medio de una prueba de
hipótesis, que arroja elementos de gran utilidad en la búsqueda de mejorar el desarrollo de
software. Esto redundará en un menor costo, un menor tiempo de desarrollo, calidad y
mantenimiento de software. Las hipótesis a probar, son:

Donde:

p1: Proporción de empresas desarrolladoras de software con una inclinación hacia metodologías
híbridas.

La interpretación de las hipótesis es la siguiente:

H0: El 50% o más de las empresas desarrolladoras de


software tienen una inclinación hacia el uso de
metodologías híbridas.
H1: Menos del 50% de las empresas desarrolladoras de
software tienen una inclinación hacia el uso de
metodologías híbridas.
METODOLOGIA SCRUM

es una metodología ágil y flexible para gestionar el desarrollo de software, cuyo principal objetivo
es maximizar el retorno de la inversión para su empresa (ROI). Se basa en construir primero la
funcionalidad de mayor valor para el cliente y en los principios de inspección continua,
adaptación, auto-gestión e innovación.

¿Cuándo se utiliza?

Con la metodología Scrum el cliente se entusiasma y 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 sin ningún problema. Esta metódica de trabajo
promueve la innovación, motivación y compromiso del equipo que forma parte del proyecto, por lo
que los profesionales encuentran un ámbito propicio para desarrollar sus capacidades.

Beneficios

 Cumplimento de expectativas: El cliente establece sus expectativas indicando el valor


que le aporta cada requisito / historia del proyecto, el equipo los estima y con esta
información el Product Owner establece su prioridad. De manera regular, en las demos de
Sprint el Product Owner comprueba que efectivamente los requisitos se han cumplido y
transmite se feedback al equipo.

 Flexibilidad a cambios: Alta capacidad de reacción ante los cambios de requerimientos


generados por necesidades del cliente o evoluciones del mercado. La metodología está
diseñada para adaptarse a los cambios de requerimientos que conllevan los proyectos
complejos.

 Reducción del Time to Market: El cliente puede empezar a utilizar las funcionalidades
más importantes del proyecto antes de que esté finalizado por completo.

 Mayor calidad del software: La metódica de trabajo y la necesidad de obtener una


versión funcional después de cada iteración, ayuda a la obtención de un software de
calidad superior.
 Mayor productividad: Se consigue entre otras razones, gracias a la eliminación de la
burocracia y a la motivación del equipo que proporciona el hecho de que sean autónomos
para organizarse.

 Maximiza el retorno de la inversión (ROI): Producción de software únicamente con las


prestaciones que aportan mayor valor de negocio gracias a la priorización por retorno de
inversión.

 Predicciones de tiempos: Mediante esta metodología se conoce la velocidad media del


equipo por sprint (los llamados puntos historia), con lo que consecuentemente, es posible
estimar fácilmente para cuando se dispondrá de una determinada funcionalidad que
todavía está en el Backlog.

 Reducción de riesgos: El hecho de llevar a cabo las funcionalidades de más valor en


primer lugar y de conocer la velocidad con que el equipo avanza en el proyecto, permite
despejar riesgos eficazmente de manera anticipada.

You might also like