Categories: All - desventajas - cascada - iterativo - requisitos

by Katerinne Pino 4 years ago

317

Organigrama

Las metodologías de desarrollo de software incluyen enfoques tradicionales y modernos. El modelo en cascada es uno de los métodos tradicionales más conocidos, caracterizado por seguir una serie de etapas sucesivas donde cada fase debe completarse antes de iniciar la siguiente.

Organigrama

METODOLOGÍAS DEL DESARROLLO DEL SOFTWARE

METODOLOGÍAS ÁGILES

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.

FASES

Planificación

Desarrollo

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.

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.

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.

VENTAJAS

DESVENTAJAS

No existe feedback de las tareas realizadas

No controlas los tiempos dedicados

No es útil para proyectos grandes y tiempos muy definidos

Fácil de utilizar

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

Flexibilidad

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.

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

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

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.

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

3. Trabajo de desarrollo durante el Sprint

2. El Scrum Diario

5. Retrospectiva del Sprint

4. Revisión del Sprint

1. Reunión de planificación de Sprint

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.

METODOLOGÍAS TRADICIONALES

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.

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

Evaluación

Implementación

Análisis de riesgos

Planeación

Ventajas y Desventajas

El desarrollo es iterativo y se pueden incorporar funcionalidades progresivamente.

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

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

Los factores de riesgo son reducidos.

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

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

Prueba

Programación

Diseño

Analisis

ventajas y Desventajas

Requiere de metas claras para conocer el estado del proyecto

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 mucha planeación, tanto administrativa como técnica.

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

El cliente conoce el avance del proyecto

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

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

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

Modelo diseño rapido

Construcción del protocolo

Plan rapido

Desarrollo,entrega retroalimentación

Conocimiento

VENTAJAS - INCONVENIENTES

Ventajas

Inconvenientes

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

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

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.

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

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.

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

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

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.

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.

Mantenimiento

Pruebas

Modificaión

Diseño del programa

Diseño de sistema

Requisitos del software

VENTAJAS y Desventajas

ventajas

Desventajas

Los resultados no se ven hasta las etapas finales del siclo

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

Es rígido poco flexible y con muchas restricciones

las necesidades de conocer todos los requerimientos al comienzo del proyecto

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

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

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

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