METODOLOGÍAS DEL DESARROLLO DEL SOFTWARE

METODOLOGÍAS TRADICIONALES

MODELO EN CASCADA

Este tipo de modelo se utiliza especialmente en proyectos donde los requisitos son muy estables, no varían durante el proceso de desarrollo.

VENTAJAS y Desventajas

ventajas

Una estructura sencilla gracias a unas fases de proyecto claramente diferenciadas.

Buena documentación del proceso de desarrollo a través de unos hitos bien definidos.

Los costes y la carga de trabajo se pueden estimar al comenzar el proyecto.

Proyectos bien estructurados se puedes representar cronológicamente de forma sencilla

Desventajas

las necesidades de conocer todos los requerimientos al comienzo del proyecto

Es rígido poco flexible y con muchas restricciones

Si se comete errores en las etapas y no se detecta, es costoso y difícil volver a tras para realizar corrección

Los resultados no se ven hasta las etapas finales del siclo

FASES DE MODELO

El modelo de desarrollo en cascada sigue una serie de etapas de forma sucesiva, la etapa siguiente empieza cuando termina la etapa anterior.

Requisitos del software

Diseño de sistema

Diseño del programa

Modificaión

Pruebas

Mantenimiento

PROTOTIPADO

Este modelo se utiliza para dar al usuario una vista preliminar de lo que será el sistema.

VENTAJAS - INCONVENIENTES

Ventajas

Permiten el desarrollo de un sistema a partir de requisitos poco claros o cambiantes.

Son más fáciles de abordar con los usuarios finales.

Su uso redunda en una mayor satisfacción del usuario con el producto final, ya que él o ella han participado activamente de su diseño.

Proporciona al usuario un mayor conocimiento del sistema con una curva menor de aprendizaje.

Inconvenientes

Debido a que el usuario ve que el prototipo funciona piensa que este es el producto terminado y no entienden que recién se va a desarrollar el software.

Los prototipos generan o pueden generar otro tipo de problemas si su presentación y discusión con los usuarios no es controlada.

Requiere participación activa del usuario, al menos, para evaluar el prototipo.

FASES DE MODELO

se inicia con la definición de los objetivos globales para el software, luego se identifican los requisitos conocidos y las áreas del esquema en donde es necesaria más definición

Conocimiento

Desarrollo,entrega retroalimentación

Plan rapido

Construcción del protocolo

Modelo diseño rapido

MODELO INCREMENTAL

Este modelo combina el desarrollo en cascada con el modelo de construcción de prototipos.

ventajas y Desventajas

ventajas

Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos.

El cliente conoce el avance del proyecto

Es un modelo mas flexible,por lo que se reduce el costo en el cambio de alcance y requisitos

Desventajas

Requiere de mucha planeación, tanto administrativa como técnica.

no es recomendable para casos de sistemas de tiempo real, de alto nivel de seguridad, de procesamiento distribuido, y/o de alto índice de riesgos

Requiere de metas claras para conocer el estado del proyecto

FASES DE MODELO

Se generan incrementos de la funcionalidad del software haciendo entregas de funcionalidades específicas de la plataforma, conforme transcurre el tiempo.

Analisis

Diseño

Programación

Prueba

MODELO EN ESPIRAL

Se utiliza con éxito en proyectos donde el coste de un fallo es un gran riesgo, de ahí que su principal aportación sea considerar la gestión de esos riesgos, algo que en los modelos anteriores ni siquiera se menciona.

Ventajas y Desventajas

Ventajas

Los factores de riesgo son reducidos.

El desarrollo es iterativo y se pueden incorporar funcionalidades progresivamente.

Desventajas

La duración de la ejecución no es concreta.

Fallos en el análisis de riesgos podría influir negativamente a todo el proyecto.

FASES DE MODELO

Consiste en seguir ciclos crecientes de cuatro fases cada uno, que se van realizando siguiendo una forma de espiral

Planeación

Análisis de riesgos

Implementación

Evaluación

METODOLOGÍAS ÁGILES

SCRUM

Define un marco para la gestión de proyectos, que se ha utilizado con éxito durante los últimos 10 años.
Está especialmente indicada para proyectos con un rápido cambio de requisitos

CARACTERÍSTICAS

