Ingenieria en Software
viernes, 18 de noviembre de 2016
SCRUM
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.
Caracteristicas
Caracteristicas
uEquipos auto dirigidos
uUtiliza reglas para crear un
entorno ágil de administración de proyectos
uFlexibilidad y adaptación
uDemostración de resultados
uProductividad y calidad
Ventajas
uCumplimento 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.
uFlexibilidad a cambios: Alta capacidad de reacción
ante los cambios de requerimientos generados por necesidades del cliente o
evoluciones del mercado.
uMayor 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.
Desventajas
uSi una tarea no esta bien definida,
los costes de tiempo y dinero estimados del proyecto no serán demasiado exactos.
uEs una metodología que difiere del
resto, y esto causa cierta resistencia en su aplicación para algunas personas.
uEsta metodología necesita solo
miembros de equipo experimentados. Si el equipo consiste en gente que son
junior, el proyecto no puede ser completado a tiempo.
Diseño en Cascada
Este es el más básico de todos los modelos y ha
servido como bloque de construcción para los demás paradigmas de ciclo de vida.
Está basado en el ciclo convencional de una ingeniería y su visión es muy simple.
Es caracterizado por ordenar de manera rigurosa las
etapas del ciclo de vida de software, dado que el comienzo de cada etapa debe
esperar a la finalización de la inmediata anterior.
Al final de cada etapa, el modelo está diseñado para llevar a cabo una
revisión final, que se encarga de determinar si el proyecto está listo para
avanzar a la siguiente fase. Este modelo fue el primero en originarse y es la
base de todos los demás modelos de ciclo de vida.
De esta forma, cualquier error de diseño detectado en
la etapa de prueba conduce necesariamente al rediseño y nueva programación del
código afectado, aumentando los costos del desarrollo. La palabra cascada sugiere, mediante la metáfora de la fuerza de la
gravedad, el esfuerzo necesario para introducir un cambio en las fases más
avanzadas de un proyecto.
Ventajas
üPermite la departamentalización y control de gestión.
ü El horario se establece con los plazos
normalmente adecuados para cada etapa de desarrollo.
ü Este proceso conduce a entregar el proyecto
a tiempo.
ü Es sencilla y facilita la gestión de proyectos.
ü Permite tener bajo control el proyecto.
ü Limita la cantidad de interacción entre equipos que se
produce durante el desarrollo
Desventajas
Se tarda mucho tiempo en pasar por todo el ciclo
La aplicación de la metodología en cascada se
orienta mejor al desarrollo de
proyectos de corto plazo, de poca innovación y
proyectos definitivos y
detallados.
Metodología pueden confundir al equipo profesional en
las etapas tempranas del proyecto.
Modelo Espiral
El modelo en espiral, fue propuesto
originalmente por Barry Boehm.
Es un modelo de proceso de software
evolutivo que conjuga la naturaleza iterativa
de construcción de prototipos con
los aspectos controlados y sistemáticos del modelo lineal secuencial.
El
modelo en espiral es un enfoque realista del desarrollo de sistemas y de
software en gran escala. Como el software evoluciona, a medida que progresa el
proceso, el desarrollador y el usuario comprenden y reaccionan mejor ante
riesgos en cada uno de los niveles evolutivos.

Las
tareas requeridas para evaluar riesgos técnicos y de gestión. Utiliza la
construcción de prototipos como mecanismo de reducción de riesgos, pero lo que
es más importante, permite a quien lo desarrolla aplicar el enfoque de
construcción de prototipos en cualquier etapa de evolución del producto.
Mantiene el enfoque sistemático de los pasos sugeridos por el ciclo de vida
clásico, pero lo incorpora al marco de trabajo interactivo que refleja mejor el
mundo real Si un riesgo importante no es descubierto y gestionado,
indudablemente surgirán problemas.
Modelo Prototipo
Modelo
tipo evolutivo:
Los
modelos evolutivos
son modelos iterativos
Permiten
desarrollar
versiones cada vez más completas y complejas, hasta llegar al objetivo final deseado
Ventajas:
Cumple
con
las necesidades inmediatas del cliente.
Desventajas:
Sistemas
pobremente estructurados.
El ingeniero de software y el
cliente definen los objetivos globales del software, y aquellos más específicos
que se desean destacar con el prototipo.
Ventajas
Permite la construcción del sistema con
requisitos poco claros o cambiantes.
Se pueden introducir cambios en las
funcionalidades del sistema en cualquier momento.
Se reduce el riesgo y la incertidumbre
sobre el desarrollo.
Permite entender bien el problema antes
de la implementación final.
Desventajas
El cliente puede quedar convencido
con las primeras versiones,
puede cancelar el desarrollo y
quedarse con el producto sin terminar.
Requiere de participación del cliente para evaluar los
distintos prototipos y traducirlo en nuevos.
Si un prototipo fracasa, el coste
del proyecto puede resultar muy caro.
No siempre se sabe el tiempo de
desarrollo ni
cuantos prototipos se podrán
desarrollar.
Suscribirse a:
Comentarios (Atom)