El desarrollo de software se realiza mediante iteraciones, denominadas sprints, con una duración de 30 días.

El resultado de cada
sprint es un incremento ejecutable que se muestra al cliente.

La segunda característica
importante son las reuniones a lo largo proyecto, entre ellas destaca la reunión diaria de 15
minutos del equipo de desarrollo para coordinación e integración.

FASES DE LA METOLOGIA DE SCRUM

¿Qué y quién? El producto que queremos conseguir una vez terminemos el Sprint, y los roles de equipo con sus tareas asignadas.

¿Dónde y cuándo? El plazo y el contenido del Sprint.

¿Por qué y cómo? Las distintas herramientas para aplicar esta metodología ágil.

LAS 5 ETAPAS DE LOS SPRINTS DE UN DESARROLLO DE SCRUM

1. Reunión de planificación de Sprint

4. Revisión del Sprint

5. Retrospectiva del Sprint

2. El Scrum Diario

3. Trabajo de desarrollo durante el Sprint

ROLES DE SCRUM

Project Owner. Se asegura de que el proyecto se esté desarrollando acorde con la estrategia del negocio. Escribe historias de usuario, las prioriza, y las coloca en el Product Backlog.

Master Scrum o Facilitador. Elimina los obstáculos que impiden que el equipo cumpla con su objetivo.

Development team Member. Los encargados de crear el producto para que pueda estar listo con los requerimientos necesarios. Se recomienda que sea un equipo multidisciplinar, de no más de 10 personas.

KANBAN

Es una técnica creada por Toyota para controlar el avance del trabajo en la creación de automóviles, pero ha sido implementada ampliamente en el desarrollo de proyectos de software, apoyando a su vez metodologías como Scrum.

CARACTERÍSTICAS

Lista de tareas "To Do": aquí se engloba la lista de tareas que están pendientes y que se pueden afrontar inmediatamente.se colocan arriba las de mayor prioridad y orden descendente el resto, posteriormente, se puede pasar a otras columnas

En desarrollo O "Doing": Aquí se sitúa una tarea hasta que se complete

Pruebas: se realiza las comprobaciones o test necesarios para ver si la tarea se ha realizado con éxito o no

Despliegue: una vez validado el código se añade a esta columna para su subida a producción en el sistema

Terminado o "Done": Aqui se incluyen las tareas que están finalizadas por completo

FUNCIONAMIENTO

Visualizar:El diagrama o cuadro es la base para que todos los miembros comprendan cómo avanza el flujo de trabajo.

Limitar el trabajo en curso: La metodología ágil Kanban se basa, entre otras cosas, en establecer metas asequibles.

Limitar el trabajo en curso
:La metodología ágil Kanban se basa, entre otras cosas, en establecer metas asequibles.

Ver los errores como oportunidades de mejora:Ya que el equipo tiene un entendimiento común a todo el proceso del trabajo, a la hora de buscar soluciones para un problema todos podrán colaborar y proponer acciones de mejora que puedan ser aprobadas por todos.

VENTAJAS

Flexibilidad

Fácil visualización y control del flujo de trabajo

Fácil de utilizar

DESVENTAJAS

No es útil para proyectos grandes y tiempos muy definidos

No controlas los tiempos dedicados

No existe feedback de las tareas realizadas

EXTREME PROGRAMMING

Es una metodología orientada a aplicar mejores prácticas de ingeniería de software en el desarrollo de proyectos, mejorar la productividad en los proyectos y aumentar la calidad del desarrollo de los productos de software.

CARACTERÍSTICAS

Se considera al equipo de proyecto como el principal factor de éxito del proyecto

Software que funciona por encima de una buena documentación.

Interacción constante entre el cliente y el equipo de desarrollo.

Planificación flexible y abierta.

Rápida respuesta a cambios.

ROLES

Cliente: responsable de definir y conducir el proyecto así como sus objetivos.

Programadores: estiman tiempos de desarrollo de cada actividad y programan el proyecto.

Tester: Encargado de Pruebas.

Tracker: Encargado de Seguimiento.

Coach: Entrenador. Su papel es guiar y orientar al equipo.

Big Boss: Gestor del proyecto, gerente del proyecto, debe tener una idea general del proyecto y estar familiarizado con su estado.

FASES

Planificación

Diseño

Desarrollo

Prueba